File tree Expand file tree Collapse file tree 2 files changed +88
-0
lines changed Expand file tree Collapse file tree 2 files changed +88
-0
lines changed Original file line number Diff line number Diff line change 1+ # setup_ksops
2+
3+ Installs and sets up the KSOPS Kustomize plugin on the OpenShift GitOps Operator.
4+
5+ ## Variables
6+
7+ | Variable | Default | Required | Description
8+ | ---------------- | ------- | -------- | -----------
9+ | sk_age_key | | yes | A literal age generated (age-keygen) key. If kept in a version control service, it's recommeneded to vault-encrypt it.
10+
11+ ## Example of age key
12+
13+ ```
14+ # created: 2025-04-16T11:28:48Z
15+ # public key: age1j24rsa89nhv86dstnl696pfhxlngktjl5gcvya6y6ykg8t5jkqgsv0ua36
16+ AGE-SECRET-KEY-16NSYF9LSS3QZKLXFEYS5K36FPQC62QLZPNA02H7YWV0SFFVXF2PQNRZPNQ
17+ ```
18+
19+ ## Usage examples
20+
21+ ```
22+ - name: Setup the KSOPS Kustomize plugin
23+ ansible.builtin.include_role:
24+ name: redhatci.ocp.acm.setup_ksops
25+ vars:
26+ sk_age_key: |
27+ # created: 2025-04-16T11:28:48Z
28+ # public key: age1j24rsa89nhv86dstnl696pfhxlngktjl5gcvya6y6ykg8t5jkqgsv0ua36
29+ AGE-SECRET-KEY-16NSYF9LSS3QZKLXFEYS5K36FPQC62QLZPNA02H7YWV0SFFVXF2PQNRZPNQ
30+ ```
Original file line number Diff line number Diff line change 1+ - name : Verify SOPS age key is set
2+ ansible.builtin.assert :
3+ that :
4+ - sk_age_key | length > 0
5+
6+ - name : Load the SOPS age key into the cluster
7+ kubernetes.core.k8s :
8+ definition :
9+ apiVersion : v1
10+ kind : Secret
11+ type : Opaque
12+ metadata :
13+ name : sops-age
14+ namespace : openshift-gitops
15+ data :
16+ keys.txt : " {{ sk_age_key | b64encode }}"
17+
18+ - name : Patch the OpenShift GitOps ArgoCD resource
19+ kubernetes.core.k8s :
20+ definition :
21+ apiVersion : argoproj.io/v1beta1
22+ kind : ArgoCD
23+ metadata :
24+ name : openshift-gitops
25+ namespace : openshift-gitops
26+ spec :
27+ kustomizeBuildOptions : --enable-alpha-plugins --enable-exec
28+ repo :
29+ env :
30+ - name : XDG_CONFIG_HOME
31+ value : /.config
32+ - name : SOPS_AGE_KEY_FILE
33+ value : /.config/sops/age/keys.txt
34+ volumes :
35+ - name : custom-tools
36+ emptyDir : {}
37+ - name : sops-age
38+ secret :
39+ secretName : sops-age
40+ initContainers :
41+ - name : install-ksops
42+ image : quay.io/viaductoss/ksops:v4.3.3
43+ command : ["/bin/sh", "-c"]
44+ args :
45+ - ' echo "Installing KSOPS..."; cp ksops /custom-tools/; cp $GOPATH/bin/kustomize /custom-tools/; echo "Done.";'
46+ volumeMounts :
47+ - mountPath : /custom-tools
48+ name : custom-tools
49+ volumeMounts :
50+ - mountPath : /usr/local/bin/kustomize
51+ name : custom-tools
52+ subPath : kustomize
53+ - mountPath : /.config/kustomize/plugin/viaduct.ai/v1/ksops/ksops
54+ name : custom-tools
55+ subPath : ksops
56+ - mountPath : /.config/sops/age/keys.txt
57+ name : sops-age
58+ subPath : keys.txt
You can’t perform that action at this time.
0 commit comments