Skip to content

Commit 67cfd7c

Browse files
authored
Merge pull request #191 from marklogic/release/1.1.0
Release Kubernetes Helm Chart 1.1.0
2 parents dda0b59 + 11419dd commit 67cfd7c

Some content is hidden

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

48 files changed

+1898
-2265
lines changed

Jenkinsfile

+9-21
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import groovy.json.JsonSlurperClassic
88
99
gitCredID = 'marklogic-builder-github'
1010
JIRA_ID = ''
11-
JIRA_ID_PATTERN = /(?i)(CLD|DEVO|QAINF|BUG|DBI)-\d{3,4}/
11+
JIRA_ID_PATTERN = /(?i)(MLE)-\d{3,6}/
1212
LINT_OUTPUT = ''
1313
SCAN_OUTPUT = ''
1414
IMAGE_INFO = 0
@@ -35,6 +35,9 @@ void preBuildCheck() {
3535
sh 'exit 1'
3636
}
3737
}
38+
39+
// our VMs sometime disable bridge traffic. this should help to restore it.
40+
sh 'sudo sh -c "echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables"'
3841
}
3942

4043
@NonCPS
@@ -130,17 +133,6 @@ void publishTestResults() {
130133
archiveArtifacts artifacts: '**/test/test_results/*.xml', allowEmptyArchive: true
131134
}
132135

133-
void pullImage() {
134-
withCredentials([usernamePassword(credentialsId: 'builder-credentials-artifactory', passwordVariable: 'docker_password', usernameVariable: 'docker_user')]) {
135-
sh """
136-
echo "\$docker_password" | docker login --username \$docker_user --password-stdin ${dockerRegistry}
137-
docker pull ${dockerRepository}:${dockerVersion}
138-
docker pull ${dockerRepository}:${dockerVersion}
139-
docker pull ${dockerRepository}:${prevDockerVersion}
140-
"""
141-
}
142-
}
143-
144136
String getVersionDiv(mlVersion) {
145137
switch (mlVersion) {
146138
case '10.0':
@@ -195,12 +187,6 @@ pipeline {
195187
}
196188
}
197189

198-
stage('Pull-Image') {
199-
steps {
200-
pullImage()
201-
}
202-
}
203-
204190
stage('Lint') {
205191
steps {
206192
lint()
@@ -213,7 +199,7 @@ pipeline {
213199
}
214200
steps {
215201
sh """
216-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; make test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true minikubeMemory=20gb
202+
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; make test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true minikubeMemory=20gb
217203
"""
218204
}
219205
}
@@ -223,7 +209,7 @@ pipeline {
223209
}
224210
steps {
225211
sh """
226-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; make hc-test dockerImage=${dockerRepository}:${dockerVersion} kubernetesVersion=${params.K8_VERSION} minikubeMemory=20gb
212+
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; make hc-test dockerImage=${dockerRepository}:${dockerVersion} kubernetesVersion=${params.K8_VERSION} minikubeMemory=20gb
227213
"""
228214
}
229215
}
@@ -233,10 +219,12 @@ pipeline {
233219
always {
234220
publishTestResults()
235221
sh '''
222+
sudo sysctl -w vm.nr_hugepages=0
223+
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; minikube delete --all --purge
236224
docker system prune --force --filter "until=720h"
237225
docker volume prune --force
238226
docker image prune --force --all
239-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; minikube delete --all --purge
227+
sudo rm -rf /space/.minikube /space/go /space/.kube-config
240228
'''
241229
sh "rm -rf $WORKSPACE/test/test_results/"
242230
}

NOTICE.txt

+95-147
Large diffs are not rendered by default.

README.md

+25-15
Large diffs are not rendered by default.

charts/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dependencies:
88
version: "1.18.0"
99
name: marklogic
1010
description: MarkLogic Server is a multi-model database that has both NoSQL and trusted enterprise data management capabilities.
11-
appVersion: "11.0.2"
11+
appVersion: "11.1.0"
1212
type: application
1313
keywords:
1414
- marklogic
@@ -17,4 +17,4 @@ keywords:
1717
sources:
1818
- https://github.com/marklogic/marklogic-kubernetes
1919
- https://www.marklogic.com/
20-
version: 1.0.2
20+
version: 1.1.0

charts/charts/haproxy/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ name: haproxy
1717
description: A Helm chart for HAProxy on Kubernetes
1818
type: application
1919
version: 1.18.0
20-
appVersion: 2.6.9
20+
appVersion: 2.9.4
2121
kubeVersion: ">=1.17.0-0"
2222
keywords:
2323
- haproxy
@@ -31,7 +31,7 @@ maintainers:
3131
engine: gotpl
3232
annotations:
3333
artifacthub.io/changes: |
34-
- Update base image to HAProxy 2.6.9
34+
- Update base image to HAProxy 2.9.4
3535
- Update HPA API version (#172)
3636
- Fix HPA spec (#173)
3737
- Ensure api version capabilities of PodDisruptionBudget (#175)

charts/templates/NOTES.txt

+10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@ Thank you for installing {{ .Chart.Name }}.
22

33
Your release is named {{ .Release.Name }}.
44

5+
{{- if eq (include "marklogic.imageType" .) "rootless" }}
6+
{{- if .Values.containerSecurityContext.allowPrivilegeEscalation }}
7+
WARNING
8+
***********************************************************************************************************
9+
Setting "containerSecurityContext.allowPrivilegeEscalation" is set to true.
10+
This is not recommended and is not a secure configuration while using rootless MarkLogic images.
11+
***********************************************************************************************************
12+
{{- end }}
13+
{{- end }}
14+
515
FQDN is {{ include "marklogic.fqdn" . }}
616
{{- if gt (len (include "marklogic.fqdn" .)) 64 }}
717
WARNING: The hostname is greater than 64 characters

charts/templates/_helpers.tpl

+25-7
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,26 @@ 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+
111+
{{/*
112+
Name to distinguish marklogic image whether root or rootless
113+
*/}}
114+
{{- define "marklogic.imageType" -}}
115+
{{- if .Values.image.tag | contains "rootless" }}
116+
{{- printf "rootless" }}
117+
{{- else }}
118+
{{- printf "root" }}
119+
{{- end }}
120+
{{- end }}
121+

charts/templates/configmap-haproxy.yaml

+9-4
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

+9
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,24 @@ 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"
1624
MARKLOGIC_JOIN_CLUSTER: "true"
1725
MARKLOGIC_GROUP: {{ .Values.group.name }}
1826
XDQP_SSL_ENABLED: {{ quote .Values.group.enableXdqpSsl }}
27+
MARKLOGIC_IMAGE_TYPE: {{ include "marklogic.imageType" . }}
1928
---
2029
{{- if .Values.logCollection.enabled }}
2130
apiVersion: v1

charts/templates/service.yaml

+1-1
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)