Compare commits

...

15 Commits

Author SHA1 Message Date
2b9ea0bcdb fix bootstrap switch 2024-03-14 06:32:41 -06:00
ba0c6fe7d2 fix values paths 2024-03-14 01:30:16 -06:00
6c11bf51b2 change cluster role names 2024-03-14 00:18:14 -06:00
8ffe5fd408 update renovate config 2024-03-13 06:05:23 -06:00
773ff53432 update postgresql cluster 2024-03-13 06:00:36 -06:00
81ab282822 update outline 2024-03-13 06:00:19 -06:00
8fb910383d update kubelet-serving-cert-approver 2024-03-13 05:54:53 -06:00
1fe5c07c36 update homepage 2024-03-13 05:49:35 -06:00
eadbf37ce5 update home-assistant 2024-03-13 05:46:15 -06:00
f7f210a905 update calibre-server 2024-03-13 05:40:30 -06:00
a6d3eaf404 add outline 2024-03-13 04:43:14 -06:00
72f5ebc567 increase chart version 2024-03-13 04:38:00 -06:00
e52c5dc8c8 add readme 2024-03-13 01:14:31 -06:00
f08ae85e5c fix indentation 2024-03-13 01:11:57 -06:00
4988c82be2 fix chart data 2024-03-13 01:08:29 -06:00
55 changed files with 519 additions and 138 deletions

37
.github/renovate.json vendored
View File

@@ -45,19 +45,15 @@
"matchPackageNames": [ "matchPackageNames": [
"linuxserver/calibre", "linuxserver/calibre",
"homeassistant/home-assistant", "homeassistant/home-assistant",
"linuxserver/code-server",
"ghcr.io/gethomepage/homepage", "ghcr.io/gethomepage/homepage",
"ghcr.io/cloudnative-pg/postgresql", "ghcr.io/alex1989hu/kubelet-serving-cert-approver",
"linuxserver/code-server" "rmcrackan/libation",
"outlinewiki/outline",
"ghcr.io/cloudnative-pg/postgresql"
], ],
"matchDatasources": [ "matchDatasources": [
"docker", "docker"
"gitea-releases",
"gitea-tags",
"github-releases",
"github-tags",
"gitlab-packages",
"gitlab-releases",
"gitlab-tags"
], ],
"schedule": [ "schedule": [
"after 10am on tuesday", "after 10am on tuesday",
@@ -71,6 +67,27 @@
"bumpVersion": "minor", "bumpVersion": "minor",
"automerge": false, "automerge": false,
"minimumReleaseAge": "3 days" "minimumReleaseAge": "3 days"
},
{
"description": "Generate application charts on Tuesdays",
"matchPackageNames": [
"redis"
],
"matchDatasources": [
"helm"
],
"schedule": [
"after 10am on tuesday",
"before 5pm on tuesday"
],
"addLabels": [
"upgrade",
"weekly",
"chart"
],
"bumpVersion": "minor",
"automerge": false,
"minimumReleaseAge": "3 days"
} }
] ]
} }

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: calibre-server name: calibre-server
version: 0.0.4 version: 0.0.5
description: Chart for Calibre content database description: Chart for Calibre content database
keywords: keywords:
- media - media

View File

@@ -11,6 +11,7 @@ This chart bootstraps a [Calibre](https://github.com/home-assistant) deployment
- Kubernetes - Kubernetes
- Helm - Helm
- Traefik v2 / IngressRoute - Traefik v2 / IngressRoute
- Authentik / Auth
## Parameters ## Parameters

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
revisionHistoryLimit: 3 revisionHistoryLimit: 3
replicas: {{ .Values.deployment.replicas }} replicas: {{ .Values.deployment.replicas }}
@@ -28,7 +27,7 @@ spec:
serviceAccountName: calibre-server serviceAccountName: calibre-server
automountServiceAccountToken: true automountServiceAccountToken: true
containers: containers:
- name: {{ .Release.Name }} - name: calibre-server
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}" image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }} imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
ports: ports:

View File

@@ -10,7 +10,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: calibre-server app.kubernetes.io/part-of: calibre-server
app.kubernetes.io/managed-by: helm
spec: spec:
entryPoints: entryPoints:
- websecure - websecure
@@ -18,7 +17,7 @@ spec:
- kind: Rule - kind: Rule
match: "Host(`{{ .Values.ingressRoute.http.host }}`)" match: "Host(`{{ .Values.ingressRoute.http.host }}`)"
middlewares: middlewares:
- name: authentik - name: "authentik-{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
priority: 10 priority: 10
services: services:

