Skip to content

Commit 96b5b3c

Browse files
committed
✅ Added tests for new features
1 parent 118d32d commit 96b5b3c

File tree

11 files changed

+243
-1
lines changed

11 files changed

+243
-1
lines changed

.sops.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
creation_rules:
2-
- encrypted_regex: '^(data|stringData)$'
2+
- encrypted_regex: "^(data|stringData)$"
3+
age: age166k86d56ejs2ydvaxv2x3vl3wajny6l52dlkncf2k58vztnlecjs0g5jqq
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: config.kaweezle.com/v1alpha1
2+
kind: PlatformSecrets
3+
metadata:
4+
name: autocloud-secrets
5+
data:
6+
cloudflare:
7+
credentials.json: |
8+
{"AccountTag":"6b713ba4794bb6898c335a6e5e964bc0","TunnelSecret":"0rGDN8oqEVFWYvtUxPCckKpEMiM9I4bOuUsDXNXJVinSTHWs","TunnelID":"ca955c21-2606-4a5d-b217-341a3d12755e"}
9+
apiKey: 597aa3a9f23465a7a2f133fda2b7fd11e82211df
10+
ovh:
11+
application_secret: 29s5X1U9YjFeRhjwat0gLIunwcsHKPe4
12+
consumer_key: pZzUg3Ux3mig3V50xOpUPK1BgCNK6Dal
13+
github:
14+
password: ghp_yHlZKZnbqd8uyTWL8LIuixxh8KOKViwTcXWJ
15+
webhook_secret: 3AbUHdd35WE4HzYpk53jvzybY9QW4GDY
16+
oidc_client_secret: 72d2976fcf260480dc3a2c392ef4a1cecba348a8
17+
ssh_key: |
18+
-----BEGIN OPENSSH PRIVATE KEY-----
19+
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
20+
QyNTUxOQAAACA4nXPm/isSCn3Jmsj2cqBIRhoZ6ZTegcxgFZhDKJXDTwAAAJgOYygIDmMo
21+
CAAAAAtzc2gtZWQyNTUxOQAAACA4nXPm/isSCn3Jmsj2cqBIRhoZ6ZTegcxgFZhDKJXDTw
22+
AAAECApDmEpcj6BVxPhdt2ZJB5llYEcGKmapyGXlg/y9Sjejidc+b+KxIKfcmayPZyoEhG
23+
GhnplN6BzGAVmEMolcNPAAAAD2FudG9pbmVAbXJ0bi5mcgECAwQFBg==
24+
-----END OPENSSH PRIVATE KEY-----
25+
sops:
26+
age_key.txt: IyBjcmVhdGVkOiAyMDIzLTAxLTE5VDE5OjQxOjQ1WgojIHB1YmxpYyBrZXk6IGFnZTE2Nms4NmQ1NmVqczJ5ZHZheHYyeDN2bDN3YWpueTZsNTJkbGtuY2YyazU4dnp0bmxlY2pzMGc1anFxCkFHRS1TRUNSRVQtS0VZLTE1UktUUFFDQ0xXTTdFSFE4SkVQMFRRTFVXSkFFQ1ZQNzMzMk0zWlAwUkw5UjdKVDdNWjZTWTc5VjhRCg==
27+
argocd:
28+
admin_password: $2a$10$xdlX460lf/WbJNZU5bBoROj6U7oKgPbEcBrnXaemA6gsCzrAJtQ3y
29+
chisel:
30+
AUTH: user:password
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
apiVersion: krmfnbuiltin.kaweezle.com/v1alpha1
2+
kind: SopsGenerator
3+
metadata:
4+
name: autocloud-secrets
5+
annotations:
6+
config.kaweezle.com/path: secrets.yaml
7+
config.kubernetes.io/function: |
8+
exec:
9+
path: ../../krmfnbuiltin
10+
data:
11+
cloudflare:
12+
credentials.json: ENC[AES256_GCM,data:BlMhafSS7U5ntdsXAOasRX3O2/f1J3bUfTn9NEjZomWLItDr0K+4/69UGMjSCfQgwx23YcHCD2ZWgOk6TnN0sqjXV9DuRpU9uCInk0gNgjUDGymnPjxK2mYxhybjhSuIh89ml1CZnjnDG5jRgcXLgJFzjR2esIqMufiQyJoj+cB3wY86o1srHZL47QD2XxMUeitI3QfWVEDTpQbdlNn6iVfVOUtWiA==,iv:5b+cilKQykqnO1yluXan2LVFX6a/kmccI+BQ3sZrq2Q=,tag:wLeubY5J0sqlJ9BMRRzHWg==,type:str]
13+
apiKey: ENC[AES256_GCM,data:+luyBXKTRGs8k0EYjZzqoHFPP+PmnG4tND6SNCYTNQ5CaNUBOviOQA==,iv:j6niJC5BwYxhrw0wmQsD8fmkPo8cgacSbW8N1/Hi+hQ=,tag:uk75i1k+izzrK2CkjB8new==,type:str]
14+
ovh:
15+
application_secret: ENC[AES256_GCM,data:vXNXYymgcX6ZQPKN65aBHtWNxdqDJ7/kAvFc9W2qCrw=,iv:It3NPmTaZXwgRIPIolHo0h7w6vzAnvaLTcDQjBFFBZQ=,tag:f/3PD1ZVN7LzfDZ7GTav3A==,type:str]
16+
consumer_key: ENC[AES256_GCM,data:q8iyMNPnKf/Or1gnnuHBPfX9X+5fsh5OxA0DxjnWric=,iv:dc5vRzH87jEYpQC6XZ89lPRgDFLig+rsBf3E6FBTHSk=,tag:ZIgPYc3Ro0gOMYxdBBwRsw==,type:str]
17+
github:
18+
password: ENC[AES256_GCM,data:InIPLpv58jMMpjp8sGVIfpxJ9HzAu3IIpSM6Jb8pUPzuJbWMxabQ6w==,iv:akbY8UCLloyAkkK0sLYk5KZ06+4EORv3rm7vZGwjWks=,tag:SXUtA28tHFKAFh4XL2w/XA==,type:str]
19+
webhook_secret: ENC[AES256_GCM,data:ltrWxAW6hKTl7gZcDgMgu1IOwu6X07F+2TQFaMKrb1Q=,iv:lmX/M40uykMTwBY/kaoGXkeSCqAQ5Uq+bNK4slQOQyU=,tag:tyvEywVE1R1Eo8+w1lGlPA==,type:str]
20+
oidc_client_secret: ENC[AES256_GCM,data:d/kIhME8Ubuo4buueV6KGvcQwU5ZMR7TRjcRmSog/yicUGsY9IAN7Q==,iv:/JZsC6tAwvj+TFHrGRjwD3an1iD52S6KVzkZBU4/JJk=,tag:4dJ+4bjI2yRcGzRuPKeQRw==,type:str]
21+
ssh_key: ENC[AES256_GCM,data:WHuUNL2zbA7Cf5CqoJ01RcVHcNdyKoTjaGXFIR60Q5yG+QSvAzJ4kCQevSVZAW7DokZYglA2bUtlDu61Gd2RFwWQJIQQgV2BTYbi/xAqta/8Inby7cKT3nH44Covws8LxUp/aZfls5SRS7kLgh/y8ispyJdCoanaPa73yvKInSLc1+fEt7FUh/O+rovJEEEZotXlhARoanZ5H+KrCff8uYv5d16ALII9PccLkIxcZYv/qXGSPZgmTVAOjMdDkw3jrr3xrk3xg34jNSjY964kxZ/P5NrnA4W99pU7fODZeRP/xyUt2MiAkktXODKBqgdZJ9RyNUXF2M8wzVqniCHb88lVj5HR5tqu/q4LyITIEPU1rRbFuRsV9gnT7VAUNiLzvvrKQ2/d8RzV3sU4U4PaAF+chtaKvSosd9BnUfjhhmaSr/vgsQsX34mdHdXoFOORKc+wclAF9p+/I36TEcOiqM7cazmADozj1ZNJ9gMySaC91IOaF7+bLE57ypaXfv68zHRNjdIro7QgwbS9yT9o4bE+0vQf40bl+/HY,iv:NMoplOfxWMZ4uKtOD4nAcgbUF9uL1lywILoSfBoY7qA=,tag:2dVYmbm5nYfjHuuOcJ8ncA==,type:str]
22+
sops:
23+
age_key.txt: ENC[AES256_GCM,data:/+aTppVhVAx2ZeKojI2A9LmMaV5GlFRAs2P6MBklaAF9E8gXb/UD4oBL7SZunw6osl0YQ3v5q8nGPrciRJ0pR6zjZ+BZqtEAAEpVlPv63PXB00KCOJhjlqKfxWiydacSI0GrgG+ua1k71rqTctiNy9CUoi3FNXvOJXVMsXzGl8YlkOX0qlbT1jOibLEmFWNUv10mRp4KidUfejGm5TGn1Q/M8KQi1BpK7EcdfBsAoFhriPBVDscqCLRWsnSPROEocnAJKFsfUs6a0A2Gwzxv/UcK0FHsn0BhnkL97Okxc71TXdatOuS4bdhi6F17zPaibsPy/ywv53c=,iv:MqyVHocL4zBG4dT2MtlSTEgW1r7TEMk6SA0ws2dtcmg=,tag:1sS0hG/PuZVMeTkfvNfjuA==,type:str]
24+
argocd:
25+
admin_password: ENC[AES256_GCM,data:xAYetqD6bK+a0RQ6HaY+re486hlMcWIuGbYsaj3+KtV+Zk/4Vc1GtjrXgaJLizj083B1Ku7bFvOrl6r/,iv:BxM/33tG2RxQk/IzJKk2XHNigax0wdWk/1UPgKGib8s=,tag:dTczApIQ+WbunrIH8Nje3A==,type:str]
26+
chisel:
27+
AUTH: ENC[AES256_GCM,data:Z4jqrFNLMu7s+n073g==,iv:2VrKCiJbFRvxgRzy+BFsfeon0kaAjZ88Vp4iaQRACvc=,tag:OE1KL24zg4U8znI22El+UA==,type:str]
28+
sops:
29+
kms: []
30+
gcp_kms: []
31+
azure_kv: []
32+
hc_vault: []
33+
age:
34+
- recipient: age166k86d56ejs2ydvaxv2x3vl3wajny6l52dlkncf2k58vztnlecjs0g5jqq
35+
enc: |
36+
-----BEGIN AGE ENCRYPTED FILE-----
37+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkbENqdGU4WTdqZkpoMWRp
38+
QVpzcmJTSWxwRC8rK1dpMm41QkpVNVJ4RXpRCi9XYnRJcEhlWDhOalRMRVZFMzlY
39+
TUNqbFkrUUxsVnU3NEh0QlpkczVwV0kKLS0tIGVZeTNVbzYzck1GRG9qVENxNmQ5
40+
bldBTnc3UXQvTWNHSnZDTzJpaG5LVW8KT6ISyKOyjkhaqaZcbb7F1BfAXXmmB1st
41+
SsDJRd8GB6Me/JOeoXgRZJxYJNY0c/Gj/MZd5/YKjKaAmahfFd5wPA==
42+
-----END AGE ENCRYPTED FILE-----
43+
lastmodified: "2023-02-05T21:26:29Z"
44+
mac: ENC[AES256_GCM,data:nn+Zw4HbYbmqqTattvQCNv9wsg8pnA5WwINh/wujH3EpN/79G/A3lMhEiU/ItzEhr4Mr5C5zEnaPCBA7PBW+JPeMpNSYDQhnIvdm+Pyov22f6f5S7bhogeIdEi3Gk0ACIVxgW3k55Oby/fachbBKomc0tca1Wxz2/bQYIF+TVrI=,iv:FyOcWVXKS4XarZ8dJiTau3WcRwO/jsfiDosV9Yfwi4U=,tag:23HlsxeZ4XRm1CLn0eUy0A==,type:str]
45+
pgp: []
46+
encrypted_regex: ^(data|stringData)$
47+
version: 3.7.3

