From 838bc7d5ed4add5712caee13796e0fcdbb1d00b9 Mon Sep 17 00:00:00 2001 From: shubhashri12 <71751815+shubhashri12@users.noreply.github.com> Date: Thu, 14 Sep 2023 19:25:20 +0530 Subject: [PATCH] feat(rel-csc-6.0.0): release csc charts 6.0.0 (#114) Co-authored-by: Shubhashri Shirode --- charts/collectorset-controller/Chart.yaml | 6 +- .../templates/_helpers.tpl | 65 +++++++++++++++++-- .../templates/configmap.yaml | 2 +- .../templates/csc-rbac.yaml | 1 + .../templates/deployment.yaml | 35 +--------- .../templates/secret.yaml | 2 + .../values.schema.json | 8 +++ charts/collectorset-controller/values.yaml | 1 + 8 files changed, 76 insertions(+), 44 deletions(-) diff --git a/charts/collectorset-controller/Chart.yaml b/charts/collectorset-controller/Chart.yaml index 8df90d0..b74f497 100644 --- a/charts/collectorset-controller/Chart.yaml +++ b/charts/collectorset-controller/Chart.yaml @@ -6,14 +6,14 @@ maintainers: - email: argus@logicmonitor.com name: LogicMonitor name: collectorset-controller -version: 5.4.0 +version: 6.0.0 home: https://logicmonitor.github.io/helm-charts -appVersion: v7.3.0 +appVersion: v8.0.0 dependencies: - name: lmutil repository: https://logicmonitor.github.io/helm-charts # repository: file://../lmutil - version: 0.1.6 + version: 0.1.9 annotations: artifacthub.io/crds: | - kind: CollectorSet diff --git a/charts/collectorset-controller/templates/_helpers.tpl b/charts/collectorset-controller/templates/_helpers.tpl index 6869659..bdb8c9a 100644 --- a/charts/collectorset-controller/templates/_helpers.tpl +++ b/charts/collectorset-controller/templates/_helpers.tpl @@ -39,11 +39,6 @@ Create the name of the service account to use {{- end }} {{- end }} - - - - - {{- define "csc-image" -}} {{- $registry := "" -}} {{- $repo := "logicmonitor" -}} @@ -62,4 +57,62 @@ Create the name of the service account to use {{- else -}} "{{ $repo }}/{{ .Values.image.name }}:{{ .Values.image.tag | default .Chart.AppVersion }}" {{- end -}} -{{- end -}} \ No newline at end of file +{{- end -}} + +{{/* +LM Credentials and Proxy Details. +The user can provide proxy details in values.yaml or by creating user defined secret. +Argus proxy takes precendence over the global proxy. We need to check if the user defined secret contains +Argus proxy details or not, for this we're using Lookup function in helm. +*/}} + +{{- define "lm-credentials-and-proxy-details" -}} +{{- $secretObj := (lookup "v1" "Secret" .Release.Namespace .Values.global.userDefinedSecret) | default dict }} +{{- $secretData := (get $secretObj "data") | default dict }} +{{- $data := dict "root" . "secretdata" $secretData }} +{{- include "lmutil.validate-user-provided-secret" $data }} +- name: ACCESS_ID + valueFrom: + secretKeyRef: + name: {{ include "lmutil.secret-name" . }} + key: accessID +- name: ACCESS_KEY + valueFrom: + secretKeyRef: + name: {{ include "lmutil.secret-name" . }} + key: accessKey +- name: ACCOUNT + valueFrom: + secretKeyRef: + name: {{ include "lmutil.secret-name" . }} + key: account +{{- if $secretData.etcdDiscoveryToken }} +- name: ETCD_DISCOVERY_TOKEN + valueFrom: + secretKeyRef: + name: {{ include "lmutil.secret-name" . }} + key: etcdDiscoveryToken +{{- end }} +{{- if or $secretData.collectorSetControllerProxyUser $secretData.proxyUser .Values.proxy.user .Values.global.proxy.user }} +- name: PROXY_USER + valueFrom: + secretKeyRef: + name: {{ include "lmutil.secret-name" . }} + {{- if $secretData.collectorSetControllerProxyUser }} + key: collectorSetControllerProxyUser + {{- else }} + key: proxyUser + {{- end }} +{{- end }} +{{- if or $secretData.collectorSetControllerProxyUser $secretData.proxyPass .Values.proxy.pass .Values.global.proxy.pass }} +- name: PROXY_PASS + valueFrom: + secretKeyRef: + name: {{ include "lmutil.secret-name" . }} + {{- if $secretData.collectorSetControllerProxyUser }} + key: collectorSetControllerProxyUser + {{- else }} + key: proxyPass + {{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/collectorset-controller/templates/configmap.yaml b/charts/collectorset-controller/templates/configmap.yaml index f3d4b60..938250a 100644 --- a/charts/collectorset-controller/templates/configmap.yaml +++ b/charts/collectorset-controller/templates/configmap.yaml @@ -24,4 +24,4 @@ data: {{- end }} ignoreSSL: {{ default false .Values.ignoreSSL }} collectorServiceAccountName: {{ include "collectorset-controller.serviceAccountName" . }}-collector - secretName: {{ include "lmutil.fullname" . }} + secretName: {{ include "lmutil.secret-name" . }} diff --git a/charts/collectorset-controller/templates/csc-rbac.yaml b/charts/collectorset-controller/templates/csc-rbac.yaml index 9f899d6..0ae9e3b 100644 --- a/charts/collectorset-controller/templates/csc-rbac.yaml +++ b/charts/collectorset-controller/templates/csc-rbac.yaml @@ -28,6 +28,7 @@ rules: - "" resources: - pods + - secrets verbs: - "*" - apiGroups: diff --git a/charts/collectorset-controller/templates/deployment.yaml b/charts/collectorset-controller/templates/deployment.yaml index 0f65b72..9c25c9e 100644 --- a/charts/collectorset-controller/templates/deployment.yaml +++ b/charts/collectorset-controller/templates/deployment.yaml @@ -81,40 +81,7 @@ spec: {{ toYaml . | nindent 12 }} {{- end}} env: - - name: ACCESS_ID - valueFrom: - secretKeyRef: - name: {{ include "lmutil.fullname" . }} - key: accessID - - name: ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ include "lmutil.fullname" . }} - key: accessKey - - name: ACCOUNT - valueFrom: - secretKeyRef: - name: {{ include "lmutil.fullname" . }} - key: account - - name: ETCD_DISCOVERY_TOKEN - valueFrom: - secretKeyRef: - name: {{ include "lmutil.fullname" . }} - key: etcdDiscoveryToken - {{- if .Values.proxy.user }} - - name: PROXY_USER - valueFrom: - secretKeyRef: - name: {{ include "lmutil.fullname" . }} - key: proxyUser - {{- end }} - {{- if .Values.proxy.pass }} - - name: PROXY_PASS - valueFrom: - secretKeyRef: - name: {{ include "lmutil.fullname" . }} - key: proxyPass - {{- end }} + {{ include "lm-credentials-and-proxy-details" . | nindent 12 }} volumeMounts: - name: etc-collectorset-controller mountPath: "/etc/collectorset-controller" diff --git a/charts/collectorset-controller/templates/secret.yaml b/charts/collectorset-controller/templates/secret.yaml index 3760d0c..02a7ac4 100644 --- a/charts/collectorset-controller/templates/secret.yaml +++ b/charts/collectorset-controller/templates/secret.yaml @@ -1,3 +1,4 @@ +{{- if not .Values.global.userDefinedSecret -}} apiVersion: v1 kind: Secret metadata: @@ -25,3 +26,4 @@ data: {{- else if .Values.global.proxy.pass }} proxyPass: {{ default "" .Values.global.proxy.pass | b64enc }} {{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/collectorset-controller/values.schema.json b/charts/collectorset-controller/values.schema.json index 8626f75..588cba8 100644 --- a/charts/collectorset-controller/values.schema.json +++ b/charts/collectorset-controller/values.schema.json @@ -43,6 +43,7 @@ "accessKey": "", "account": "", "collectorsetServiceNameSuffix": "", + "userDefinedSecret": "", "proxy": { "url": "", "user": "", @@ -582,6 +583,13 @@ "type": "string", "default": "", "description": "Suffix to be added to .Release.name to generate Collectorset controller service name.\nKeep it empty while installing this chart individually, umbrella chart uses this to generate unique name across" + }, + "userDefinedSecret": { + "$id": "#/properties/global/properties/userDefinedSecret", + "$comment": "tf:optional", + "type": "string", + "default": "", + "description": "User can provide LM credentials in a Secret instead of plain text. The secret should contain 'accessID', 'accessKey', 'account' along with optional params e.g. 'etcdDiscoveryToken', proxy credentials" } } }, diff --git a/charts/collectorset-controller/values.yaml b/charts/collectorset-controller/values.yaml index cffc301..59313ea 100644 --- a/charts/collectorset-controller/values.yaml +++ b/charts/collectorset-controller/values.yaml @@ -60,6 +60,7 @@ global: registry: "" repository: "" pullPolicy: Always + userDefinedSecret: "" imagePullSecrets: [] podSecurityContext: {}