View File

@@ -2,15 +2,14 @@
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: authentik name: "authentik-{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: calibre-server app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: auth app.kubernetes.io/component: auth
app.kubernetes.io/part-of: calibre-server app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
forwardAuth: forwardAuth:
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik" address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce

View File

@@ -9,4 +9,3 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: calibre-server app.kubernetes.io/part-of: calibre-server
app.kubernetes.io/managed-by: helm

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
type: ClusterIP type: ClusterIP
ports: ports:
@@ -33,7 +32,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
type: ClusterIP type: ClusterIP
ports: ports:

View File

@@ -29,14 +29,14 @@ service:
ingressRoute: ingressRoute:
enabled: true enabled: true
http: http:
host: server.calibre.alexlebens.net host:
authentik: authentik:
outpost: authentik-proxy-outpost outpost: authentik-proxy-outpost
port: 9000 port: 9000
persistence: persistence:
config: config:
storageClassName: ceph-block storageClassName: default
storageSize: 5Gi storageSize: 5Gi
volumeMode: Filesystem volumeMode: Filesystem
books: books:
claimName: calibre-server-nfs-storage claimName:

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: home-assistant name: home-assistant
version: 0.0.14 version: 0.0.15
description: Chart for Home Assistant description: Chart for Home Assistant
keywords: keywords:
- home-automation - home-automation

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
revisionHistoryLimit: 3 revisionHistoryLimit: 3
replicas: {{ .Values.deployment.replicas }} replicas: {{ .Values.deployment.replicas }}

View File

@@ -10,7 +10,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm
spec: spec:
entryPoints: entryPoints:
- websecure - websecure
@@ -18,7 +17,7 @@ spec:
- kind: Rule - kind: Rule
match: "Host(`{{ .Values.ingressRoute.host }}`)" match: "Host(`{{ .Values.ingressRoute.host }}`)"
middlewares: middlewares:
- name: authentik - name: "authentik-{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
priority: 10 priority: 10
services: services:
@@ -47,7 +46,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm
spec: spec:
entryPoints: entryPoints:
- websecure - websecure

View File

@@ -2,15 +2,14 @@
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: authentik name: "authentik-{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: home-assistant app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: auth app.kubernetes.io/component: auth
app.kubernetes.io/part-of: home-assistant app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
forwardAuth: forwardAuth:
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik" address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce

View File

@@ -10,7 +10,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm
spec: spec:
groups: groups:
- name: {{ .Release.Name }} - name: {{ .Release.Name }}

View File

@@ -9,4 +9,3 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm

View File

@@ -10,7 +10,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm
spec: spec:
selector: selector:
matchLabels: matchLabels:

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
type: ClusterIP type: ClusterIP
ports: ports:
@@ -34,7 +33,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
type: ClusterIP type: ClusterIP
ports: ports:

View File

@@ -3,10 +3,10 @@ deployment:
strategy: Recreate strategy: Recreate
image: image:
repository: homeassistant/home-assistant repository: homeassistant/home-assistant
tag: 2024.2.5 tag: 2024.3.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
TZ: US/Mountain TZ: UTC
envFrom: envFrom:
resources: resources:
requests: requests:
@@ -20,7 +20,7 @@ service:
port: 8123 port: 8123
ingressRoute: ingressRoute:
enabled: true enabled: true
host: homeassistant.alexlebens.net host:
authentik: authentik:
outpost: authentik-proxy-outpost outpost: authentik-proxy-outpost
port: 9000 port: 9000
@@ -49,17 +49,17 @@ metrics:
severity: critical severity: critical
persistence: persistence:
config: config:
storageClassName: ceph-block storageClassName: default
storageSize: 1Gi storageSize: 1Gi
volumeMode: Filesystem volumeMode: Filesystem
codeserver: codeserver:
enabled: true enabled: false
image: image:
repository: linuxserver/code-server repository: linuxserver/code-server
tag: 4.22.0 tag: 4.22.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
TZ: US/Mountain TZ: UTC
PUID: 1000 PUID: 1000
PGID: 1000 PGID: 1000
DEFAULT_WORKSPACE: /config DEFAULT_WORKSPACE: /config
@@ -70,5 +70,5 @@ codeserver:
http: http:
port: 8443 port: 8443
ingressRoute: ingressRoute:
enabled: true enabled: false
host: codeserver.homeassistant.alexlebens.net host:

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: homepage name: homepage
version: 0.0.5 version: 0.0.7
description: Chart for benphelps homepage description: Chart for benphelps homepage
keywords: keywords:
- dashboard - dashboard
@@ -9,4 +9,4 @@ sources:
maintainers: maintainers:
- name: alexlebens - name: alexlebens
icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png
appVersion: v0.8.8 appVersion: v0.8.9