tests/sops-generator/original/.gitkeep

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: krmfnbuiltin.kaweezle.com/v1alpha1
2+
kind: SopsGenerator
3+
metadata:
4+
name: autocloud-secrets
5+
annotations:
6+
config.kaweezle.com/path: "secrets.yaml"
7+
config.kubernetes.io/function: |
8+
exec:
9+
path: ../../krmfnbuiltin
10+
data:
11+
cloudflare:
12+
credentials.json: |
13+
{"AccountTag":"6b713ba4794bb6898c335a6e5e964bc0","TunnelSecret":"0rGDN8oqEVFWYvtUxPCckKpEMiM9I4bOuUsDXNXJVinSTHWs","TunnelID":"ca955c21-2606-4a5d-b217-341a3d12755e"}
14+
apiKey: 597aa3a9f23465a7a2f133fda2b7fd11e82211df
15+
ovh:
16+
application_secret: 29s5X1U9YjFeRhjwat0gLIunwcsHKPe4
17+
consumer_key: pZzUg3Ux3mig3V50xOpUPK1BgCNK6Dal
18+
github:
19+
password: ghp_yHlZKZnbqd8uyTWL8LIuixxh8KOKViwTcXWJ
20+
webhook_secret: 3AbUHdd35WE4HzYpk53jvzybY9QW4GDY
21+
oidc_client_secret: 72d2976fcf260480dc3a2c392ef4a1cecba348a8
22+
ssh_key: |
23+
-----BEGIN OPENSSH PRIVATE KEY-----
24+
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
25+
QyNTUxOQAAACA4nXPm/isSCn3Jmsj2cqBIRhoZ6ZTegcxgFZhDKJXDTwAAAJgOYygIDmMo
26+
CAAAAAtzc2gtZWQyNTUxOQAAACA4nXPm/isSCn3Jmsj2cqBIRhoZ6ZTegcxgFZhDKJXDTw
27+
AAAECApDmEpcj6BVxPhdt2ZJB5llYEcGKmapyGXlg/y9Sjejidc+b+KxIKfcmayPZyoEhG
28+
GhnplN6BzGAVmEMolcNPAAAAD2FudG9pbmVAbXJ0bi5mcgECAwQFBg==
29+
-----END OPENSSH PRIVATE KEY-----
30+
sops:
31+
age_key.txt: IyBjcmVhdGVkOiAyMDIzLTAxLTE5VDE5OjQxOjQ1WgojIHB1YmxpYyBrZXk6IGFnZTE2Nms4NmQ1NmVqczJ5ZHZheHYyeDN2bDN3YWpueTZsNTJkbGtuY2YyazU4dnp0bmxlY2pzMGc1anFxCkFHRS1TRUNSRVQtS0VZLTE1UktUUFFDQ0xXTTdFSFE4SkVQMFRRTFVXSkFFQ1ZQNzMzMk0zWlAwUkw5UjdKVDdNWjZTWTc5VjhRCg==
32+
argocd:
33+
admin_password: $2a$10$xdlX460lf/WbJNZU5bBoROj6U7oKgPbEcBrnXaemA6gsCzrAJtQ3y
34+
chisel:
35+
AUTH: user:password
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: argocd-cm
5+
data:
6+
configManagementPlugins: |
7+
- name: helmfile
8+
generate:
9+
command: ["/bin/sh", "-c"]
10+
args: ["helmfile --namespace $ARGOCD_APP_NAMESPACE template | sed -e '1,/---/d' | sed -e 's|apiregistration.k8s.io/v1beta1|apiregistration.k8s.io/v1|g'"]
11+
timeout.reconciliation: "15s"
12+
kustomize.buildOptions: "--enable-alpha-plugins --enable-exec"
13+
helm.valuesFileSchemes: "secrets+gpg-import, secrets+gpg-import-kubernetes, secrets+age-import, secrets+age-import-kubernetes, secrets, https,http"
14+
# resource.exclusions: |
15+
# - apiGroups:
16+
# - "cert-manager.io"
17+
# - "acme.cert-manager.io"
18+
# kinds:
19+
# - "CertificateRequest"
20+
# - "Order"
21+
# clusters:
22+
# - https://kubernetes.default.svc
23+
url: https://citest.holepunch.in
24+
dex.config: |
25+
connectors:
26+
# GitHub example
27+
- type: github
28+
id: github
29+
name: GitHub
30+
config:
31+
clientID: thisisfakeclientid
32+
clientSecret: $dex.github.clientSecret
33+
loadAllGroups: true
34+
teamNameField: slug
35+
orgs:
36+
- name: thisisfakeorganization
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: krmfnbuiltin.kaweezle.com/v1alpha1
2+
kind: ReplacementTransformer
3+
metadata:
4+
name: argocd-values-replacements
5+
annotations:
6+
config.kubernetes.io/function: |
7+
exec:
8+
path: ../../krmfnbuiltin
9+
source: values/properties.yaml
10+
replacements:
11+
- source:
12+
name: autocloud-values
13+
fieldPath: data.github.clientID
14+
targets:
15+
- select:
16+
kind: ConfigMap
17+
name: argocd-cm
18+
fieldPaths:
19+
- data.dex\.config.!!yaml.connectors.[id=github].config.clientID
20+
- source:
21+
name: autocloud-values
22+
fieldPath: data.github.organization
23+
targets:
24+
- select:
25+
kind: ConfigMap
26+
name: argocd-cm
27+
fieldPaths:
28+
- data.dex\.config.!!yaml.connectors.[id=github].config.orgs.0.name
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: argocd-cm
5+
data:
6+
configManagementPlugins: |
7+
- name: helmfile
8+
generate:
9+
command: ["/bin/sh", "-c"]
10+
args: ["helmfile --namespace $ARGOCD_APP_NAMESPACE template | sed -e '1,/---/d' | sed -e 's|apiregistration.k8s.io/v1beta1|apiregistration.k8s.io/v1|g'"]
11+
timeout.reconciliation: "15s"
12+
kustomize.buildOptions: "--enable-alpha-plugins --enable-exec"
13+
helm.valuesFileSchemes: "secrets+gpg-import, secrets+gpg-import-kubernetes, secrets+age-import, secrets+age-import-kubernetes, secrets, https,http"
14+
# resource.exclusions: |
15+
# - apiGroups:
16+
# - "cert-manager.io"
17+
# - "acme.cert-manager.io"
18+
# kinds:
19+
# - "CertificateRequest"
20+
# - "Order"
21+
# clusters:
22+
# - https://kubernetes.default.svc
23+
url: https://citest.holepunch.in
24+
dex.config: |
25+
connectors:
26+
# GitHub example
27+
- type: github
28+
id: github
29+
name: GitHub
30+
config:
31+
clientID: a98a3e6e82b3732c1bf2
32+
clientSecret: $dex.github.clientSecret
33+
loadAllGroups: true
34+
teamNameField: slug
35+
orgs:
36+
- name: johndoe
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: autocloud.config.kaweezle.com/v1alpha1
2+
kind: PlatformValues
3+
metadata:
4+
name: autocloud-values
5+
data:
6+
github:
7+
organization: thisisfakeorganization
8+
repository: autocloud
9+
repo: antoinemartin/autocloud
10+
11+
clientID: thisisfakeclientid

