Aller au contenu

Storage (Buckets)

buckets:
app:
- name: uploads
- name: assets
isPublic: true

Le 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})

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 existant

Pour monter un bucket directement dans le filesystem du pod :

buckets:
app:
- name: uploads
mountPath: /data/uploads

Le deployer configure automatiquement le driver CSI GCSFuse et les annotations necessaires.

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: ARCHIVED
ActionDescription
DeleteSupprimer l’objet
SetStorageClassChanger la classe de stockage (necessite storageClass)
AbortIncompleteMultipartUploadAnnuler les uploads multipart incomplets
ConditionTypeDescription
agenumberAge de l’objet en jours
matchesPrefixstring[]Prefixes de chemin (ex: ["tmp/", "logs/"])
matchesSuffixstring[]Suffixes de fichier (ex: [".log", ".tmp"])
numNewerVersionsnumberNombre de versions plus recentes
withStatestringEtat de l’objet : LIVE, ARCHIVED ou ANY
ClasseCas d’usage
STANDARDAcces frequent (defaut)
NEARLINEAcces < 1 fois/mois
COLDLINEAcces < 1 fois/trimestre
ARCHIVEAcces < 1 fois/an
ProprieteTypeDefautDescription
namestringNom du bucket (requis)
isPublicbooleanfalseRendre le bucket accessible publiquement
mountPathstringChemin de montage dans le pod (GCSFuse)
lifecycleRulesobject[][]Regles de lifecycle GCS
providerstring(ext) Prefixe du bucket externe
realNamestring(ext) Nom exact du bucket externe
branchstringbranche couranteOverride de branche pour le nommage
projectstringprojet courantOverride de projet GCP

Voir aussi : Toutes les proprietes | deployer.yaml