View File

@@ -1,19 +1,18 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: homepage name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: homepage app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: homepage name: {{ .Release.Name }}
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: homepage name: homepage

View File

@@ -1,15 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: homepage name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: homepage app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
rules: rules:
- apiGroups: - apiGroups:
- "" - ""

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: homepage
app.kubernetes.io/managed-by: helm
data: data:
bookmarks.yaml: {{- if .Values.config.bookmarks }} | bookmarks.yaml: {{- if .Values.config.bookmarks }} |
{{- .Values.config.bookmarks | toYaml | nindent 4}} {{- .Values.config.bookmarks | toYaml | nindent 4}}

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: homepage
app.kubernetes.io/managed-by: helm
spec: spec:
revisionHistoryLimit: 3 revisionHistoryLimit: 3
replicas: {{ .Values.deployment.replicas }} replicas: {{ .Values.deployment.replicas }}

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: homepage
app.kubernetes.io/managed-by: helm
spec: spec:
entryPoints: entryPoints:
- websecure - websecure
@@ -17,7 +16,7 @@ spec:
- kind: Rule - kind: Rule
match: "Host(`{{ .Values.ingressRoute.host }}`)" match: "Host(`{{ .Values.ingressRoute.host }}`)"
middlewares: middlewares:
- name: authentik - name: "authentik-{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
priority: 10 priority: 10
services: services:

View File

@@ -1,15 +1,14 @@
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: authentik name: "authentik-{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: homepage app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: auth app.kubernetes.io/component: auth
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
forwardAuth: forwardAuth:
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik" address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"

View File

@@ -10,6 +10,5 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: homepage
app.kubernetes.io/managed-by: helm
annotations: annotations:
kubernetes.io/service-account.name: homepage kubernetes.io/service-account.name: homepage

View File

@@ -9,6 +9,5 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: homepage
app.kubernetes.io/managed-by: helm
secrets: secrets:
- name: "{{ .Release.Name }}-sa-token" - name: "{{ .Release.Name }}-sa-token"

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
app.kubernetes.io/part-of: homepage app.kubernetes.io/part-of: homepage
app.kubernetes.io/managed-by: helm
spec: spec:
type: ClusterIP type: ClusterIP
ports: ports:

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate strategy: Recreate
image: image:
repository: ghcr.io/gethomepage/homepage repository: ghcr.io/gethomepage/homepage
tag: v0.8.8 tag: v0.8.9
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
envFrom: envFrom:
@@ -18,7 +18,7 @@ service:
http: http:
port: 3000 port: 3000
ingressRoute: ingressRoute:
host: homepage.alexlebens.net host:
authentik: authentik:
outpost: authentik-proxy-outpost outpost: authentik-proxy-outpost
port: 9000 port: 9000

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: kubelet-serving-cert-approver name: kubelet-serving-cert-approver
version: 0.0.3 version: 0.0.4
description: Kubelet Serving TLS Certificate Signing Request Approver description: Kubelet Serving TLS Certificate Signing Request Approver
keywords: keywords:
- kubernetes - kubernetes

View File

@@ -1,15 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ .Release.Name }} name: kubelet-serving-cert-approver
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approver
app.kubernetes.io/managed-by: helm
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole

View File

@@ -4,12 +4,11 @@ metadata:
name: "certificates:{{ .Release.Name }}" name: "certificates:{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approver
app.kubernetes.io/managed-by: helm
rules: rules:
- apiGroups: - apiGroups:
- certificates.k8s.io - certificates.k8s.io
@@ -47,12 +46,11 @@ metadata:
name: "events:{{ .Release.Name }}" name: "events:{{ .Release.Name }}"
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approverv
app.kubernetes.io/managed-by: helm
rules: rules:
- apiGroups: - apiGroups:
- "" - ""