tests/test_krmfnbuiltin.sh

+9
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ set -e pipefail
99

1010
trap "find . -type d -name 'applications' -exec rm -rf {} +" EXIT
1111

12+
export SOPS_AGE_KEY=$(cat - <<EOF
13+
# created: 2023-01-19T19:41:45Z
14+
# public key: age166k86d56ejs2ydvaxv2x3vl3wajny6l52dlkncf2k58vztnlecjs0g5jqq
15+
AGE-SECRET-KEY-15RKTPQCCLWM7EHQ8JEP0TQLUWJAECVP7332M3ZP0RL9R7JT7MZ6SY79V8Q
16+
EOF
17+
)
18+
export SOPS_RECICPIENT="age166k86d56ejs2ydvaxv2x3vl3wajny6l52dlkncf2k58vztnlecjs0g5jqq"
19+
20+
1221
for d in $(ls -d */); do
1322
echo "Running Test in $d..."
1423
cd $d

tests/test_krmfnbuiltin_kpt.sh

+9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@ temp_file_2=$(mktemp)
1212

1313
trap "find . -type d -name 'applications' -exec rm -rf {} +; rm -f $temp_file $temp_file_2" EXIT
1414

15+
export SOPS_AGE_KEY=$(cat - <<EOF
16+
# created: 2023-01-19T19:41:45Z
17+
# public key: age166k86d56ejs2ydvaxv2x3vl3wajny6l52dlkncf2k58vztnlecjs0g5jqq
18+
AGE-SECRET-KEY-15RKTPQCCLWM7EHQ8JEP0TQLUWJAECVP7332M3ZP0RL9R7JT7MZ6SY79V8Q
19+
EOF
20+
)
21+
export SOPS_RECICPIENT="age166k86d56ejs2ydvaxv2x3vl3wajny6l52dlkncf2k58vztnlecjs0g5jqq"
22+
23+
1524
for d in $(ls -d */); do
1625
echo "Running Test in $d..."
1726
cd $d

0 commit comments

Comments
 (0)