Files
cloud-config/mushroom/helm/templates/statefulset.yaml
Paul Mathieu 0cf7c9b908 Initial commit: mushroom, zetikettes
With basic config to have TLS certs with ACME.
It works!

TODO:
- gitea
- bar-jupyter
2026-03-02 06:48:46 +00:00

71 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "mushroom.fullname" . }}
labels:
{{- include "mushroom.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "mushroom.selectorLabels" . | nindent 6 }}
serviceName: {{ include "mushroom.fullname" . }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "mushroom.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
containers:
- name: mushroomd
image: "{{ .Values.images.server.repository }}:{{ .Values.images.server.tag | default .Chart.AppVersion }}"
ports:
- containerPort: 1337
volumeMounts:
- name: data
mountPath: /data
- name: webproxy
image: "{{ .Values.images.proxy.repository }}:{{ .Values.images.proxy.tag | default .Chart.AppVersion }}"
ports:
- containerPort: 1338
- name: nginx
image: "{{ .Values.images.nginx.repository }}:{{ .Values.images.nginx.tag | default "1.29.5" }}"
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
volumeMounts:
- name: config
mountPath: /usr/share/nginx/html/index.html
subPath: index.html
- name: config
mountPath: /etc/nginx/conf.d/default.conf
subPath: default.conf
volumes:
- name: config
configMap:
name: {{ .Chart.Name }}-nginx
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 32Mi
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Chart.Name }}-nginx
data:
index.html: |
{{ .Files.Get "index.html" | indent 4 }}
default.conf: |
{{ .Files.Get "nginx-default.conf" | indent 4 }}