diff --git a/docs/fluxcd.md b/docs/fluxcd.md index 3bff5ab..8473299 100644 --- a/docs/fluxcd.md +++ b/docs/fluxcd.md @@ -9,22 +9,73 @@ AGE_FILE=age.agekey age-keygen -o ${AGE_FILE} ``` -**Create key and Import to kubernetes:** +**Example using sops decryption:** + +```yaml +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: sample-sync +spec: + interval: 1m + sourceRef: + kind: GitRepository + name: git-repo-name + path: deploy/sample-app + prune: true + decryption: + provider: sops + secretRef: + name: flux-sops-age +``` + +**Importing sops private key:** + +Using kustomization used by operator to deploy base fluxcd manifests for deployments and reconciliation. ``` bash -NAMESPACE=ns-name -AGE_FILE=deploy/flux/.env.d/age.agekey -SECRET_NAME=flux-sops-age +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: your-namespace +resources: + - sample-app.yaml +secretGenerator: + - name: flux-sops-age + files: + - "age.agekey=./.env.d/age.agekey" #change to private key file path +generatorOptions: + disableNameSuffixHash: true +``` -# creates age key -age-keygen -o ${AGE_FILE} -# imports to an namespace -cat ${AGE_FILE} | +**Import using kubectl:** + +```bash +SECRET_NAME="flux-sops-age" +NAMESPACE="your-namespace" kubectl create secret generic ${SECRET_NAME} \ --namespace=${NAMESPACE} \ ---from-file=age.agekey=/dev/stdin +--from-file=age.agekey=/dev/stdin #change to private key file path ``` +```yaml +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: sample-sync +spec: + interval: 1m + sourceRef: + kind: GitRepository + name: git-repo-name + path: deploy/sample-app + prune: true + decryption: + provider: sops + secretRef: + name: flux-sops-age +``` + + ## kustomization prune **Disable:**