Propriete Type Requis Defaut Description namestring oui — Nom de l’application namespacestring non nameNamespace Kubernetes codeTypeenum non WebWeb | Static | Spa | InframaxRequestBodySizestring non 500MiTaille max du body HTTP vaultSecretsPathstring non — Chemin Vault pour les secrets featuresstring[] non []Features : redis, redis72, jwt, kms, drive, nginx-php replicasnumber non 2Nombre de pods networkobject[] non auto Configuration reseau databasesobject non — Bases de donnees topicsobject non — Pub/Sub topics subscriptionsobject non — Pub/Sub subscriptions bucketsobject non — Buckets GCS workersobject[] non []Workers background cronJobsobject[] non []Taches planifiees migrationobject non — Migration database cloudFunctionsobject[] non — Google Cloud Functions dashboardsobject[] non []Dashboards GCP Monitoring livenessProbeobject non — K8s liveness probe readinessProbeobject non — K8s readiness probe environmentVariablesobject[] non []Variables d’env labelsmap(string) non {}Labels custom K8s et GCP prometheusScrapeobject non — Config PodMonitoring Prometheus whitelistRangeobject[] non []IP whitelist globale
Labels personnalises appliques sur toutes les ressources Kubernetes et GCP.
project : custom-name # auto-injecte depuis APPSLUG si absent
Les labels systeme (app, appSlug, deployedBy, bu, env) ne peuvent pas etre ecrases.
Le label project est automatiquement ajoute avec la valeur de APPSLUG si non defini.
Les labels sont propages dans : Deployment, Service, Worker, CronJob, Migration, ConfigMap, PDB, PodMonitoring.
Les labels sont aussi ajoutes dans les default_labels du provider GCP (Buckets, Cloud Functions, Pub/Sub, etc.).
Configure un PodMonitoring pour Google Managed Prometheus.
Propriete Type Defaut Description prometheusScrape.enabledboolean falseActiver le PodMonitoring prometheusScrape.pathstring /metricsChemin de l’endpoint metriques prometheusScrape.portinteger 80Port a scraper prometheusScrape.intervalstring 30sIntervalle de scraping
Propriete Type Defaut Description namestring — Nom du reseau (requis) isPublicboolean falseAcces public (prod uniquement) hoststring — Hostname prod (ex: api.homeserve.fr) hostPrefixstring — Prefixe DNS (ex: api) fromToWWWboolean trueRedirection www aliasesstring[] []Hostnames supplementaires servicesobject[] — Services backend services[].namestring — Nom du service (requis) services[].portinteger 80Port (80-65534) services[].pathstring /Path prefix whitelistRangeobject[] []IP whitelist par reseau seo4ajaxobject — Pre-rendering SEO seo4ajax.keystring — Cle API SEO4Ajax seo4ajax.pathstring — Prefixe de path corsobject — Override CORS cors.enabledboolean trueActiver/desactiver CORS cors.allowOriginsstring[] — Origines autorisees cors.allowMethodsstring[] — Methodes autorisees cors.allowHeadersstring[] — Headers autorises cors.maxAgestring — Duree cache preflight cors.exposeHeadersstring[] — Headers exposes timeoutobject — Override timeouts timeout.requeststring 300sTimeout requete timeout.idlestring 300sTimeout idle rateLimitobject — Rate limiting rateLimit.requestsinteger — Max requetes rateLimit.unitenum — second | minute | hourretryobject — Politique de retry retry.numRetriesinteger — Nombre de retries loadBalancerenum — RoundRobin | LeastRequest | Random | ConsistentHash | RingHashresponseHeadersobject — Manipulation headers reponse responseHeaders.setmap — Headers a ajouter/modifier responseHeaders.removestring[] — Headers a supprimer requestHeadersobject — Manipulation headers requete requestHeaders.setmap — Headers a ajouter/modifier requestHeaders.removestring[] — Headers a supprimer urlRewriteobject — Reecriture d’URL urlRewrite.typestring ReplacePrefixMatchType de rewrite urlRewrite.valuestring — Valeur de remplacement urlRedirectsobject[] []Redirections de path dnsRedirectionsstring[] []Redirections de domaine
Voir aussi la page dediee Storage (Buckets) .
Propriete Type Requis Defaut Description namestring oui — Nom du bucket isPublicboolean non falseRendre le bucket accessible publiquement mountPathstring non — Chemin de montage dans le pod (GCSFuse) lifecycleRulesobject[] non []Regles de lifecycle GCS branchstring non branche courante Override de branche pour le nommage projectstring non projet courant Override de projet GCP
Propriete Type Requis Defaut Description namestring oui — Nom du bucket providerstring non — Prefixe du bucket externe (genere {provider}-{branch}-{name}) realNamestring non — Nom exact du bucket existant (prioritaire sur provider) branchstring non branche courante Override de branche projectstring non projet courant Override de projet GCP
Propriete Type Requis Defaut Description actionstring oui — Delete, SetStorageClass ou AbortIncompleteMultipartUploadstorageClassstring si SetStorageClass — Classe cible : NEARLINE, COLDLINE, ARCHIVE agenumber non — Age de l’objet en jours matchesPrefixstring[] non — Prefixes de chemin (ex: ["tmp/", "cache/"]) matchesSuffixstring[] non — Suffixes de fichier (ex: [".log", ".tmp"]) numNewerVersionsnumber non — Nombre de versions plus recentes withStatestring non — Etat : LIVE, ARCHIVED ou ANY
# Supprimer les objets de plus d'un an
# Archiver en Nearline apres 30 jours
- action : SetStorageClass
# Supprimer les fichiers temporaires apres 7 jours
matchesPrefix : [ " tmp/ " , " cache/ " ]
# Supprimer les anciennes versions (garder 3)
Dashboards GCP Cloud Monitoring provisionnees via Terraform (google_monitoring_dashboard). Supprimer une entree supprime le dashboard au prochain deploy.
Propriete Type Requis Description dashboards[].namestring oui Identifiant unique du dashboard (nommage Terraform) dashboards[].jsonPathstring oui Chemin relatif vers le fichier JSON du dashboard
jsonPath : ./monitoring/overview.json
Propriete Type Requis Defaut Description databases.pgs[].namestring oui — Nom de la base PostgreSQL databases.mgs[].namestring oui — Nom de la base MongoDB
Propriete Type Requis Defaut Description migration.enableboolean non falseActiver les migrations migration.useAppImgboolean non falseUtiliser l’image de l’app migration.commandstring/string[] non — Commande de migration
Propriete Type Requis Defaut Description workers[].namestring oui — Nom du worker workers[].enabledboolean oui — Activer le worker workers[].argsstring[] non []Commande workers[].replicasnumber non 1Nombre de replicas workers[].useAppboolean non trueUtiliser l’image de l’app workers[].imagestring non — Image Docker custom (si useApp=false) workers[].envobject[] non []Variables d’env supplementaires workers[].resourcesRequestsobject non — CPU/memory requests workers[].resourcesLimitsobject non — CPU/memory limits
Propriete Type Requis Defaut Description cronJobs[].namestring oui — Nom du job cronJobs[].schedulestring oui — Expression cron cronJobs[].useAppboolean non falseUtiliser l’image de l’app cronJobs[].imagestring non — Image Docker custom (si useApp=false) cronJobs[].commandsstring[] non []Commande cronJobs[].envobject[] non []Variables d’env supplementaires cronJobs[].enabledboolean non trueActif en production cronJobs[].enabledInStagingboolean non falseActif en staging cronJobs[].timezonestring non UTCTimezone du schedule