# fluxcd ## age / sops **Create key:** ``` bash AGE_FILE=age.agekey age-keygen -o ${AGE_FILE} ``` **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 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 ``` **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 #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:** ``` bash FLUX_RESOURCE_NAME="???" FLUX_RESOURCE_NS="???" kubectl patch helmrelease ${FLUX_RESOURCE_NAME} -n ${FLUX_RESOURCE_NS} --type merge -p '{"spec":{"prune":false}}' ``` **Enable:** ``` bash FLUX_RESOURCE_NAME="???" FLUX_RESOURCE_NS="???" kubectl patch helmrelease ${FLUX_RESOURCE_NAME} -n ${FLUX_RESOURCE_NS} --type merge -p '{"spec":{"prune":true}}' ```