Pular para o conteúdo
AdiosDocumentação
Explorar a documentação

Referência adios.yaml

adios.yaml descreve como o Adios compila, executa, conecta e publica seu aplicativo.

Aplicativo e ambiente de execução

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

Os campos de comando são comandos shell em valores escalares:

build_cmd: pnpm install && pnpm build

Recursos Gerenciados

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

O resources provisiona bancos de dados, caches e filas gerenciados e os associa ao aplicativo. As famílias de recursos compatíveis incluem Postgres, pgvector, Redis, RabbitMQ, MongoDB e MySQL. Use ref quando o aplicativo deve se vincular a um recurso existente em vez de possuir um novo.

As configurações de conexão são injetadas no aplicativo com um nome de host privado estável. O nome sem versão segue o recurso atual promovido; um nome de host com versão explícita pode selecionar uma versão saudável v1, v2, ou uma versão gerada de implantação. Consulte Recursos gerenciados e DNS interno versionado para todas as regras de nomes, seleção explícita de versões, segurança e solução de problemas.

Segredos e configuração

env:
  PUBLIC_APP_URL: https://dashboard.example.com
  DATABASE_URL: secret://DATABASE_URL
  STRIPE_SECRET_KEY: secret://STRIPE_SECRET_KEY

Coloque as variáveis de ambiente comuns e as referências secret://NAME em env. Crie os valores dos segredos referenciados com a CLI ou o IDE web antes da implantação. Use o bloco de nível superior secrets apenas para gerar novos valores:

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

O secrets declara a geração; env referencia os valores necessários ao aplicativo. Mantenha os valores das credenciais fora do Git. A configuração de execução também pode incluir flags de funcionalidades, volumes e configurações de implantação gerenciadas no espaço de trabalho.

Dependências privadas do Git

Compilações que buscam repositórios Git privados devem usar uma chave de implantação reservada à compilação:

build:
  ssh:
    - default=secret://BITBUCKET_DEPLOY_KEY
  env:
    GOPRIVATE: "bitbucket.org/your-workspace/*"

Registre a chave pública no provedor Git e armazene a chave privada na equipe Adios do aplicativo:

adios secrets set BITBUCKET_DEPLOY_KEY \
  --from-file ~/.ssh/adios-build

O worker resolve a chave somente para a compilação e remove a cópia temporária depois. Não faça commit de uma chave privada nem a coloque na URL de um repositório. Siga Dependências privadas do Git para gerar chaves, configurar Bitbucket, GitHub, GitLab e Docker, e solucionar problemas.

Versões, réplicas e roteamento

name: web
region: de
replicas: 2
routable: true

custom_hosts:
  - app.example.com
  - www.example.com

redirects:
  - from: example.com
    to: www.example.com

Cada implantação cria uma versão do ambiente de execução. O Adios pode manter versões antigas disponíveis para inspeção e reativação enquanto direciona o tráfego para a versão atual promovida. As réplicas podem funcionar em diferentes regiões, e o tráfego público pode passar por rotas geradas, domínios personalizados, CDN e pontos de entrada com anycast.

custom_hosts atribui nomes de host públicos exatos à versão atual promovida. redirects cria rotas de redirecionamento para nomes de host exatos. Quando o destino não informa um protocolo, HTTPS é usado por padrão. O gateway preserva o caminho e os parâmetros da requisição.

Consulte Domínios e Redirecionamentos para o fluxo de roteamento total.

Manifestos de workflow

Os ambientes de execução de aplicativos usam build_cmd, start_cmd, e runtime. A automação de workflows usa um manifesto de workflow com workflow_id, triggers, e steps. Consulte Workflows para um workflow completo adios.yaml exemplo.

Código-fonte e espaços de trabalho

build:
  excludes:
    - node_modules
    - .next

Os artefatos de código-fonte permitem que o IDE web abra o código que produziu um aplicativo implantado. No espaço de trabalho, você pode editar arquivos, usar Git, iniciar prévias, consultar logs e implantar a versão atual.