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.