View File

@@ -1,15 +1,14 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }} name: kubelet-serving-cert-approver
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approver
app.kubernetes.io/managed-by: helm
spec: spec:
revisionHistoryLimit: 3 revisionHistoryLimit: 3
replicas: {{ .Values.deployment.replicas }} replicas: {{ .Values.deployment.replicas }}
@@ -17,13 +16,14 @@ spec:
type: {{ .Values.deployment.strategy }} type: {{ .Values.deployment.strategy }}
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}
template: template:
metadata: metadata:
labels: labels:
app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}
spec: spec:
affinity: affinity:
nodeAffinity: nodeAffinity:
@@ -78,7 +78,7 @@ spec:
runAsUser: 65534 runAsUser: 65534
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
serviceAccountName: {{ .Release.Name }} serviceAccountName: kubelet-serving-cert-approver
tolerations: tolerations:
- effect: NoSchedule - effect: NoSchedule
key: node-role.kubernetes.io/master key: node-role.kubernetes.io/master

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
name: {{ .Release.Name }} name: kubelet-serving-cert-approver
labels: labels:
app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}
pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/audit: restricted
pod-security.kubernetes.io/enforce: restricted pod-security.kubernetes.io/enforce: restricted
pod-security.kubernetes.io/warn: restricted pod-security.kubernetes.io/warn: restricted

View File

@@ -4,17 +4,16 @@ metadata:
name: "events:{{ .Release.Name }}" name: "events:{{ .Release.Name }}"
namespace: default namespace: default
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approver
app.kubernetes.io/managed-by: helm
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: "events:{{ .Release.Name }}" name: "events:{{ .Release.Name }}"
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ .Release.Name }} name: kubelet-serving-cert-approver
namespace: {{ .Release.Name }} namespace: {{ .Release.Name }}

View File

@@ -1,12 +1,11 @@
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ .Release.Name }} name: kubelet-serving-cert-approver
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approver
app.kubernetes.io/managed-by: helm

View File

@@ -1,15 +1,14 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .Release.Name }} name: kubelet-serving-cert-approver
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: kubelet-serving-cert-approver
app.kubernetes.io/managed-by: helm
spec: spec:
ports: ports:
- name: metrics - name: metrics
@@ -17,5 +16,5 @@ spec:
protocol: TCP protocol: TCP
targetPort: metrics targetPort: metrics
selector: selector:
app.kubernetes.io/name: kubelet-serving-cert-approver
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}

View File

@@ -1,9 +1,10 @@
apiVersion: v2 apiVersion: v2
name: libation name: libation
version: 0.0.1 version: 0.0.5
description: Chart for benphelps homepage description: Import library from audible
keywords: keywords:
- dashboard - audiobooks
- job
sources: sources:
- https://github.com/rmcrackan/Libation - https://github.com/rmcrackan/Libation
maintainers: maintainers:

18
charts/libation/README.md Normal file
View File

