Vai al contenuto
AdiosDocumentazione
Esplora la documentazione

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.