Référence adios.yaml
adios.yaml décrit comment Adios compile, exécute, connecte et publie votre application.
Application et environnement d’exécution
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
Les champs de commande contiennent des commandes shell sous forme de valeurs scalaires :
build_cmd: pnpm install && pnpm build
Ressources gérées
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
Le resources provisionne des bases de données, caches et files d’attente gérés et les associe à l’application. Les familles de ressources prises en charge sont Postgres, pgvector, Redis, RabbitMQ, MongoDB et MySQL. Utilisez ref lorsque l’application doit se connecter à une ressource existante plutôt que posséder une nouvelle ressource.
Les paramètres de connexion sont injectés dans l’application avec un nom d’hôte privé stable. Le nom d’hôte sans version suit la ressource actuelle promue ; un nom d’hôte avec une version explicite peut sélectionner une version saine v1, v2, ou une version de déploiement générée. Consultez Ressources gérées et DNS interne avec versions pour toutes les règles de nommage, de sélection explicite des versions, de sécurité et de dépannage.
Secrets et configuration
env:
PUBLIC_APP_URL: https://dashboard.example.com
DATABASE_URL: secret://DATABASE_URL
STRIPE_SECRET_KEY: secret://STRIPE_SECRET_KEY
Placez les variables d’environnement ordinaires et les secret://NAME dans env. Créez les valeurs des secrets référencés avec la CLI ou l’IDE web avant le déploiement. Utilisez le bloc de premier niveau secrets uniquement pour générer de nouvelles valeurs :
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
Le secrets déclare la génération ; env référence les valeurs nécessaires à l’application. Ne stockez pas les identifiants secrets dans Git. La configuration de l’environnement d’exécution peut aussi inclure des options de fonctionnalités, des volumes et des paramètres de déploiement gérés depuis l’espace de travail.
Dépendances Git privées
Les compilations qui récupèrent des dépôts Git privés doivent utiliser une clé de déploiement réservée à la compilation :
build:
ssh:
- default=secret://BITBUCKET_DEPLOY_KEY
env:
GOPRIVATE: "bitbucket.org/your-workspace/*"
Enregistrez la clé publique auprès du fournisseur Git, puis stockez la clé privée dans l’équipe Adios de l’application :
adios secrets set BITBUCKET_DEPLOY_KEY \
--from-file ~/.ssh/adios-build
Le worker récupère la clé uniquement pour la compilation, puis supprime sa copie temporaire. Ne commitez pas de clé privée et ne l’incluez pas dans l’URL d’un dépôt. Suivez Dépendances Git privées pour la génération des clés, les instructions concernant Bitbucket, GitHub, GitLab et Docker, ainsi que le dépannage.
Versions, réplicas et routage
name: web
region: de
replicas: 2
routable: true
custom_hosts:
- app.example.com
- www.example.com
redirects:
- from: example.com
to: www.example.com
Chaque déploiement crée une version de l’environnement d’exécution. Adios peut conserver les anciennes versions pour les inspecter et les réactiver, tout en dirigeant le trafic vers la version actuelle promue. Les réplicas peuvent fonctionner dans différentes régions. Le trafic public peut passer par des routes générées, des domaines personnalisés, un CDN et des points d’entrée utilisant l’anycast.
custom_hosts associe les noms d’hôte publics exacts à la version actuelle promue. redirects crée des routes de redirection pour des noms d’hôte exacts. Si la destination ne précise aucun protocole, HTTPS est utilisé par défaut. La passerelle conserve le chemin et les paramètres de la requête.
Consultez Domaines et redirections pour le flux de routage complet.
Manifestes de workflow
Les environnements d’exécution d’applications utilisent build_cmd, start_cmd, et runtime. L’automatisation des workflows utilise un manifeste de workflow avec workflow_id, triggers, et steps. Consultez Workflows pour un workflow complet adios.yaml exemple.
Code source et espaces de travail
build:
excludes:
- node_modules
- .next
Les artefacts de code source permettent à l’IDE web d’ouvrir le code à l’origine d’une application déployée. Depuis un espace de travail, vous pouvez modifier des fichiers, utiliser Git, lancer des prévisualisations, consulter les journaux et déployer la version actuelle.