Storage (Buckets)
Buckets applicatifs
Section intitulée « Buckets applicatifs »buckets: app: - name: uploads - name: assets isPublic: trueLe deployer cree automatiquement :
- Le bucket GCS
{appslug}-{name}dans la region EU - Le versioning active
- Les CORS (GET/HEAD)
- Les bindings IAM pour le service account de l’app
- Les variables d’environnement (
BCK_NAME_{NAME})
Buckets externes
Section intitulée « Buckets externes »Pour acceder a un bucket d’un autre projet :
buckets: ext: - name: shared-assets provider: other-app # Prefixe du bucket existant - name: legacy-data realName: custom-bucket # Nom exact du bucket existantMount dans les pods (GCSFuse)
Section intitulée « Mount dans les pods (GCSFuse) »Pour monter un bucket directement dans le filesystem du pod :
buckets: app: - name: uploads mountPath: /data/uploadsLe deployer configure automatiquement le driver CSI GCSFuse et les annotations necessaires.
Lifecycle rules
Section intitulée « Lifecycle rules »Ajoutez des regles de lifecycle pour gerer automatiquement la retention et l’archivage :
buckets: app: - name: uploads lifecycleRules: # Supprimer les objets de plus d'un an - action: Delete age: 365
# Archiver en Nearline apres 30 jours - action: SetStorageClass storageClass: NEARLINE age: 30
# Nettoyer les fichiers temporaires apres 7 jours - action: Delete matchesPrefix: ["tmp/", "cache/"] age: 7
# Garder seulement 3 versions (avec versioning actif) - action: Delete numNewerVersions: 3 withState: ARCHIVEDActions disponibles
Section intitulée « Actions disponibles »| Action | Description |
|---|---|
Delete | Supprimer l’objet |
SetStorageClass | Changer la classe de stockage (necessite storageClass) |
AbortIncompleteMultipartUpload | Annuler les uploads multipart incomplets |
Conditions
Section intitulée « Conditions »| Condition | Type | Description |
|---|---|---|
age | number | Age de l’objet en jours |
matchesPrefix | string[] | Prefixes de chemin (ex: ["tmp/", "logs/"]) |
matchesSuffix | string[] | Suffixes de fichier (ex: [".log", ".tmp"]) |
numNewerVersions | number | Nombre de versions plus recentes |
withState | string | Etat de l’objet : LIVE, ARCHIVED ou ANY |
Classes de stockage
Section intitulée « Classes de stockage »| Classe | Cas d’usage |
|---|---|
STANDARD | Acces frequent (defaut) |
NEARLINE | Acces < 1 fois/mois |
COLDLINE | Acces < 1 fois/trimestre |
ARCHIVE | Acces < 1 fois/an |
Proprietes completes
Section intitulée « Proprietes completes »| Propriete | Type | Defaut | Description |
|---|---|---|---|
name | string | — | Nom du bucket (requis) |
isPublic | boolean | false | Rendre le bucket accessible publiquement |
mountPath | string | — | Chemin de montage dans le pod (GCSFuse) |
lifecycleRules | object[] | [] | Regles de lifecycle GCS |
provider | string | — | (ext) Prefixe du bucket externe |
realName | string | — | (ext) Nom exact du bucket externe |
branch | string | branche courante | Override de branche pour le nommage |
project | string | projet courant | Override de projet GCP |
Voir aussi : Toutes les proprietes | deployer.yaml