diff --git a/charts/apps/audiobookshelf/templates/http-service.yaml b/charts/apps/audiobookshelf/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/audiobookshelf/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/gitea/templates/http-service.yaml b/charts/apps/gitea/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/gitea/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/jellyfin/templates/http-service.yaml b/charts/apps/jellyfin/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/jellyfin/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/metamcp/templates/http-service.yaml b/charts/apps/metamcp/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/metamcp/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/miniflux/templates/http-service.yaml b/charts/apps/miniflux/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/miniflux/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/n8n/templates/http-service.yaml b/charts/apps/n8n/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/n8n/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/openwebui/templates/http-service.yaml b/charts/apps/openwebui/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/openwebui/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/penpot/templates/http-service.yaml b/charts/apps/penpot/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/penpot/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/siyuan/Chart.yaml b/charts/apps/siyuan/Chart.yaml new file mode 100644 index 0000000..bde19c6 --- /dev/null +++ b/charts/apps/siyuan/Chart.yaml @@ -0,0 +1,3 @@ +apiVersion: v2 +version: 1.0.0 +name: siyuan diff --git a/charts/apps/siyuan/notes.md b/charts/apps/siyuan/notes.md new file mode 100644 index 0000000..41b4c17 --- /dev/null +++ b/charts/apps/siyuan/notes.md @@ -0,0 +1 @@ +https://www.authelia.com/integration/openid-connect/clients/jellyfin/ diff --git a/charts/apps/siyuan/templates/config-pvc.yaml b/charts/apps/siyuan/templates/config-pvc.yaml new file mode 100644 index 0000000..cabf689 --- /dev/null +++ b/charts/apps/siyuan/templates/config-pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: "{{ .Release.Name }}-workspace" +spec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: "1Gi" + storageClassName: "{{ .Values.globals.environment }}" diff --git a/charts/apps/siyuan/templates/deployment.yaml b/charts/apps/siyuan/templates/deployment.yaml new file mode 100644 index 0000000..c8c3845 --- /dev/null +++ b/charts/apps/siyuan/templates/deployment.yaml @@ -0,0 +1,49 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: "{{ .Release.Name }}" +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: "{{ .Release.Name }}" + template: + metadata: + labels: + app: "{{ .Release.Name }}" + spec: + containers: + - name: "{{ .Release.Name }}" + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + env: + - name: TZ + value: "{{ .Values.globals.timezone}}" + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: SIYUAN_ACCESS_AUTH_CODE + valueFrom: + secretKeyRef: + name: "{{ .Release.Name }}-secret" + key: password + ports: + - name: http + containerPort: 6806 + protocol: TCP + livenessProbe: + tcpSocket: + port: http + readinessProbe: + tcpSocket: + port: http + volumeMounts: + - mountPath: /siyuan/workspace + name: workspace + volumes: + - name: workspace + persistentVolumeClaim: + claimName: "{{ .Release.Name }}-workspace" diff --git a/charts/apps/siyuan/templates/external-http-service.yaml b/charts/apps/siyuan/templates/external-http-service.yaml new file mode 100644 index 0000000..e28916d --- /dev/null +++ b/charts/apps/siyuan/templates/external-http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: ExternalHttpService +metadata: + name: '{{ .Release.Name }}' +spec: + environment: '{{ .Values.globals.environment }}' + subdomain: '{{ .Values.subdomain }}' + destination: + host: '{{ .Release.Name }}.{{ .Release.Namespace }}.svc.cluster.local' + port: + number: 80 diff --git a/charts/apps/siyuan/templates/http-service.yaml b/charts/apps/siyuan/templates/http-service.yaml new file mode 100644 index 0000000..15b1989 --- /dev/null +++ b/charts/apps/siyuan/templates/http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: HttpService +metadata: + name: "{{ .Release.Name }}" +spec: + environment: "{{ .Values.globals.environment }}" + subdomain: "{{ .Values.subdomain }}" + destination: + host: "{{ .Release.Name }}" + port: + number: 80 diff --git a/charts/apps/siyuan/templates/secret.yaml b/charts/apps/siyuan/templates/secret.yaml new file mode 100644 index 0000000..6431a4d --- /dev/null +++ b/charts/apps/siyuan/templates/secret.yaml @@ -0,0 +1,9 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: GenerateSecret +metadata: + name: "{{ .Release.Name }}-secret" +spec: + fields: + - name: password + encoding: hex + length: 64 diff --git a/charts/apps/siyuan/templates/service.yaml b/charts/apps/siyuan/templates/service.yaml new file mode 100644 index 0000000..e95f389 --- /dev/null +++ b/charts/apps/siyuan/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: "{{ .Release.Name }}" + labels: + app: "{{ .Release.Name }}" +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 6806 + protocol: TCP + name: http + selector: + app: "{{ .Release.Name }}" diff --git a/charts/apps/siyuan/values.yaml b/charts/apps/siyuan/values.yaml new file mode 100644 index 0000000..4ea7112 --- /dev/null +++ b/charts/apps/siyuan/values.yaml @@ -0,0 +1,5 @@ +image: + repository: b3log/siyuan + tag: latest + pullPolicy: IfNotPresent +subdomain: siyuan diff --git a/charts/apps/zot/templates/deployment.yaml b/charts/apps/zot/templates/deployment.yaml index 3346d17..ccd1389 100644 --- a/charts/apps/zot/templates/deployment.yaml +++ b/charts/apps/zot/templates/deployment.yaml @@ -39,7 +39,7 @@ spec: - name: PASSWORD valueFrom: secretKeyRef: - name: "{{ .Release.Name }}-cluster" + name: "{{ .Release.Name }}-secret" key: password args: - | diff --git a/helmfile.yaml.gotmpl b/helmfile.yaml.gotmpl index 4b30aa1..eb29d8f 100644 --- a/helmfile.yaml.gotmpl +++ b/helmfile.yaml.gotmpl @@ -138,3 +138,8 @@ releases: namespace: prod values: - values.yaml + - name: siyuan + chart: charts/apps/siyuan + namespace: prod + values: + - values.yaml