Skip to content

Commit 6f18d52

Browse files
feat(cf-common): adding helper to calculate classic mongoUri conn string (#25)
1 parent a06c1c6 commit 6f18d52

30 files changed

+209
-178
lines changed

charts/cf-common-test/tests/deployment/classic_conn_uri_test.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,20 @@ tests:
4646
content:
4747
name: RABBIT_URL
4848
value: "amqp://user:pass@cf-rabbitmq"
49+
50+
- it: Test External MongoDB connection Uri
51+
values:
52+
- values.yaml
53+
set:
54+
global:
55+
mongoURI: mongodb+srv://username:[email protected]:27017/?tls=true&tlsInsecure=true
56+
pipelineManagerService: pipeline-manager
57+
container:
58+
env:
59+
MONGO_URI: '{{ include (printf "cf-common-%s.classic.calculateMongoUri" (index .Subcharts "cf-common").Chart.Version) (dict "dbName" $.Values.global.pipelineManagerService "mongoURI" $.Values.global.mongoURI) }}'
60+
asserts:
61+
- contains:
62+
path: spec.template.spec.containers[0].env
63+
content:
64+
name: MONGO_URI
65+
value: "mongodb+srv://username:[email protected]:27017/pipeline-manager?tls=true&tlsInsecure=true"

charts/cf-common/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
appVersion: v0.0.0
33
description: Codefresh library chart
44
name: cf-common
5-
version: 0.1.0
5+
version: 0.1.1
66
type: library
77
keywords:
88
- codefresh

charts/cf-common/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Codefresh library chart
44

5-
![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) ![AppVersion: v0.0.0](https://img.shields.io/badge/AppVersion-v0.0.0-informational?style=flat-square)
5+
![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) ![AppVersion: v0.0.0](https://img.shields.io/badge/AppVersion-v0.0.0-informational?style=flat-square)
66

77
## Installing the Chart
88

@@ -18,7 +18,7 @@ Include this chart as a dependency in your `Chart.yaml` e.g.
1818
# Chart.yaml
1919
dependencies:
2020
- name: cf-common
21-
version: 0.1.0
21+
version: 0.1.1
2222
repository: https://chartmuseum.codefresh.io/cf-common
2323
```
2424

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{{/*
2-
Calculate RabbitMQ URI
2+
Calculate RabbitMQ URI (for On-Prem)
33
Usage
4-
{{ include "cf-common-0.1.0.classic.calculateRabbitMqUri" . }}
4+
{{ include "cf-common-0.1.1.classic.calculateRabbitMqUri" . }}
55
*/}}
66

7-
{{- define "cf-common-0.1.0.classic.calculateRabbitMqUri" }}
7+
{{- define "cf-common-0.1.1.classic.calculateRabbitMqUri" }}
88

9-
{{- $rabbitmqProtocol := $.Values.global.rabbitmqProtocol | default "amqp" -}}
9+
{{- $rabbitmqProtocol := .Values.global.rabbitmqProtocol | default "amqp" -}}
1010
{{- $rabbitmqUsername := .Values.global.rabbitmqUsername -}}
1111
{{- $rabbitmqPassword := .Values.global.rabbitmqPassword -}}
1212

1313
{{- /*
1414
If built-in bitnami/rabbitmq chart enabled get username/password there
1515
*/}}
16-
{{- if $.Values.rabbitmq }}
17-
{{- if $.Values.rabbitmq.enabled }}
16+
{{- if .Values.rabbitmq }}
17+
{{- if .Values.rabbitmq.enabled }}
1818
{{- $rabbitmqUsername = .Values.rabbitmq.auth.username -}}
1919
{{- $rabbitmqPassword = .Values.rabbitmq.auth.password -}}
2020
{{- end }}
@@ -28,3 +28,17 @@ coalesce here for backward compatibility
2828
{{- printf "%s://%s:%s@%s" $rabbitmqProtocol $rabbitmqUsername $rabbitmqPassword $rabbitmqHostname -}}
2929

3030
{{- end }}
31+
32+
{{/*
33+
Calculate Mongo Uri (for On-Prem)
34+
Usage:
35+
{{ include "cf.common-0.1.1.classic.calculateMongoUri" (dict "dbName" $.Values.global.pipelineManagerService "mongoURI" $.Values.global.mongoURI) }}
36+
*/}}
37+
{{- define "cf-common-0.1.1.classic.calculateMongoUri" -}}
38+
{{- if contains "?" .mongoURI -}}
39+
{{- $mongoURI := (splitList "?" .mongoURI) -}}
40+
{{- printf "%s%s?%s" (first $mongoURI) .dbName (last $mongoURI) }}
41+
{{- else -}}
42+
{{- printf "%s/%s" .mongoURI .dbName -}}
43+
{{- end -}}
44+
{{- end -}}

charts/cf-common/templates/common/_annotations.tpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
Render checksum annotation
33
Usage:
44
*/}}
5-
{{- define "cf-common-0.1.0.annotations.podAnnotations" -}}
5+
{{- define "cf-common-0.1.1.annotations.podAnnotations" -}}
66

77
{{- if .Values.podAnnotations -}}
8-
{{- include "cf-common-0.1.0.tplrender" (dict "Values" .Values.podAnnotations "context" $) | nindent 0 }}
8+
{{- include "cf-common-0.1.1.tplrender" (dict "Values" .Values.podAnnotations "context" $) | nindent 0 }}
99
{{- end -}}
1010

1111
{{- $configMapFound := dict -}}
1212
{{- range $configMapIndex, $configMapItem := .Values.configMaps -}}
1313

1414
{{- if $configMapItem.enabled -}}
15-
{{- $_ := set $configMapFound $configMapIndex ( include "cf-common-0.1.0.tplrender" (dict "Values" $configMapItem.data "context" $) | sha256sum) -}}
15+
{{- $_ := set $configMapFound $configMapIndex ( include "cf-common-0.1.1.tplrender" (dict "Values" $configMapItem.data "context" $) | sha256sum) -}}
1616
{{- end -}}
1717

1818
{{- if $configMapFound -}}
@@ -25,7 +25,7 @@ Usage:
2525
{{- range $secretIndex, $secretItem := .Values.secrets -}}
2626

2727
{{- if $secretItem.enabled -}}
28-
{{- $_ := set $secretFound $secretIndex ( include "cf-common-0.1.0.tplrender" (dict "Values" $secretItem.stringData "context" $) | sha256sum) -}}
28+
{{- $_ := set $secretFound $secretIndex ( include "cf-common-0.1.1.tplrender" (dict "Values" $secretItem.stringData "context" $) | sha256sum) -}}
2929
{{- end -}}
3030

3131
{{- if $secretFound -}}

charts/cf-common/templates/common/_labels.tpl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
{{/*
22
Kubernetes standard labels
33
*/}}
4-
{{- define "cf-common-0.1.0.labels.standard" -}}
5-
app.kubernetes.io/name: {{ include "cf-common-0.1.0.names.name" . }}
6-
helm.sh/chart: {{ include "cf-common-0.1.0.names.chart" . }}
4+
{{- define "cf-common-0.1.1.labels.standard" -}}
5+
app.kubernetes.io/name: {{ include "cf-common-0.1.1.names.name" . }}
6+
helm.sh/chart: {{ include "cf-common-0.1.1.names.chart" . }}
77
app.kubernetes.io/instance: {{ .Release.Name }}
88
app.kubernetes.io/managed-by: {{ .Release.Service }}
99
{{- end -}}
1010

1111
{{/*
1212
Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
1313
*/}}
14-
{{- define "cf-common-0.1.0.labels.matchLabels" -}}
15-
app.kubernetes.io/name: {{ include "cf-common-0.1.0.names.name" . }}
14+
{{- define "cf-common-0.1.1.labels.matchLabels" -}}
15+
app.kubernetes.io/name: {{ include "cf-common-0.1.1.names.name" . }}
1616
app.kubernetes.io/instance: {{ .Release.Name }}
1717
{{- end -}}
1818

1919

2020
{{/*
2121
Extra labels
2222
Usage:
23-
{{ include "cf-common-0.1.0.labels.extraLabels" ( dict "Values" .Values.path.to.the.labels "context" $) }}
23+
{{ include "cf-common-0.1.1.labels.extraLabels" ( dict "Values" .Values.path.to.the.labels "context" $) }}
2424
*/}}
25-
{{- define "cf-common-0.1.0.labels.extraLabels" -}}
25+
{{- define "cf-common-0.1.1.labels.extraLabels" -}}
2626
{{- if not (kindIs "map" .Values) -}}
2727
{{- fail "ERROR: labels block must be a map" -}}
2828
{{- end -}}
@@ -34,9 +34,9 @@ Usage:
3434
{{/*
3535
Annotations
3636
Usage:
37-
{{ include "cf-common-0.1.0.annotations" ( dict "Values" .Values.path.to.the.annotations "context" $) }}
37+
{{ include "cf-common-0.1.1.annotations" ( dict "Values" .Values.path.to.the.annotations "context" $) }}
3838
*/}}
39-
{{- define "cf-common-0.1.0.annotations" -}}
39+
{{- define "cf-common-0.1.1.annotations" -}}
4040
{{- if not (kindIs "map" .Values) -}}
4141
{{- fail "ERROR: annotations block must be a map" -}}
4242
{{- end -}}

charts/cf-common/templates/common/_names.tpl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{{/*
22
Expand the name of the chart.
33
*/}}
4-
{{- define "cf-common-0.1.0.names.name" -}}
4+
{{- define "cf-common-0.1.1.names.name" -}}
55
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
66
{{- end -}}
77

88
{{/*
99
Create chart name and version as used by the chart label.
1010
*/}}
11-
{{- define "cf-common-0.1.0.names.chart" -}}
11+
{{- define "cf-common-0.1.1.names.chart" -}}
1212
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
1313
{{- end -}}
1414

@@ -17,7 +17,7 @@ Create a default fully qualified app name.
1717
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
1818
If release name contains chart name it will be used as a full name.
1919
*/}}
20-
{{- define "cf-common-0.1.0.names.fullname" -}}
20+
{{- define "cf-common-0.1.1.names.fullname" -}}
2121
{{- if .Values.fullnameOverride -}}
2222
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
2323
{{- else -}}
@@ -33,10 +33,10 @@ If release name contains chart name it will be used as a full name.
3333
{{/*
3434
ServiceAccount Name
3535
*/}}
36-
{{- define "cf-common-0.1.0.names.serviceAccountName" -}}
36+
{{- define "cf-common-0.1.1.names.serviceAccountName" -}}
3737
{{- if .Values.serviceAccount -}}
3838
{{- if .Values.serviceAccount.enabled -}}
39-
{{- .Values.serviceAccount.nameOverride | default (include "cf-common-0.1.0.names.fullname" .) -}}
39+
{{- .Values.serviceAccount.nameOverride | default (include "cf-common-0.1.1.names.fullname" .) -}}
4040
{{- else -}}
4141
{{- print "default" -}}
4242
{{- end -}}

charts/cf-common/templates/common/_tpl.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{{/*
22
Renders a value that contains template.
33
Usage:
4-
{{ include "cf-common-0.1.0.tplrender" ( dict "Values" .Values.path.to.the.Value "context" $) }}
4+
{{ include "cf-common-0.1.1.tplrender" ( dict "Values" .Values.path.to.the.Value "context" $) }}
55
*/}}
6-
{{- define "cf-common-0.1.0.tplrender" -}}
6+
{{- define "cf-common-0.1.1.tplrender" -}}
77
{{- $tpl := .Values -}}
88
{{- if not (typeIs "string" $tpl) -}}
99
{{- $tpl = toYaml $tpl -}}

charts/cf-common/templates/container/_container.tpl

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{{/*
22
Renders main container in pod template
33
Usage:
4-
{{ include "cf-common-0.1.0.container" (dict "Values" .Values.container "context" $) }}
4+
{{ include "cf-common-0.1.1.container" (dict "Values" .Values.container "context" $) }}
55
*/}}
6-
{{- define "cf-common-0.1.0.container" -}}
6+
{{- define "cf-common-0.1.1.container" -}}
77

88
{{/* Restoring root $ context */}}
99
{{- $ := .context -}}
1010

11-
- name: {{ include "cf-common-0.1.0.names.fullname" $ }}
12-
image: {{ include "cf-common-0.1.0.image.name" (dict "image" .Values.image "context" $) }}
11+
- name: {{ include "cf-common-0.1.1.names.fullname" $ }}
12+
image: {{ include "cf-common-0.1.1.image.name" (dict "image" .Values.image "context" $) }}
1313
imagePullPolicy: {{ .Values.image.pullPolicy | default "Always" }}
1414

1515
{{- with .Values.command }}
1616
{{- if not (kindIs "slice" .) }}
1717
{{- fail "ERROR: container.command block must be a list!" }}
1818
{{- end }}
19-
command: {{- include "cf-common-0.1.0.tplrender" (dict "Values" . "context" $) | nindent 2 }}
19+
command: {{- include "cf-common-0.1.1.tplrender" (dict "Values" . "context" $) | nindent 2 }}
2020
{{- end }}
2121

2222
{{- with .Values.args }}
@@ -46,11 +46,11 @@ Usage:
4646
{{- if not (kindIs "slice" .) }}
4747
{{ fail "ERROR: container.envFrom block must be a list!"}}
4848
{{- end }}
49-
{{- include "cf-common-0.1.0.tplrender" (dict "Values" . "context" $) | trim | nindent 4 }}
49+
{{- include "cf-common-0.1.1.tplrender" (dict "Values" . "context" $) | trim | nindent 4 }}
5050
{{- end }}
5151
{{- range $secretName, $_ := $.Values.secrets }}
5252
- secretRef:
53-
name: {{ printf "%s-%s" (include "cf-common-0.1.0.names.fullname" $) $secretName }}
53+
name: {{ printf "%s-%s" (include "cf-common-0.1.1.names.fullname" $) $secretName }}
5454
{{- end }}
5555
{{- end }}
5656

@@ -66,18 +66,18 @@ For backward compatibility (.Values.env takes precedence over .Values.container.
6666
{{- $mergedEnv = merge $mergedEnv $.Values.global.env }}
6767
{{- end }}
6868
env:
69-
{{- include "cf-common-0.1.0.env-vars" (dict "Values" $mergedEnv "context" $) | trim | nindent 2 }}
69+
{{- include "cf-common-0.1.1.env-vars" (dict "Values" $mergedEnv "context" $) | trim | nindent 2 }}
7070
{{- end }}
7171

72-
ports: {{- include "cf-common-0.1.0.ports" $ | trim | nindent 2 }}
72+
ports: {{- include "cf-common-0.1.1.ports" $ | trim | nindent 2 }}
7373

7474
{{- with .Values.volumeMounts }}
7575
volumeMounts:
76-
{{- include "cf-common-0.1.0.volumeMounts" (dict "Values" . "context" $) | trim | nindent 2 }}
76+
{{- include "cf-common-0.1.1.volumeMounts" (dict "Values" . "context" $) | trim | nindent 2 }}
7777
{{- end }}
7878

7979
{{- with .Values.probes }}
80-
{{- include "cf-common-0.1.0.probes" . | trim | nindent 2 }}
80+
{{- include "cf-common-0.1.1.probes" . | trim | nindent 2 }}
8181
{{- end }}
8282

8383
{{- with .Values.resources }}

charts/cf-common/templates/container/_env_vars.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ Create environment variables from the following structure:
88
secretKeyRef/configMapKeyRef/fieldRef
99
Accepts: env Dict
1010
*/}}
11-
{{- define "cf-common-0.1.0.env-vars"}}
11+
{{- define "cf-common-0.1.1.env-vars"}}
1212
{{- $ := .context }}
1313
{{- if .Values }}
1414
{{- if not (kindIs "map" .Values) }}
1515
{{ fail "ERROR: env block must be a map"}}
1616
{{- end }}
1717
{{- end }}
1818
{{- $env := .Values }}
19-
{{- $templatedEnv := include "cf-common-0.1.0.tplrender" (dict "Values" $env "context" $) | fromYaml }}
19+
{{- $templatedEnv := include "cf-common-0.1.1.tplrender" (dict "Values" $env "context" $) | fromYaml }}
2020
{{- range $name, $val := $templatedEnv }}
2121
{{- if or (kindIs "string" $val) (kindIs "bool" $val) (kindIs "int" $val) (kindIs "float64" $val) }}
2222
- name: {{ $name }}

0 commit comments

Comments
 (0)