@@ -0,0 +1,18 @@
## Introduction
[Libation](https://github.com/rmcrackan/Libation)
Libation: Liberate your Library. Import library from audible, including cover art
This chart bootstraps a [Libation](https://github.com/benphelps/homepage) CronJob on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Prerequisites
- Kubernetes
- Helm
- CronJob
## Parameters
See the [values files](values.yaml).

View File

@@ -10,7 +10,7 @@ metadata:
app.kubernetes.io/component: job app.kubernetes.io/component: job
app.kubernetes.io/part-of: libation app.kubernetes.io/part-of: libation
spec: spec:
schedule: {{ .Values.libation.job.schedule }} schedule: {{ .Values.job.schedule }}
successfulJobsHistoryLimit: 3 successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3 failedJobsHistoryLimit: 3
jobTemplate: jobTemplate:
@@ -20,8 +20,8 @@ spec:
restartPolicy: Never restartPolicy: Never
containers: containers:
- name: libation - name: libation
image: "{{ .Values.libation.image.repository }}:{{ .Values.libation.image.tag }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.libation.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
env: env:
- name: SLEEP_TIME - name: SLEEP_TIME
value: "-1" value: "-1"

View File

@@ -1,4 +1,3 @@
libation:
job: job:
schedule: "0 * * * *" schedule: "0 * * * *"
image: image:

18
charts/outline/Chart.yaml Normal file
View File

@@ -0,0 +1,18 @@
apiVersion: v2
name: outline
version: 0.0.2
description: Chart for Outline wiki
keywords:
- wiki
- documentation
sources:
- https://github.com/outline/outline
- https://github.com/bitnami/charts/tree/main/bitnami/redis
maintainers:
- name: alexlebens
icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 18.x.x
appVersion: v0.75.2

17
charts/outline/README.md Normal file
View File

@@ -0,0 +1,17 @@
## Introduction
[Outline](https://github.com/outline/outline)
The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible.
This chart bootstraps an [Outline](https://github.com/outline/outline) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Prerequisites
- Kubernetes
- Helm
- Bitnami Redis Chart
## Parameters
See the [values files](values.yaml).

View File

@@ -0,0 +1,170 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: outline
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: outline
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: outline
spec:
revisionHistoryLimit: 3
replicas: {{ .Values.deployment.replicas }}
strategy:
type: {{ .Values.deployment.strategy }}
selector:
matchLabels:
app.kubernetes.io/name: outline
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: outline
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
serviceAccountName: outline
automountServiceAccountToken: true
containers:
- name: {{ .Release.Name }}
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
ports:
- name: web
containerPort: {{ .Values.service.web.port }}
protocol: TCP
env:
- name: NODE_ENV
value: "{{ .Values.outline.nodeEnv }}"
- name: URL
value: "{{ .Values.outline.url }}"
- name: PORT
value: "{{ .Values.service.web.port }}"
- name: SECRET_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.outline.secretKey.existingSecretName }}"
key: "{{ .Values.outline.secretKey.existingSecretKey }}"
- name: UTILS_SECRET
valueFrom:
secretKeyRef:
name: "{{ .Values.outline.utilsSecret.existingSecretName }}"
key: "{{ .Values.outline.secretKey.existingSecretKey }}"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: "{{ .Values.outline.database.passwordSecret.existingSecretName }}"
key: "{{ .Values.outline.database.passwordSecret.existingSecretKey }}"
- name: POSTGRES_USERNAME
valueFrom:
secretKeyRef:
name: "{{ .Values.outline.database.usernameSecret.existingSecretName }}"
key: "{{ .Values.outline.database.usernameSecret.existingSecretKey }}"
- name: POSTGRES_DATABASE_NAME
value: {{ .Values.outline.database.databaseName }}
- name: POSTGRES_DATABASE_HOST
value: {{ .Values.outline.database.databaseHost }}
- name: DATABASE_URL
value: "postgres://$(POSTGRES_USERNAME):$(POSTGRES_PASSWORD)@postgresql-{{ .Release.Name }}-cluster-rw:5432/$(POSTGRES_DATABASE_NAME)"
- name: DATABASE_URL_TEST
value: "postgres://$(POSTGRES_USERNAME):$(POSTGRES_PASSWORD)@postgresql-{{ .Release.Name }}-cluster-rw:5432/$(POSTGRES_DATABASE_NAME)-test"
- name: DATABASE_CONNECTION_POOL_MIN
value: "{{ .Values.outline.database.connectionPoolMin }}"
- name: DATABASE_CONNECTION_POOL_MAX
value: "{{ .Values.outline.database.connectionPoolMax }}"
- name: PGSSLMODE
value: "{{ .Values.outline.database.sslMode }}"
- name: REDIS_URL
value: "redis://{{ .Release.Name }}-redis-master:6379"
- name: FILE_STORAGE
value: "{{ .Values.persistence.type }}"
{{- if eq .Values.persistence.type "s3" }}
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.persistence.s3.credentialsSecret }}"
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.persistence.s3.credentialsSecret }}"
key: AWS_SECRET_ACCESS_KEY
- name: AWS_REGION
value: "{{ .Values.persistence.s3.region }}"
- name: AWS_S3_UPLOAD_BUCKET_NAME
value: "{{ .Values.persistence.s3.bucketName }}"
- name: AWS_S3_UPLOAD_BUCKET_URL
value: "{{ .Values.persistence.s3.endpoint }}"
- name: AWS_S3_FORCE_PATH_STYLE
value: "{{ .Values.persistence.s3.forcePathStyle }}"
- name: AWS_S3_ACL
value: "{{ .Values.persistence.s3.acl }}"
- name: FILE_STORAGE_UPLOAD_MAX_SIZE
value: "{{ .Values.persistence.s3.uploadMaxSize }}"
{{- else if eq .Values.persistence.type "local" }}
- name: FILE_STORAGE_LOCAL_ROOT_DIR
value: "{{ .Values.persistence.local.localRootDir }}"
- name: FILE_STORAGE_UPLOAD_MAX_SIZE
value: "{{ .Values.persistence.local.uploadMaxSize }}"
{{- end }}
- name: FORCE_HTTPS
value: "{{ .Values.outline.optional.forceHttps }}"
- name: ENABLE_UPDATES
value: "{{ .Values.outline.optional.enableUpdates }}"
- name: WEB_CONCURRENCY
value: "{{ .Values.outline.optional.webConcurrency }}"
- name: MAXIMUM_IMPORT_SIZE
value: "{{ .Values.outline.optional.maximumImportSize }}"
- name: LOG_LEVEL
value: "{{ .Values.outline.optional.logLevel }}"
- name: DEFAULT_LANGUAGE
value: "{{ .Values.outline.optional.defaultLanguage }}"
- name: RATE_LIMITER_ENABLED
value: "{{ .Values.outline.optional.rateLimiter.enabled }}"
- name: RATE_LIMITER_REQUESTS
value: "{{ .Values.outline.optional.rateLimiter.requests }}"
- name: RATE_LIMITER_DURATION_WINDOW
value: "{{ .Values.outline.optional.rateLimiter.durationWindow }}"
- name: DEVELOPMENT_UNSAFE_INLINE_CSP
value: "{{ .Values.outline.optional.developmentUnsafeInlineCsp }}"
{{- if .Values.outline.auth.oidc.enabled }}
- name: OIDC_CLIENT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.outline.auth.oidc.clientId.existingSecretName }}"
key: "{{ .Values.outline.auth.oidc.clientId.existingSecretKey }}"
- name: OIDC_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: "{{ .Values.outline.auth.oidc.clientSecret.existingSecretName }}"
key: "{{ .Values.outline.auth.oidc.clientSecret.existingSecretKey }}"
- name: OIDC_AUTH_URI
value: "{{ .Values.outline.auth.oidc.authUri }}"
- name: OIDC_TOKEN_URI
value: "{{ .Values.outline.auth.oidc.tokenUri }}"
- name: OIDC_USERINFO_URI
value: "{{ .Values.outline.auth.oidc.userinfoUri }}"
- name: OIDC_USERNAME_CLAIM
value: "{{ .Values.outline.auth.oidc.usernameClaim }}"
- name: OIDC_DISPLAY_NAME
value: "{{ .Values.outline.auth.oidc.displayName }}"
- name: OIDC_SCOPES
value: "{{ .Values.outline.auth.oidc.scopes }}"
{{- end }}
resources:
{{- toYaml .Values.deployment.resources | nindent 12 }}
{{- if eq .Values.persistence.type "local" }}
volumeMounts:
- name: "{{ .Release.Name }}-volume-claim"
mountPath: {{ .Values.persistence.local.localRootDir }}
volumes:
- name: "{{ .Release.Name }}-volume-claim"
persistentVolumeClaim:
claimName: "{{ .Release.Name }}-volume-claim"
{{- end }}

