github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/argo-cd/templates/_helpers.tpl (about) 1 {{/* vim: set filetype=mustache: */}} 2 {{/* 3 Create controller name and version as used by the chart label. 4 Truncated at 52 chars because StatefulSet label 'controller-revision-hash' is limited 5 to 63 chars and it includes 10 chars of hash and a separating '-'. 6 */}} 7 {{- define "argo-cd.controller.fullname" -}} 8 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.controller.name | trunc 52 | trimSuffix "-" -}} 9 {{- end -}} 10 11 {{/* 12 Create the name of the controller service account to use 13 */}} 14 {{- define "argo-cd.controllerServiceAccountName" -}} 15 {{- if .Values.controller.serviceAccount.create -}} 16 {{ default (include "argo-cd.controller.fullname" .) .Values.controller.serviceAccount.name }} 17 {{- else -}} 18 {{ default "default" .Values.controller.serviceAccount.name }} 19 {{- end -}} 20 {{- end -}} 21 22 {{/* 23 Create dex name and version as used by the chart label. 24 */}} 25 {{- define "argo-cd.dex.fullname" -}} 26 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.dex.name | trunc 63 | trimSuffix "-" -}} 27 {{- end -}} 28 29 {{/* 30 Create Dex server endpoint 31 */}} 32 {{- define "argo-cd.dex.server" -}} 33 {{- $insecure := index .Values.configs.params "dexserver.disable.tls" | toString -}} 34 {{- $scheme := (eq $insecure "true") | ternary "http" "https" -}} 35 {{- $host := include "argo-cd.dex.fullname" . -}} 36 {{- $port := int .Values.dex.servicePortHttp -}} 37 {{- printf "%s://%s:%d" $scheme $host $port }} 38 {{- end }} 39 40 {{/* 41 Create the name of the dex service account to use 42 */}} 43 {{- define "argo-cd.dexServiceAccountName" -}} 44 {{- if .Values.dex.serviceAccount.create -}} 45 {{ default (include "argo-cd.dex.fullname" .) .Values.dex.serviceAccount.name }} 46 {{- else -}} 47 {{ default "default" .Values.dex.serviceAccount.name }} 48 {{- end -}} 49 {{- end -}} 50 51 {{/* 52 Create redis name and version as used by the chart label. 53 */}} 54 {{- define "argo-cd.redis.fullname" -}} 55 {{- $redisHa := (index .Values "redis-ha") -}} 56 {{- $redisHaContext := dict "Chart" (dict "Name" "redis-ha") "Release" .Release "Values" $redisHa -}} 57 {{- if $redisHa.enabled -}} 58 {{- if $redisHa.haproxy.enabled -}} 59 {{- printf "%s-haproxy" (include "redis-ha.fullname" $redisHaContext) | trunc 63 | trimSuffix "-" -}} 60 {{- end -}} 61 {{- else -}} 62 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.redis.name | trunc 63 | trimSuffix "-" -}} 63 {{- end -}} 64 {{- end -}} 65 66 {{/* 67 Return Redis server endpoint 68 */}} 69 {{- define "argo-cd.redis.server" -}} 70 {{- $redisHa := (index .Values "redis-ha") -}} 71 {{- if or (and .Values.redis.enabled (not $redisHa.enabled)) (and $redisHa.enabled $redisHa.haproxy.enabled) }} 72 {{- printf "%s:%s" (include "argo-cd.redis.fullname" .) (toString .Values.redis.servicePort) }} 73 {{- else if and .Values.externalRedis.host .Values.externalRedis.port }} 74 {{- printf "%s:%s" .Values.externalRedis.host (toString .Values.externalRedis.port) }} 75 {{- end }} 76 {{- end -}} 77 78 {{/* 79 Create the name of the redis service account to use 80 */}} 81 {{- define "argo-cd.redisServiceAccountName" -}} 82 {{- if .Values.redis.serviceAccount.create -}} 83 {{ default (include "argo-cd.redis.fullname" .) .Values.redis.serviceAccount.name }} 84 {{- else -}} 85 {{ default "default" .Values.redis.serviceAccount.name }} 86 {{- end -}} 87 {{- end -}} 88 89 {{/* 90 Create argocd server name and version as used by the chart label. 91 */}} 92 {{- define "argo-cd.server.fullname" -}} 93 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.server.name | trunc 63 | trimSuffix "-" -}} 94 {{- end -}} 95 96 {{/* 97 Create the name of the Argo CD server service account to use 98 */}} 99 {{- define "argo-cd.serverServiceAccountName" -}} 100 {{- if .Values.server.serviceAccount.create -}} 101 {{ default (include "argo-cd.server.fullname" .) .Values.server.serviceAccount.name }} 102 {{- else -}} 103 {{ default "default" .Values.server.serviceAccount.name }} 104 {{- end -}} 105 {{- end -}} 106 107 {{/* 108 Create argocd repo-server name and version as used by the chart label. 109 */}} 110 {{- define "argo-cd.repoServer.fullname" -}} 111 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.repoServer.name | trunc 63 | trimSuffix "-" -}} 112 {{- end -}} 113 114 {{/* 115 Create the name of the repo-server service account to use 116 */}} 117 {{- define "argo-cd.repoServerServiceAccountName" -}} 118 {{- if .Values.repoServer.serviceAccount.create -}} 119 {{ default (include "argo-cd.repoServer.fullname" .) .Values.repoServer.serviceAccount.name }} 120 {{- else -}} 121 {{ default "default" .Values.repoServer.serviceAccount.name }} 122 {{- end -}} 123 {{- end -}} 124 125 {{/* 126 Create argocd application set name and version as used by the chart label. 127 */}} 128 {{- define "argo-cd.applicationSet.fullname" -}} 129 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.applicationSet.name | trunc 63 | trimSuffix "-" -}} 130 {{- end -}} 131 132 {{/* 133 Create the name of the application set service account to use 134 */}} 135 {{- define "argo-cd.applicationSetServiceAccountName" -}} 136 {{- if .Values.applicationSet.serviceAccount.create -}} 137 {{ default (include "argo-cd.applicationSet.fullname" .) .Values.applicationSet.serviceAccount.name }} 138 {{- else -}} 139 {{ default "default" .Values.applicationSet.serviceAccount.name }} 140 {{- end -}} 141 {{- end -}} 142 143 {{/* 144 Create argocd notifications name and version as used by the chart label. 145 */}} 146 {{- define "argo-cd.notifications.fullname" -}} 147 {{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.notifications.name | trunc 63 | trimSuffix "-" -}} 148 {{- end -}} 149 150 {{/* 151 Create the name of the notifications service account to use 152 */}} 153 {{- define "argo-cd.notificationsServiceAccountName" -}} 154 {{- if .Values.notifications.serviceAccount.create -}} 155 {{ default (include "argo-cd.notifications.fullname" .) .Values.notifications.serviceAccount.name }} 156 {{- else -}} 157 {{ default "default" .Values.notifications.serviceAccount.name }} 158 {{- end -}} 159 {{- end -}} 160 161 {{/* 162 Argo Configuration Preset Values (Incluenced by Values configuration) 163 */}} 164 {{- define "argo-cd.config.cm.presets" -}} 165 {{- $presets := dict -}} 166 {{- if .Values.configs.styles -}} 167 {{- $_ := set $presets "ui.cssurl" "./custom/custom.styles.css" -}} 168 {{- end -}} 169 {{- toYaml $presets }} 170 {{- end -}} 171 172 {{/* 173 Merge Argo Configuration with Preset Configuration 174 */}} 175 {{- define "argo-cd.config.cm" -}} 176 {{- $config := (mergeOverwrite (deepCopy (omit .Values.configs.cm "create" "annotations")) (.Values.server.config | default dict)) -}} 177 {{- $preset := include "argo-cd.config.cm.presets" . | fromYaml | default dict -}} 178 {{- range $key, $value := mergeOverwrite $preset $config }} 179 {{- $fmted := $value | toString }} 180 {{- if not (eq $fmted "") }} 181 {{ $key }}: {{ $fmted | toYaml }} 182 {{- end }} 183 {{- end }} 184 {{- end -}} 185 186 {{/* 187 Argo Params Default Configuration Presets 188 NOTE: Configuration keys must be stored as dict because YAML treats dot as separator 189 */}} 190 {{- define "argo-cd.config.params.presets" -}} 191 {{- $presets := dict -}} 192 {{- $_ := set $presets "repo.server" (printf "%s:%s" (include "argo-cd.repoServer.fullname" .) (.Values.repoServer.service.port | toString)) -}} 193 {{- $_ := set $presets "server.repo.server.strict.tls" (.Values.repoServer.certificateSecret.enabled | toString ) -}} 194 {{- $_ := set $presets "redis.server" (include "argo-cd.redis.server" .) -}} 195 {{- if .Values.dex.enabled -}} 196 {{- $_ := set $presets "server.dex.server" (include "argo-cd.dex.server" .) -}} 197 {{- $_ := set $presets "server.dex.server.strict.tls" .Values.dex.certificateSecret.enabled -}} 198 {{- end -}} 199 {{- range $component := tuple "applicationsetcontroller" "controller" "server" "reposerver" -}} 200 {{- $_ := set $presets (printf "%s.log.format" $component) $.Values.global.logging.format -}} 201 {{- $_ := set $presets (printf "%s.log.level" $component) $.Values.global.logging.level -}} 202 {{- end -}} 203 {{- if .Values.applicationSet.enabled -}} 204 {{- $_ := set $presets "applicationsetcontroller.enable.leader.election" (gt (.Values.applicationSet.replicaCount | int64) 1) -}} 205 {{- end -}} 206 {{- toYaml $presets }} 207 {{- end -}} 208 209 {{/* 210 Merge Argo Params Configuration with Preset Configuration 211 */}} 212 {{- define "argo-cd.config.params" -}} 213 {{- $config := omit .Values.configs.params "create" "annotations" }} 214 {{- $preset := include "argo-cd.config.params.presets" . | fromYaml | default dict -}} 215 {{- range $key, $value := mergeOverwrite $preset $config }} 216 {{ $key }}: {{ toString $value | toYaml }} 217 {{- end }} 218 {{- end -}}