Skip to content

Commit 4954479

Browse files
authored
Merge pull request #160 from marklogic/feature/CLD-747-https
Support HTTPs in Helm Chart Related stories: CLD-747: HTTPs for Kubernetes Chart CLD-874: Error Handling CLD-873: Refactoring CLD-871: K8s HTTPS template and e2e automated tests
2 parents aa6b1b9 + 54e3264 commit 4954479

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1293
-1771
lines changed

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import groovy.json.JsonSlurperClassic
77

88
9-
gitCredID = 'marklogic-builder'
9+
gitCredID = 'marklogic-builder-github'
1010
JIRA_ID = ''
1111
JIRA_ID_PATTERN = /(?i)(CLD|DEVO|QAINF|BUG|DBI)-\d{3,4}/
1212
LINT_OUTPUT = ''

charts/templates/_helpers.tpl

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,13 @@ Expand the name of the chart.
88
{{/*
99
Create a default fully qualified app name.
1010
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11-
If release name contains chart name it will be used as a full name.
11+
The release name will be used as full name
1212
*/}}
1313
{{- define "marklogic.fullname" -}}
1414
{{- if .Values.fullnameOverride }}
1515
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
1616
{{- else }}
17-
{{- $name := default .Chart.Name .Values.nameOverride }}
18-
{{- if contains $name .Release.Name }}
1917
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
20-
{{- else }}
21-
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22-
{{- end }}
2318
{{- end }}
2419
{{- end }}
2520

@@ -34,7 +29,7 @@ Create chart name and version as used by the chart label.
3429
Create headless service name for statefulset
3530
*/}}
3631
{{- define "marklogic.headlessServiceName" -}}
37-
{{- printf "%s-headless" (include "marklogic.fullname" .) }}
32+
{{- include "marklogic.fullname" . }}
3833
{{- end}}
3934

4035

@@ -101,3 +96,15 @@ Fully qualified domain name
10196
{{- define "marklogic.fqdn" -}}
10297
{{- printf "%s-0.%s.%s.svc.%s" (include "marklogic.fullname" .) (include "marklogic.headlessServiceName" .) .Release.Namespace .Values.clusterDomain }}
10398
{{- end}}
99+
100+
{{/*
101+
Validate values file
102+
*/}}
103+
{{- define "marklogic.checkInputError" -}}
104+
{{- $fqdn := include "marklogic.fqdn" . }}
105+
{{- if gt (len $fqdn) 64}}
106+
{{- $errorMessage := printf "%s%s%s" "The FQDN: " $fqdn " is longer than 64. Please use a shorter release name and try again." }}
107+
{{- fail $errorMessage }}
108+
{{- end }}
109+
{{- end }}
110+

charts/templates/configmap-haproxy.yaml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
{{- $releaseName := include "marklogic.fullname" . }}
44
{{- $namespace := .Release.Namespace }}
55
{{- $clusterDomain := .Values.clusterDomain }}
6-
{{- $tlsEnabled := .Values.haproxy.tls.enabled }}
6+
{{- $haproxyTlsEnabled := .Values.haproxy.tls.enabled }}
7+
{{- $appServerTlsEnabled := .Values.tls.enableOnDefaultAppServers -}}
78
{{- $certFileName := .Values.haproxy.tls.certFileName }}
89

910
apiVersion: v1
@@ -79,13 +80,13 @@ data:
7980
mode tcp
8081
balance leastconn
8182
{{- range $i := until $replicas }}
82-
server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}-headless.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} check resolvers dns init-addr none
83+
server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} check resolvers dns init-addr none
8384
{{- end }}
8485
{{- else if eq $portType "HTTP" }}
8586
8687
frontend marklogic-{{$portNumber}}
8788
mode http
88-
{{- if $tlsEnabled }}
89+
{{- if $haproxyTlsEnabled }}
8990
bind :{{ $portNumber }} ssl crt /usr/local/etc/ssl/{{ $certFileName }}
9091
{{- else }}
9192
bind :{{ $portNumber }}
@@ -105,7 +106,11 @@ data:
105106
stick match req.cook(SessionId)
106107
default-server check
107108
{{- range $i := until $replicas }}
108-
server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}-headless.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} resolvers dns init-addr none cookie {{ $releaseName }}-{{ $portNumber }}-{{ $i }}
109+
{{- if $appServerTlsEnabled }}
110+
server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} resolvers dns init-addr none cookie {{ $releaseName }}-{{ $portNumber }}-{{ $i }} ssl verify none
111+
{{- else }}
112+
server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} resolvers dns init-addr none cookie {{ $releaseName }}-{{ $portNumber }}-{{ $i }}
113+
{{- end }}
109114
{{- end }}
110115
{{- end }}
111116
{{- end }}

charts/templates/configmap.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,17 @@ metadata:
77
{{- include "marklogic.labels" . | nindent 4 }}
88
data:
99
{{- if ne .Values.bootstrapHostName "" }}
10+
MARKLOGIC_CLUSTER_TYPE: "non-bootstrap"
1011
MARKLOGIC_BOOTSTRAP_HOST: {{ .Values.bootstrapHostName }}
1112
{{- else }}
13+
MARKLOGIC_CLUSTER_TYPE: "bootstrap"
1214
MARKLOGIC_BOOTSTRAP_HOST: {{ include "marklogic.fqdn" . }}
15+
{{- end }}
16+
{{- if .Values.tls.enableOnDefaultAppServers }}
17+
MARKLOGIC_JOIN_TLS_ENABLED: "true"
18+
MARKLOGIC_JOIN_CACERT_FILE: "marklogic-certs/cacert.pem"
19+
{{- else }}
20+
MARKLOGIC_JOIN_TLS_ENABLED: "false"
1321
{{- end }}
1422
MARKLOGIC_FQDN_SUFFIX: {{ include "marklogic.headlessURL" . }}
1523
MARKLOGIC_INIT: "true"

charts/templates/service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: {{ include "marklogic.fullname" . }}
4+
name: {{ include "marklogic.fullname" . }}-cluster
55
namespace: {{ .Values.namespace}}
66
labels:
77
{{- include "marklogic.labels" . | nindent 4 }}

0 commit comments

Comments
 (0)