Pipelines types par fournisseur cloud¶
Douze modèles donnent, pour chaque fournisseur du catalogue, un pipeline complet avec les services du fournisseur qui vont ensemble : un Kubernetes managé par fournisseur, et des variantes plus simples (conteneurs serverless ou machines). On les ouvre par Fichier › Nouveau depuis un modèle de fournisseur, ou en ligne de commande ; on ajuste ensuite comme n'importe quel projet (briques, paramètres, environnements).
devops-builder template
devops-builder template aws -o mon-projet.devops.yaml
Chaque modèle compte deux environnements (préproduction, puis production après approbation), une application avec sa base PostgreSQL, l'infrastructure en OpenTofu et les contrôles de sécurité (Gitleaks, Trivy, Cosign). Il ne garde aucune erreur bloquante ; restent seulement les valeurs propres au projet — nom du cluster, bucket de l'état OpenTofu, identifiant du projet cloud… —, signalées en avertissement (R34) jusqu'à ce qu'on les renseigne dans le panneau Propriétés. Les modèles sont construits avec le catalogue du moment : ils suivent les fiches et les règles de la version installée.
| Modèle | Commande | Cluster et registre | Base | Secrets | Supervision | CI et connexion au cloud |
|---|---|---|---|---|---|---|
| AWS | devops-builder template aws |
Amazon EKS, ECR | Amazon RDS | Secrets Manager, lu par External Secrets | CloudWatch | GitHub Actions, OIDC |
| Google Cloud | devops-builder template gcp |
GKE, Artifact Registry | Cloud SQL | Secret Manager, lu par External Secrets | Cloud Monitoring | GitLab CI, Workload Identity Federation |
| Azure | devops-builder template azure |
AKS, Azure Container Registry | Azure Database (serveur flexible) | Key Vault, lu par External Secrets | Azure Monitor | GitHub Actions, fédération Entra ID |
| OVHcloud | devops-builder template ovhcloud |
Managed Kubernetes, Managed Private Registry | Public Cloud Databases | SOPS et age, dans le dépôt | Prometheus, Grafana | GitLab CI, clés d'API |
| Scaleway | devops-builder template scaleway |
Kapsule, Container Registry | Managed Database | SOPS et age, dans le dépôt | Prometheus, Grafana | GitLab CI, clés d'API |
| Outscale (SecNumCloud) | devops-builder template outscale |
machines virtuelles, Ansible, Docker Compose et Traefik | PostgreSQL sur chaque machine | SOPS et age, dans le dépôt | Prometheus, Grafana | GitLab CI, clés d'accès |
Variantes sans Kubernetes¶
| Commande | Hébergement | Ce qui change |
|---|---|---|
devops-builder template aws-ecs |
ECS Fargate | pas de cluster à administrer ; RDS, Secrets Manager, journaux CloudWatch |
devops-builder template aws-ec2 |
une instance EC2 par environnement | Ansible, Docker Compose, Traefik ; secrets SOPS ; type de machine choisi d'après les services |
devops-builder template gcp-cloud-run |
Cloud Run | Cloud SQL, Secret Manager |
devops-builder template azure-vm |
une machine virtuelle par environnement | Ansible, Docker Compose, Traefik ; secrets SOPS |
devops-builder template ovhcloud-vm |
une instance Public Cloud par environnement | idem ; pas de pare-feu généré, à poser à la main |
devops-builder template scaleway-instance |
une instance par environnement | Docker Compose par SSH, le plus simple |
L'état OpenTofu va dans le stockage objet du fournisseur (S3, Cloud Storage, Blob Storage, Object Storage d'OVHcloud et de Scaleway, OOS d'Outscale), chiffré et verrouillé, sauf chez Outscale dont le stockage objet n'offre pas de verrou d'état.
Choix faits par les modèles¶
- Connexion de la CI : OIDC chez AWS, Google Cloud et Azure, sans clé stockée ; deux identités, l'une pour les jobs d'infrastructure, l'autre limitée au déploiement. OVHcloud, Scaleway et Outscale n'offrent pas de fédération d'identité pour la CI : leurs clés sont des variables protégées, à renouveler.
- Secrets : le coffre du fournisseur quand il en a un, lu dans le cluster par External Secrets ; sinon SOPS et age, les valeurs chiffrées dans le dépôt.
- Supervision : le service du fournisseur quand il en a un, Prometheus et Grafana sinon.
- Outscale : l'exigence SecNumCloud est activée, et le déploiement passe par des machines virtuelles, le Kubernetes managé d'Outscale (OKS) n'ayant pas encore de ressource OpenTofu générée. Le tutoriel souverain déroule ce modèle de bout en bout.
Après l'ouverture¶
- Renseigner les valeurs signalées dans les diagnostics, puis enregistrer (Ctrl+S).
- Adapter l'application : Projet › Application (Ctrl+Maj+A) pour désigner son dossier, le langage et le port.
- Générer (Ctrl+G) et suivre
docs/mise-en-route.md: création du stockage de l'état, connexion de la CI au cloud, premier apply, plateforme, variables de la CI, premier déploiement. Le tutoriel Amazon EKS en détaille chaque étape pour AWS ; elles sont les mêmes ailleurs, avec les services du fournisseur.