deployer.yaml
Le deployer.yaml (ou deployer.yml) est le fichier de configuration principal. Il est place a la racine du projet.
Structure
Section intitulée « Structure »# Obligatoirename: mon-app
# Optionnel -- defaults sensibles appliques automatiquementnamespace: mon-app # defaut: namecodeType: Web # Web | Static | Spa | InframaxRequestBodySize: "500Mi" # defaut: 500MivaultSecretsPath: secret/platform/apps/...
# Features optionnellesfeatures: - redis # Redis (cluster 1) : injecte REDIS_URI, REDIS_HOST, REDIS_PORT depuis Vault - redis72 # Redis (cluster 72) : memes variables, cluster different - jwt # Monte un secret K8s jwt-credentials dans /var/www/kms - kms # Alias de jwt (meme comportement) - drive # Monte un secret K8s ga-credentials-drive + injecte GOOGLE_APPLICATION_CREDENTIALS - nginx-php # Ajoute un sidecar nginx pour PHP-FPM (container + configmap + lifecycle) - cidr # (automatique) Active le whitelist IP via Vault cidr-hsv # Note: sqlProxy-pg est ajoute automatiquement si des databases PostgreSQL sont definies
# Reseau (comment exposer l'app)network: [...]
# Bases de donneesdatabases: pgs: [...] # PostgreSQL mgs: [...] # MongoDB
# Messagerietopics: { app: [...], ext: [...] }subscriptions: { app: [...], ext: [...] }
# Stockagebuckets: app: - name: uploads lifecycleRules: # Regles de lifecycle GCS (optionnel) - action: Delete age: 365 - action: SetStorageClass storageClass: NEARLINE age: 30 ext: [...]
# Labels personnalises (appliques sur toutes les ressources K8s et GCP)labels: team: team-services bu: my-bu
# Monitoring Prometheus (cree un PodMonitoring pour Google Managed Prometheus)prometheusScrape: enabled: true path: /metrics port: 80 interval: 30s
# Dashboards GCP Monitoring (provisionnement via Terraform)dashboards: - name: my-dashboard jsonPath: ./monitoring/my-dashboard.json
# Kubernetesworkers: [...]cronJobs: [...]pvcs: [...]migration: { ... }livenessProbe: { ... }readinessProbe: { ... }
# Variables d'environnementenvironmentVariables: [...]
# IP whitelist globalewhitelistRange: [...]Champ obligatoire
Section intitulée « Champ obligatoire »| Champ | Type | Description |
|---|---|---|
name | string | Nom de l’application. Utilise pour construire les URLs, noms de ressources, namespace par defaut. |
Champs recommandes
Section intitulée « Champs recommandes »| Champ | Type | Defaut | Description |
|---|---|---|---|
namespace | string | name | Namespace Kubernetes |
vaultSecretsPath | string | — | Chemin Vault pour les secrets |
livenessProbe | object | — | Probe K8s pour detecter si le pod est vivant |
readinessProbe | object | — | Probe K8s pour detecter si le pod est pret |
Variables d’environnement dans les valeurs
Section intitulée « Variables d’environnement dans les valeurs »Les valeurs supportent la substitution de variables :
# Variable obligatoire (erreur si non definie)project: ${PROJECT_ID}
# Variable avec valeur par defautproject: ${PROJECT_ID:mon-projet}
# Variable optionnelle (vide si non definie)project: ${PROJECT_ID:-}Fichier .yml vs .yaml
Section intitulée « Fichier .yml vs .yaml »Le deployer accepte les deux extensions. Si deployer.yml n’existe pas, il cherche deployer.yaml automatiquement.
Voir aussi : Toutes les proprietes | Valeurs par defaut