feat: helm chart (wip)
This commit is contained in:
parent
0d2aa56b79
commit
2ba1004024
21
dev/helm/Chart.yaml
Normal file
21
dev/helm/Chart.yaml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
name: Wiki.js
|
||||||
|
version: 2.0.0
|
||||||
|
appVersion: 2.0.0
|
||||||
|
description: The most powerful and extensible open source Wiki software.
|
||||||
|
keywords:
|
||||||
|
- wiki
|
||||||
|
- documentation
|
||||||
|
- knowledge base
|
||||||
|
- docs
|
||||||
|
- reference
|
||||||
|
- editor
|
||||||
|
home: https://wiki.js.org
|
||||||
|
icon: https://github.com/Requarks/wiki/raw/master/client/static/favicons/android-icon-192x192.png
|
||||||
|
sources:
|
||||||
|
- https://github.com/Requarks/wiki
|
||||||
|
maintainers:
|
||||||
|
- name: Nicolas Giard
|
||||||
|
email: github@ngpixel.com
|
||||||
|
url: https://github.com/NGPixel
|
||||||
|
engine: gotpl
|
2
dev/helm/README.md
Normal file
2
dev/helm/README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Work in progress
|
||||||
|
##### Do not use!
|
5
dev/helm/requirements.yaml
Normal file
5
dev/helm/requirements.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
dependencies:
|
||||||
|
- name: postgresql
|
||||||
|
version: 3.18.4
|
||||||
|
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||||
|
condition: postgresql.enabled
|
39
dev/helm/templates/ingress.yaml
Normal file
39
dev/helm/templates/ingress.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{{- if .Values.ingress.enabled }}
|
||||||
|
{{- range .Values.ingress.hosts }}
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ template "wiki.fullname" $ }}
|
||||||
|
labels:
|
||||||
|
app: {{ template "wiki.name" $ }}
|
||||||
|
chart: {{ template "wiki.chart" $ }}
|
||||||
|
release: {{ $.Release.Name | quote }}
|
||||||
|
heritage: {{ $.Release.Service | quote }}
|
||||||
|
annotations:
|
||||||
|
{{- if .tls }}
|
||||||
|
ingress.kubernetes.io/secure-backends: "true"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .certManager }}
|
||||||
|
kubernetes.io/tls-acme: "true"
|
||||||
|
{{- end }}
|
||||||
|
{{- range $key, $value := .annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: {{ .name }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: {{ default "/" .path }}
|
||||||
|
backend:
|
||||||
|
serviceName: {{ template "wiki.fullname" $ }}
|
||||||
|
servicePort: 80
|
||||||
|
{{- if .tls }}
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- {{ .name }}
|
||||||
|
secretName: {{ .tlsSecret }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
13
dev/helm/templates/secrets.yaml
Normal file
13
dev/helm/templates/secrets.yaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ template "wiki.fullname" . }}
|
||||||
|
labels:
|
||||||
|
app: {{ template "wiki.fullname" . }}
|
||||||
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
|
release: "{{ .Release.Name }}"
|
||||||
|
heritage: "{{ .Release.Service }}"
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
db-user: {{ .Values.postgresql.postgresUser | b64enc | quote }}
|
||||||
|
db-password: {{ .Values.postgresql.postgresPassword | b64enc | quote }}
|
32
dev/helm/templates/service.yaml
Normal file
32
dev/helm/templates/service.yaml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ template "wiki.fullname" . }}
|
||||||
|
labels:
|
||||||
|
app: {{ template "wiki.name" . }}
|
||||||
|
chart: {{ template "wiki.chart" . }}
|
||||||
|
release: {{ .Release.Name | quote }}
|
||||||
|
heritage: {{ .Release.Service | quote }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
{{- if .Values.service.loadBalancerIP }}
|
||||||
|
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }}
|
||||||
|
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: {{ .Values.service.port }}
|
||||||
|
targetPort: http
|
||||||
|
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePorts.http)))}}
|
||||||
|
nodePort: {{ .Values.service.nodePorts.http }}
|
||||||
|
{{- end }}
|
||||||
|
- name: https
|
||||||
|
port: {{ .Values.service.httpsPort }}
|
||||||
|
targetPort: https
|
||||||
|
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePorts.https)))}}
|
||||||
|
nodePort: {{ .Values.service.nodePorts.https }}
|
||||||
|
{{- end }}
|
||||||
|
selector:
|
||||||
|
app: {{ template "wiki.name" . }}
|
41
dev/helm/values.yaml
Normal file
41
dev/helm/values.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
##
|
||||||
|
## Configuration values for the postgresql dependency.
|
||||||
|
## ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md
|
||||||
|
postgresql:
|
||||||
|
##
|
||||||
|
## Use the PostgreSQL chart dependency.
|
||||||
|
## Set to false if bringing your own PostgreSQL.
|
||||||
|
enabled: true
|
||||||
|
##
|
||||||
|
## If you are bringing your own PostgreSQL, you should set postgresHost and
|
||||||
|
## also probably service.port, postgresUser, postgresPassword, and postgresDatabase
|
||||||
|
## postgresHost:
|
||||||
|
##
|
||||||
|
## PostgreSQL port
|
||||||
|
service:
|
||||||
|
port: 5432
|
||||||
|
## PostgreSQL User to create.
|
||||||
|
postgresUser: wiki
|
||||||
|
##
|
||||||
|
## PostgreSQL Password for the new user.
|
||||||
|
## If not set, a random 10 characters password will be used.
|
||||||
|
postgresPassword: wikijsrocks
|
||||||
|
##
|
||||||
|
## PostgreSQL Database to create.
|
||||||
|
postgresDatabase: wiki
|
||||||
|
##
|
||||||
|
## Persistent Volume Storage configuration.
|
||||||
|
## ref: https://kubernetes.io/docs/user-guide/persistent-volumes
|
||||||
|
persistence:
|
||||||
|
##
|
||||||
|
## Enable PostgreSQL persistence using Persistent Volume Claims.
|
||||||
|
enabled: true
|
||||||
|
##
|
||||||
|
## Persistant class
|
||||||
|
# storageClass: classname
|
||||||
|
##
|
||||||
|
## Access mode:
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
##
|
||||||
|
## Requested size:
|
||||||
|
size: 10Gi
|
Loading…
Reference in New Issue
Block a user