Skip to content

Commit 7912c8c

Browse files
committed
feat: configurable k8s sync
* adds resourceTypes array key that you can specify if specific types to sync, if left blank the default behavior is to sync all
1 parent d1dfedf commit 7912c8c

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

charts/ctrlc-sync/templates/cronjob.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- $validResources := list "nodes" "namespaces" "deployments" -}}
12
apiVersion: batch/v1
23
kind: CronJob
34
metadata:
@@ -65,7 +66,18 @@ spec:
6566
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
6667
imagePullPolicy: {{ .Values.image.pullPolicy }}
6768
command: ["ctrlc"]
68-
args: ["sync", "kubernetes", "--provider={{ .Values.ctrlc.provider }}", "--cluster-name={{ .Values.ctrlc.name }}"]
69+
args:
70+
- sync
71+
- kubernetes
72+
- --provider={{ .Values.ctrlc.provider }}
73+
- --cluster-name={{ .Values.ctrlc.name }}
74+
{{- range $resource := .Values.ctrlc.resourceTypes }}
75+
{{- if not (has $resource $validResources) }}
76+
{{- fail (printf "invalid ctrlc.resources entry %q. Allowed values are: %s" $resource (join ", " $validResources)) }}
77+
{{- end }}
78+
- -s
79+
- {{ . | quote }}
80+
{{- end }}
6981
env:
7082
{{- include "ctrlc-sync.envs" . | nindent 16 }}
7183
{{- with .Values.resources }}

charts/ctrlc-sync/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
ctrlc:
2+
# leave resourceTypes blank to sync all
3+
# resourceTypes:
4+
# - nodes
5+
# - deployments
6+
# - namespaces
27
target: "kubernetes"
38
provider: ""
49
# All of following values under the ctrlc config from this point

0 commit comments

Comments
 (0)