apiVersion: source.toolkit.fluxcd.io/v1beta2 kind: Bucket metadata: name: bucket spec: bucketName: ${gcp_project_id} endpoint: storage.googleapis.com ignore: |- # exclude alll /* # include cluster-specific dir !/${cluster_uuid} interval: 60s provider: gcp timeout: 5m --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: manifests spec: # replace objects that cannot be synced due to the object # being immutable force: true interval: 60s path: "./${cluster_uuid}" # remove objects from the cluster which are removed from # the bucket prune: true sourceRef: name: bucket kind: Bucket timeout: 5m