mirror of
https://github.com/requarks/wiki.git
synced 2026-08-26 13:17:10 -05:00
* fix(helm): Replace Bitnami PostgreSQL chart with custom StatefulSet (#7831) * refactor: migrate from Bitnami PostgreSQL to official PostgreSQL image Replace Bitnami PostgreSQL dependency with custom PostgreSQL StatefulSet implementation Add new PostgreSQL templates: statefulset, service, and PVC Update values.yaml to include PostgreSQL image configuration with official postgres:17.4 image Implement custom PostgreSQL deployment using official Docker Hub image instead of Bitnami chart Add PostgreSQL resource, nodeSelector, tolerations, and affinity configuration options Update helper templates to support new PostgreSQL implementation Update deployment template to connect to the new PostgreSQL implementation Update README.md to document the new PostgreSQL configuration parameters BREAKING CHANGE: This replaces the Bitnami PostgreSQL dependency with a custom PostgreSQL implementation using the official PostgreSQL image from Docker Hub, changing how PostgreSQL is deployed and configured. Signed-off-by: Ilya Gilev jazer23569@gmail.com * feature: added a option to use an existing secret for postresql installation --------- Signed-off-by: Ilya Gilev jazer23569@gmail.com * refactor(helm): adjust helm templates for clarity --------- Signed-off-by: Ilya Gilev jazer23569@gmail.com Co-authored-by: acidsugarx <58903233+acidsugarx@users.noreply.github.com>
253 lines
6.6 KiB
YAML
253 lines
6.6 KiB
YAML
# Default values for wiki.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
replicaCount: 1
|
|
revisionHistoryLimit: 2
|
|
|
|
image:
|
|
repository: requarks/wiki
|
|
imagePullPolicy: IfNotPresent
|
|
|
|
imagePullSecrets: []
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name:
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
|
|
startupProbe:
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
|
|
podAnnotations: {}
|
|
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 80
|
|
# Annotations applied for services such as externalDNS or
|
|
# service type LoadBalancer
|
|
# type: LoadBalancer
|
|
# annotations: {}
|
|
# loadBalancerIP: 172.16.0.1
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: ""
|
|
annotations: {}
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: "true"
|
|
hosts:
|
|
- host: wiki.minikube.local
|
|
paths:
|
|
- path: "/"
|
|
pathType: Prefix
|
|
|
|
tls: []
|
|
# - secretName: chart-example-tls
|
|
# hosts:
|
|
# - chart-example.local
|
|
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
volumeMounts: []
|
|
|
|
volumes: []
|
|
|
|
# This will allow us to install locales even without internet access using a initContainer & Wiki.js "sideloading"
|
|
sideload:
|
|
enabled: false
|
|
# Git-Repo containing all locales.json-files you need:
|
|
repoURL: https://github.com/requarks/wiki-localization
|
|
|
|
## This can be helpfull if you have internet access over a http proxy:
|
|
env: []
|
|
# - name: HTTPS_PROXY
|
|
# value: http://my.proxy.com:3128
|
|
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
## Append extra trusted certificates for node process from extra volume via NODE_EXTRA_CA_CERTS variable
|
|
# nodeExtraCaCerts: "/path/to/certs.pem"
|
|
|
|
## Additional environment variables to set
|
|
extraEnvVars: []
|
|
# extraEnvVars:
|
|
# - name: CUSTOM_VAR
|
|
# value: "custom_value"
|
|
# - name: SECRET_VAR
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: my-secret
|
|
# key: secret-key
|
|
|
|
## This will override the postgresql chart values
|
|
# externalPostgresql:
|
|
# # note: ?sslmode=require => ?ssl=true
|
|
# databaseURL: postgresql://postgres:postgres@postgres:5432/wiki?ssl=true
|
|
# # For self signed CAs, like DigitalOcean
|
|
# NODE_TLS_REJECT_UNAUTHORIZED: "0"
|
|
|
|
## Configuration for the custom PostgreSQL 18 deployment
|
|
##
|
|
postgresql:
|
|
enabled: true
|
|
## ssl enforce SSL communication with PostgresSQL
|
|
## Default to false
|
|
##
|
|
ssl: false
|
|
## ca Certificate of Authority
|
|
## Default to empty, point to location of CA
|
|
##
|
|
# ca: "path to ca"
|
|
## postgresqlHost override postgres database host
|
|
## Default to the service name of the custom PostgreSQL deployment
|
|
##
|
|
postgresqlHost: "{{ include \"wiki.postgresql.fullname\" . }}"
|
|
## postgresqlPort port for postgres
|
|
## Default to 5432
|
|
##
|
|
postgresqlPort: 5432
|
|
## PostgreSQL User to create.
|
|
##
|
|
postgresqlUser: postgres
|
|
## PostgreSQL Database to create.
|
|
##
|
|
postgresqlDatabase: wiki
|
|
## PostgreSQL password (will be stored in a secret)
|
|
##
|
|
postgresqlPassword: "postgres"
|
|
|
|
## Use existing secret for PostgreSQL credentials
|
|
## If set, the chart will not create a new secret and will use the existing one
|
|
##
|
|
# existingSecret: "my-existing-postgres-secret"
|
|
|
|
## Key in the existing secret containing the password
|
|
##
|
|
# existingSecretKey: "postgresql-password"
|
|
|
|
## Key in the existing secret containing the username (defaults to "postgresql-username")
|
|
##
|
|
# existingSecretUserKey: "postgresql-username"
|
|
|
|
## Persistent Volume Storage configuration.
|
|
## ref: https://kubernetes.io/docs/user-guide/persistent-volumes
|
|
##
|
|
persistence:
|
|
## Enable PostgreSQL persistence using Persistent Volume Claims.
|
|
##
|
|
enabled: true
|
|
## concourse data Persistent Volume Storage Class
|
|
## If defined, storageClassName: <storageClass>
|
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
## If undefined (the default) or set to null, no storageClassName spec is
|
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
## GKE, AWS & OpenStack)
|
|
##
|
|
# storageClass: "-"
|
|
## Persistent Volume Access Mode.
|
|
##
|
|
accessMode: ReadWriteOnce
|
|
## Persistent Volume Storage Size.
|
|
##
|
|
size: 8Gi
|
|
|
|
## PostgreSQL Image Configuration
|
|
image:
|
|
repository: postgres
|
|
tag: "18"
|
|
pullPolicy: IfNotPresent
|
|
|
|
## PostgreSQL Resources Configuration
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
## PostgreSQL Node Selector, Tolerations and Affinity
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
## PostgreSQL Service Configuration
|
|
service:
|
|
type: ClusterIP
|
|
port: 5432
|
|
# Additional service annotations
|
|
annotations: {}
|