3
3
version : " 3"
4
4
5
5
vars :
6
- # renovate: datasource=github-releases depName=prometheus-operator/prometheus-operator
7
- PROMETHEUS_OPERATOR_VERSION : v0.73.2
8
6
CLUSTER_SECRET_SOPS_FILE : " {{.KUBERNETES_DIR}}/flux/vars/cluster-secrets.sops.yaml"
9
7
CLUSTER_SETTINGS_FILE : " {{.KUBERNETES_DIR}}/flux/vars/cluster-settings.yaml"
10
8
GITHUB_DEPLOY_KEY_FILE : " {{.KUBERNETES_DIR}}/bootstrap/flux/github-deploy-key.sops.yaml"
@@ -14,22 +12,19 @@ tasks:
14
12
desc : Verify flux meets the prerequisites
15
13
cmd : flux check --pre
16
14
17
- install :
15
+ bootstrap :
18
16
desc : Bootstrap Flux into a Kubernetes cluster
19
17
cmds :
20
- - kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/{{.PROMETHEUS_OPERATOR_VERSION}}/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
21
- - kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/{{.PROMETHEUS_OPERATOR_VERSION}}/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
22
- - kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/{{.PROMETHEUS_OPERATOR_VERSION}}/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
23
- - kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/{{.PROMETHEUS_OPERATOR_VERSION}}/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
24
18
- kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --kustomize {{.KUBERNETES_DIR}}/bootstrap/flux
25
19
- cat {{.AGE_FILE}} | kubectl -n flux-system create secret generic sops-age --from-file=age.agekey=/dev/stdin
26
20
- sops --decrypt {{.CLUSTER_SECRET_SOPS_FILE}} | kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename -
27
21
- kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename {{.CLUSTER_SETTINGS_FILE}}
28
22
- kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --kustomize {{.KUBERNETES_DIR}}/flux/config
29
- - task : github-deploy-key
30
23
preconditions :
31
- - { msg: "Missing kubeconfig", sh: "test -f {{.KUBECONFIG_FILE}}" }
32
- - { msg: "Missing Sops Age key file", sh: "test -f {{.AGE_FILE}}" }
24
+ - msg : Missing kubeconfig
25
+ sh : test -f {{.KUBECONFIG_FILE}}
26
+ - msg : Missing Sops Age key file
27
+ sh : test -f {{.AGE_FILE}}
33
28
34
29
apply :
35
30
desc : Apply a Flux Kustomization resource for a cluster
@@ -53,14 +48,29 @@ tasks:
53
48
ks :
54
49
sh : flux --kubeconfig {{.KUBECONFIG_FILE}} --namespace {{.ns}} get kustomizations $(basename {{.path}}) 2>&1
55
50
preconditions :
56
- - { msg: "Missing kubeconfig", sh: "test -f {{.KUBECONFIG_FILE}}" }
57
- - { msg: "Missing Flux Kustomization for app {{.path}}", sh: "test -f {{.KUBERNETES_DIR}}/apps/{{.path}}/ks.yaml" }
51
+ - msg : Missing kubeconfig
52
+ sh : test -f {{.KUBECONFIG_FILE}}
53
+ - msg : Missing Flux Kustomization for app {{.path}}
54
+ sh : test -f {{.KUBERNETES_DIR}}/apps/{{.path}}/ks.yaml
58
55
59
56
reconcile :
60
57
desc : Force update Flux to pull in changes from your Git repository
61
58
cmd : flux --kubeconfig {{.KUBECONFIG_FILE}} reconcile --namespace flux-system kustomization cluster --with-source
62
59
preconditions :
63
- - { msg: "Missing kubeconfig", sh: "test -f {{.KUBECONFIG_FILE}}" }
60
+ - msg : Missing kubeconfig
61
+ sh : test -f {{.KUBECONFIG_FILE}}
62
+
63
+ github-deploy-key :
64
+ cmds :
65
+ - kubectl create namespace flux-system --dry-run=client -o yaml | kubectl --kubeconfig {{.KUBECONFIG_FILE}} apply --filename -
66
+ - sops --decrypt {{.GITHUB_DEPLOY_KEY_FILE}} | kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename -
67
+ preconditions :
68
+ - msg : Missing kubeconfig
69
+ sh : test -f {{.KUBECONFIG_FILE}}
70
+ - msg : Missing Sops Age key file
71
+ sh : test -f {{.AGE_FILE}}
72
+ - msg : Missing Github deploy key file
73
+ sh : test -f {{.GITHUB_DEPLOY_KEY_FILE}}
64
74
65
75
redo :
66
76
desc : Force reset drift in HelmRelease
@@ -75,15 +85,6 @@ tasks:
75
85
- kubectl get hr --all-namespaces | grep False | awk '{print $2, $1}' | gxargs -l bash -c 'flux suspend hr $0 -n $1'
76
86
- kubectl get hr --all-namespaces | grep False | awk '{print $2, $1}' | gxargs -l bash -c 'flux resume hr $0 -n $1'
77
87
78
- github-deploy-key :
79
- cmds :
80
- - kubectl create namespace flux-system --dry-run=client -o yaml | kubectl --kubeconfig {{.KUBECONFIG_FILE}} apply --filename -
81
- - sops --decrypt {{.GITHUB_DEPLOY_KEY_FILE}} | kubectl apply --kubeconfig {{.KUBECONFIG_FILE}} --server-side --filename -
82
- preconditions :
83
- - { msg: "Missing kubeconfig", sh: "test -f {{.KUBECONFIG_FILE}}" }
84
- - { msg: "Missing Sops Age key file", sh: "test -f {{.AGE_FILE}}" }
85
- - { msg: "Missing Github deploy key file", sh: "test -f {{.GITHUB_DEPLOY_KEY_FILE}}" }
86
-
87
88
delete-tunnel :
88
89
desc : |
89
90
Force delete cloudflared tunnel release to stop external ingress
0 commit comments