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 -}}