View File

@@ -0,0 +1,32 @@
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: outline-web
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: outline-web
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: outline
annotations:
{{- toYaml .Values.ingress.annotations | nindent 4 }}
spec:
ingressClassName: {{ .Values.ingress.className }}
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Release.Name }}-tls-secret
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: outline-web
port:
name: web
{{- end }}

View File

@@ -0,0 +1,20 @@
{{- if eq .Values.persistence.type "local" }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ .Release.Name }}-volume-claim
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: outline
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
app.kubernetes.io/part-of: outline
spec:
storageClassName: {{ .Values.persistence.local.storageClassName }}
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.persistence.local.storageSize }}
{{- end }}

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: outline
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: outline
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: outline

View File

@@ -0,0 +1,21 @@
apiVersion: v1
kind: Service
metadata:
name: outline-web
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: outline-web
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: outline
spec:
type: ClusterIP
ports:
- port: {{ .Values.service.web.port }}
targetPort: web
protocol: TCP
name: web
selector:
app.kubernetes.io/name: outline-web
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -0,0 +1,89 @@
deployment:
replicas: 1
strategy: Recreate
image:
repository: outlinewiki/outline
tag: "0.75.2"
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 256Mi
cpu: 50m
limits:
memory: 1Gi
cpu: 500m
service:
web:
port: 3000
ingress:
enabled: true
className: traefik
annotations:
host:
persistence:
type: s3
s3:
credentialsSecret: outline-s3-secret
region: us-east-1
bucketName: outline
endpoint:
uploadMaxSize: "26214400"
forcePathStyle: false
acl: private
local:
storageClassName: default
storageSize: 50Gi
localRootDir: /var/lib/outline/data
uploadMaxSize: 26214400
redis:
architecture: standalone
auth:
enabled: false
outline:
nodeEnv: production
url:
secretKey:
existingSecretName: outline-key-secret
existingSecretKey: secret-key
utilsSecret:
existingSecretName: outline-key-secret
existingSecretKey: utils-key
database:
passwordSecret:
existingSecretName: postgresql-outline-cluster-app
existingSecretKey: password
usernameSecret:
existingSecretName: postgresql-outline-cluster-app
existingSecretKey: username
databaseName: app
databaseHost: postgresql-outline-cluster-rw
connectionPoolMin: ""
connectionPoolMax: "20"
sslMode: disable
optional:
forceHttps: false
enableUpdates: false
webConcurrency: 1
maximumImportSize: 5120000
logLevel: info
defaultLanguage: en_US
rateLimiter:
enabled: false
requests: 1000
durationWindow: 60
developmentUnsafeInlineCsp: false
auth:
oidc:
enabled: true
clientId:
existingSecretName: outline-auth-secret
existingSecretKey: oidc-client-id
clientSecret:
existingSecretName: outline-auth-secret
existingSecretKey: oidc-client-secret
authUri:
tokenUri:
userinfoUri:
usernameClaim:
displayName:
scopes: openid profile email

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: postgres-cluster name: postgres-cluster
version: 0.2.1 version: 0.2.3
description: Chart for cloudnative-pg cluster description: Chart for cloudnative-pg cluster
keywords: keywords:
- database - database

