Skip to content

config.yaml ​

Con il pannello il file è generato: non modificarlo a mano (il pannello lo riscrive). Se vuoi gestirlo da solo, non usare il pannello per quelle risorse. Il nodo rilegge il file ogni OTR_RELOAD_INTERVAL; una configurazione non valida viene rifiutata e resta attiva l'ultima buona.

Campi sconosciuti sono errori: un refuso non passa inosservato.

Esempio completo ​

yaml
version: 1
storages:
  - id: garage
    endpoint: http://127.0.0.1:3900
    region: garage
    addressing: path
    allow_private_endpoint: true
    credentials:
      access_key_env: GARAGE_KEY
      secret_key_env: GARAGE_SECRET
destinations:
  - id: foto
    storage: garage
    bucket: foto
    prefix: ""
    revision: 1
    cache_generation: 1
cache_policies:
  - id: standard
    ttl: 1h
    ttl_not_found: 60s
    serve_stale_on_error: 24h
routes:
  - id: cdn-foto
    host: cdn.example.com
    path_prefix: /foto
    strip_prefix: true
    destination: foto
    cache_policy: standard

version ​

Numero intero; salire a ogni modifica (il pannello lo fa da solo). Compare in otterroute_config_version.

storages[] ​

CampoDefaultDescrizione
id—Nome univoco.
endpoint—URL del servizio S3.
regionus-east-1Regione per la firma SigV4.
addressingpathpath (endpoint/bucket/chiave) o virtual (bucket.endpoint/chiave).
allow_private_endpointfalseAmmette endpoint su indirizzi privati o locali.
credentials—Vedi sotto.

credentials ​

Una sola tra le due forme:

CampoDescrizione
access_key_env + secret_key_envNomi di variabili d'ambiente che contengono le chiavi.
secret_filePercorso di un file JSON {"access_key": "...", "secret_key": "..."} (quello che scrive il pannello, permessi 0600).

destinations[] ​

CampoDefaultDescrizione
id—Nome univoco.
storage—id di uno storage.
bucket—Nome del bucket.
prefixvuotoCartella nel bucket.
revision0Numero libero; salirlo segnala che la destinazione è cambiata.
cache_generation0Salirlo invalida le copie in cache di questa destinazione.

cache_policies[] ​

CampoDefaultDescrizione
id—Nome univoco.
ttl—Durata di una copia fresca.
ttl_not_found60sDurata della cache negativa.
query_keysnessunaParametri di query che fanno parte della chiave di cache.
serve_stale_on_error0Per quanto servire una copia scaduta se lo storage è giù.

routes[] ​

CampoDefaultDescrizione
id—Nome univoco.
host—Dominio.
path_prefix—Prefisso del percorso (/ per tutto il dominio).
strip_prefixtrueToglie il prefisso prima di cercare il file.
destination—id di una destinazione.
cache_policy—id di una politica.
image_transformfalseRidimensiona e converte le immagini al volo (?w=&h=&fit=&fmt=&q=).
signed_urlsfalseServe i file solo con un link firmato (?exp=&sig=); la chiave sta nel file secrets/_signing.json dello stato.

Le durate: 30s, 5m, 1h, 24h, 7d.

Rilasciato con licenza MIT o Apache-2.0, a scelta.