Aller au contenu
AdiosDocumentation
Parcourir la documentation

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.