Ministères
sociaux
Atlas
Plateforme d'hébergement des ministères sociaux
DatabaseCluster
Un DatabaseCluster est un conteneur PostgreSQL pour une ou plusieurs bases de données. Plusieurs moteurs existent, notamment OVH (cluster de base de données managé, pour une utilisation en production) et CNPG (déploiement dans le cluster, non adapté à une utilisation en production).
Description
DatabaseCluster est le schéma pour l'API DatabaseCluster. Les lifecycles des DatabaseCluster sont indépendants du lifecycle des applications et doivent être créés au préalable. Une fois créé, une base de données doit être créée en référençant ce DatabaseCluster.
Spécification
| Champ | Type | Description | Requis | Défaut |
|---|---|---|---|---|
spec.parameters.name |
string | Nom du DatabaseCluster à créer. Ce champ est immuable et ne peut pas être modifié ultérieurement. | Oui | - |
spec.parameters.implementation |
string | Implémentation du moteur à utiliser. Ce champ est immuable et ne peut pas être modifié ultérieurement. Valeurs possibles: cnpg, managed |
Oui | - |
spec.parameters.replicas |
integer | Nombre de réplicas pour le DatabaseCluster. Pour la haute disponibilité, les utilisations en production doivent toujours définir cette valeur à plus de 1. | Non | 1 |
spec.parameters.ovh.plan |
string | Plan à utiliser pour le cluster de base de données managé (uniquement utilisé lorsque le champ implementation est "managed"). | Non | essential |
spec.parameters.ovh.flavor |
string | Flavor à utiliser pour les instances de VM de support (uniquement utilisé lorsque le champ implementation est "managed"). | Non | db1-4 |
spec.parameters.ovh.authorized_ips |
array | Un tableau d'adresses IP autorisées à se connecter au cluster (uniquement utilisé lorsque le champ implementation est "managed"). | Non | [] |
spec.parameters.cnpg.resources.requests.cpu |
string | Requests de CPU (uniquement utilisé lorsque le champ implementation est "cnpg"). | Non | - |
spec.parameters.cnpg.resources.requests.memory |
string | Requests de mémoire (uniquement utilisé lorsque le champ implementation est "cnpg"). | Non | - |
spec.parameters.cnpg.resources.limits.cpu |
string | Limits de CPU (uniquement utilisé lorsque le champ implementation est "cnpg"). | Non | - |
spec.parameters.cnpg.resources.limits.memory |
string | Limits de mémoire (uniquement utilisé lorsque le champ implementation est "cnpg"). | Non | - |
spec.parameters.version |
string | Version de PostgreSQL | Non | 15 |
spec.parameters.diskSize |
integer | Taille pour le stockage de la base de données, en GiB. | Non | 80 |
spec.parameters.zoneRef.name |
string | Référence à une Zone qui hébergera le DatabaseCluster. | Oui | - |
spec.parameters.secretDeliveryTargets |
array | Liste des cibles auxquelles livrer le secret. Dans cette version, vous ne pouvez livrer des secrets qu'aux DeploymentTargets. | Oui | - |
Exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | |
Notes importantes
- Le nom du DatabaseCluster doit être unique.
- L'implémentation (
cnpgoumanaged) est immuable et ne peut pas être modifiée après la création. - Pour les environnements de production, il est recommandé d'utiliser l'implémentation
managedet de définirreplicasà une valeur supérieure à 1 pour la haute disponibilité. - L'implémentation
cnpgn'est pas recommandée pour les environnements de production. - Les secrets d'accès à la base de données sont automatiquement livrés aux DeploymentTargets spécifiés dans
secretDeliveryTargets.
Format des secrets livrés
Les secrets d'accès à la base de données sont livrés aux DeploymentTargets spécifiés dans le format JSON suivant :
```json { "url": "postgresql://username:password@host:port/database", "server": "host:port", "host": "host", "port": "port", "username": "username", "password": "password", "database": "database" }