View File

@@ -9,7 +9,6 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database app.kubernetes.io/component: database
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
spec: spec:
imageName: "{{ .Values.cluster.image.repository }}:{{ .Values.cluster.image.tag }}" imageName: "{{ .Values.cluster.image.repository }}:{{ .Values.cluster.image.tag }}"
instances: {{ .Values.cluster.instances }} instances: {{ .Values.cluster.instances }}
@@ -39,7 +38,7 @@ spec:
{{- toYaml .Values.bootstrap.initdb | nindent 6 }} {{- toYaml .Values.bootstrap.initdb | nindent 6 }}
{{- end }} {{- end }}
{{- if .Values.backup.recoveryEnabled }} {{- if .Values.bootstrap.recoveryEnabled }}
bootstrap: bootstrap:
recovery: recovery:
source: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.bootstrap.recoveryIndex }}" source: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.bootstrap.recoveryIndex }}"

View File

@@ -19,16 +19,16 @@ cluster:
hugepages-2Mi: 512Mi hugepages-2Mi: 512Mi
storage: storage:
data: data:
storageClass: ceph-block storageClass: default
size: 10Gi size: 10Gi
wal: wal:
storageClass: ceph-block storageClass: default
size: 2Gi size: 2Gi
bootstrap: bootstrap:
recoveryEnabled: false recoveryEnabled: false
recoveryIndex: 1 recoveryIndex: 1
endpointURL: https://nyc3.digitaloceanspaces.com endpointURL:
bucket: alexlebens.net bucket:
initdbEnabled: false initdbEnabled: false
initdb: initdb:
database: app database: app
@@ -38,5 +38,5 @@ backup:
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
retentionPolicy: 14d retentionPolicy: 14d
backupIndex: 1 backupIndex: 1
endpointURL: https://nyc3.digitaloceanspaces.com endpointURL:
bucket: alexlebens.net bucket: