Riferimento adios.yaml
adios.yaml descrive come Adios compila, esegue, collega e pubblica la tua applicazione.
App e ambiente di esecuzione
name: api
region: de
replicas: 2
build_cmd: go build -o /app/api .
start_cmd: /app/api
runtime:
name: go@1.25
port: 8080
cpu: "0.5"
memory_mb: 512
disk_mb: 2048
health_path: /healthz
I campi dei comandi contengono comandi shell scalari:
build_cmd: pnpm install && pnpm build
Risorse gestite
resources:
- name: db
template: postgres:16
database: aor
username: aor_api
password: secret://POSTGRES_PASSWORD
- name: redis
template: redis:7
database: "0"
password: secret://REDIS_PASSWORD
- name: rabbitmq
template: rabbitmq:3
database: aor
username: aor_api
password: secret://RABBITMQ_PASSWORD
Il resources crea e collega all’applicazione database, cache e code gestiti. Le famiglie supportate includono Postgres, pgvector, Redis, RabbitMQ, MongoDB e MySQL. Usa ref quando l’applicazione deve collegarsi a una risorsa esistente anziché possederne una nuova.
Le impostazioni di connessione vengono iniettate nell’applicazione con un nome host privato stabile. Il nome host senza versione segue la risorsa corrente promossa; un nome host con versione esplicita può selezionare una distribuzione funzionante v1, v2, o versione di distribuzione generata. Vedi Risorse gestite e DNS interno con versioni per le specifiche complete su nomi, versioni fissate, sicurezza e risoluzione dei problemi.
Segreti e configurazione
env:
PUBLIC_APP_URL: https://dashboard.example.com
DATABASE_URL: secret://DATABASE_URL
STRIPE_SECRET_KEY: secret://STRIPE_SECRET_KEY
Inserisci le variabili di ambiente ordinarie e i riferimenti secret://NAME in env. Crea i valori dei segreti indicati con la CLI o l’IDE web prima della distribuzione. Usa il blocco di primo livello secrets solo per generare nuovi valori:
env:
PUBLIC_APP_URL: https://dashboard.example.com
API_SIGNING_KEY: secret://API_SIGNING_KEY
DJANGO_SECRET_KEY: secret://DJANGO_SECRET_KEY
secrets:
API_SIGNING_KEY: secret://generate:64
DJANGO_SECRET_KEY: secret://generate:32
Il secrets dichiara la generazione; env fa riferimento ai valori necessari all’applicazione. Mantieni le credenziali fuori da Git. La configurazione dell’ambiente di esecuzione può includere anche flag di funzionalità, volumi e impostazioni di distribuzione gestiti dallo spazio di lavoro.
Dipendenze private da Git
Le compilazioni che scaricano repository Git privati devono usare una chiave di distribuzione riservata alla compilazione:
build:
ssh:
- default=secret://BITBUCKET_DEPLOY_KEY
env:
GOPRIVATE: "bitbucket.org/your-workspace/*"
Registra la chiave pubblica presso il fornitore Git, poi conserva la chiave privata nel team Adios dell’applicazione:
adios secrets set BITBUCKET_DEPLOY_KEY \
--from-file ~/.ssh/adios-build
Il worker recupera la chiave solo per la compilazione e poi ne elimina la copia temporanea. Non inserire una chiave privata in un commit o nell’URL di un repository. Segui Dipendenze private da Git per la generazione delle chiavi, Bitbucket, GitHub, GitLab, Docker e la risoluzione dei problemi.
Versioni, repliche e instradamento
name: web
region: de
replicas: 2
routable: true
custom_hosts:
- app.example.com
- www.example.com
redirects:
- from: example.com
to: www.example.com
Ogni distribuzione crea una versione dell’ambiente di esecuzione. Adios può mantenere le versioni precedenti consultabili e riattivabili mentre instrada il traffico verso la versione corrente promossa. Le repliche possono essere eseguite in regioni diverse e il traffico pubblico può essere servito tramite route generate, domini personalizzati, CDN e punti di ingresso basati su anycast.
custom_hosts collega i nomi host pubblici precisi alla versione corrente promossa. redirects crea route di reindirizzamento per nomi host precisi. Una destinazione senza schema usa HTTPS per impostazione predefinita e il gateway conserva il percorso e la stringa di query della richiesta.
Vedi Domini e reindirizzamenti per il flusso completo di instradamento.
Manifest dei workflow
Gli ambienti di esecuzione delle applicazioni usano build_cmd, start_cmd, e runtime. L’automazione usa un manifest di workflow con workflow_id, triggers, e steps. Vedi Flussi di lavoro per un manifest completo di workflow adios.yaml di esempio.
Codice sorgente e spazi di lavoro
build:
excludes:
- node_modules
- .next
Gli artefatti sorgente consentono all’IDE web di aprire il codice che ha prodotto un’app distribuita. Da uno spazio di lavoro puoi modificare file, usare Git, eseguire anteprime, consultare log e distribuire la versione corrente.