And the manifests
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
This commit is contained in:
parent
5474db66ee
commit
c8d452af53
|
@ -0,0 +1,5 @@
|
|||
apiVersion: v1
|
||||
appVersion: "4.8"
|
||||
description: A Samba Helm chart for Kubernetes
|
||||
name: samba4
|
||||
version: 0.1.2
|
|
@ -0,0 +1,36 @@
|
|||
[global]
|
||||
workgroup = {{ .Values.samba.global.workgroup }}
|
||||
server string = {{ .Values.samba.global.server_string | default "%h server (Samba, Alpine)" }}
|
||||
security = {{ .Values.samba.global.security | default "user" }}
|
||||
map to guest = {{ .Values.samba.global.map_to_guest | default "Bad User" }}
|
||||
encrypt passwords = {{ .Values.samba.global.encrypt_passwords | default "yes" }}
|
||||
load printers = no
|
||||
printing = bsd
|
||||
printcap name = /dev/null
|
||||
disable spoolss = yes
|
||||
disable netbios = yes
|
||||
server role = {{ .Values.samba.global.server_role | default "standalone" }}
|
||||
server services = -dns, -nbt
|
||||
smb ports = {{ .Values.samba.global.smb_ports | default "445" }}
|
||||
log level = {{ .Values.samba.global.log_level | default "3" }}
|
||||
{{- range .Values.samba.global.extraLines }}
|
||||
{{ .key }} = {{ .value }}
|
||||
{{- end }}
|
||||
|
||||
[{{ .Values.samba.share.nameOverride | default "data" }}]
|
||||
path = /data
|
||||
comment = {{ .Values.samba.share.comment | default "ZFS" }}
|
||||
browseable = {{ .Values.samba.share.browseable | default "yes" }}
|
||||
writable = {{ .Values.samba.share.writable | default "yes" }}
|
||||
{{- range .Values.samba.share.extraLines }}
|
||||
{{ .key }} = {{ .value }}
|
||||
{{- end }}
|
||||
|
||||
{{ range .Values.persistence.extraPVCShares }}
|
||||
[{{ .name }}]
|
||||
path = /extras/{{ .name }}
|
||||
comment = {{ .comment | default "ZFS" }}
|
||||
browseable = {{ .browseable | default "yes" }}
|
||||
writable = {{ .writable | default "yes" }}
|
||||
{{- end }}
|
||||
;EOF way past actual end of file
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/sh
|
||||
#passwd files need to be stored on the persistent storage
|
||||
if [ ! -f /privatepersist/etc/passwd ]; then
|
||||
mkdir -p /privatepersist/etc
|
||||
cp /etc/passwd /privatepersist/etc/passwd
|
||||
fi
|
||||
rm -f /etc/passwd
|
||||
ln -s /privatepersist/etc/passwd /etc/passwd
|
||||
#tdb files need to be stored on the persistent storage
|
||||
if [ ! -f /privatepersist/varlibsamba/private/passdb.tdb ]; then
|
||||
mkdir /privatepersist/varlibsamba
|
||||
tar c -C /var/lib/samba . | tar x -C /privatepersist/varlibsamba
|
||||
fi
|
||||
rm -rf /var/lib/samba
|
||||
ln -s /privatepersist/varlibsamba /var/lib/samba
|
||||
#create required users
|
||||
if ! md5sum -c /privatepersist/k8s-users-checksum > /dev/null 2>&1; then
|
||||
rm /var/lib/samba/private/passdb.tdb
|
||||
if [ -s /secrets/create-users ]; then
|
||||
for line in $(cat /secrets/create-users); do
|
||||
USER=$(echo $line | cut -f1 -d:)
|
||||
PASS=$(echo $line | cut -f2 -d:)
|
||||
adduser -s /sbin/nologin -h /home/samba -H -D $USER
|
||||
yes "$PASS" | smbpasswd -a $USER
|
||||
done
|
||||
fi
|
||||
md5sum /secrets/create-users > /privatepersist/k8s-users-checksum
|
||||
fi
|
||||
# bug where smbd stops on "end of input"
|
||||
ionice -c 3 smbd --foreground --log-stdout < /dev/null
|
|
@ -0,0 +1,25 @@
|
|||
1. Get the application URL by running these commands:
|
||||
{{- if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "samba4.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo smb://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "samba4.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "samba4.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo smb://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "samba4.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "You will need to ensure samba is not running locally, then you can use smb://127.0.0.1/"
|
||||
kubectl port-forward $POD_NAME 445:445
|
||||
|
||||
You can also access the service inside the cluster directly with smb://{{ include "samba4.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
|
||||
{{- end }}
|
||||
|
||||
{{ if not .Values.samba.users }}
|
||||
You have not specified any users to be created, so you will need to create them by hand. Execute the following command and then inside it, the next two :
|
||||
|
||||
kubectl exec -it $POD_NAME sh
|
||||
$ adduser -s /sbin/nologin -h /home/samba -H -D {username}
|
||||
$ smbpasswd -a {username}
|
||||
{{- end }}
|
|
@ -0,0 +1,38 @@
|
|||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "samba4.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "samba4.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "samba4.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "userstocreate" -}}
|
||||
{{- range .Values.samba.users }}
|
||||
{{ .username }}:{{ .password }}
|
||||
{{ end -}}
|
||||
{{- end -}}
|
|
@ -0,0 +1,14 @@
|
|||
{{ if .Values.image.lacksK8sScript -}}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "samba4.fullname" . }}-packagescripts
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
helm.sh/chart: {{ include "samba4.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
data:
|
||||
k8s.sh: |-
|
||||
{{ tpl (.Files.Get "scripts/k8s.sh") . | indent 6 }}
|
||||
{{ end -}}
|
|
@ -0,0 +1,12 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "samba4.fullname" . }}-smbconf
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
helm.sh/chart: {{ include "samba4.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
data:
|
||||
smb.conf: |-
|
||||
{{ tpl (.Files.Get "conf/smb.conf") . | indent 6 }}
|
|
@ -0,0 +1,176 @@
|
|||
{{ $smbconfchecksum := tpl (.Files.Get "conf/smb.conf") . | sha256sum -}}
|
||||
{{ $userschecksum := include "userstocreate" . | sha256sum -}}
|
||||
{{ $scriptchecksum := tpl (.Files.Get "scripts/k8s.sh") . | sha256sum -}}
|
||||
{{ $fullName := include "samba4.fullname" . }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
helm.sh/chart: {{ include "samba4.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
annotations:
|
||||
checksum/smbconf: {{ $smbconfchecksum }}
|
||||
checksum/users: {{ $userschecksum }}
|
||||
{{ if .Values.image.lacksK8sScript -}}
|
||||
checksum/script: {{ $scriptchecksum }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
annotations:
|
||||
checksum/smbconf: {{ $smbconfchecksum }}
|
||||
checksum/users: {{ $userschecksum }}
|
||||
{{- if .Values.image.lacksK8sScript }}
|
||||
checksum/script: {{ $scriptchecksum }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.podSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- cd /scripts ; sh ./k8s.sh
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
ports:
|
||||
- name: cifs
|
||||
containerPort: 445
|
||||
protocol: TCP
|
||||
{{- if .Values.livenessProbe.enabled | default true }}
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- {{ .Values.livenessProbe.command | default "echo | smbclient -L 127.0.0.1" | quote }}
|
||||
{{- end }}
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: cifs
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
volumeMounts:
|
||||
{{- if .Values.image.lacksK8sScript }}
|
||||
- mountPath: /configmaps/scripts
|
||||
name: scripts
|
||||
{{- end }}
|
||||
- mountPath: /secrets
|
||||
name: users
|
||||
- mountPath: /etc/samba/smb.conf
|
||||
name: smbconf
|
||||
subPath: smb.conf
|
||||
- mountPath: /data
|
||||
name: data
|
||||
{{- range .Values.persistence.extraPVCShares }}
|
||||
- mountPath: /extras/{{ .name }}
|
||||
name: {{ .name }}
|
||||
{{- end }}
|
||||
- mountPath: /privatepersist
|
||||
name: private
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{ if .Values.image.lacksK8sScript -}}
|
||||
- name: scripts
|
||||
configMap:
|
||||
name: {{ $fullName }}-packagescripts
|
||||
defaultMode: 0555
|
||||
items:
|
||||
- key: k8s.sh
|
||||
path: k8s.sh
|
||||
{{- end }}
|
||||
- name: smbconf
|
||||
configMap:
|
||||
name: {{ $fullName }}-smbconf
|
||||
defaultMode: 0644
|
||||
items:
|
||||
- key: smb.conf
|
||||
path: smb.conf
|
||||
- name: users
|
||||
secret:
|
||||
secretName: {{ $fullName }}-users
|
||||
defaultMode: 0600
|
||||
- name: data
|
||||
{{ if .Values.persistence.enabled -}}
|
||||
{{ if eq .Values.persistence.type "pvc" }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.pvc.existingClaim }}{{ .Values.persistence.pvc.existingClaim }}{{- else }}{{ template "samba4.fullname" . }}-data{{- end }}
|
||||
{{ else if eq .Values.persistence.type "flexVolume" }}
|
||||
#{{ required "A valid flexVolume block is required when using flexVolume persistence!" .Values.persistence.flexVolume }}
|
||||
flexVolume:
|
||||
{{ .Values.persistence.flexVolume | toYaml | indent 10 }}
|
||||
{{- else if eq .Values.persistence.type "hostPath" }}
|
||||
#{{ required "A valid hostPath.path is required when using hostPath persistence!" .Values.persistence.hostPath.path }}
|
||||
hostPath:
|
||||
path: {{ .Values.persistence.hostPath.path }}
|
||||
{{ if .Values.persistence.hostPath.type -}}
|
||||
type: {{ .Values.persistence.hostPath.type }}
|
||||
{{ end -}}
|
||||
{{ else if eq .Values.persistence.type "other" -}}
|
||||
#{{ required "A valid other block is required when using flexVolume persistence!" .Values.persistence.other }}
|
||||
{{ .Values.persistence.other | toYaml | indent 8 }}
|
||||
{{ else -}}
|
||||
{{ fail "if persistence is enabled, persistence.type must be one of 'pvc','flexVolume','hostPath' or 'other'!" }}
|
||||
{{ end -}}
|
||||
{{ else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
- name: private
|
||||
{{ if .Values.privatePersistence.enabled -}}
|
||||
{{- $p := .Values.persistence -}}
|
||||
{{- $pp := .Values.privatePersistence -}}
|
||||
{{- if eq ($pp.type | default $p.type) "pvc" }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if $pp.pvc.existingClaim }}{{ $pp.pvc.existingClaim }}{{- else }}{{ template "samba4.fullname" . }}-private{{- end }}
|
||||
{{ else if eq ($pp.type | default $p.type) "flexVolume" }}
|
||||
#{{ required "A valid flexVolume block is required when using hostPath persistence!" $pp.flexVolume }}
|
||||
flexVolume:
|
||||
{{ $pp.flexVolume | toYaml | indent 10 }}
|
||||
{{ else if eq ($pp.type | default $p.type) "hostPath" }}
|
||||
#{{ required "A valid flexVolume block is required when using flexVolume persistence!" .Values.privatePersistence.flexVolume }}
|
||||
hostPath:
|
||||
path: {{ if .Values.privatePersistence.hostPath.path }}{{ .Values.privatePersistence.hostPath.path }}{{ else }}{{ .Values.persistence.hostPath.path }}/.smbprivate/{{ end }}
|
||||
{{ if .Values.privatePersistence.hostPath.type -}}
|
||||
type: {{ $pp.hostPath.type | $p.hostPath.type | default "Directory" | quote }}
|
||||
{{ end -}}
|
||||
{{ else if eq ($pp.type | default $p.type) "other" -}}
|
||||
#{{ required "A valid other block is required when using flexVolume persistence!" .Values.privatePersistence.other }}
|
||||
{{ $pp.other | toYaml | indent 8 }}
|
||||
{{ else -}}
|
||||
{{ fail "if privatePersistence is enabled, privatePersistence.type must be one of 'pvc','flexVolume','hostPath' or 'other'!" }}
|
||||
{{ end -}}
|
||||
{{ else }}
|
||||
emptyDir: {}
|
||||
{{ end -}}
|
||||
{{ if .Values.persistence.enabled }}
|
||||
{{- range .Values.persistence.extraPVCShares }}
|
||||
- name: {{ .name }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ $fullName }}-{{ .name }}
|
||||
{{- end }}
|
||||
{{ end -}}
|
|
@ -0,0 +1,64 @@
|
|||
{{ $fullName := include "samba4.fullname" . }}
|
||||
{{- if and .Values.persistence.enabled ( eq .Values.persistence.type "pvc") -}}
|
||||
{{- if not .Values.persistence.pvc.existingClaim -}}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ $fullName }}-data
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.pvc.accessMode | default "ReadWriteOnce" | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.pvc.size | default "8Gi" | quote }}
|
||||
{{- if .Values.persistence.pvc.storageClass }}
|
||||
{{- if (eq "-" .Values.persistence.pvc.storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.persistence.pvc.storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range .Values.persistence.extraPVCShares }}
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ $fullName }}-{{ .name }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .accessMode | default "ReadWriteOnce" | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .size | default "8Gi" | quote }}
|
||||
{{- if .storageClass }}
|
||||
{{- if (eq "-" .storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- if .Values.privatePersistence.enabled }}
|
||||
{{- if and (eq (.Values.privatePersistence.type | default .Values.persistence.type) "pvc") (not .Values.privatePersistence.pvc.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ $fullName }}-private
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.privatePersistence.pvc.accessMode | default .Values.persistence.pvc.accessMode | default "ReadWriteOnce" | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.privatePersistence.pvc.size | default .Values.persistence.pvc.size | default "20Mi" | quote }}
|
||||
{{- if .Values.privatePersistence.pvc.storageClass }}
|
||||
{{- if (eq "-" (.Values.privatePersistence.pvc.storageClass | default .Values.persistence.pvc.storageClass)) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.privatePersistence.pvc.storageClass | default .Values.persistence.pvc.storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -0,0 +1,12 @@
|
|||
apiVersion: v1
|
||||
kind: Secret
|
||||
type: Opaque
|
||||
metadata:
|
||||
name: {{ include "samba4.fullname" . }}-users
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
helm.sh/chart: {{ include "samba4.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
data:
|
||||
create-users: {{ include "userstocreate" . | b64enc }}
|
|
@ -0,0 +1,19 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "samba4.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
helm.sh/chart: {{ include "samba4.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: cifs
|
||||
protocol: TCP
|
||||
name: cifs
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
@ -0,0 +1,18 @@
|
|||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "samba4.fullname" . }}-test-connection"
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "samba4.name" . }}
|
||||
helm.sh/chart: {{ include "samba4.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: smbclient
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
command: ['smbclient']
|
||||
args: ['-L','{{ include "samba4.fullname" . }}']
|
||||
restartPolicy: Never
|
|
@ -0,0 +1,74 @@
|
|||
# Default values for samba4.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
image:
|
||||
# note: lots more pulls of stanback/alpine-samba so understandable
|
||||
# if you want to use that. Just remember it doesn't contain the script
|
||||
# so set the flag to true also. That said, it only has one tag, and isn't
|
||||
# an automated build so you might be better with the below image.
|
||||
repository: imartyn/samba4k8s
|
||||
lacksK8sScript: false
|
||||
#repository: stanback/alpine-samba
|
||||
#lacksK8sScript: true
|
||||
tag: stable
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
|
||||
samba:
|
||||
global:
|
||||
workgroup: WORKGROUP
|
||||
share: {}
|
||||
users: []
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
type: pvc
|
||||
pvc:
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Ti
|
||||
storageClass: "spinny"
|
||||
other:
|
||||
emptyDir: {}
|
||||
extraPVCShares: []
|
||||
|
||||
privatePersistence:
|
||||
enabled: false
|
||||
pvc:
|
||||
accessMode: ReadWriteOnce
|
||||
size: 20Mi
|
||||
storageClass: "-"
|
||||
other:
|
||||
emptyDir: {}
|
||||
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 445
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
Loading…
Reference in New Issue