Skip to content

Commit e31c7f5

Browse files
committed
yaml based config
1 parent e1f7aa8 commit e31c7f5

9 files changed

Lines changed: 95 additions & 72 deletions

File tree

linux/rancher/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
jy-sql.yaml
1+
jy-sql.yaml

linux/rancher/questions.yml

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
questions:
2-
- variable: "mssql.conf.eula.accepteula"
2+
- variable: mssql.conf.eula.accepteula
33
label: Accept the SQL Server EULA
44
# no current support for html
55
# description: Accepts the SQL Server <a href="http://go.microsoft.com/fwlink/?LinkId=746388">EULA</a> (any value confirms acceptance).
@@ -15,7 +15,7 @@ questions:
1515
default: false
1616
group: SQL Server options
1717

18-
- variable: "mssql.pid"
18+
- variable: mssql.pid
1919
label: SQL Server Edition aka. MSSQL_PID
2020
description: Select a SQL Server Edition
2121
type: enum
@@ -31,14 +31,14 @@ questions:
3131
show_if: USE_PRODUCT_KEY=false
3232
group: SQL Server options
3333

34-
- variable: "mssql.pid"
34+
- variable: mssql.pid
3535
label: SQL Server License Key
3636
description: Enter a Product Key of the format "#####-#####-#####-#####-#####"
3737
required: true
3838
show_if: USE_PRODUCT_KEY=true
3939
group: SQL Server options
4040

41-
- variable: "mssql.sa.password"
41+
- variable: mssql.sa.password
4242
label: MSSQL SA user password
4343
description: Sets the SA user password. Password requirements @ https://docs.microsoft.com/en-us/sql/relational-databases/security/password-policy?view=sql-server-ver15#password-complexity
4444
type: password
@@ -49,7 +49,12 @@ questions:
4949
required: true
5050
group: SQL Server options
5151

52-
- variable: "mssql.conf.sqlagent.enabled"
52+
- variable: mssql.conf.lcid
53+
label: SQL Server Locale
54+
description: Sets SQL Server Locale
55+
group: SQL Server options
56+
57+
- variable: mssql.conf.sqlagent.enabled
5358
label: Enable SQL Server Agent
5459
description: Enables the SQL Server Agent
5560
type: boolean
@@ -63,43 +68,40 @@ questions:
6368
show_subquestion_if: false
6469
group: Container Image Options
6570
subquestions:
66-
- variable: image.repository
67-
default: mcr.microsoft.com/mssql/server
71+
- variable: statefulset.template.spec.containers.sqlServer.image.repository
6872
description: Image Repository
6973
label: Image Repository
70-
- variable: image.pullPolicy
71-
default: IfNotPresent
74+
- variable: statefulset.template.spec.containers.sqlServer.image.pullPolicy
7275
label: Image Pull Policy
7376
type: enum
7477
options:
7578
- IfNotPresent
7679
- Always
7780
- Never
78-
- variable: image.tag
79-
default: 2019-latest
81+
- variable: statefulset.template.spec.containers.sqlServer.image.tag
8082
label: Image Tag
8183

82-
- variable: podSecurityContext.fsGroup
84+
- variable: statefulset.template.spec.securityContext.fsGroup
8385
description: |
84-
Specifies a supplementary group id for all processes of the container.
86+
Specifies a supplementary group id for all pod processes
8587
See https://kubernetes.io/docs/tasks/configure-pod-container/security-context for
8688
additional details.
87-
label: podSecurityContext.fsGroup
88-
group: Kubernetes Pod options
89+
label: statefulset.template.spec.securityContext.fsGroup
90+
group: Kubernetes Statefulset options
8991

90-
- variable: containers.ports.containerPort
92+
- variable: statefulset.template.spec.containers.sqlServer.ports.databaseEngineContainerPort
9193
description: >
92-
Specifies containerPort for SQL Server
93-
label: SQL Server Container Port
94-
group: Kubernetes Pod Options
94+
Specifies containerPort for SQL Server Database Engine
95+
label: SQL Server Database Engine Container Port
96+
group: Kubernetes Statefulset Options
9597

96-
- variable: service.port
98+
- variable: service.spec.ports.sqlServerDatabasePort
9799
description: Kubernetes service port for SQL Server
98100
group: Kubernetes Service Options
99101
label: Kubernetes Service Port
100102
type: int
101103

102-
- variable: storageClass_provisioner
104+
- variable: storageClass.provisioner
103105
description: StorageClass provisioner for SQL Server
104106
group: Kubernetes Storage Options
105107
label: Kubernetes StorageClass Provisioner
@@ -111,11 +113,11 @@ questions:
111113
- ebs.csi.aws.com
112114
- pd.csi.storage.gke.io
113115

114-
- variable: "storageClass.type"
116+
- variable: storageClass.type
115117
description: StorageClass Type for Azure Disk CSI
116118
group: Kubernetes Storage Options
117119
label: Kubernetes StorageClass Type
118-
show_if: storageClass_provisioner="disk.csi.azure.com"
120+
show_if: storageClass_provisioner = "disk.csi.azure.com"
119121
type: enum
120122
default: Standard_LRS
121123
options:
@@ -128,7 +130,7 @@ questions:
128130
description: StorageClass Type for AWS EBS CSI
129131
group: Kubernetes Storage Options
130132
label: Kubernetes StorageClass Type
131-
show_if: storageClass_provisioner="ebs.csi.aws.com"
133+
show_if: storageClass_provisioner = "ebs.csi.aws.com"
132134
type: enum
133135
default: standard
134136
options:
@@ -140,15 +142,20 @@ questions:
140142
- st1
141143
- standard
142144

143-
- variable: "storageClass.type"
145+
- variable: storageClass.type
144146
description: StorageClass Type for GCE PD CSI
145147
group: Kubernetes Storage Options
146148
label: Kubernetes StorageClass Type
147-
show_if: storageClass_provisioner="pd.csi.storage.gke.io"
149+
show_if: storageClass.provisioner = "pd.csi.storage.gke.io"
148150
type: enum
149151
default: pd-standard
150152
options:
151153
- pd-standard
152154
- pd-balanced
153155
- pd-ssd
154156
- pd-extreme
157+
158+
- variable: storage.size
159+
description: Size for Storage Volume in Gibibytes (Gi)
160+
group: Kubernetes Storage Options
161+
label: Kubernetes Storage Size

linux/rancher/templates/configmap.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ metadata:
55
data:
66
mssql.conf: |
77
[EULA]
8-
accepteula = {{ index .Values "mssql.conf.eula.accepteula" }}
9-
accepteulaml = {{ index .Values "mssql.conf.eula.accepteulaml" }}
8+
accepteula = {{ .Values.mssql.conf.eula.accepteula }}
9+
accepteulaml = {{ .Values.mssql.conf.eula.accepteulaml }}
1010
1111
[coredump]
1212
captureminiandfull = true
@@ -16,10 +16,11 @@ data:
1616
hadrenabled = 1
1717
1818
[language]
19-
lcid = 1033
19+
lcid = {{ .Values.mssql.conf.lcid }}
2020
2121
[sqlagent]
22-
enabled = {{ index .Values "mssql.conf.sqlagent.enabled" }}
22+
enabled = {{ .Values.mssql.conf.sqlagent.enabled }}
23+
2324
2425
# control.alternatewritethrough Enable optimized write through flush for O_DSYNC requests
2526
# control.hestacksize Host extension stack size in KB

linux/rancher/templates/secret.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ metadata:
66
{{- include "sql-server-rancher.labels" . | nindent 4 }}
77
type: Opaque
88
data:
9-
mssql_sa_password : {{ index .Values "mssql.sa.password" | b64enc | quote }}
9+
mssql_sa_password : {{ .Values.mssql.sa.password | b64enc | quote }}

linux/rancher/templates/service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ metadata:
77
spec:
88
clusterIP: None
99
ports:
10-
- port: {{ .Values.service.port }}
10+
- port: {{ .Values.service.spec.ports.sqlServerDatabasePort }}
1111
targetPort: http
1212
protocol: TCP
1313
selector:

linux/rancher/templates/statefulset.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,29 @@ spec:
1212
{{- include "sql-server-rancher.selectorLabels" . | nindent 6 }}
1313
template:
1414
metadata:
15-
{{- with .Values.podAnnotations }}
15+
{{- with .Values.statefulset.template.metadata.annotations }}
1616
annotations:
1717
{{- toYaml . | nindent 8 }}
1818
{{- end }}
1919
labels:
2020
{{- include "sql-server-rancher.selectorLabels" . | nindent 8 }}
2121
spec:
2222
securityContext:
23-
{{- toYaml .Values.podSecurityContext | nindent 8 }}
23+
{{- toYaml .Values.statefulset.template.spec.securityContext | nindent 8 }}
2424
containers:
2525
- name: {{ .Chart.Name }}
2626
command:
2727
- /bin/bash
2828
- -c
2929
- /opt/mssql/bin/sqlservr
30-
image: {{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}
31-
imagePullPolicy: {{ .Values.image.pullPolicy }}
30+
image: {{ .Values.statefulset.template.spec.containers.sqlServer.image.repository }}:{{ .Values.statefulset.template.spec.containers.sqlServer.image.tag | default .Chart.AppVersion }}
31+
imagePullPolicy: {{ .Values.statefulset.template.spec.containers.sqlServer.image.pullPolicy }}
3232
ports:
33-
- containerPort: {{ .Values.containers.ports.containerPort }}
33+
- containerPort: {{ .Values.statefulset.template.spec.containers.sqlServer.ports.databaseEngineContainerPort }}
3434
env:
35-
# prefer mssql-config over env vars
35+
# prefer mssql-config ConfigMap over env vars
3636
- name: MSSQL_PID
37-
value: {{ index .Values "mssql.pid" }}
37+
value: {{ .Values.mssql.pid }}
3838
- name: MSSQL_SA_PASSWORD
3939
valueFrom:
4040
secretKeyRef:
@@ -58,5 +58,5 @@ spec:
5858
- ReadWriteOnce
5959
resources:
6060
requests:
61-
storage: 8Gi
62-
storageClassName: {{ index .Values "storageClass_provisioner" | default "default" }}
61+
storage: {{ .Values.storage.size }}Gi
62+
storageClassName: {{ .Values.storageClass.provisioner | default "default" }}
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
{{- if index .Values "storageClass_provisioner" -}}
1+
{{- if .Values.storageClass.provisioner -}}
22
kind: StorageClass
33
apiVersion: storage.k8s.io/v1
44
metadata:
5-
name: {{ index .Values "storageClass_provisioner" }}
6-
provisioner: {{ index .Values "storageClass_provisioner" }}
5+
name: {{ .Values.storageClass.provisioner }}
6+
provisioner: {{ .Values.storageClass.provisioner }}
77
reclaimPolicy: Delete
88
allowVolumeExpansion: true
99
mountOptions:
1010
- noatime
1111
parameters:
12-
{{- if eq (index .Values "storageClass_provisioner") "disk.csi.azure.com" }}
13-
storageAccountType: {{ index .Values "storageClass.type" }}
12+
{{- if eq .Values.storageClass.provisioner "disk.csi.azure.com" }}
13+
storageAccountType: {{ .Values.storageClass.type }}
1414
fsType: xfs
15-
{{- else if eq (index .Values "storageClass_provisioner") "ebs.csi.aws.com" }}
15+
{{- else if eq .Values.storageClass.provisioner "ebs.csi.aws.com" }}
1616
csi.storage.k8s.io/fstype: xfs
17-
type: {{ index .Values "storageClass.type" }}
18-
{{- else if eq (index .Values "storageClass_provisioner") "pd.csi.storage.gke.io" }}
17+
type: {{ .Values.storageClass.type }}
18+
{{- else if eq .Values.storageClass.provisioner "pd.csi.storage.gke.io" }}
1919
csi.storage.k8s.io/fstype: xfs
20-
type: {{ index .Values "storageClass.type" }}
20+
type: {{ .Values.storageClass.type }}
2121
{{- end }}
2222
{{- end -}}

linux/rancher/values.test.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# since a default SA_PASSWORD is not set, this is used for helm lint and helm debug, otherwise unused
2-
mssql.sa.password: Sfr9nxVVkbMVGTQweKmD
2+
mssql:
3+
sa:
4+
password: Sfr9nxVVkbMVGTQweKmD
35

4-
# storageClass_provisioner: disk.csi.azure.com
5-
# storageClass.type: Standard_LRS
6+
storageClass:
7+
provisioner: disk.csi.azure.com
8+
type: Standard_LRS

linux/rancher/values.yaml

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,35 @@
11
---
22

3-
mssql.pid: Developer
4-
mssql.conf.eula.accepteula: true
5-
mssql.conf.eula.accepteulaml: true
6-
mssql.conf.sqlagent.enabled: true
3+
mssql:
4+
pid: Developer
5+
conf:
6+
eula:
7+
accepteula: true
8+
accepteulaml: true
9+
lcid: 1033 # english
10+
sqlagent:
11+
enabled: true
712

8-
image:
9-
repository: mcr.microsoft.com/mssql/server
10-
pullPolicy: IfNotPresent
11-
tag: 2019-latest
12-
13-
containers:
14-
ports:
15-
containerPort: 1433
16-
17-
podAnnotations: {}
18-
19-
podSecurityContext:
20-
fsGroup: 10001
13+
statefulset:
14+
template:
15+
metadata:
16+
annotations: {}
17+
spec:
18+
containers:
19+
sqlServer:
20+
image:
21+
repository: mcr.microsoft.com/mssql/server
22+
pullPolicy: IfNotPresent
23+
tag: 2019-latest
24+
ports:
25+
databaseEngineContainerPort: 1433
26+
securityContext:
27+
fsGroup: 10001
2128

2229
service:
23-
port: 1433
30+
spec:
31+
ports:
32+
sqlServerDatabasePort: 1433
33+
34+
storage:
35+
size: 8

0 commit comments

Comments
 (0)