Compare commits
31 Commits
postgres-c
...
outline-0.
Author | SHA1 | Date | |
---|---|---|---|
5d2cdc9648 | |||
99c106bd63 | |||
e6938fe645 | |||
7f5d870579 | |||
6cf2db87f4 | |||
537d9bd125 | |||
9627287f30 | |||
dd724b5b32 | |||
cd91a16c75 | |||
69900d3931 | |||
f80cec8c82 | |||
f3d629fe00 | |||
4d3574ffa8 | |||
f98268fd25 | |||
7514ea022e | |||
a65a0dbcec | |||
6bc5aea01f | |||
80940910a9 | |||
6895b078b5 | |||
27e70a1786 | |||
de21d07a5d | |||
58cc48724b | |||
8a357574e9 | |||
220e9e011b | |||
9483523eb8 | |||
ca205a8802 | |||
36267ada6f | |||
153b7a1ad2 | |||
9b30408661 | |||
947120d73c | |||
a62e24142c |
10
.github/renovate.json
vendored
10
.github/renovate.json
vendored
@@ -5,7 +5,7 @@
|
||||
"mergeConfidence:all-badges",
|
||||
":rebaseStalePrs"
|
||||
],
|
||||
"timezone": "US/Mountain",
|
||||
"timezone": "US/Central",
|
||||
"schedule": [
|
||||
"every weekday"
|
||||
],
|
||||
@@ -40,7 +40,7 @@
|
||||
},
|
||||
{
|
||||
"description": "Label service images",
|
||||
"matchPackageNames": [
|
||||
"matchDepNames": [
|
||||
"ghcr.io/alex1989hu/kubelet-serving-cert-approver",
|
||||
"ghcr.io/cloudnative-pg/postgresql",
|
||||
"redis/redis-stack-server"
|
||||
@@ -57,7 +57,7 @@
|
||||
},
|
||||
{
|
||||
"description": "Label service charts",
|
||||
"matchPackageNames": [
|
||||
"matchDepNames": [
|
||||
"elasticsearch",
|
||||
"redis"
|
||||
],
|
||||
@@ -73,7 +73,7 @@
|
||||
},
|
||||
{
|
||||
"description": "Label application images",
|
||||
"matchPackageNames": [
|
||||
"matchDepNames": [
|
||||
"bbilly1/tubearchivist-jf",
|
||||
"bbilly1/tubearchivist",
|
||||
"freshrss/freshrss",
|
||||
@@ -97,7 +97,7 @@
|
||||
},
|
||||
{
|
||||
"description": "Label application charts",
|
||||
"matchPackageNames": [],
|
||||
"matchDepNames": [],
|
||||
"matchDatasources": [
|
||||
"helm"
|
||||
],
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: calibre-server
|
||||
version: 0.0.6
|
||||
version: 0.0.8
|
||||
description: Chart for Calibre content database
|
||||
keywords:
|
||||
- media
|
||||
|
@@ -31,4 +31,5 @@ spec:
|
||||
- kind: Service
|
||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
namespace: {{ .Values.ingressRoute.authentik.namespace }}
|
||||
{{- end }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{{- if .Values.ingressRoute.enabled }}
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: "authentik-{{ .Release.Name }}"
|
||||
|
@@ -31,8 +31,9 @@ ingressRoute:
|
||||
http:
|
||||
host:
|
||||
authentik:
|
||||
outpost:
|
||||
outpost: ""
|
||||
port: 9000
|
||||
namespace: ""
|
||||
persistence:
|
||||
config:
|
||||
storageClassName: default
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: home-assistant
|
||||
version: 0.1.11
|
||||
version: 0.1.16
|
||||
description: Chart for Home Assistant
|
||||
keywords:
|
||||
- home-automation
|
||||
@@ -9,4 +9,4 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://avatars.githubusercontent.com/u/13844975?s=200&v=4
|
||||
appVersion: v2024.4.4
|
||||
appVersion: v2024.5.4
|
||||
|
@@ -18,7 +18,7 @@ spec:
|
||||
match: "Host(`{{ .Values.ingressRoute.host }}`)"
|
||||
middlewares:
|
||||
- name: "authentik-{{ .Release.Name }}"
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
priority: 10
|
||||
services:
|
||||
- kind: Service
|
||||
@@ -30,7 +30,8 @@ spec:
|
||||
services:
|
||||
- kind: Service
|
||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
namespace: {{ .Values.ingressRoute.authentik.namespace }}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
@@ -54,7 +55,7 @@ spec:
|
||||
match: "Host(`{{ .Values.codeserver.ingressRoute.host }}`)"
|
||||
middlewares:
|
||||
- name: "authentik-{{ .Release.Name }}"
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
priority: 10
|
||||
services:
|
||||
- kind: Service
|
||||
@@ -66,5 +67,6 @@ spec:
|
||||
services:
|
||||
- kind: Service
|
||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
namespace: {{ .Values.ingressRoute.authentik.namespace }}
|
||||
{{- end }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{{- if .Values.ingressRoute.enabled }}
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: "authentik-{{ .Release.Name }}"
|
||||
|
@@ -3,7 +3,7 @@ deployment:
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: homeassistant/home-assistant
|
||||
tag: 2024.4.4
|
||||
tag: 2024.5.4
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
TZ: UTC
|
||||
@@ -22,8 +22,9 @@ ingressRoute:
|
||||
enabled: true
|
||||
host:
|
||||
authentik:
|
||||
outpost:
|
||||
outpost: ""
|
||||
port: 9000
|
||||
namespace: ""
|
||||
metrics:
|
||||
enabled: false
|
||||
serviceMonitor:
|
||||
@@ -56,7 +57,7 @@ codeserver:
|
||||
enabled: false
|
||||
image:
|
||||
repository: linuxserver/code-server
|
||||
tag: 4.23.1
|
||||
tag: 4.89.1
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
TZ: UTC
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: homepage
|
||||
version: 0.0.12
|
||||
version: 0.0.15
|
||||
description: Chart for benphelps homepage
|
||||
keywords:
|
||||
- dashboard
|
||||
@@ -9,4 +9,4 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png
|
||||
appVersion: v0.8.12
|
||||
appVersion: v0.8.13
|
||||
|
@@ -30,3 +30,4 @@ spec:
|
||||
- kind: Service
|
||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
namespace: {{ .Values.ingressRoute.authentik.namespace }}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: "authentik-{{ .Release.Name }}"
|
||||
|
@@ -4,7 +4,7 @@ deployment:
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: ghcr.io/gethomepage/homepage
|
||||
tag: v0.8.12
|
||||
tag: v0.8.13
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
envFrom:
|
||||
@@ -19,10 +19,11 @@ service:
|
||||
http:
|
||||
port: 3000
|
||||
ingressRoute:
|
||||
host:
|
||||
host: ""
|
||||
authentik:
|
||||
outpost:
|
||||
outpost: ""
|
||||
port: 9000
|
||||
namespace: ""
|
||||
config:
|
||||
bookmarks:
|
||||
services:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: libation
|
||||
version: 0.0.6
|
||||
version: 0.0.7
|
||||
description: Import library from audible
|
||||
keywords:
|
||||
- audiobooks
|
||||
@@ -10,4 +10,4 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://getlibation.com/images/libation-logo.png
|
||||
appVersion: "11.1.0"
|
||||
appVersion: "11.3.13"
|
||||
|
@@ -2,7 +2,7 @@ job:
|
||||
schedule: "0 * * * *"
|
||||
image:
|
||||
repository: rmcrackan/libation
|
||||
tag: "11.1.0"
|
||||
tag: "11.3.13"
|
||||
pullPolicy: IfNotPresent
|
||||
persistence:
|
||||
config:
|
||||
|
15
charts/mysql-cluster/Chart.yaml
Normal file
15
charts/mysql-cluster/Chart.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
apiVersion: v2
|
||||
name: mysql-cluster
|
||||
version: 0.1.2
|
||||
description: Chart for a mysql cluster
|
||||
keywords:
|
||||
- database
|
||||
- mysql
|
||||
sources:
|
||||
- https://dev.mysql.com/
|
||||
- https://github.com/mysql/mysql-operator
|
||||
- https://github.com/mysql/mysql-operator/tree/trunk/helm/mysql-innodbcluster
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://avatars.githubusercontent.com/u/2452804?s=48&v=4
|
||||
appVersion: 8.3.0-2.1.2
|
17
charts/mysql-cluster/README.md
Normal file
17
charts/mysql-cluster/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
## Introduction
|
||||
|
||||
[MySQL Operator](https://dev.mysql.com/doc/mysql-operator/en/)
|
||||
|
||||
MySQL Operator for Kubernetes manages MySQL InnoDB Cluster setups inside a Kubernetes Cluster. MySQL Operator for Kubernetes manages the full lifecycle with setup and maintenance including automating upgrades and backups.
|
||||
|
||||
This chart bootstraps a [MySQL InnoDB](https://dev.mysql.com/doc/mysql-operator/en/mysql-operator-innodbcluster.html) cluster on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes
|
||||
- Helm
|
||||
- MySQL Operator
|
||||
|
||||
## Parameters
|
||||
|
||||
See the [values files](values.yaml).
|
72
charts/mysql-cluster/templates/_backup.tpl
Normal file
72
charts/mysql-cluster/templates/_backup.tpl
Normal file
@@ -0,0 +1,72 @@
|
||||
{{- define "cluster.backup" -}}
|
||||
|
||||
{{- if and .Values.backup.enabled .Values.backup.profiles }}
|
||||
backupProfiles:
|
||||
{{- $isDumpInstance := false }}
|
||||
{{- $isSnapshot := false }}
|
||||
{{- range $_, $profile := .Values.backup.profiles }}
|
||||
- name: {{ $profile.name | quote }}
|
||||
{{- if hasKey $profile "podAnnotations" }}
|
||||
podAnnotations:
|
||||
{{ toYaml $profile.podAnnotations | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if hasKey $profile "podLabels" }}
|
||||
podLabels:
|
||||
{{ toYaml $profile.podLabels | nindent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- $isDumpInstance = hasKey $profile "dumpInstance" }}
|
||||
{{- $isSnapshot = hasKey $profile "snapshot" }}
|
||||
{{- if or $isDumpInstance $isSnapshot }}
|
||||
|
||||
{{- $backupProfile := ternary $profile.dumpInstance $profile.snapshot $isDumpInstance }}
|
||||
{{- if $isDumpInstance }}
|
||||
dumpInstance:
|
||||
{{- else if $isSnapshot }}
|
||||
snapshot:
|
||||
{{- else }}
|
||||
{{- fail "Unsupported or unspecified backup type, must be either snapshot or dumpInstance" }}
|
||||
{{ end }}
|
||||
|
||||
{{- if not (hasKey $backupProfile "storage") }}
|
||||
{{- fail "backup profile $profile.name has no storage section" }}
|
||||
{{- else if hasKey $backupProfile.storage "s3" }}
|
||||
storage:
|
||||
s3:
|
||||
{{- if $backupProfile.storage.s3.prefix }}
|
||||
prefix: {{ $backupProfile.storage.s3.prefix }}
|
||||
{{- end }}
|
||||
bucketName: {{ required "bucketName is required" $backupProfile.storage.s3.bucketName }}
|
||||
config: {{ required "config is required" $backupProfile.storage.s3.config }}
|
||||
{{- if $backupProfile.storage.s3.profile }}
|
||||
profile: {{ $backupProfile.storage.s3.profile }}
|
||||
{{- end }}
|
||||
{{- if $backupProfile.storage.s3.endpoint }}
|
||||
endpoint: {{ $backupProfile.storage.s3.endpoint }}
|
||||
{{- end }}
|
||||
{{- else if hasKey $backupProfile.storage "persistentVolumeClaim" }}
|
||||
storage:
|
||||
persistentVolumeClaim: {{ toYaml $backupProfile.storage.persistentVolumeClaim | nindent 12}}
|
||||
{{- else -}}
|
||||
{{- fail "Backup profile $profile.name has empty storage section - neither s3 nor persistentVolumeClaim defined" }}
|
||||
{{- end -}}
|
||||
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.backup.schedules }}
|
||||
backupSchedules:
|
||||
{{- range $_, $schedule := .Values.backup.schedules }}
|
||||
- name: {{ $schedule.name | quote }}
|
||||
enabled: {{ $schedule.enabled }}
|
||||
schedule: {{ quote $schedule.schedule }}
|
||||
{{- if ($schedule).timeZone }}
|
||||
timeZone: {{ quote $schedule.timeZone }}
|
||||
{{- end }}
|
||||
deleteBackupData: {{ $schedule.deleteBackupData }}
|
||||
backupProfileName: {{ $schedule.backupProfileName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end }}
|
64
charts/mysql-cluster/templates/_helpers.tpl
Normal file
64
charts/mysql-cluster/templates/_helpers.tpl
Normal file
@@ -0,0 +1,64 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "cluster.name" -}}
|
||||
{{- if .Values.global.nameOverride }}
|
||||
{{- .Values.global.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-mysql-%s" .Release.Name ((semver .Values.cluster.image.version).Major | toString) | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "cluster.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Check for invalid versions
|
||||
*/}}
|
||||
{{- $minimalVersion := "8.0.27" }}
|
||||
{{- $forbiddenVersions := list "8.0.29" }}
|
||||
{{- $serverVersion := .Values.serverVersion | default .Chart.AppVersion }}
|
||||
{{- if lt $serverVersion $minimalVersion }}
|
||||
{{- $err := printf "It is not possible to use MySQL version %s . Please, use %s or above" $serverVersion $minimalVersion }}
|
||||
{{- fail $err }}
|
||||
{{- end }}
|
||||
{{- if has $serverVersion $forbiddenVersions }}
|
||||
{{- $err := printf "It is not possible to use MySQL version %s . Please, use %s or above except %v" $serverVersion $minimalVersion $forbiddenVersions }}
|
||||
{{- fail $err }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "cluster.labels" -}}
|
||||
helm.sh/chart: {{ include "cluster.chart" . }}
|
||||
{{ include "cluster.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "cluster.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "cluster.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: cloudnative-pg
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use.
|
||||
*/}}
|
||||
{{- define "mysql.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.enabled -}}
|
||||
{{ default (include "cluster.name" .) .Values.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
47
charts/mysql-cluster/templates/_init.tpl
Normal file
47
charts/mysql-cluster/templates/_init.tpl
Normal file
@@ -0,0 +1,47 @@
|
||||
{{- define "cluster.init" -}}
|
||||
|
||||
{{- if eq .Values.mode "clone" }}
|
||||
{{- with .Values.clone }}
|
||||
initDB:
|
||||
clone:
|
||||
donorUrl: {{ required "clone donorUrl is required" .donorUrl }}
|
||||
rootUser: {{ .rootUser | default "root" }}
|
||||
secretKeyRef:
|
||||
name: {{ required "clone credentials is required" .exisitingCredentialsSecret }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if eq .Values.mode "recovery" }}
|
||||
{{- with .Values.recovery }}
|
||||
initDB:
|
||||
dump:
|
||||
{{- if .name }}
|
||||
name: {{ .name | quote }}
|
||||
{{- end }}
|
||||
{{- if .path }}
|
||||
path: {{ .path | quote }}
|
||||
{{- end }}
|
||||
{{- if .options }}
|
||||
options: {{ toYaml .options | nindent 8 }}
|
||||
{{- end }}
|
||||
storage:
|
||||
{{- if eq .type "s3" }}
|
||||
s3:
|
||||
prefix: {{ required "s3 prefix is required" .s3.prefix }}
|
||||
bucketName: {{ required "s3 bucketName is required" .s3.bucketName }}
|
||||
config: {{ required "s3 config is required" .s3.config }}
|
||||
{{- if .s3.profile }}
|
||||
profile: {{ .s3.profile }}
|
||||
{{- end }}
|
||||
{{- if .s3.endpoint }}
|
||||
endpoint: {{ .s3.endpoint }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if eq .type "pvc" }}
|
||||
persistentVolumeClaim:
|
||||
{{ toYaml .persistentVolumeClaim | nindent 10}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end }}
|
75
charts/mysql-cluster/templates/deployment.yaml
Normal file
75
charts/mysql-cluster/templates/deployment.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
apiVersion: mysql.oracle.com/v2
|
||||
kind: InnoDBCluster
|
||||
metadata:
|
||||
name: {{ include "cluster.name" . }}-cluster
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "cluster.labels" . | nindent 4 }}
|
||||
{{- include "cluster.selectorLabels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
instances: {{ required "serverInstances is required" .Values.cluster.serverInstances }}
|
||||
baseServerId: {{ required "baseServerId is required" .Values.cluster.baseServerId }}
|
||||
serviceAccountName: {{ include "mysql.serviceAccountName" . }}
|
||||
imagePullPolicy : {{ .Values.cluster.image.pullPolicy }}
|
||||
version: {{ .Values.cluster.image.version }}
|
||||
tlsUseSelfSigned: true
|
||||
secretName: {{ .Values.cluster.exisitingCredentialsSecret }}
|
||||
podSpec:
|
||||
{{- with .Values.cluster.podSpec }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
podAnnotations:
|
||||
{{- with .Values.cluster.podAnnotations }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
podLabels:
|
||||
{{- with .Values.cluster.podLabels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
router:
|
||||
instances: {{ required "router.instances is required" .Values.cluster.router.instances }}
|
||||
podSpec:
|
||||
{{- with .Values.cluster.router.podSpec }}
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
podAnnotations:
|
||||
{{- with .Values.cluster.router.podAnnotations }}
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
podLabels:
|
||||
{{- with .Values.cluster.router.podLabels }}
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
tlsSecretName: {{ include "cluster.name" . }}-router-tls
|
||||
logs:
|
||||
{{- with .Values.cluster.logs }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
mycnf: |
|
||||
{{ .Values.cluster.serverConfig.mycnf | indent 4 }}
|
||||
{{- if .Values.cluster.datadirVolumeClaimTemplate }}
|
||||
{{- with .Values.cluster.datadirVolumeClaimTemplate }}
|
||||
datadirVolumeClaimTemplate:
|
||||
{{- if .storageClassName }}
|
||||
storageClassName: {{ .storageClassName | quote }}
|
||||
{{- end}}
|
||||
{{- if .accessModes }}
|
||||
accessModes: [ "{{ .accessModes }}" ]
|
||||
{{- end }}
|
||||
{{- if .size }}
|
||||
resources:
|
||||
requests:
|
||||
storage: "{{ .size }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{ include "cluster.init" . | nindent 2 }}
|
||||
{{ include "cluster.backup" . | nindent 2 }}
|
21
charts/mysql-cluster/templates/service-account.yaml
Normal file
21
charts/mysql-cluster/templates/service-account.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "mysql.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{- include "cluster.labels" . | nindent 4 }}
|
||||
{{- include "cluster.selectorLabels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.serviceAccount.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
147
charts/mysql-cluster/values.yaml
Normal file
147
charts/mysql-cluster/values.yaml
Normal file
@@ -0,0 +1,147 @@
|
||||
global:
|
||||
nameOverride:
|
||||
labels: {}
|
||||
annotations: {}
|
||||
|
||||
serviceAccount:
|
||||
enabled: true
|
||||
labels: {}
|
||||
annotations: {}
|
||||
name: ""
|
||||
|
||||
###
|
||||
# Cluster mode of operation. Available modes:
|
||||
# * `standalone` - Default mode. Creates new or updates an existing cluster.
|
||||
# * `recovery` - Same as standalone but creates a cluster from a backup
|
||||
# * `clone` - Create database as a replica from another cluster
|
||||
mode: standalone
|
||||
|
||||
##
|
||||
# Cluster spec
|
||||
#
|
||||
# Reference: https://dev.mysql.com/doc/mysql-operator/en/mysql-operator-properties.html#mysql-operator-spec-innodbclusterspecinitdbdumpstorages3
|
||||
#
|
||||
cluster:
|
||||
serverInstances: 1
|
||||
baseServerId: 1000
|
||||
|
||||
# Existing secret that contains the keys "rootUser", "rootHost", and "rootPassword"
|
||||
exisitingCredentialsSecret: ""
|
||||
|
||||
image:
|
||||
version: 8.3.0-2.1.2
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
router:
|
||||
instances: 1
|
||||
podSpec: {}
|
||||
podAnnotations: {}
|
||||
podLabels: {}
|
||||
|
||||
logs:
|
||||
error:
|
||||
enabled: true
|
||||
collect: false
|
||||
general:
|
||||
enabled: false
|
||||
collect: false
|
||||
slowQuery:
|
||||
enabled: false
|
||||
longQueryTime: 2.5
|
||||
|
||||
serverConfig:
|
||||
mycnf: |
|
||||
[mysqld]
|
||||
core_file
|
||||
local_infile=off
|
||||
|
||||
datadirVolumeClaimTemplate:
|
||||
storageClassName: ""
|
||||
accessModes: ""
|
||||
size: ""
|
||||
|
||||
podSpec:
|
||||
containers:
|
||||
- name: mysql
|
||||
resources:
|
||||
limits:
|
||||
memory: 1024Mi
|
||||
cpu: 1000m
|
||||
requests:
|
||||
memory: 512Mi
|
||||
cpu: 100m
|
||||
podAnnotations: {}
|
||||
podLabels: {}
|
||||
|
||||
##
|
||||
# Recovery database from storage
|
||||
#
|
||||
recovery:
|
||||
|
||||
# * `s3` - Restores from s3 object store
|
||||
# * `pvc` - Restores from persistent volume claim
|
||||
type:
|
||||
|
||||
# -- Name of the dump. Not used by the operator, but a descriptive hint for the cluster administrator
|
||||
name: ""
|
||||
# -- Path to the dump in the PVC. Use when specifying persistentVolumeClaim. Omit for ociObjectStorage, S3, or azure.
|
||||
path: ""
|
||||
# -- A dictionary of key-value pairs passed directly to MySQL Shell's loadDump()
|
||||
options: {}
|
||||
|
||||
s3:
|
||||
# -- Path in the bucket where the dump files are stored
|
||||
prefix: ""
|
||||
# -- Name of a Secret with S3 configuration and credentials as contained in ~/.aws/config
|
||||
config: ""
|
||||
# -- Name of the S3 bucket where the dump is stored
|
||||
bucketName: ""
|
||||
# -- Override endpoint URL
|
||||
endpoint: ""
|
||||
|
||||
persistentVolumeClaim: {}
|
||||
|
||||
##
|
||||
# Clone database from another instance
|
||||
#
|
||||
clone:
|
||||
donorUrl: ""
|
||||
rootUser: root
|
||||
exisitingCredentialsSecret: ""
|
||||
|
||||
##
|
||||
# Backup database to pvc or s3
|
||||
#
|
||||
backup:
|
||||
enabled: false
|
||||
profiles:
|
||||
|
||||
## -- Example profile that back ups to local pvc
|
||||
|
||||
# - name: pvc-backup
|
||||
# dumpInstance:
|
||||
# storage:
|
||||
# persistentVolumeClaim:
|
||||
# claimName: backup-volume-claim
|
||||
|
||||
## -- Example profile that back ups to s3 endpoint
|
||||
|
||||
# - name: s3-backup
|
||||
# snapshot:
|
||||
# storage:
|
||||
# s3:
|
||||
# prefix: ""
|
||||
# config: ""
|
||||
# bucketName: ""
|
||||
# endpoint: ""
|
||||
|
||||
schedules:
|
||||
|
||||
## -- Example schedule that backups daily
|
||||
|
||||
# - name: schedule-daily
|
||||
# enabled: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# timeZone: "US/Central"
|
||||
# deleteBackupData: false
|
||||
# backupProfileName:
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: outline
|
||||
version: 0.5.3
|
||||
version: 0.6.3
|
||||
description: Chart for Outline wiki
|
||||
keywords:
|
||||
- wiki
|
||||
@@ -14,5 +14,5 @@ icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
|
||||
dependencies:
|
||||
- name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 19.1.3
|
||||
appVersion: v0.75.2
|
||||
version: 19.3.4
|
||||
appVersion: v0.76.1
|
||||
|
@@ -3,7 +3,7 @@ deployment:
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: outlinewiki/outline
|
||||
tag: "0.75.2"
|
||||
tag: "0.76.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
resources:
|
||||
requests:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: postgres-cluster
|
||||
version: 2.5.0
|
||||
version: 3.1.0
|
||||
description: Chart for cloudnative-pg cluster
|
||||
keywords:
|
||||
- database
|
||||
|
@@ -3,7 +3,7 @@
|
||||
backup:
|
||||
retentionPolicy: {{ .Values.backup.retentionPolicy }}
|
||||
barmanObjectStore:
|
||||
destinationPath: "s3://{{ .Values.backup.endpointBucket }}/{{ .Values.kubernetesClusterName }}/{{ include "cluster.backupName" . }}"
|
||||
destinationPath: {{ .Values.backup.destinationPath }}
|
||||
endpointURL: {{ .Values.backup.endpointURL }}
|
||||
{{- if .Values.backup.endpointCA }}
|
||||
endpointCA:
|
||||
|
@@ -63,7 +63,7 @@ externalClusters:
|
||||
- name: {{ include "cluster.recoveryServerName" . }}
|
||||
barmanObjectStore:
|
||||
serverName: {{ include "cluster.recoveryServerName" . }}
|
||||
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.recoveryInstanceName" . }}"
|
||||
destinationPath: {{ .Values.recovery.destinationPath }}
|
||||
endpointURL: {{ .Values.recovery.endpointURL }}
|
||||
{{- with .Values.recovery.endpointCA }}
|
||||
endpointCA:
|
||||
|
@@ -15,15 +15,12 @@ type: postgresql
|
||||
# * `replica` - Create database as a replica from another CNPG cluster
|
||||
mode: standalone
|
||||
|
||||
# Generates bucket name and path for recovery and backup, creates: <endpointBucket>/<clusterName>/postgresql/{{ .Release.Name }}
|
||||
kubernetesClusterName: ""
|
||||
|
||||
cluster:
|
||||
instances: 3
|
||||
|
||||
image:
|
||||
repository: ghcr.io/cloudnative-pg/postgresql
|
||||
tag: "16.2"
|
||||
tag: "16.3"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# The UID and GID of the postgres user inside the image
|
||||
@@ -84,7 +81,8 @@ cluster:
|
||||
# BootstrapInitDB is the configuration of the bootstrap process when initdb is used.
|
||||
# See: https://cloudnative-pg.io/documentation/current/bootstrap/
|
||||
# See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb
|
||||
initdb: {}
|
||||
initdb:
|
||||
{}
|
||||
# database: app
|
||||
# owner: app
|
||||
# secret: "" # Name of the secret containing the initial credentials for the owner of the user database. If empty a new secret will be created from scratch
|
||||
@@ -96,10 +94,9 @@ recovery:
|
||||
pitrTarget:
|
||||
time: ""
|
||||
|
||||
# Overrides the provider specific default endpoint. Defaults to:
|
||||
# S3: https://s3.<region>.amazonaws.com"
|
||||
# S3 https endpoint and the s3:// path
|
||||
endpointURL: ""
|
||||
endpointBucket: ""
|
||||
destinationPath: ""
|
||||
|
||||
# Specifies secret that contains a CA bundle to validate a privately signed certificate, should contain the key ca-bundle.crt
|
||||
endpointCA: ""
|
||||
@@ -140,7 +137,7 @@ replica:
|
||||
# If type microservice only one database is allowed, default is app as standard in cnpg clusters
|
||||
importDatabases:
|
||||
- app
|
||||
|
||||
|
||||
# If type microservice no roles are imported and ignored
|
||||
importRoles: []
|
||||
|
||||
@@ -160,9 +157,11 @@ replica:
|
||||
backup:
|
||||
enabled: false
|
||||
|
||||
# Overrides the provider specific default endpoint
|
||||
# S3 endpoint starting with "https://"
|
||||
endpointURL: ""
|
||||
endpointBucket: ""
|
||||
|
||||
# S3 path starting with "s3://"
|
||||
destinationPath: ""
|
||||
|
||||
# Specifies secret that contains a CA bundle to validate a privately signed certificate, should contain the key ca-bundle.crt
|
||||
endpointCA: ""
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: taiga
|
||||
version: 0.2.1
|
||||
version: 0.2.3
|
||||
description: Chart for Taiga
|
||||
keywords:
|
||||
- kanban
|
||||
@@ -14,11 +14,11 @@ maintainers:
|
||||
icon: https://avatars.githubusercontent.com/u/6905422?s=200&v=4
|
||||
dependencies:
|
||||
- name: rabbitmq
|
||||
version: 14.0.2
|
||||
version: 14.1.5
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
alias: async-rabbitmq
|
||||
- name: rabbitmq
|
||||
version: 14.0.2
|
||||
version: 14.1.5
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
alias: events-rabbitmq
|
||||
appVersion: 6.7.7
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: tdarr
|
||||
version: 0.0.5
|
||||
version: 0.0.6
|
||||
description: Chart for Tdarr V2
|
||||
keywords:
|
||||
- video
|
||||
@@ -15,4 +15,4 @@ dependencies:
|
||||
- name: tdarr-exporter
|
||||
version: 1.1.1
|
||||
repository: https://homeylab.github.io/helm-charts/
|
||||
appVersion: "2.17.01"
|
||||
appVersion: "2.18.02"
|
||||
|
@@ -21,7 +21,7 @@ server:
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: ghcr.io/haveagitgat/tdarr
|
||||
tag: "2.17.01"
|
||||
tag: "2.18.02"
|
||||
pullPolicy: IfNotPresent
|
||||
env: []
|
||||
envFrom: []
|
||||
@@ -58,7 +58,7 @@ node:
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: ghcr.io/haveagitgat/tdarr_node
|
||||
tag: "2.17.01"
|
||||
tag: "2.18.02"
|
||||
pullPolicy: IfNotPresent
|
||||
env: []
|
||||
envFrom: []
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: tubearchivist
|
||||
version: 0.2.5
|
||||
version: 0.2.9
|
||||
description: Chart for Tube Archivist
|
||||
keywords:
|
||||
- download
|
||||
@@ -14,9 +14,9 @@ maintainers:
|
||||
icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4
|
||||
dependencies:
|
||||
- name: redis
|
||||
version: 19.1.3
|
||||
version: 19.3.4
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
- name: elasticsearch
|
||||
version: 21.0.1
|
||||
version: 21.0.6
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
appVersion: v0.4.7
|
||||
|
Reference in New Issue
Block a user