diff --git a/argocd/overlays/argocd-cm.patch copy.yaml b/argocd/overlays/argocd-cm.patch copy.yaml deleted file mode 100644 index d428658..0000000 --- a/argocd/overlays/argocd-cm.patch copy.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: argocd-cm - labels: - app.kubernetes.io/name: argocd-cm - app.kubernetes.io/part-of: argocd -data: - # kustomize.buildOptions: "--enable-helm" - resource.exclusions: | - - apiGroups: - - "velero.io" - kinds: - - "Backup" \ No newline at end of file diff --git a/disable/backup-schedule.yaml b/disable/backup-schedule.yaml deleted file mode 100644 index 69f08fd..0000000 --- a/disable/backup-schedule.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: velero.io/v1 -kind: Schedule -metadata: - name: daily-backup - namespace: velero - annotations: - velero.io/csi-volumesnapshot-class_driver.longhorn.io: "longhorn-backup-vsc" -spec: - schedule: "0 1 * * *" # Daily at 1 AM - template: - # includedNamespaces: - # - immich - # - nextcloud - # - home-assistant - # - ttrss - ttl: 30d # 30 days - defaultVolumesToFsBackup: true ---- -apiVersion: velero.io/v1 -kind: Schedule -metadata: - name: weekly-backup - namespace: velero - annotations: - velero.io/csi-volumesnapshot-class_driver.longhorn.io: "longhorn-backup-vsc" -spec: - schedule: "0 0 * * 0" # Weekly on Sunday at midnight - template: - # includedNamespaces: - # - immich - # - nextcloud - # - home-assistant - # - ttrss - ttl: 90d # 90 days - defaultVolumesToFsBackup: true \ No newline at end of file diff --git a/disable/blog-helm.yaml b/disable/blog-helm.yaml deleted file mode 100644 index 1be9fb4..0000000 --- a/disable/blog-helm.yaml +++ /dev/null @@ -1,131 +0,0 @@ -# apiVersion: argoproj.io/v1alpha1 -# kind: Application -# metadata: -# name: blog-helm -# namespace: argocd -# finalizers: -# - resources-finalizer.argocd.argoproj.io -# spec: -# destination: -# namespace: blog -# server: https://kubernetes.default.svc -# project: default -# source: -# repoURL: registry-1.docker.io/bitnamicharts -# targetRevision: 19.9.0 -# chart: ghost -# helm: -# values: | -# image: -# # repository: ghost -# # tag: 5.114.1 -# debug: true -# ghostUsername: Ruben -# ## @param existingSecret Name of existing secret containing Ghost credentials -# ## NOTE: Must contain key `ghost-password` -# ## NOTE: When it's set, the `ghostPassword` parameter is ignored -# existingSecret: ghost-es -# ghostEmail: ruben@hensen.io -# ghostBlogTitle: Catch && Compile -# ghostHost: "blog.hensen.io" -# ghostPath: / -# ghostEnableHttps: true -# ## SMTP mail delivery configuration -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/ghost/#smtp-configuration -# ## @param smtpHost SMTP server host -# ## @param smtpPort SMTP server port -# ## @param smtpUser SMTP username -# ## @param smtpPassword SMTP user password -# ## @param smtpService SMTP service -# ## @param smtpProtocol SMTP protocol (ssl or tls) -# ## -# smtpHost: smtp.hostinger.com -# smtpPort: 587 -# smtpUser: ruben@hensen.io -# smtpPassword: "ignored-but-hast-to-exist-else-password-isnt-passed" -# smtpProtocol: tls -# smtpService: hostinger -# ## @param smtpExistingSecret The name of an existing secret with SMTP credentials -# ## NOTE: Must contain key `smtp-password` -# ## NOTE: When it's set, the `smtpPassword` parameter is ignored -# ## -# ## @param extraEnvVars Array with extra environment variables to add to the Ghost container -# ## e.g: -# ## extraEnvVars: -# ## - name: FOO -# ## value: "bar" -# ## -# # extraEnvVars: -# # - name: mail__options__secure -# # value: "false" -# ## @param allowEmptyPassword Allow the container to be started with blank passwords -# allowEmptyPassword: false -# resourcesPreset: "micro" -# containerPorts: -# http: 2368 -# https: 2368 -# service: -# type: ClusterIP -# ports: -# http: 80 -# https: 443 -# ingress: -# enabled: true -# ingressClassName: nginx -# hostname: blog.hensen.io -# path: / -# annotations: -# cert-manager.io/cluster-issuer: prod-cluster-issuer -# nginx.ingress.kubernetes.io/proxy-body-size: 1G -# tls: true -# tlsWwwPrefix: false -# selfSigned: false -# persistence: -# enabled: true -# accessModes: -# - ReadWriteOnce -# size: 8Gi -# mysql: -# enabled: true -# architecture: standalone -# ## MySQL Authentication parameters -# ## @param mysql.auth.rootPassword MySQL root password -# ## @param mysql.auth.database MySQL custom database -# ## @param mysql.auth.username MySQL custom user name -# ## @param mysql.auth.password MySQL custom user password -# ## @param mysql.auth.existingSecret Existing secret with MySQL credentials -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run -# ## https://github.com/bitnami/containers/tree/main/bitnami/mysql/#creating-a-database-on-first-run -# ## https://github.com/bitnami/containers/tree/main/bitnami/mysql/#creating-a-database-user-on-first-run -# auth: -# database: bitnami_ghost -# username: bn_ghost -# existingSecret: ghost-es -# primary: -# ## MySQL Primary Persistence parameters -# ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ -# ## @param mysql.primary.persistence.enabled Enable persistence on MySQL using PVC(s) -# ## @param mysql.primary.persistence.storageClass Persistent Volume storage class -# ## @param mysql.primary.persistence.accessModes [array] Persistent Volume access modes -# ## @param mysql.primary.persistence.size Persistent Volume size -# ## -# persistence: -# enabled: true -# storageClass: "" -# accessModes: -# - ReadWriteOnce -# size: 8Gi -# ## MySQL primary container's resource requests and limits -# ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -# ## 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:'. -# ## @param mysql.primary.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if primary.resources is set (primary.resources is recommended for production) -# resourcesPreset: "small" - -# syncPolicy: -# syncOptions: -# - CreateNamespace=true -# automated: -# selfHeal: true diff --git a/disable/daily-backup2 copy.yaml b/disable/daily-backup2 copy.yaml deleted file mode 100644 index cce8567..0000000 --- a/disable/daily-backup2 copy.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: velero.io/v1 -kind: Schedule -metadata: - name: daily-backup3 -spec: - schedule: "*/1 * * * *" # Daily at 1 AM - template: - ttl: 1h # 30 days - defaultVolumesToFsBackup: true - snapshotVolumes: true - snapshotMoveData: true - includedNamespaces: - - ttrss \ No newline at end of file diff --git a/disable/ente-photos-folder.yaml b/disable/ente-photos-folder.yaml deleted file mode 100644 index 2a79ca9..0000000 --- a/disable/ente-photos-folder.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: ente-photos-folder -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: ente-photos - destination: - server: https://kubernetes.default.svc - namespace: ente-photos - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true diff --git a/disable/ente-photos/custom-logs-persistentvolumeclaim.yaml b/disable/ente-photos/custom-logs-persistentvolumeclaim.yaml deleted file mode 100644 index 5f0b6a8..0000000 --- a/disable/ente-photos/custom-logs-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: custom-logs - name: custom-logs -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ente-photos/ente-deployment.yaml b/disable/ente-photos/ente-deployment.yaml deleted file mode 100644 index 73f965b..0000000 --- a/disable/ente-photos/ente-deployment.yaml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: museum -spec: - replicas: 1 - selector: - matchLabels: - app: ente - strategy: - type: Recreate - template: - metadata: - labels: - app: ente - spec: - containers: - - env: - - name: ENTE_DB_HOST - value: "helm-postgresql" - - name: ENTE_DB_PORT - value: "5432" - - name: ENTE_DB_NAME - value: "ente_db" - - name: ENTE_DB_USER - value: "pguser" - - name: ENTE_DB_PASSWORD - valueFrom: - secretKeyRef: - name: ente-photos-config - key: pgpass - - name: ENTE_S3_ARE_LOCAL_BUCKETS - value: "false" - - name: ENTE_S3_ENTE-PHOTOS_KEY - value: "ente-photos-user" - - name: ENTE_S3_ENTE-PHOTOS_SECRET - valueFrom: - secretKeyRef: - name: ente-photos-config - key: miniopass - - name: ENTE_S3_ENTE-PHOTOS_ENDPOINT - value: "minio.hensen.io:3200" - - name: ENTE_S3_ENTE-PHOTOS_REGION - value: "nl" - - name: ENTE_S3_ENTE-PHOTOS_BUCKET - value: "ente-photos" - image: ghcr.io/ente-io/server - name: museum - # command: [ "sh", "-c"] - # # loop forever, outputting "yo" every 5 seconds - # args: ["while true; do echo 'yo' && sleep 5; done;"] - ports: - - containerPort: 8080 - protocol: TCP - - containerPort: 2112 - protocol: TCP - volumeMounts: - - mountPath: /var/logs - name: custom-logs - - mountPath: /museum.yaml - name: museum-claim1 - readOnly: true - - mountPath: /data - name: museum-claim3 - readOnly: true - # - args: - # - TCP-LISTEN:3200,fork,reuseaddr - # - TCP:minio:3200 - # image: alpine/socat - # name: socat - restartPolicy: Always - volumes: - - name: custom-logs - persistentVolumeClaim: - claimName: custom-logs - - name: museum-claim1 - persistentVolumeClaim: - claimName: museum-claim1 - readOnly: true - - name: museum-claim3 - persistentVolumeClaim: - claimName: museum-claim3 - readOnly: true \ No newline at end of file diff --git a/disable/ente-photos/ente-ingress.yaml b/disable/ente-photos/ente-ingress.yaml deleted file mode 100644 index a1b657d..0000000 --- a/disable/ente-photos/ente-ingress.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: ente-server-ingress - annotations: - # nginx.ingress.kubernetes.io/rewrite-target: / - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "false" - nginx.ingress.kubernetes.io/enable-cors: "true" - nginx.ingress.kubernetes.io/cors-allow-origin: "http://localhost:3000/" - nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS, DELETE" - # If you encounter a redirect loop or are getting a 307 response code - # then you need to force the nginx ingress to connect to the backend using HTTPS. - # - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - namespace: ente-photos -spec: - ingressClassName: nginx - rules: - - host: ente-server.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: ente-service - port: - name: "eightyeighty" - - # TLS configuration for HTTPS - tls: - # TLS secretName used on ClusterIssuer - - secretName: letsencrypt-prod - hosts: - - ente-server.hensen.io \ No newline at end of file diff --git a/disable/ente-photos/ente-photos-es.yaml b/disable/ente-photos/ente-photos-es.yaml deleted file mode 100644 index feb1be8..0000000 --- a/disable/ente-photos/ente-photos-es.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: template -spec: - refreshInterval: "15s" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: ente-photos-config - data: - - secretKey: pgpass - remoteRef: - key: ente-photos-postgres - property: password - - secretKey: miniopass - remoteRef: - key: minio-ente-photos-user - property: password - diff --git a/disable/ente-photos/ente-web-deployment.yaml b/disable/ente-photos/ente-web-deployment.yaml deleted file mode 100644 index 933e63e..0000000 --- a/disable/ente-photos/ente-web-deployment.yaml +++ /dev/null @@ -1,23 +0,0 @@ -kind: Deployment -apiVersion: apps/v1 -metadata: - name: ente-web - labels: - app: ente-web -# docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 -spec: - replicas: 1 - selector: - matchLabels: - app: ente-web - template: - metadata: - labels: - app: ente-web - spec: - containers: - - name: ente-web - image: hebury/ente-web:0.2 - ports: - - containerPort: 3000 - protocol: TCP \ No newline at end of file diff --git a/disable/ente-photos/ente-web-ingress.yaml b/disable/ente-photos/ente-web-ingress.yaml deleted file mode 100644 index d52cfc0..0000000 --- a/disable/ente-photos/ente-web-ingress.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: ente-web-ingress - annotations: - # nginx.ingress.kubernetes.io/rewrite-target: / - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "false" - # nginx.ingress.kubernetes.io/enable-cors: "true" - # nginx.ingress.kubernetes.io/cors-allow-origin: "http://localhost:3000/" - # nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS, DELETE" - # If you encounter a redirect loop or are getting a 307 response code - # then you need to force the nginx ingress to connect to the backend using HTTPS. - # - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - namespace: ente-photos -spec: - ingressClassName: nginx - rules: - - host: ente.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: ente-service - port: - name: "https" - - # TLS configuration for HTTPS - tls: - # TLS secretName used on ClusterIssuer - - secretName: letsencrypt-prod2 - hosts: - - ente.hensen.io \ No newline at end of file diff --git a/disable/ente-photos/ente-web-service.yaml b/disable/ente-photos/ente-web-service.yaml deleted file mode 100644 index f2513c9..0000000 --- a/disable/ente-photos/ente-web-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: ente-web-service -spec: - ports: - - name: https - port: 3000 - targetPort: 3000 - selector: - app: ente-web \ No newline at end of file diff --git a/disable/ente-photos/helm-postgres.yaml b/disable/ente-photos/helm-postgres.yaml deleted file mode 100644 index 2d52195..0000000 --- a/disable/ente-photos/helm-postgres.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: helm-postgresql - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - syncPolicy: - syncOptions: - - CreateNamespace=true - project: default - sources: - - chart: postgresql - repoURL: registry-1.docker.io/bitnamicharts - targetRevision: 15.5.29 - helm: - valueFiles: - - $values/ente-photos/postgres-values.yaml - - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - ref: values - destination: - server: https://kubernetes.default.svc - namespace: ente-photos \ No newline at end of file diff --git a/disable/ente-photos/museum-claim1-persistentvolumeclaim.yaml b/disable/ente-photos/museum-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index e7e205d..0000000 --- a/disable/ente-photos/museum-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: museum-claim1 - name: museum-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ente-photos/museum-claim3-persistentvolumeclaim.yaml b/disable/ente-photos/museum-claim3-persistentvolumeclaim.yaml deleted file mode 100644 index bb318e8..0000000 --- a/disable/ente-photos/museum-claim3-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: museum-claim3 - name: museum-claim3 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ente-photos/museum-service.yaml b/disable/ente-photos/museum-service.yaml deleted file mode 100644 index 256c707..0000000 --- a/disable/ente-photos/museum-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: ente-service -spec: - selector: - app: ente - ports: - - name: "eightyeighty" - port: 8080 - targetPort: 8080 - - name: "2112" - port: 2112 - targetPort: 2112 diff --git a/disable/ente-photos/pgadmin-es.yaml b/disable/ente-photos/pgadmin-es.yaml deleted file mode 100644 index 54d8eea..0000000 --- a/disable/ente-photos/pgadmin-es.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: pgadmin-es - namespace: ente-photos -spec: - refreshInterval: "15s" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: pgadmin-secret - - dataFrom: - - extract: - key: pgadmin diff --git a/disable/ente-photos/pgadmin.yaml b/disable/ente-photos/pgadmin.yaml deleted file mode 100644 index 77a1e2e..0000000 --- a/disable/ente-photos/pgadmin.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: pgadmin -spec: - selector: - matchLabels: - app: pgadmin - replicas: 1 - template: - metadata: - labels: - app: pgadmin - spec: - containers: - - - name: pgadmin4 - image: dpage/pgadmin4 - env: - - name: PGADMIN_DEFAULT_EMAIL - value: "admin@admin.com" - - name: PGADMIN_DEFAULT_PASSWORD - valueFrom: - secretKeyRef: - name: pgadmin-secret - key: pgadmin-default-password - - name: PGADMIN_PORT - value: "80" - ports: - - containerPort: 80 - name: pgadminport ---- -apiVersion: v1 -kind: Service -metadata: - name: pgadmin - labels: - app: pgadmin -spec: - selector: - app: pgadmin - type: NodePort - ports: - - port: 80 - nodePort: 30200 diff --git a/disable/ente-photos/postgres-values.yaml b/disable/ente-photos/postgres-values.yaml deleted file mode 100644 index 30a5984..0000000 --- a/disable/ente-photos/postgres-values.yaml +++ /dev/null @@ -1,1780 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -## @section Global parameters -## Please, note that this will override the parameters, including dependencies, configured to use the global value -## -# global: -# ## @param global.imageRegistry Global Docker image registry -# ## -# imageRegistry: "" -# ## @param global.imagePullSecrets Global Docker registry secret names as an array -# ## e.g. -# ## imagePullSecrets: -# ## - myRegistryKeySecretName -# ## -# imagePullSecrets: [] -# ## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s) -# ## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead -# ## -# defaultStorageClass: "" -# storageClass: "" -# postgresql: -# ## @param global.postgresql.auth.postgresPassword Password for the "postgres" admin user (overrides `auth.postgresPassword`) -# ## @param global.postgresql.auth.username Name for a custom user to create (overrides `auth.username`) -# ## @param global.postgresql.auth.password Password for the custom user to create (overrides `auth.password`) -# ## @param global.postgresql.auth.database Name for a custom database to create (overrides `auth.database`) -# ## @param global.postgresql.auth.existingSecret Name of existing secret to use for PostgreSQL credentials (overrides `auth.existingSecret`). -# ## @param global.postgresql.auth.secretKeys.adminPasswordKey Name of key in existing secret to use for PostgreSQL credentials (overrides `auth.secretKeys.adminPasswordKey`). Only used when `global.postgresql.auth.existingSecret` is set. -# ## @param global.postgresql.auth.secretKeys.userPasswordKey Name of key in existing secret to use for PostgreSQL credentials (overrides `auth.secretKeys.userPasswordKey`). Only used when `global.postgresql.auth.existingSecret` is set. -# ## @param global.postgresql.auth.secretKeys.replicationPasswordKey Name of key in existing secret to use for PostgreSQL credentials (overrides `auth.secretKeys.replicationPasswordKey`). Only used when `global.postgresql.auth.existingSecret` is set. -# ## -# auth: -# postgresPassword: "" -# username: "" -# password: "" -# database: "" -# existingSecret: "" -# secretKeys: -# adminPasswordKey: "" -# userPasswordKey: "" -# replicationPasswordKey: "" -# ## @param global.postgresql.service.ports.postgresql PostgreSQL service port (overrides `service.ports.postgresql`) -# ## -# service: -# ports: -# postgresql: "" -# ## Compatibility adaptations for Kubernetes platforms -# ## -# compatibility: -# ## Compatibility adaptations for Openshift -# ## -# openshift: -# ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) -# ## -# adaptSecurityContext: auto -## @section Common parameters -## - -# ## @param kubeVersion Override Kubernetes version -# ## -# kubeVersion: "" -# ## @param nameOverride String to partially override common.names.fullname template (will maintain the release name) -# ## -# nameOverride: "" -# ## @param fullnameOverride String to fully override common.names.fullname template -# ## -# fullnameOverride: "" -# ## @param clusterDomain Kubernetes Cluster Domain -# ## -# clusterDomain: cluster.local -# ## @param extraDeploy Array of extra objects to deploy with the release (evaluated as a template) -# ## -# extraDeploy: [] -# ## @param commonLabels Add labels to all the deployed resources -# ## -# commonLabels: {} -# ## @param commonAnnotations Add annotations to all the deployed resources -# ## -# commonAnnotations: {} -# ## Enable diagnostic mode in the statefulset -# ## -# diagnosticMode: -# ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden) -# ## -# enabled: false -# ## @param diagnosticMode.command Command to override all containers in the statefulset -# ## -# command: -# - sleep -# ## @param diagnosticMode.args Args to override all containers in the statefulset -# ## -# args: -# - infinity -# ## @section PostgreSQL common parameters -# ## - -# ## Bitnami PostgreSQL image version -# ## ref: https://hub.docker.com/r/bitnami/postgresql/tags/ -# ## @param image.registry [default: REGISTRY_NAME] PostgreSQL image registry -# ## @param image.repository [default: REPOSITORY_NAME/postgresql] PostgreSQL image repository -# ## @skip image.tag PostgreSQL image tag (immutable tags are recommended) -# ## @param image.digest PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag -# ## @param image.pullPolicy PostgreSQL image pull policy -# ## @param image.pullSecrets Specify image pull secrets -# ## @param image.debug Specify if debug values should be set -# ## -# image: -# registry: docker.io -# repository: bitnami/postgresql -# tag: 16.4.0-debian-12-r8 -# digest: "" -# ## Specify a imagePullPolicy -# ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' -# ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images -# ## -# pullPolicy: IfNotPresent -# ## Optionally specify an array of imagePullSecrets. -# ## Secrets must be manually created in the namespace. -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ -# ## Example: -# ## pullSecrets: -# ## - myRegistryKeySecretName -# ## -# pullSecrets: [] -# ## Set to true if you would like to see extra information on logs -# ## -# debug: false -# ## Authentication parameters -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#setting-the-root-password-on-first-run -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#creating-a-database-on-first-run -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#creating-a-database-user-on-first-run -# ## -auth: - ## @param auth.enablePostgresUser Assign a password to the "postgres" admin user. Otherwise, remote access will be blocked for this user - ## - enablePostgresUser: true - ## @param auth.postgresPassword Password for the "postgres" admin user. Ignored if `auth.existingSecret` is provided - ## - # postgresPassword: "" - ## @param auth.username Name for a custom user to create - ## - username: "pguser" - ## @param auth.password Password for the custom user to create. Ignored if `auth.existingSecret` is provided - ## - # password: "" - ## @param auth.database Name for a custom database to create - ## - database: "ente_db" - ## @param auth.replicationUsername Name of the replication user - ## - replicationUsername: repl_user - ## @param auth.replicationPassword Password for the replication user. Ignored if `auth.existingSecret` is provided - ## - # replicationPassword: "" - ## @param auth.existingSecret Name of existing secret to use for PostgreSQL credentials. `auth.postgresPassword`, `auth.password`, and `auth.replicationPassword` will be ignored and picked up from this secret. The secret might also contains the key `ldap-password` if LDAP is enabled. `ldap.bind_password` will be ignored and picked from this secret in this case. - ## - existingSecret: "postgres-config" - ## @param auth.secretKeys.adminPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set. - ## @param auth.secretKeys.userPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set. - ## @param auth.secretKeys.replicationPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set. - ## - secretKeys: - adminPasswordKey: postgres-password - userPasswordKey: password - replicationPasswordKey: replication-password - ## @param auth.usePasswordFiles Mount credentials as a files instead of using an environment variable - ## - usePasswordFiles: false -## @param architecture PostgreSQL architecture (`standalone` or `replication`) -## -architecture: standalone -## Replication configuration -## Ignored if `architecture` is `standalone` -## -# replication: -# ## @param replication.synchronousCommit Set synchronous commit mode. Allowed values: `on`, `remote_apply`, `remote_write`, `local` and `off` -# ## @param replication.numSynchronousReplicas Number of replicas that will have synchronous replication. Note: Cannot be greater than `readReplicas.replicaCount`. -# ## ref: https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT -# ## -# synchronousCommit: "off" -# numSynchronousReplicas: 0 -# ## @param replication.applicationName Cluster application name. Useful for advanced replication settings -# ## -# applicationName: my_application -# ## @param containerPorts.postgresql PostgreSQL container port -# ## -# containerPorts: -# postgresql: 5432 -# ## Audit settings -# ## https://github.com/bitnami/containers/tree/main/bitnami/postgresql#auditing -# ## @param audit.logHostname Log client hostnames -# ## @param audit.logConnections Add client log-in operations to the log file -# ## @param audit.logDisconnections Add client log-outs operations to the log file -# ## @param audit.pgAuditLog Add operations to log using the pgAudit extension -# ## @param audit.pgAuditLogCatalog Log catalog using pgAudit -# ## @param audit.clientMinMessages Message log level to share with the user -# ## @param audit.logLinePrefix Template for log line prefix (default if not set) -# ## @param audit.logTimezone Timezone for the log timestamps -# ## -# audit: -# logHostname: false -# logConnections: false -# logDisconnections: false -# pgAuditLog: "" -# pgAuditLogCatalog: "off" -# clientMinMessages: error -# logLinePrefix: "" -# logTimezone: "" -# ## LDAP configuration -# ## @param ldap.enabled Enable LDAP support -# ## DEPRECATED ldap.url It will removed in a future, please use 'ldap.uri' instead -# ## @param ldap.server IP address or name of the LDAP server. -# ## @param ldap.port Port number on the LDAP server to connect to -# ## @param ldap.prefix String to prepend to the user name when forming the DN to bind -# ## @param ldap.suffix String to append to the user name when forming the DN to bind -# ## DEPRECATED ldap.baseDN It will removed in a future, please use 'ldap.basedn' instead -# ## DEPRECATED ldap.bindDN It will removed in a future, please use 'ldap.binddn' instead -# ## DEPRECATED ldap.bind_password It will removed in a future, please use 'ldap.bindpw' instead -# ## @param ldap.basedn Root DN to begin the search for the user in -# ## @param ldap.binddn DN of user to bind to LDAP -# ## @param ldap.bindpw Password for the user to bind to LDAP -# ## DEPRECATED ldap.search_attr It will removed in a future, please use 'ldap.searchAttribute' instead -# ## DEPRECATED ldap.search_filter It will removed in a future, please use 'ldap.searchFilter' instead -# ## @param ldap.searchAttribute Attribute to match against the user name in the search -# ## @param ldap.searchFilter The search filter to use when doing search+bind authentication -# ## @param ldap.scheme Set to `ldaps` to use LDAPS -# ## DEPRECATED ldap.tls as string is deprecated, please use 'ldap.tls.enabled' instead -# ## @param ldap.tls.enabled Se to true to enable TLS encryption -# ## -# ldap: -# enabled: false -# server: "" -# port: "" -# prefix: "" -# suffix: "" -# basedn: "" -# binddn: "" -# bindpw: "" -# searchAttribute: "" -# searchFilter: "" -# scheme: "" -# tls: -# enabled: false -# ## @param ldap.uri LDAP URL beginning in the form `ldap[s]://host[:port]/basedn`. If provided, all the other LDAP parameters will be ignored. -# ## Ref: https://www.postgresql.org/docs/current/auth-ldap.html -# ## -# uri: "" -# ## @param postgresqlDataDir PostgreSQL data dir folder -# ## -# postgresqlDataDir: /bitnami/postgresql/data -# ## @param postgresqlSharedPreloadLibraries Shared preload libraries (comma-separated list) -# ## -# postgresqlSharedPreloadLibraries: "pgaudit" -# ## Start PostgreSQL pod(s) without limitations on shm memory. -# ## By default docker and containerd (and possibly other container runtimes) limit `/dev/shm` to `64M` -# ## ref: https://github.com/docker-library/postgres/issues/416 -# ## ref: https://github.com/containerd/containerd/issues/3654 -# ## -# shmVolume: -# ## @param shmVolume.enabled Enable emptyDir volume for /dev/shm for PostgreSQL pod(s) -# ## -# enabled: true -# ## @param shmVolume.sizeLimit Set this to enable a size limit on the shm tmpfs -# ## Note: the size of the tmpfs counts against container's memory limit -# ## e.g: -# ## sizeLimit: 1Gi -# ## -# sizeLimit: "" -# ## TLS configuration -# ## -# tls: -# ## @param tls.enabled Enable TLS traffic support -# ## -# enabled: false -# ## @param tls.autoGenerated Generate automatically self-signed TLS certificates -# ## -# autoGenerated: false -# ## @param tls.preferServerCiphers Whether to use the server's TLS cipher preferences rather than the client's -# ## -# preferServerCiphers: true -# ## @param tls.certificatesSecret Name of an existing secret that contains the certificates -# ## -# certificatesSecret: "" -# ## @param tls.certFilename Certificate filename -# ## -# certFilename: "" -# ## @param tls.certKeyFilename Certificate key filename -# ## -# certKeyFilename: "" -# ## @param tls.certCAFilename CA Certificate filename -# ## If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate -# ## ref: https://www.postgresql.org/docs/9.6/auth-methods.html -# ## -# certCAFilename: "" -# ## @param tls.crlFilename File containing a Certificate Revocation List -# ## -# crlFilename: "" -# ## @section PostgreSQL Primary parameters -# ## -# primary: -# ## @param primary.name Name of the primary database (eg primary, master, leader, ...) -# ## -# name: primary -# ## @param primary.configuration PostgreSQL Primary main configuration to be injected as ConfigMap -# ## ref: https://www.postgresql.org/docs/current/static/runtime-config.html -# ## -# configuration: "" -# ## @param primary.pgHbaConfiguration PostgreSQL Primary client authentication configuration -# ## ref: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html -# ## e.g:# -# ## pgHbaConfiguration: |- -# ## local all all trust -# ## host all all localhost trust -# ## host mydatabase mysuser 192.168.0.0/24 md5 -# ## -# pgHbaConfiguration: "" -# ## @param primary.existingConfigmap Name of an existing ConfigMap with PostgreSQL Primary configuration -# ## NOTE: `primary.configuration` and `primary.pgHbaConfiguration` will be ignored -# ## -# existingConfigmap: "" -# ## @param primary.extendedConfiguration Extended PostgreSQL Primary configuration (appended to main or default configuration) -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#allow-settings-to-be-loaded-from-files-other-than-the-default-postgresqlconf -# ## -# extendedConfiguration: "" -# ## @param primary.existingExtendedConfigmap Name of an existing ConfigMap with PostgreSQL Primary extended configuration -# ## NOTE: `primary.extendedConfiguration` will be ignored -# ## -# existingExtendedConfigmap: "" -# ## Initdb configuration -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#specifying-initdb-arguments -# ## -# initdb: -# ## @param primary.initdb.args PostgreSQL initdb extra arguments -# ## -# args: "" -# ## @param primary.initdb.postgresqlWalDir Specify a custom location for the PostgreSQL transaction log -# ## -# postgresqlWalDir: "" -# ## @param primary.initdb.scripts Dictionary of initdb scripts -# ## Specify dictionary of scripts to be run at first boot -# ## e.g: -# ## scripts: -# ## my_init_script.sh: | -# ## #!/bin/sh -# ## echo "Do something." -# ## -# scripts: {} -# ## @param primary.initdb.scriptsConfigMap ConfigMap with scripts to be run at first boot -# ## NOTE: This will override `primary.initdb.scripts` -# ## -# scriptsConfigMap: "" -# ## @param primary.initdb.scriptsSecret Secret with scripts to be run at first boot (in case it contains sensitive information) -# ## NOTE: This can work along `primary.initdb.scripts` or `primary.initdb.scriptsConfigMap` -# ## -# scriptsSecret: "" -# ## @param primary.initdb.user Specify the PostgreSQL username to execute the initdb scripts -# ## -# user: "" -# ## @param primary.initdb.password Specify the PostgreSQL password to execute the initdb scripts -# ## -# password: "" -# ## Pre-init configuration -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql/#on-container-start -# preInitDb: -# ## @param primary.preInitDb.scripts Dictionary of pre-init scripts -# ## Specify dictionary of shell scripts to be run before db boot -# ## e.g: -# ## scripts: -# ## my_pre_init_script.sh: | -# ## #!/bin/sh -# ## echo "Do something." -# scripts: {} -# ## @param primary.preInitDb.scriptsConfigMap ConfigMap with pre-init scripts to be run -# ## NOTE: This will override `primary.preInitDb.scripts` -# scriptsConfigMap: "" -# ## @param primary.preInitDb.scriptsSecret Secret with pre-init scripts to be run -# ## NOTE: This can work along `primary.preInitDb.scripts` or `primary.preInitDb.scriptsConfigMap` -# scriptsSecret: "" -# ## Configure current cluster's primary server to be the standby server in other cluster. -# ## This will allow cross cluster replication and provide cross cluster high availability. -# ## You will need to configure pgHbaConfiguration if you want to enable this feature with local cluster replication enabled. -# ## @param primary.standby.enabled Whether to enable current cluster's primary as standby server of another cluster or not -# ## @param primary.standby.primaryHost The Host of replication primary in the other cluster -# ## @param primary.standby.primaryPort The Port of replication primary in the other cluster -# ## -# standby: -# enabled: false -# primaryHost: "" -# primaryPort: "" -# ## @param primary.extraEnvVars Array with extra environment variables to add to PostgreSQL Primary nodes -# ## e.g: -# ## extraEnvVars: -# ## - name: FOO -# ## value: "bar" -# ## -# extraEnvVars: [] -# ## @param primary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for PostgreSQL Primary nodes -# ## -# extraEnvVarsCM: "" -# ## @param primary.extraEnvVarsSecret Name of existing Secret containing extra env vars for PostgreSQL Primary nodes -# ## -# extraEnvVarsSecret: "" -# ## @param primary.command Override default container command (useful when using custom images) -# ## -# command: [] -# ## @param primary.args Override default container args (useful when using custom images) -# ## -# args: [] -# ## Configure extra options for PostgreSQL Primary containers' liveness, readiness and startup probes -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes -# ## @param primary.livenessProbe.enabled Enable livenessProbe on PostgreSQL Primary containers -# ## @param primary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param primary.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param primary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe -# ## @param primary.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param primary.livenessProbe.successThreshold Success threshold for livenessProbe -# ## -# livenessProbe: -# enabled: true -# initialDelaySeconds: 30 -# periodSeconds: 10 -# timeoutSeconds: 5 -# failureThreshold: 6 -# successThreshold: 1 -# ## @param primary.readinessProbe.enabled Enable readinessProbe on PostgreSQL Primary containers -# ## @param primary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param primary.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param primary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param primary.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param primary.readinessProbe.successThreshold Success threshold for readinessProbe -# ## -# readinessProbe: -# enabled: true -# initialDelaySeconds: 5 -# periodSeconds: 10 -# timeoutSeconds: 5 -# failureThreshold: 6 -# successThreshold: 1 -# ## @param primary.startupProbe.enabled Enable startupProbe on PostgreSQL Primary containers -# ## @param primary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param primary.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param primary.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param primary.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param primary.startupProbe.successThreshold Success threshold for startupProbe -# ## -# startupProbe: -# enabled: false -# initialDelaySeconds: 30 -# periodSeconds: 10 -# timeoutSeconds: 1 -# failureThreshold: 15 -# successThreshold: 1 -# ## @param primary.customLivenessProbe Custom livenessProbe that overrides the default one -# ## -# customLivenessProbe: {} -# ## @param primary.customReadinessProbe Custom readinessProbe that overrides the default one -# ## -# customReadinessProbe: {} -# ## @param primary.customStartupProbe Custom startupProbe that overrides the default one -# ## -# customStartupProbe: {} -# ## @param primary.lifecycleHooks for the PostgreSQL Primary container to automate configuration before or after startup -# ## -# lifecycleHooks: {} -# ## PostgreSQL Primary resource requests and limits -# ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -# ## @param primary.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if primary.resources is set (primary.resources is recommended for production). -# ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -# ## -# resourcesPreset: "nano" -# ## @param primary.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) -# ## Example: -# ## resources: -# ## requests: -# ## cpu: 2 -# ## memory: 512Mi -# ## limits: -# ## cpu: 3 -# ## memory: 1024Mi -# ## -# resources: {} -# ## Pod Security Context -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ -# ## @param primary.podSecurityContext.enabled Enable security context -# ## @param primary.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy -# ## @param primary.podSecurityContext.sysctls Set kernel settings using the sysctl interface -# ## @param primary.podSecurityContext.supplementalGroups Set filesystem extra groups -# ## @param primary.podSecurityContext.fsGroup Group ID for the pod -# ## -# podSecurityContext: -# enabled: true -# fsGroupChangePolicy: Always -# sysctls: [] -# supplementalGroups: [] -# fsGroup: 1001 -# ## Container Security Context -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ -# ## @param primary.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param primary.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container -# ## @param primary.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param primary.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup -# ## @param primary.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## @param primary.containerSecurityContext.privileged Set container's Security Context privileged -# ## @param primary.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem -# ## @param primary.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation -# ## @param primary.containerSecurityContext.capabilities.drop List of capabilities to be dropped -# ## @param primary.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile -# ## -# containerSecurityContext: -# enabled: true -# seLinuxOptions: {} -# runAsUser: 1001 -# runAsGroup: 1001 -# runAsNonRoot: true -# privileged: false -# readOnlyRootFilesystem: true -# allowPrivilegeEscalation: false -# capabilities: -# drop: ["ALL"] -# seccompProfile: -# type: "RuntimeDefault" -# ## @param primary.automountServiceAccountToken Mount Service Account token in pod -# ## -# automountServiceAccountToken: false -# ## @param primary.hostAliases PostgreSQL primary pods host aliases -# ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# ## -# hostAliases: [] -# ## @param primary.hostNetwork Specify if host network should be enabled for PostgreSQL pod (postgresql primary) -# ## -# hostNetwork: false -# ## @param primary.hostIPC Specify if host IPC should be enabled for PostgreSQL pod (postgresql primary) -# ## -# hostIPC: false -# ## @param primary.labels Map of labels to add to the statefulset (postgresql primary) -# ## -# labels: {} -# ## @param primary.annotations Annotations for PostgreSQL primary pods -# ## -# annotations: {} -# ## @param primary.podLabels Map of labels to add to the pods (postgresql primary) -# ## -# podLabels: {} -# ## @param primary.podAnnotations Map of annotations to add to the pods (postgresql primary) -# ## -# podAnnotations: {} -# ## @param primary.podAffinityPreset PostgreSQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity -# ## -# podAffinityPreset: "" -# ## @param primary.podAntiAffinityPreset PostgreSQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity -# ## -# podAntiAffinityPreset: soft -# ## PostgreSQL Primary node affinity preset -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity -# ## -# nodeAffinityPreset: -# ## @param primary.nodeAffinityPreset.type PostgreSQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` -# ## -# type: "" -# ## @param primary.nodeAffinityPreset.key PostgreSQL primary node label key to match Ignored if `primary.affinity` is set. -# ## E.g. -# ## key: "kubernetes.io/e2e-az-name" -# ## -# key: "" -# ## @param primary.nodeAffinityPreset.values PostgreSQL primary node label values to match. Ignored if `primary.affinity` is set. -# ## E.g. -# ## values: -# ## - e2e-az1 -# ## - e2e-az2 -# ## -# values: [] -# ## @param primary.affinity Affinity for PostgreSQL primary pods assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# ## Note: primary.podAffinityPreset, primary.podAntiAffinityPreset, and primary.nodeAffinityPreset will be ignored when it's set -# ## -# affinity: {} -# ## @param primary.nodeSelector Node labels for PostgreSQL primary pods assignment -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ -# ## -# nodeSelector: {} -# ## @param primary.tolerations Tolerations for PostgreSQL primary pods assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# ## -# tolerations: [] -# ## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template -# ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods -# ## -# topologySpreadConstraints: [] -# ## @param primary.priorityClassName Priority Class to use for each pod (postgresql primary) -# ## -# priorityClassName: "" -# ## @param primary.schedulerName Use an alternate scheduler, e.g. "stork". -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# ## -# schedulerName: "" -# ## @param primary.terminationGracePeriodSeconds Seconds PostgreSQL primary pod needs to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# ## -# terminationGracePeriodSeconds: "" -# ## @param primary.updateStrategy.type PostgreSQL Primary statefulset strategy type -# ## @param primary.updateStrategy.rollingUpdate PostgreSQL Primary statefulset rolling update configuration parameters -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies -# ## -# updateStrategy: -# type: RollingUpdate -# rollingUpdate: {} -# ## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the PostgreSQL Primary container(s) -# ## -# extraVolumeMounts: [] -# ## @param primary.extraVolumes Optionally specify extra list of additional volumes for the PostgreSQL Primary pod(s) -# ## -# extraVolumes: [] -# ## @param primary.sidecars Add additional sidecar containers to the PostgreSQL Primary pod(s) -# ## For example: -# ## sidecars: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## ports: -# ## - name: portname -# ## containerPort: 1234 -# ## -# sidecars: [] -# ## @param primary.initContainers Add additional init containers to the PostgreSQL Primary pod(s) -# ## Example -# ## -# ## initContainers: -# ## - name: do-something -# ## image: busybox -# ## command: ['do', 'something'] -# ## -# initContainers: [] -# ## Pod Disruption Budget configuration -# ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb -# ## @param primary.pdb.create Enable/disable a Pod Disruption Budget creation -# ## @param primary.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled -# ## @param primary.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `primary.pdb.minAvailable` and `primary.pdb.maxUnavailable` are empty. -# ## -# pdb: -# create: true -# minAvailable: "" -# maxUnavailable: "" -# ## @param primary.extraPodSpec Optionally specify extra PodSpec for the PostgreSQL Primary pod(s) -# ## -# extraPodSpec: {} -# ## Network Policies -# ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/ -# ## -# networkPolicy: -# ## @param primary.networkPolicy.enabled Specifies whether a NetworkPolicy should be created -# ## -# enabled: true -# ## @param primary.networkPolicy.allowExternal Don't require server label for connections -# ## The Policy model to apply. When set to false, only pods with the correct -# ## server label will have network access to the ports server is listening -# ## on. When true, server will accept connections from any source -# ## (with the correct destination port). -# ## -# allowExternal: true -# ## @param primary.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. -# ## -# allowExternalEgress: true -# ## @param primary.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy -# ## e.g: -# ## extraIngress: -# ## - ports: -# ## - port: 1234 -# ## from: -# ## - podSelector: -# ## - matchLabels: -# ## - role: frontend -# ## - podSelector: -# ## - matchExpressions: -# ## - key: role -# ## operator: In -# ## values: -# ## - frontend -# extraIngress: [] -# ## @param primary.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy -# ## e.g: -# ## extraEgress: -# ## - ports: -# ## - port: 1234 -# ## to: -# ## - podSelector: -# ## - matchLabels: -# ## - role: frontend -# ## - podSelector: -# ## - matchExpressions: -# ## - key: role -# ## operator: In -# ## values: -# ## - frontend -# ## -# extraEgress: [] -# ## @param primary.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces -# ## @param primary.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces -# ## -# ingressNSMatchLabels: {} -# ingressNSPodMatchLabels: {} -# ## PostgreSQL Primary service configuration -# ## -# service: -# ## @param primary.service.type Kubernetes Service type -# ## -# type: ClusterIP -# ## @param primary.service.ports.postgresql PostgreSQL service port -# ## -# ports: -# postgresql: 5432 -# ## Node ports to expose -# ## NOTE: choose port between <30000-32767> -# ## @param primary.service.nodePorts.postgresql Node port for PostgreSQL -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport -# ## -# nodePorts: -# postgresql: "" -# ## @param primary.service.clusterIP Static clusterIP or None for headless services -# ## e.g: -# ## clusterIP: None -# ## -# clusterIP: "" -# ## @param primary.service.annotations Annotations for PostgreSQL primary service -# ## -# annotations: {} -# ## @param primary.service.loadBalancerClass Load balancer class if service type is `LoadBalancer` -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class -# ## -# loadBalancerClass: "" -# ## @param primary.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer` -# ## Set the LoadBalancer service type to internal only -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer -# ## -# loadBalancerIP: "" -# ## @param primary.service.externalTrafficPolicy Enable client source IP preservation -# ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip -# ## -# externalTrafficPolicy: Cluster -# ## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer -# ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service -# ## -# ## loadBalancerSourceRanges: -# ## - 10.10.10.0/24 -# ## -# loadBalancerSourceRanges: [] -# ## @param primary.service.extraPorts Extra ports to expose in the PostgreSQL primary service -# ## -# extraPorts: [] -# ## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP" -# ## If "ClientIP", consecutive client requests will be directed to the same Pod -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies -# ## -# sessionAffinity: None -# ## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity -# ## sessionAffinityConfig: -# ## clientIP: -# ## timeoutSeconds: 300 -# ## -# sessionAffinityConfig: {} -# ## Headless service properties -# ## -# headless: -# ## @param primary.service.headless.annotations Additional custom annotations for headless PostgreSQL primary service -# ## -# annotations: {} -# ## PostgreSQL Primary persistence configuration -# ## -# persistence: -# ## @param primary.persistence.enabled Enable PostgreSQL Primary data persistence using PVC -# ## -# enabled: true -# ## @param primary.persistence.volumeName Name to assign the volume -# ## -# volumeName: "data" -# ## @param primary.persistence.existingClaim Name of an existing PVC to use -# ## -# existingClaim: "" -# ## @param primary.persistence.mountPath The path the volume will be mounted at -# ## Note: useful when using custom PostgreSQL images -# ## -# mountPath: /bitnami/postgresql -# ## @param primary.persistence.subPath The subdirectory of the volume to mount to -# ## Useful in dev environments and one PV for multiple services -# ## -# subPath: "" -# ## @param primary.persistence.storageClass PVC Storage Class for PostgreSQL Primary data volume -# ## If defined, storageClassName: -# ## 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: "" -# ## @param primary.persistence.accessModes PVC Access Mode for PostgreSQL volume -# ## -# accessModes: -# - ReadWriteOnce -# ## @param primary.persistence.size PVC Storage Request for PostgreSQL volume -# ## -# size: 8Gi -# ## @param primary.persistence.annotations Annotations for the PVC -# ## -# annotations: {} -# ## @param primary.persistence.labels Labels for the PVC -# ## -# labels: {} -# ## @param primary.persistence.selector Selector to match an existing Persistent Volume (this value is evaluated as a template) -# ## selector: -# ## matchLabels: -# ## app: my-app -# ## -# selector: {} -# ## @param primary.persistence.dataSource Custom PVC data source -# ## -# dataSource: {} -# ## PostgreSQL Primary Persistent Volume Claim Retention Policy -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention -# ## -# persistentVolumeClaimRetentionPolicy: -# ## @param primary.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Primary Statefulset -# ## -# enabled: false -# ## @param primary.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced -# ## -# whenScaled: Retain -# ## @param primary.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted -# ## -# whenDeleted: Retain -# ## @section PostgreSQL read only replica parameters (only used when `architecture` is set to `replication`) -# ## -# readReplicas: -# ## @param readReplicas.name Name of the read replicas database (eg secondary, slave, ...) -# ## -# name: read -# ## @param readReplicas.replicaCount Number of PostgreSQL read only replicas -# ## -# replicaCount: 1 -# ## @param readReplicas.extendedConfiguration Extended PostgreSQL read only replicas configuration (appended to main or default configuration) -# ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#allow-settings-to-be-loaded-from-files-other-than-the-default-postgresqlconf -# ## -# extendedConfiguration: "" -# ## @param readReplicas.extraEnvVars Array with extra environment variables to add to PostgreSQL read only nodes -# ## e.g: -# ## extraEnvVars: -# ## - name: FOO -# ## value: "bar" -# ## -# extraEnvVars: [] -# ## @param readReplicas.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for PostgreSQL read only nodes -# ## -# extraEnvVarsCM: "" -# ## @param readReplicas.extraEnvVarsSecret Name of existing Secret containing extra env vars for PostgreSQL read only nodes -# ## -# extraEnvVarsSecret: "" -# ## @param readReplicas.command Override default container command (useful when using custom images) -# ## -# command: [] -# ## @param readReplicas.args Override default container args (useful when using custom images) -# ## -# args: [] -# ## Configure extra options for PostgreSQL read only containers' liveness, readiness and startup probes -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes -# ## @param readReplicas.livenessProbe.enabled Enable livenessProbe on PostgreSQL read only containers -# ## @param readReplicas.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param readReplicas.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param readReplicas.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe -# ## @param readReplicas.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param readReplicas.livenessProbe.successThreshold Success threshold for livenessProbe -# ## -# livenessProbe: -# enabled: true -# initialDelaySeconds: 30 -# periodSeconds: 10 -# timeoutSeconds: 5 -# failureThreshold: 6 -# successThreshold: 1 -# ## @param readReplicas.readinessProbe.enabled Enable readinessProbe on PostgreSQL read only containers -# ## @param readReplicas.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param readReplicas.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param readReplicas.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param readReplicas.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param readReplicas.readinessProbe.successThreshold Success threshold for readinessProbe -# ## -# readinessProbe: -# enabled: true -# initialDelaySeconds: 5 -# periodSeconds: 10 -# timeoutSeconds: 5 -# failureThreshold: 6 -# successThreshold: 1 -# ## @param readReplicas.startupProbe.enabled Enable startupProbe on PostgreSQL read only containers -# ## @param readReplicas.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param readReplicas.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param readReplicas.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param readReplicas.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param readReplicas.startupProbe.successThreshold Success threshold for startupProbe -# ## -# startupProbe: -# enabled: false -# initialDelaySeconds: 30 -# periodSeconds: 10 -# timeoutSeconds: 1 -# failureThreshold: 15 -# successThreshold: 1 -# ## @param readReplicas.customLivenessProbe Custom livenessProbe that overrides the default one -# ## -# customLivenessProbe: {} -# ## @param readReplicas.customReadinessProbe Custom readinessProbe that overrides the default one -# ## -# customReadinessProbe: {} -# ## @param readReplicas.customStartupProbe Custom startupProbe that overrides the default one -# ## -# customStartupProbe: {} -# ## @param readReplicas.lifecycleHooks for the PostgreSQL read only container to automate configuration before or after startup -# ## -# lifecycleHooks: {} -# ## PostgreSQL read only resource requests and limits -# ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -# ## @param readReplicas.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if readReplicas.resources is set (readReplicas.resources is recommended for production). -# ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -# ## -# resourcesPreset: "nano" -# ## @param readReplicas.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) -# ## Example: -# ## resources: -# ## requests: -# ## cpu: 2 -# ## memory: 512Mi -# ## limits: -# ## cpu: 3 -# ## memory: 1024Mi -# ## -# resources: {} -# ## Pod Security Context -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ -# ## @param readReplicas.podSecurityContext.enabled Enable security context -# ## @param readReplicas.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy -# ## @param readReplicas.podSecurityContext.sysctls Set kernel settings using the sysctl interface -# ## @param readReplicas.podSecurityContext.supplementalGroups Set filesystem extra groups -# ## @param readReplicas.podSecurityContext.fsGroup Group ID for the pod -# ## -# podSecurityContext: -# enabled: true -# fsGroupChangePolicy: Always -# sysctls: [] -# supplementalGroups: [] -# fsGroup: 1001 -# ## Container Security Context -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ -# ## @param readReplicas.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param readReplicas.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container -# ## @param readReplicas.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param readReplicas.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup -# ## @param readReplicas.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## @param readReplicas.containerSecurityContext.privileged Set container's Security Context privileged -# ## @param readReplicas.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem -# ## @param readReplicas.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation -# ## @param readReplicas.containerSecurityContext.capabilities.drop List of capabilities to be dropped -# ## @param readReplicas.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile -# ## -# containerSecurityContext: -# enabled: true -# seLinuxOptions: {} -# runAsUser: 1001 -# runAsGroup: 1001 -# runAsNonRoot: true -# privileged: false -# readOnlyRootFilesystem: true -# allowPrivilegeEscalation: false -# capabilities: -# drop: ["ALL"] -# seccompProfile: -# type: "RuntimeDefault" -# ## @param readReplicas.automountServiceAccountToken Mount Service Account token in pod -# ## -# automountServiceAccountToken: false -# ## @param readReplicas.hostAliases PostgreSQL read only pods host aliases -# ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# ## -# hostAliases: [] -# ## @param readReplicas.hostNetwork Specify if host network should be enabled for PostgreSQL pod (PostgreSQL read only) -# ## -# hostNetwork: false -# ## @param readReplicas.hostIPC Specify if host IPC should be enabled for PostgreSQL pod (postgresql primary) -# ## -# hostIPC: false -# ## @param readReplicas.labels Map of labels to add to the statefulset (PostgreSQL read only) -# ## -# labels: {} -# ## @param readReplicas.annotations Annotations for PostgreSQL read only pods -# ## -# annotations: {} -# ## @param readReplicas.podLabels Map of labels to add to the pods (PostgreSQL read only) -# ## -# podLabels: {} -# ## @param readReplicas.podAnnotations Map of annotations to add to the pods (PostgreSQL read only) -# ## -# podAnnotations: {} -# ## @param readReplicas.podAffinityPreset PostgreSQL read only pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity -# ## -# podAffinityPreset: "" -# ## @param readReplicas.podAntiAffinityPreset PostgreSQL read only pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity -# ## -# podAntiAffinityPreset: soft -# ## PostgreSQL read only node affinity preset -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity -# ## -# nodeAffinityPreset: -# ## @param readReplicas.nodeAffinityPreset.type PostgreSQL read only node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` -# ## -# type: "" -# ## @param readReplicas.nodeAffinityPreset.key PostgreSQL read only node label key to match Ignored if `primary.affinity` is set. -# ## E.g. -# ## key: "kubernetes.io/e2e-az-name" -# ## -# key: "" -# ## @param readReplicas.nodeAffinityPreset.values PostgreSQL read only node label values to match. Ignored if `primary.affinity` is set. -# ## E.g. -# ## values: -# ## - e2e-az1 -# ## - e2e-az2 -# ## -# values: [] -# ## @param readReplicas.affinity Affinity for PostgreSQL read only pods assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# ## Note: primary.podAffinityPreset, primary.podAntiAffinityPreset, and primary.nodeAffinityPreset will be ignored when it's set -# ## -# affinity: {} -# ## @param readReplicas.nodeSelector Node labels for PostgreSQL read only pods assignment -# ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ -# ## -# nodeSelector: {} -# ## @param readReplicas.tolerations Tolerations for PostgreSQL read only pods assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# ## -# tolerations: [] -# ## @param readReplicas.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template -# ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods -# ## -# topologySpreadConstraints: [] -# ## @param readReplicas.priorityClassName Priority Class to use for each pod (PostgreSQL read only) -# ## -# priorityClassName: "" -# ## @param readReplicas.schedulerName Use an alternate scheduler, e.g. "stork". -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# ## -# schedulerName: "" -# ## @param readReplicas.terminationGracePeriodSeconds Seconds PostgreSQL read only pod needs to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# ## -# terminationGracePeriodSeconds: "" -# ## @param readReplicas.updateStrategy.type PostgreSQL read only statefulset strategy type -# ## @param readReplicas.updateStrategy.rollingUpdate PostgreSQL read only statefulset rolling update configuration parameters -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies -# ## -# updateStrategy: -# type: RollingUpdate -# rollingUpdate: {} -# ## @param readReplicas.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the PostgreSQL read only container(s) -# ## -# extraVolumeMounts: [] -# ## @param readReplicas.extraVolumes Optionally specify extra list of additional volumes for the PostgreSQL read only pod(s) -# ## -# extraVolumes: [] -# ## @param readReplicas.sidecars Add additional sidecar containers to the PostgreSQL read only pod(s) -# ## For example: -# ## sidecars: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## ports: -# ## - name: portname -# ## containerPort: 1234 -# ## -# sidecars: [] -# ## @param readReplicas.initContainers Add additional init containers to the PostgreSQL read only pod(s) -# ## Example -# ## -# ## initContainers: -# ## - name: do-something -# ## image: busybox -# ## command: ['do', 'something'] -# ## -# initContainers: [] -# ## Pod Disruption Budget configuration -# ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb -# ## @param readReplicas.pdb.create Enable/disable a Pod Disruption Budget creation -# ## @param readReplicas.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled -# ## @param readReplicas.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `readReplicas.pdb.minAvailable` and `readReplicas.pdb.maxUnavailable` are empty. -# ## -# pdb: -# create: true -# minAvailable: "" -# maxUnavailable: "" -# ## @param readReplicas.extraPodSpec Optionally specify extra PodSpec for the PostgreSQL read only pod(s) -# ## -# extraPodSpec: {} -# ## Network Policies -# ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/ -# ## -# networkPolicy: -# ## @param readReplicas.networkPolicy.enabled Specifies whether a NetworkPolicy should be created -# ## -# enabled: true -# ## @param readReplicas.networkPolicy.allowExternal Don't require server label for connections -# ## The Policy model to apply. When set to false, only pods with the correct -# ## server label will have network access to the ports server is listening -# ## on. When true, server will accept connections from any source -# ## (with the correct destination port). -# ## -# allowExternal: true -# ## @param readReplicas.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. -# ## -# allowExternalEgress: true -# ## @param readReplicas.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy -# ## e.g: -# ## extraIngress: -# ## - ports: -# ## - port: 1234 -# ## from: -# ## - podSelector: -# ## - matchLabels: -# ## - role: frontend -# ## - podSelector: -# ## - matchExpressions: -# ## - key: role -# ## operator: In -# ## values: -# ## - frontend -# extraIngress: [] -# ## @param readReplicas.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy -# ## e.g: -# ## extraEgress: -# ## - ports: -# ## - port: 1234 -# ## to: -# ## - podSelector: -# ## - matchLabels: -# ## - role: frontend -# ## - podSelector: -# ## - matchExpressions: -# ## - key: role -# ## operator: In -# ## values: -# ## - frontend -# ## -# extraEgress: [] -# ## @param readReplicas.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces -# ## @param readReplicas.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces -# ## -# ingressNSMatchLabels: {} -# ingressNSPodMatchLabels: {} -# ## PostgreSQL read only service configuration -# ## -# service: -# ## @param readReplicas.service.type Kubernetes Service type -# ## -# type: ClusterIP -# ## @param readReplicas.service.ports.postgresql PostgreSQL service port -# ## -# ports: -# postgresql: 5432 -# ## Node ports to expose -# ## NOTE: choose port between <30000-32767> -# ## @param readReplicas.service.nodePorts.postgresql Node port for PostgreSQL -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport -# ## -# nodePorts: -# postgresql: "" -# ## @param readReplicas.service.clusterIP Static clusterIP or None for headless services -# ## e.g: -# ## clusterIP: None -# ## -# clusterIP: "" -# ## @param readReplicas.service.annotations Annotations for PostgreSQL read only service -# ## -# annotations: {} -# ## @param readReplicas.service.loadBalancerClass Load balancer class if service type is `LoadBalancer` -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class -# ## -# loadBalancerClass: "" -# ## @param readReplicas.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer` -# ## Set the LoadBalancer service type to internal only -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer -# ## -# loadBalancerIP: "" -# ## @param readReplicas.service.externalTrafficPolicy Enable client source IP preservation -# ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip -# ## -# externalTrafficPolicy: Cluster -# ## @param readReplicas.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer -# ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service -# ## -# ## loadBalancerSourceRanges: -# ## - 10.10.10.0/24 -# ## -# loadBalancerSourceRanges: [] -# ## @param readReplicas.service.extraPorts Extra ports to expose in the PostgreSQL read only service -# ## -# extraPorts: [] -# ## @param readReplicas.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP" -# ## If "ClientIP", consecutive client requests will be directed to the same Pod -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies -# ## -# sessionAffinity: None -# ## @param readReplicas.service.sessionAffinityConfig Additional settings for the sessionAffinity -# ## sessionAffinityConfig: -# ## clientIP: -# ## timeoutSeconds: 300 -# ## -# sessionAffinityConfig: {} -# ## Headless service properties -# ## -# headless: -# ## @param readReplicas.service.headless.annotations Additional custom annotations for headless PostgreSQL read only service -# ## -# annotations: {} -# ## PostgreSQL read only persistence configuration -# ## -# persistence: -# ## @param readReplicas.persistence.enabled Enable PostgreSQL read only data persistence using PVC -# ## -# enabled: true -# ## @param readReplicas.persistence.existingClaim Name of an existing PVC to use -# ## -# existingClaim: "" -# ## @param readReplicas.persistence.mountPath The path the volume will be mounted at -# ## Note: useful when using custom PostgreSQL images -# ## -# mountPath: /bitnami/postgresql -# ## @param readReplicas.persistence.subPath The subdirectory of the volume to mount to -# ## Useful in dev environments and one PV for multiple services -# ## -# subPath: "" -# ## @param readReplicas.persistence.storageClass PVC Storage Class for PostgreSQL read only data volume -# ## If defined, storageClassName: -# ## 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: "" -# ## @param readReplicas.persistence.accessModes PVC Access Mode for PostgreSQL volume -# ## -# accessModes: -# - ReadWriteOnce -# ## @param readReplicas.persistence.size PVC Storage Request for PostgreSQL volume -# ## -# size: 8Gi -# ## @param readReplicas.persistence.annotations Annotations for the PVC -# ## -# annotations: {} -# ## @param readReplicas.persistence.labels Labels for the PVC -# ## -# labels: {} -# ## @param readReplicas.persistence.selector Selector to match an existing Persistent Volume (this value is evaluated as a template) -# ## selector: -# ## matchLabels: -# ## app: my-app -# ## -# selector: {} -# ## @param readReplicas.persistence.dataSource Custom PVC data source -# ## -# dataSource: {} -# ## PostgreSQL Read only Persistent Volume Claim Retention Policy -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention -# ## -# persistentVolumeClaimRetentionPolicy: -# ## @param readReplicas.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for read only Statefulset -# ## -# enabled: false -# ## @param readReplicas.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced -# ## -# whenScaled: Retain -# ## @param readReplicas.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted -# ## -# whenDeleted: Retain -# ## @section Backup parameters -# ## This section implements a trivial logical dump cronjob of the database. -# ## This only comes with the consistency guarantees of the dump program. -# ## This is not a snapshot based roll forward/backward recovery backup. -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ -# backup: -# ## @param backup.enabled Enable the logical dump of the database "regularly" -# enabled: false -# cronjob: -# ## @param backup.cronjob.schedule Set the cronjob parameter schedule -# schedule: "@daily" -# ## @param backup.cronjob.timeZone Set the cronjob parameter timeZone -# timeZone: "" -# ## @param backup.cronjob.concurrencyPolicy Set the cronjob parameter concurrencyPolicy -# concurrencyPolicy: Allow -# ## @param backup.cronjob.failedJobsHistoryLimit Set the cronjob parameter failedJobsHistoryLimit -# failedJobsHistoryLimit: 1 -# ## @param backup.cronjob.successfulJobsHistoryLimit Set the cronjob parameter successfulJobsHistoryLimit -# successfulJobsHistoryLimit: 3 -# ## @param backup.cronjob.startingDeadlineSeconds Set the cronjob parameter startingDeadlineSeconds -# startingDeadlineSeconds: "" -# ## @param backup.cronjob.ttlSecondsAfterFinished Set the cronjob parameter ttlSecondsAfterFinished -# ttlSecondsAfterFinished: "" -# ## @param backup.cronjob.restartPolicy Set the cronjob parameter restartPolicy -# restartPolicy: OnFailure -# ## @param backup.cronjob.podSecurityContext.enabled Enable PodSecurityContext for CronJob/Backup -# ## @param backup.cronjob.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy -# ## @param backup.cronjob.podSecurityContext.sysctls Set kernel settings using the sysctl interface -# ## @param backup.cronjob.podSecurityContext.supplementalGroups Set filesystem extra groups -# ## @param backup.cronjob.podSecurityContext.fsGroup Group ID for the CronJob -# podSecurityContext: -# enabled: true -# fsGroupChangePolicy: Always -# sysctls: [] -# supplementalGroups: [] -# fsGroup: 1001 -# ## backup container's Security Context -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container -# ## @param backup.cronjob.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param backup.cronjob.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container -# ## @param backup.cronjob.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param backup.cronjob.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup -# ## @param backup.cronjob.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## @param backup.cronjob.containerSecurityContext.privileged Set container's Security Context privileged -# ## @param backup.cronjob.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem -# ## @param backup.cronjob.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation -# ## @param backup.cronjob.containerSecurityContext.capabilities.drop List of capabilities to be dropped -# ## @param backup.cronjob.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile -# containerSecurityContext: -# enabled: true -# seLinuxOptions: {} -# runAsUser: 1001 -# runAsGroup: 1001 -# runAsNonRoot: true -# privileged: false -# readOnlyRootFilesystem: true -# allowPrivilegeEscalation: false -# capabilities: -# drop: ["ALL"] -# seccompProfile: -# type: "RuntimeDefault" -# ## @param backup.cronjob.command Set backup container's command to run -# command: -# - /bin/sh -# - -c -# - "pg_dumpall --clean --if-exists --load-via-partition-root --quote-all-identifiers --no-password --file=${PGDUMP_DIR}/pg_dumpall-$(date '+%Y-%m-%d-%H-%M').pgdump" -# ## @param backup.cronjob.labels Set the cronjob labels -# labels: {} -# ## @param backup.cronjob.annotations Set the cronjob annotations -# annotations: {} -# ## @param backup.cronjob.nodeSelector Node labels for PostgreSQL backup CronJob pod assignment -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/ -# ## -# nodeSelector: {} -# ## @param backup.cronjob.tolerations Tolerations for PostgreSQL backup CronJob pods assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# ## -# tolerations: [] -# ## backup cronjob container resource requests and limits -# ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -# ## @param backup.cronjob.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if backup.cronjob.resources is set (backup.cronjob.resources is recommended for production). -# ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -# ## -# resourcesPreset: "nano" -# ## @param backup.cronjob.resources Set container requests and limits for different resources like CPU or memory -# ## Example: -# resources: {} -# ## resources: -# ## requests: -# ## cpu: 1 -# ## memory: 512Mi -# ## limits: -# ## cpu: 2 -# ## memory: 1024Mi -# networkPolicy: -# ## @param backup.cronjob.networkPolicy.enabled Specifies whether a NetworkPolicy should be created -# ## -# enabled: true -# storage: -# ## @param backup.cronjob.storage.enabled Enable using a `PersistentVolumeClaim` as backup data volume -# ## -# enabled: true -# ## @param backup.cronjob.storage.existingClaim Provide an existing `PersistentVolumeClaim` (only when `architecture=standalone`) -# ## If defined, PVC must be created manually before volume will be bound -# ## -# existingClaim: "" -# ## @param backup.cronjob.storage.resourcePolicy Setting it to "keep" to avoid removing PVCs during a helm delete operation. Leaving it empty will delete PVCs after the chart deleted -# ## -# resourcePolicy: "" -# ## @param backup.cronjob.storage.storageClass PVC Storage Class for the backup data volume -# ## If defined, storageClassName: -# ## 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. -# ## -# storageClass: "" -# ## @param backup.cronjob.storage.accessModes PV Access Mode -# ## -# accessModes: -# - ReadWriteOnce -# ## @param backup.cronjob.storage.size PVC Storage Request for the backup data volume -# ## -# size: 8Gi -# ## @param backup.cronjob.storage.annotations PVC annotations -# ## -# annotations: {} -# ## @param backup.cronjob.storage.mountPath Path to mount the volume at -# ## -# mountPath: /backup/pgdump -# ## @param backup.cronjob.storage.subPath Subdirectory of the volume to mount at -# ## and one PV for multiple services. -# ## -# subPath: "" -# ## Fine tuning for volumeClaimTemplates -# ## -# volumeClaimTemplates: -# ## @param backup.cronjob.storage.volumeClaimTemplates.selector A label query over volumes to consider for binding (e.g. when using local volumes) -# ## A label query over volumes to consider for binding (e.g. when using local volumes) -# ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#labelselector-v1-meta for more details -# ## -# selector: {} -# ## @param backup.cronjob.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the backup container -# ## -# extraVolumeMounts: [] -# ## @param backup.cronjob.extraVolumes Optionally specify extra list of additional volumes for the backup container -# ## -# extraVolumes: [] -# ## @section Volume Permissions parameters -# ## - -# ## Init containers parameters: -# ## volumePermissions: Change the owner and group of the persistent volume(s) mountpoint(s) to 'runAsUser:fsGroup' on each node -# ## -# volumePermissions: -# ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume -# ## -# enabled: false -# ## @param volumePermissions.image.registry [default: REGISTRY_NAME] Init container volume-permissions image registry -# ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] Init container volume-permissions image repository -# ## @skip volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended) -# ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag -# ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy -# ## @param volumePermissions.image.pullSecrets Init container volume-permissions image pull secrets -# ## -# image: -# registry: docker.io -# repository: bitnami/os-shell -# tag: 12-debian-12-r30 -# digest: "" -# pullPolicy: IfNotPresent -# ## Optionally specify an array of imagePullSecrets. -# ## Secrets must be manually created in the namespace. -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ -# ## Example: -# ## pullSecrets: -# ## - myRegistryKeySecretName -# ## -# pullSecrets: [] -# ## Init container resource requests and limits -# ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -# ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). -# ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -# ## -# resourcesPreset: "nano" -# ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) -# ## Example: -# ## resources: -# ## requests: -# ## cpu: 2 -# ## memory: 512Mi -# ## limits: -# ## cpu: 3 -# ## memory: 1024Mi -# ## -# resources: {} -# ## Init container' Security Context -# ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser -# ## and not the below volumePermissions.containerSecurityContext.runAsUser -# ## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container -# ## @param volumePermissions.containerSecurityContext.runAsUser User ID for the init container -# ## @param volumePermissions.containerSecurityContext.runAsGroup Group ID for the init container -# ## @param volumePermissions.containerSecurityContext.runAsNonRoot runAsNonRoot for the init container -# ## @param volumePermissions.containerSecurityContext.seccompProfile.type seccompProfile.type for the init container -# ## -# containerSecurityContext: -# seLinuxOptions: {} -# runAsUser: 0 -# runAsGroup: 0 -# runAsNonRoot: false -# seccompProfile: -# type: RuntimeDefault -# ## @section Other Parameters -# ## - -# ## @param serviceBindings.enabled Create secret for service binding (Experimental) -# ## Ref: https://servicebinding.io/service-provider/ -# ## -# serviceBindings: -# enabled: false -# ## Service account for PostgreSQL to use. -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ -# ## -# serviceAccount: -# ## @param serviceAccount.create Enable creation of ServiceAccount for PostgreSQL pod -# ## -# create: true -# ## @param serviceAccount.name The name of the ServiceAccount to use. -# ## If not set and create is true, a name is generated using the common.names.fullname template -# ## -# name: "" -# ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created -# ## Can be set to false if pods using this serviceAccount do not need to use K8s API -# ## -# automountServiceAccountToken: false -# ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount -# ## -# annotations: {} -# ## Creates role for ServiceAccount -# ## @param rbac.create Create Role and RoleBinding (required for PSP to work) -# ## -# rbac: -# create: false -# ## @param rbac.rules Custom RBAC rules to set -# ## e.g: -# ## rules: -# ## - apiGroups: -# ## - "" -# ## resources: -# ## - pods -# ## verbs: -# ## - get -# ## - list -# ## -# rules: [] -# ## Pod Security Policy -# ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/ -# ## @param psp.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later -# ## -# psp: -# create: false -# ## @section Metrics Parameters -# ## -# metrics: -# ## @param metrics.enabled Start a prometheus exporter -# ## -# enabled: false -# ## @param metrics.image.registry [default: REGISTRY_NAME] PostgreSQL Prometheus Exporter image registry -# ## @param metrics.image.repository [default: REPOSITORY_NAME/postgres-exporter] PostgreSQL Prometheus Exporter image repository -# ## @skip metrics.image.tag PostgreSQL Prometheus Exporter image tag (immutable tags are recommended) -# ## @param metrics.image.digest PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag -# ## @param metrics.image.pullPolicy PostgreSQL Prometheus Exporter image pull policy -# ## @param metrics.image.pullSecrets Specify image pull secrets -# ## -# image: -# registry: docker.io -# repository: bitnami/postgres-exporter -# tag: 0.15.0-debian-12-r43 -# digest: "" -# pullPolicy: IfNotPresent -# ## Optionally specify an array of imagePullSecrets. -# ## Secrets must be manually created in the namespace. -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ -# ## Example: -# ## pullSecrets: -# ## - myRegistryKeySecretName -# ## -# pullSecrets: [] -# ## @param metrics.collectors Control enabled collectors -# ## ref: https://github.com/prometheus-community/postgres_exporter#flags -# ## Example: -# ## collectors: -# ## wal: false -# collectors: {} -# ## @param metrics.customMetrics Define additional custom metrics -# ## ref: https://github.com/prometheus-community/postgres_exporter#adding-new-metrics-via-a-config-file-deprecated -# ## customMetrics: -# ## pg_database: -# ## query: "SELECT d.datname AS name, CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') THEN pg_catalog.pg_database_size(d.datname) ELSE 0 END AS size_bytes FROM pg_catalog.pg_database d where datname not in ('template0', 'template1', 'postgres')" -# ## metrics: -# ## - name: -# ## usage: "LABEL" -# ## description: "Name of the database" -# ## - size_bytes: -# ## usage: "GAUGE" -# ## description: "Size of the database in bytes" -# ## -# customMetrics: {} -# ## @param metrics.extraEnvVars Extra environment variables to add to PostgreSQL Prometheus exporter -# ## see: https://github.com/prometheus-community/postgres_exporter#environment-variables -# ## For example: -# ## extraEnvVars: -# ## - name: PG_EXPORTER_DISABLE_DEFAULT_METRICS -# ## value: "true" -# ## -# extraEnvVars: [] -# ## PostgreSQL Prometheus exporter containers' Security Context -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container -# ## @param metrics.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param metrics.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container -# ## @param metrics.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param metrics.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup -# ## @param metrics.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## @param metrics.containerSecurityContext.privileged Set container's Security Context privileged -# ## @param metrics.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem -# ## @param metrics.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation -# ## @param metrics.containerSecurityContext.capabilities.drop List of capabilities to be dropped -# ## @param metrics.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile -# ## -# containerSecurityContext: -# enabled: true -# seLinuxOptions: {} -# runAsUser: 1001 -# runAsGroup: 1001 -# runAsNonRoot: true -# privileged: false -# readOnlyRootFilesystem: true -# allowPrivilegeEscalation: false -# capabilities: -# drop: ["ALL"] -# seccompProfile: -# type: "RuntimeDefault" -# ## Configure extra options for PostgreSQL Prometheus exporter containers' liveness, readiness and startup probes -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes -# ## @param metrics.livenessProbe.enabled Enable livenessProbe on PostgreSQL Prometheus exporter containers -# ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe -# ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe -# ## -# livenessProbe: -# enabled: true -# initialDelaySeconds: 5 -# periodSeconds: 10 -# timeoutSeconds: 5 -# failureThreshold: 6 -# successThreshold: 1 -# ## @param metrics.readinessProbe.enabled Enable readinessProbe on PostgreSQL Prometheus exporter containers -# ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe -# ## -# readinessProbe: -# enabled: true -# initialDelaySeconds: 5 -# periodSeconds: 10 -# timeoutSeconds: 5 -# failureThreshold: 6 -# successThreshold: 1 -# ## @param metrics.startupProbe.enabled Enable startupProbe on PostgreSQL Prometheus exporter containers -# ## @param metrics.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param metrics.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param metrics.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param metrics.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param metrics.startupProbe.successThreshold Success threshold for startupProbe -# ## -# startupProbe: -# enabled: false -# initialDelaySeconds: 10 -# periodSeconds: 10 -# timeoutSeconds: 1 -# failureThreshold: 15 -# successThreshold: 1 -# ## @param metrics.customLivenessProbe Custom livenessProbe that overrides the default one -# ## -# customLivenessProbe: {} -# ## @param metrics.customReadinessProbe Custom readinessProbe that overrides the default one -# ## -# customReadinessProbe: {} -# ## @param metrics.customStartupProbe Custom startupProbe that overrides the default one -# ## -# customStartupProbe: {} -# ## @param metrics.containerPorts.metrics PostgreSQL Prometheus exporter metrics container port -# ## -# containerPorts: -# metrics: 9187 -# ## PostgreSQL Prometheus exporter resource requests and limits -# ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -# ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production). -# ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -# ## -# resourcesPreset: "nano" -# ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) -# ## Example: -# ## resources: -# ## requests: -# ## cpu: 2 -# ## memory: 512Mi -# ## limits: -# ## cpu: 3 -# ## memory: 1024Mi -# ## -# resources: {} -# ## Service configuration -# ## -# service: -# ## @param metrics.service.ports.metrics PostgreSQL Prometheus Exporter service port -# ## -# ports: -# metrics: 9187 -# ## @param metrics.service.clusterIP Static clusterIP or None for headless services -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#choosing-your-own-ip-address -# ## -# clusterIP: "" -# ## @param metrics.service.sessionAffinity Control where client requests go, to the same pod or round-robin -# ## Values: ClientIP or None -# ## ref: https://kubernetes.io/docs/concepts/services-networking/service/ -# ## -# sessionAffinity: None -# ## @param metrics.service.annotations [object] Annotations for Prometheus to auto-discover the metrics endpoint -# ## -# annotations: -# prometheus.io/scrape: "true" -# prometheus.io/port: "{{ .Values.metrics.service.ports.metrics }}" -# ## Prometheus Operator ServiceMonitor configuration -# ## -# serviceMonitor: -# ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator -# ## -# enabled: false -# ## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace) -# ## -# namespace: "" -# ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped. -# ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint -# ## -# interval: "" -# ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended -# ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint -# ## -# scrapeTimeout: "" -# ## @param metrics.serviceMonitor.labels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus -# ## -# labels: {} -# ## @param metrics.serviceMonitor.selector Prometheus instance selector labels -# ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration -# ## -# selector: {} -# ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping -# ## -# relabelings: [] -# ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion -# ## -# metricRelabelings: [] -# ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint -# ## -# honorLabels: false -# ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus. -# ## -# jobLabel: "" -# ## Custom PrometheusRule to be defined -# ## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart -# ## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions -# ## -# prometheusRule: -# ## @param metrics.prometheusRule.enabled Create a PrometheusRule for Prometheus Operator -# ## -# enabled: false -# ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace) -# ## -# namespace: "" -# ## @param metrics.prometheusRule.labels Additional labels that can be used so PrometheusRule will be discovered by Prometheus -# ## -# labels: {} -# ## @param metrics.prometheusRule.rules PrometheusRule definitions -# ## Make sure to constraint the rules to the current postgresql service. -# ## rules: -# ## - alert: HugeReplicationLag -# ## expr: pg_replication_lag{service="{{ printf "%s-metrics" (include "common.names.fullname" .) }}"} / 3600 > 1 -# ## for: 1m -# ## labels: -# ## severity: critical -# ## annotations: -# ## description: replication for {{ include "common.names.fullname" . }} PostgreSQL is lagging by {{ "{{ $value }}" }} hour(s). -# ## summary: PostgreSQL replication is lagging by {{ "{{ $value }}" }} hour(s). -# ## -# rules: [] diff --git a/disable/ente-photos/postgresql-es.yaml b/disable/ente-photos/postgresql-es.yaml deleted file mode 100644 index c5ac7cc..0000000 --- a/disable/ente-photos/postgresql-es.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: postgresql-es - namespace: ente-photos -spec: - refreshInterval: "15s" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: postgres-config - - dataFrom: - - extract: - key: ente-photos-postgres diff --git a/disable/mbg-helm.yaml b/disable/mbg-helm.yaml deleted file mode 100644 index 8d05470..0000000 --- a/disable/mbg-helm.yaml +++ /dev/null @@ -1,95 +0,0 @@ -# apiVersion: argoproj.io/v1alpha1 -# kind: Application -# metadata: -# name: mbg-helm -# namespace: argocd -# finalizers: -# - resources-finalizer.argocd.argoproj.io -# spec: -# destination: -# namespace: mbg -# server: https://kubernetes.default.svc -# project: default -# source: -# repoURL: registry-1.docker.io/bitnamicharts -# targetRevision: 24.1.13 -# chart: wordpress -# helm: -# values: | -# service: -# ## @param service.type WordPress service type -# ## -# type: ClusterIP -# ingress: -# enabled: true -# ingressClassName: nginx -# hostname: scoutingmbg.nl -# path: / -# annotations: -# cert-manager.io/cluster-issuer: prod-cluster-issuer -# nginx.ingress.kubernetes.io/proxy-body-size: 1G -# tls: true -# tlsWwwPrefix: false -# selfSigned: false -# extraHosts: -# - name: www.scoutingmbg.nl -# extraPaths: [] -# extraTls: -# - secretName: letsencrypt-prod -# hosts: -# - scoutingmbg.nl -# - www.scoutingmbg.nl -# secrets: [] -# extraRules: [] - -# persistence: -# ## @param persistence.enabled Enable persistence using Persistent Volume Claims -# ## -# enabled: true -# ## @param persistence.storageClass Persistent Volume storage class -# ## If defined, storageClassName: -# ## 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 -# ## -# storageClass: "" -# ## @param persistence.accessModes [array] Persistent Volume access modes -# ## -# accessModes: -# - ReadWriteOnce -# ## @param persistence.accessMode Persistent Volume access mode (DEPRECATED: use `persistence.accessModes` instead) -# ## -# accessMode: ReadWriteOnce -# ## @param persistence.size Persistent Volume size -# ## -# size: 10Gi -# ## @param persistence.dataSource Custom PVC data source -# ## -# dataSource: {} -# ## @param persistence.existingClaim The name of an existing PVC to use for persistence -# ## -# existingClaim: "" -# ## @param persistence.selector Selector to match an existing Persistent Volume for WordPress data PVC -# ## If set, the PVC can't have a PV dynamically provisioned for it -# ## E.g. -# ## selector: -# ## matchLabels: -# ## app: my-app -# ## -# selector: {} -# ## @param persistence.annotations Persistent Volume Claim annotations -# ## -# annotations: {} -# allowEmptyPassword: false -# existingSecret: wordpress-credentials -# wordpressUsername: rubenhensen -# smtpExistingSecret: wordpress-credentials -# customHTAccessCM: prod-wordpress-cm -# resourcesPreset: "large" -# livenessProbe: -# enabled: false - -# syncPolicy: -# syncOptions: -# - CreateNamespace=true -# automated: -# selfHeal: true diff --git a/disable/minio-folder.yaml b/disable/minio-folder.yaml deleted file mode 100644 index c81f826..0000000 --- a/disable/minio-folder.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: minio-folder - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: minio - destination: - server: https://kubernetes.default.svc - namespace: minio - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true diff --git a/disable/minio/helm-minio-operator.yaml b/disable/minio/helm-minio-operator.yaml deleted file mode 100644 index 98d52b7..0000000 --- a/disable/minio/helm-minio-operator.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: minio-operator - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true - prune: true - project: default - sources: - - chart: operator - repoURL: https://operator.min.io - targetRevision: 6.0.3 - helm: - valueFiles: - - $values/minio/values-operator.yaml - - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - ref: values - destination: - server: https://kubernetes.default.svc - namespace: minio-operator \ No newline at end of file diff --git a/disable/minio/helm-minio-tenant.yaml b/disable/minio/helm-minio-tenant.yaml deleted file mode 100644 index fa5aa64..0000000 --- a/disable/minio/helm-minio-tenant.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: minio-tenant - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true - prune: true - project: default - sources: - - chart: tenant - repoURL: https://operator.min.io - targetRevision: 6.0.3 - helm: - valueFiles: - - $values/minio/values-tenant.yaml - - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - ref: values - destination: - server: https://kubernetes.default.svc - namespace: minio-tenant - - diff --git a/disable/minio/minio-tenant-es.yaml b/disable/minio/minio-tenant-es.yaml deleted file mode 100644 index b4de7b0..0000000 --- a/disable/minio/minio-tenant-es.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: minio-tenant-es - namespace: minio-tenant -spec: - refreshInterval: "15s" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: minio-env-configuration - - data: - - secretKey: config.env - remoteRef: - key: minio-tenant-root - property: config.env - - # # metadataPolicy to fetch all the labels in JSON format - # - secretKey: tags - # remoteRef: - # metadataPolicy: Fetch - # key: foo - - # # metadataPolicy to fetch a specific label (dev) from the source secret - # - secretKey: developer - # remoteRef: - # metadataPolicy: Fetch - # key: foo - # property: dev \ No newline at end of file diff --git a/disable/minio/values-operator.yaml b/disable/minio/values-operator.yaml deleted file mode 100644 index bb268e4..0000000 --- a/disable/minio/values-operator.yaml +++ /dev/null @@ -1,319 +0,0 @@ -### -# Root key for Operator Helm Chart -operator: - ### - # An array of environment variables to pass to the Operator deployment. - # Pass an empty array to start Operator with defaults. - # - # For example: - # - # .. code-block:: yaml - # - # env: - # - name: MINIO_OPERATOR_DEPLOYMENT_NAME - # valueFrom: - # fieldRef: - # fieldPath: metadata.labels['app.kubernetes.io/name'] - # - name: MINIO_CONSOLE_TLS_ENABLE - # value: "off" - # - name: CLUSTER_DOMAIN - # value: "cluster.domain" - # - name: WATCHED_NAMESPACE - # value: "" - # - name: MINIO_OPERATOR_RUNTIME - # value: "OpenShift" - # - # See `Operator environment variables `__ for a list of all supported values. - env: - - name: OPERATOR_STS_ENABLED - value: "on" - ### - # Specify the Operator container image to use for the deployment. - # ``image.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v5.0.11 tag. - # The container pulls the image if not already present: - # - # .. code-block:: yaml - # - # image: - # repository: quay.io/minio/operator - # tag: v5.0.11 - # pullPolicy: IfNotPresent - # - # The chart also supports specifying an image based on digest value: - # - # .. code-block:: yaml - # - # image: - # repository: quay.io/minio/operator@sha256 - # digest: 28c80b379c75242c6fe793dfbf212f43c602140a0de5ebe3d9c2a3a7b9f9f983 - # pullPolicy: IfNotPresent - # - image: - repository: quay.io/minio/operator - tag: v5.0.11 - pullPolicy: IfNotPresent - ### - # - # An array of Kubernetes secrets to use for pulling images from a private ``image.repository``. - # Only one array element is supported at this time. - imagePullSecrets: [ ] - ### - # - # The name of a custom `Container Runtime `__ to use for the Operator pods. - runtimeClassName: ~ - ### - # An array of `initContainers `__ to start up before the Operator pods. - # Exercise care as ``initContainer`` failures prevent Operator pods from starting. - # Pass an empty array to start the Operator normally. - initContainers: [ ] - ### - # The number of Operator pods to deploy. - # Higher values increase availability in the event of worker node failures. - # - # The cluster must have sufficient number of available worker nodes to fulfill the request. - # Operator pods deploy with pod anti-affinity by default, preventing Kubernetes from scheduling multiple pods onto a single Worker node. - replicaCount: 1 - ### - # The Kubernetes `SecurityContext `__ to use for deploying Operator resources. - # - # You may need to modify these values to meet your cluster's security and access settings. - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - fsGroup: 1000 - ### - # The Kubernetes `SecurityContext `__ to use for deploying Operator containers. - # You may need to modify these values to meet your cluster's security and access settings. - containerSecurityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - ### - # An array of `Volumes `__ which the Operator can mount to pods. - # - # The volumes must exist *and* be accessible to the Operator pods. - volumes: [ ] - ### - # An array of volume mount points associated to each Operator container. - # - # Specify each item in the array as follows: - # - # .. code-block:: yaml - # - # volumeMounts: - # - name: volumename - # mountPath: /path/to/mount - # - # The ``name`` field must correspond to an entry in the ``volumes`` array. - volumeMounts: [ ] - ### - # Any `Node Selectors `__ to apply to Operator pods. - # - # The Kubernetes scheduler uses these selectors to determine which worker nodes onto which it can deploy Operator pods. - # - # If no worker nodes match the specified selectors, the Operator deployment will fail. - nodeSelector: { } - ### - # - # The `Pod Priority `__ to assign to Operator pods. - priorityClassName: "" - ### - # - # The `affinity `__ or anti-affinity settings to apply to Operator pods. - # - # These settings determine the distribution of pods across worker nodes and can help prevent or allow colocating pods onto the same worker nodes. - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: name - operator: In - values: - - minio-operator - topologyKey: kubernetes.io/hostname - ### - # - # An array of `Toleration labels `__ to associate to Operator pods. - # - # These settings determine the distribution of pods across worker nodes. - tolerations: [ ] - ### - # - # An array of `Topology Spread Constraints `__ to associate to Operator pods. - # - # These settings determine the distribution of pods across worker nodes. - topologySpreadConstraints: [ ] - ### - # - # The `Requests or Limits `__ for resources to associate to Operator pods. - # - # These settings can control the minimum and maximum resources requested for each pod. - # If no worker nodes can meet the specified requests, the Operator may fail to deploy. - resources: - requests: - cpu: 200m - memory: 256Mi - ephemeral-storage: 500Mi - -### -# Root key for Operator Console -console: - ### - # Specify ``false`` to disable the Operator Console. - # - # If the Operator Console is disabled, all management of Operator Tenants must be done through the Kubernetes API. - enabled: true - ### - # Specify the Operator Console container image to use for the deployment. - # ``image.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v5.0.11 tag. - # The container pulls the image if not already present: - # - # .. code-block:: yaml - # - # image: - # repository: quay.io/minio/operator - # tag: v5.0.11 - # pullPolicy: IfNotPresent - # - # The chart also supports specifying an image based on digest value: - # - # .. code-block:: yaml - # - # image: - # repository: quay.io/minio/operator@sha256 - # digest: 28c80b379c75242c6fe793dfbf212f43c602140a0de5ebe3d9c2a3a7b9f9f983 - # pullPolicy: IfNotPresent - # - # The specified values should match that of ``operator.image`` to ensure predictable operations. - image: - repository: quay.io/minio/operator - tag: v5.0.11 - pullPolicy: IfNotPresent - ### - # An array of environment variables to pass to the Operator Console deployment. - # Pass an empty array to start Operator Console with defaults. - env: [ ] - ### - # - # An array of Kubernetes secrets to use for pulling images from a private ``image.repository``. - imagePullSecrets: [ ] - ### - # - # The name of a custom `Container Runtime `__ to use for the Operator Console pods. - runtimeClassName: ~ - ### - # An array of `initContainers `__ to start up before the Operator Console pods. - # Exercise care as ``initContainer`` failures prevent Console pods from starting. - # Pass an empty array to start the Console normally. - initContainers: [ ] - ### - # The number of Operator Console pods to deploy. - # Higher values increase availability in the event of worker node failures. - # - # The cluster must have sufficient number of available worker nodes to fulfill the request. - # Console pods deploy with pod anti-affinity by default, preventing Kubernetes from scheduling multiple pods onto a single Worker node. - replicaCount: 1 - ### - # Any `Node Selectors `__ to apply to Operator Console pods. - # - # The Kubernetes scheduler uses these selectors to determine which worker nodes onto which it can deploy Console pods. - # - # If no worker nodes match the specified selectors, the Console deployment will fail. - nodeSelector: { } - ### - # - # The `affinity `__ or anti-affinity settings to apply to Operator Console pods. - # - # These settings determine the distribution of pods across worker nodes and can help prevent or allow colocating pods onto the same worker nodes. - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: name - operator: In - values: - - minio-operator - topologyKey: kubernetes.io/hostname - ### - # - # An array of `Toleration labels `__ to associate to Operator Console pods. - # - # These settings determine the distribution of pods across worker nodes. - tolerations: [ ] - ### - # - # An array of `Topology Spread Constraints `__ to associate to Operator Console pods. - # - # These settings determine the distribution of pods across worker nodes. - topologySpreadConstraints: [ ] - ### - # - # The `Requests or Limits `__ for resources to associate to Operator Console pods. - # - # These settings can control the minimum and maximum resources requested for each pod. - # If no worker nodes can meet the specified requests, the Console may fail to deploy. - resources: - requests: - cpu: 0.25 - memory: 512Mi - ### - # The Kubernetes `SecurityContext `__ to use for deploying Operator Console resources. - # - # You may need to modify these values to meet your cluster's security and access settings. - securityContext: - runAsUser: 1000 - runAsNonRoot: true - ### - # The Kubernetes `SecurityContext `__ to use for deploying Operator Console containers. - # You may need to modify these values to meet your cluster's security and access settings. - containerSecurityContext: - runAsUser: 1000 - runAsNonRoot: true - ### - # Configures `Ingress `__ for the Operator Console. - # - # Set the keys to conform to the Ingress controller and configuration of your choice. - # ingress: - # enabled: true - # ingressClassName: nginx - # labels: { } - # annotations: - # cert-manager.io/cluster-issuer: prod-cluster-issuer - # # nginx.ingress.kubernetes.io/ssl-passthrough: "true" - # nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" - # tls: - # # TLS secretName used on ClusterIssuer - # - secretName: letsencrypt-prod - # hosts: - # - minio-console.hensen.io - # host: minio-console.hensen.io - # path: / - # pathType: Prefix - ### - # An array of `Volumes `__ which the Operator Console can mount to pods. - # - # The volumes must exist *and* be accessible to the Console pods. - volumes: - - name: tmp - emptyDir: {} - ### - # An array of volume mount points associated to each Operator Console container. - # - # Specify each item in the array as follows: - # - # .. code-block:: yaml - # - # volumeMounts: - # - name: volumename - # mountPath: /path/to/mount - # - # The ``name`` field must correspond to an entry in the ``volumes`` array. - volumeMounts: - - name: tmp - readOnly: false - mountPath: /tmp/certs/CAs diff --git a/disable/minio/values-tenant.yaml b/disable/minio/values-tenant.yaml deleted file mode 100644 index 2d79f1d..0000000 --- a/disable/minio/values-tenant.yaml +++ /dev/null @@ -1,120 +0,0 @@ -tenant: - name: myminio - image: - repository: quay.io/minio/minio - tag: RELEASE.2024-08-17T01-24-54Z - pullPolicy: IfNotPresent - imagePullSecret: { } - scheduler: { } - configuration: - name: minio-env-configuration - - configSecret: - existingSecret: true - - pools: - - servers: 1 - name: pool-0 - volumesPerServer: 1 - size: 10Gi - storageAnnotations: { } - annotations: { } - labels: { } - tolerations: [ ] - nodeSelector: { } - affinity: { } - resources: { } - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - fsGroup: 1000 - fsGroupChangePolicy: "OnRootMismatch" - runAsNonRoot: true - containerSecurityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - seccompProfile: - type: RuntimeDefault - topologySpreadConstraints: [ ] - mountPath: /export - subPath: /data - metrics: - enabled: false - port: 9000 - protocol: http - - certificate: - externalCaCertSecret: [ ] - externalCertSecret: [ ] - requestAutoCert: true - certConfig: { } - features: - bucketDNS: false - domains: { } - enableSFTP: false - buckets: [ ] - users: [ ] - podManagementPolicy: Parallel - liveness: { } - readiness: { } - startup: { } - lifecycle: { } - exposeServices: { } - serviceAccountName: "" - prometheusOperator: false - logging: { } - serviceMetadata: { } - env: [ ] - priorityClassName: "" - additionalVolumes: [ ] - additionalVolumeMounts: [ ] - -ingress: - api: - enabled: true - ingressClassName: nginx - # labels: { } - annotations: - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" - tls: - - secretName: letsencrypt-prod - hosts: - - minio.hensen.io - host: minio.hensen.io - path: / - pathType: Prefix - console: - enabled: true - ingressClassName: nginx - # labels: { } - annotations: - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" - tls: - - secretName: letsencrypt-prod-2 - hosts: - - minio-console.hensen.io - host: minio-console.hensen.io - path: / - pathType: Prefix - - - - - - - - - - - - - diff --git a/disable/mist-folder.yaml b/disable/mist-folder.yaml deleted file mode 100644 index 0e38313..0000000 --- a/disable/mist-folder.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: mist-folder - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: mist - destination: - server: https://kubernetes.default.svc - namespace: mist - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true \ No newline at end of file diff --git a/disable/mist/ingress.yaml b/disable/mist/ingress.yaml deleted file mode 100644 index 2b6599d..0000000 --- a/disable/mist/ingress.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: rowing-webcam-ingress - namespace: default - annotations: - kubernetes.io/ingress.class: "nginx" - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - nginx.ingress.kubernetes.io/proxy-body-size: "10m" - cert-manager.io/cluster-issuer: prod-cluster-issuer - # Add basic auth to protect the webcam - # nginx.ingress.kubernetes.io/auth-type: basic - # nginx.ingress.kubernetes.io/auth-secret: rowing-webcam-auth - # nginx.ingress.kubernetes.io/auth-realm: "Rowing Club Webcam" -spec: - ingressClassName: nginx - rules: - - host: mist.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: rowing-webcam-service - port: - number: 80 - tls: - - hosts: - - mist.hensen.io - secretName: mist-hensen-io-tls # Make sure this TLS secret exists diff --git a/disable/mist/service.yaml b/disable/mist/service.yaml deleted file mode 100644 index 7841dec..0000000 --- a/disable/mist/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: rowing-webcam-service - namespace: default -spec: - ports: - - port: 80 - targetPort: 80 - protocol: TCP - # This is an ExternalName service that points to your Raspberry Pi - type: ExternalName - externalName: 192.168.1.201 \ No newline at end of file diff --git a/disable/nextcloud-helm.yaml b/disable/nextcloud-helm.yaml deleted file mode 100644 index 194cc2a..0000000 --- a/disable/nextcloud-helm.yaml +++ /dev/null @@ -1,108 +0,0 @@ -# apiVersion: argoproj.io/v1alpha1 -# kind: Application -# metadata: -# name: nextcloud-helm -# namespace: argocd -# finalizers: -# - resources-finalizer.argocd.argoproj.io -# spec: -# destination: -# namespace: nextcloud -# server: https://kubernetes.default.svc -# project: default -# source: -# repoURL: https://nextcloud.github.io/helm/ -# targetRevision: 6.6.3 -# chart: nextcloud -# helm: -# values: | -# persistence: -# # Nextcloud Data (/var/www/html) -# enabled: true -# accessMode: ReadWriteOnce -# size: 100Gi - - -# 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 -# nextcloud: -# host: drive.hensen.io -# configs: -# proxy.config.php: | -# ['10.0.0.0/8', '192.168.1.1/32'], -# ); -# phone.config.php: | -# 'NL', -# ); -# phpConfigs: -# user.ini: |- -# upload_max_filesize=16G -# post_max_size=16G -# livenessProbe: -# enabled: false -# readinessProbe: -# enabled: false -# phpClientHttpsFix: -# enabled: true -# protocol: https -# ingress: -# enabled: true -# className: nginx -# annotations: -# nginx.ingress.kubernetes.io/proxy-body-size: 100G -# nginx.ingress.kubernetes.io/configuration-snippet: | -# more_set_headers "Strict-Transport-Security: max-age=15768000; includeSubDomains"; -# # kubernetes.io/tls-acme: "true" -# cert-manager.io/cluster-issuer: prod-cluster-issuer -# # # Keep this in sync with the README.md: -# # nginx.ingress.kubernetes.io/server-snippet: | -# # server_tokens off -# # proxy_hide_header X-Powered-By; -# # rewrite ^/.well-known/webfinger /index.php/.well-known/webfinger last; -# # rewrite ^/.well-known/nodeinfo /index.php/.well-known/nodeinfo last; -# # rewrite ^/.well-known/host-meta /public.php?service=host-meta last; -# # rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json; -# # location = /.well-known/carddav { -# # return 301 $scheme://$host/remote.php/dav; -# # } -# # location = /.well-known/caldav { -# # return 301 $scheme://$host/remote.php/dav; -# # } -# # location = /robots.txt { -# # allow all; -# # log_not_found off; -# # access_log off; -# # } -# # location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { -# # deny all; -# # } -# # location ~ ^/(?:autotest|occ|issue|indie|db_|console) { -# # deny all; -# # } -# tls: -# - secretName: nextcloud-tls -# hosts: -# - drive.hensen.io -# labels: {} -# path: / -# pathType: Prefix - - -# syncPolicy: -# syncOptions: -# - CreateNamespace=true -# automated: -# selfHeal: true diff --git a/disable/owntracks-folder.yaml b/disable/owntracks-folder.yaml deleted file mode 100644 index 6a5da0e..0000000 --- a/disable/owntracks-folder.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: owntracks-folder - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: owntracks - destination: - server: https://kubernetes.default.svc - namespace: owntracks - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true \ No newline at end of file diff --git a/disable/owntracks/mosquitto-helm.yaml b/disable/owntracks/mosquitto-helm.yaml deleted file mode 100644 index 662bd38..0000000 --- a/disable/owntracks/mosquitto-helm.yaml +++ /dev/null @@ -1,167 +0,0 @@ -# apiVersion: argoproj.io/v1alpha1 -# kind: Application -# metadata: -# name: mosquitto-helm -# namespace: argocd -# finalizers: -# - resources-finalizer.argocd.argoproj.io -# spec: -# syncPolicy: -# syncOptions: -# - CreateNamespace=true -# automated: -# prune: true -# selfHeal: true -# project: default -# sources: -# - chart: mosquitto -# repoURL: https://storage.googleapis.com/t3n-helm-charts -# targetRevision: v2.4.1 # Replace with the Longhorn version you'd like to install or upgrade to -# helm: -# values: | -# replicaCount: 1 -# strategyType: Recreate - -# image: -# repository: eclipse-mosquitto -# tag: 1.6.12 -# pullPolicy: IfNotPresent - -# imagePullSecrets: [] -# nameOverride: "" -# fullnameOverride: "" - -# serviceAccount: -# # Specifies whether a service account should be created -# create: true -# # The name of the service account to use. -# # If not set and create is true, a name is generated using the fullname template -# name: - -# service: -# type: ClusterIP -# externalTrafficPolicy: null -# annotations: {} -# # metallb.universe.tf/allow-shared-ip: pi-hole - -# ports: -# mqtt: -# port: 1883 -# # sets consistent nodePort, required to set service.type=NodePort -# # nodePort: 31883 -# protocol: TCP -# websocket: -# port: 9090 -# protocol: TCP - -# persistence: -# enabled: true -# accessMode: ReadWriteOnce -# existingClaim: "" -# mountPath: /mosquitto/data -# subPath: "" -# ## database data Persistent Volume Storage Class -# ## If defined, storageClassName: -# ## 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: "-" -# size: 1Gi - -# 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 - -# podSecurityContext: {} -# # runAsUser: 1001 -# # fsGroup: 10000 - -# securityContext: {} -# # runAsUser: 1001 -# # fsGroup: 10000 - -# nodeSelector: {} - -# tolerations: [] - -# affinity: {} - -# authentication: -# passwordEntries: "" -# # To use authentication with mosquitto, you can set a list of password entries to be used. -# # reference https://mosquitto.org/man/mosquitto_passwd-1.html to generate these entries. -# # For example: -# # passwordEntries: |- -# # user1:$6$BKzw0RKerxV4Esbj$Uz5slWGB1TiOtYIEokEl0eR1YSEQAdKpcdRYMsLYbwjktlVzdLyGk41YCPGyMLnBePtdwPhkcm8kjGI0R9s57w== -# # user2:$6$b5vYuHrSLj48Ii32$NjlbnatIaUQSsNvxxTpawpav6NPyZ8QhGrdEVGtyU1rgEGjNzVGKlstRg29FV6MFTPs/ugPA8D5I5+qRcIMXSg== -# passwordFilePath: "/etc/mosquitto/passwordfile" - -# authorization: -# acls: "" -# # To use authorizations with mosquitto, you can set a list of per user or pattern-based rules. -# # reference https://mosquitto.org/man/mosquitto-conf-5.html for further information. -# # For example: -# # acls: |- -# # zigbee2mqtt ACLs -# # user zigbee2mqtt -# # topic readwrite zigbee2mqtt/# -# # topic readwrite homeassistant/# -# # Tasmota-compatible ACLs -# # pattern read cmnd/%u/# -# # pattern write stat/%u/# -# # pattern write tele/%u/# -# aclfilePath: "/etc/mosquitto/aclfile" - -# existingConfigMap: "" -# config: | -# persistence true -# persistence_location /mosquitto/data/ -# log_dest stdout -# listener 1883 -# listener 9090 -# protocol websockets - -# ## Additional volumes. -# extraVolumes: [] -# # - name: tls -# # secret: -# # secretName: mosquitto-certs - -# ## Additional volumeMounts to the main container. -# extraVolumeMounts: [] -# # - name: tls -# # mountPath: /certs -# # subPath: cafile - -# monitoring: -# podMonitor: -# enabled: false -# sidecar: -# enabled: false -# port: 9234 -# # nodePort: 32234 -# image: -# repository: nolte/mosquitto-exporter -# tag: v0.6.3 -# pullPolicy: IfNotPresent -# resources: -# limits: -# cpu: 300m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 64Mi - -# destination: -# server: https://kubernetes.default.svc -# namespace: owntracks \ No newline at end of file diff --git a/disable/owntracks/recorder.yaml b/disable/owntracks/recorder.yaml deleted file mode 100644 index 1e875c0..0000000 --- a/disable/owntracks/recorder.yaml +++ /dev/null @@ -1,279 +0,0 @@ ---- -# PersistentVolumeClaim for OwnTracks Recorder -# apiVersion: v1 -# kind: PersistentVolumeClaim -# metadata: -# name: otrecorder-config-pvc -# spec: -# accessModes: -# - ReadWriteOnce -# resources: -# requests: -# storage: 1Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: otrecorder-store-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 5Gi ---- -# PersistentVolumeClaim for Mosquitto -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mosquitto-data-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mosquitto-logs-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi ---- -# ExternalSecret for OwnTracks Recorder password -# apiVersion: external-secrets.io/v1beta1 -# kind: ExternalSecret -# metadata: -# name: owntracks-mqtt-credentials -# spec: -# refreshInterval: "15m" -# secretStoreRef: -# name: vault-backend -# kind: ClusterSecretStore -# target: -# name: owntracks-mqtt-password -# creationPolicy: Owner -# data: -# - secretKey: password -# remoteRef: -# key: kv/mqtt -# property: password - ---- -# Deployment for OwnTracks Recorder -# apiVersion: apps/v1 -# kind: Deployment -# metadata: -# name: otrecorder -# spec: -# replicas: 1 -# selector: -# matchLabels: -# app: otrecorder -# template: -# metadata: -# labels: -# app: otrecorder -# spec: -# containers: -# - name: otrecorder -# image: owntracks/recorder -# ports: -# - containerPort: 8083 -# env: -# - name: OTR_HOST -# value: "mqtt" -# - name: OTR_PORT -# value: "8883" -# - name: OTR_USER -# value: "ruben" -# # - name: TZ -# # value: "Europe/Berlin" -# # - name: VIRTUAL_HOST -# # value: "owntracks.hensen.io" -# # - name: VIRTUAL_PORT -# # value: 8883 -# # - name: OTR_CLIENTID -# # value: "" -# - name: OTR_PASS -# valueFrom: -# secretKeyRef: -# name: owntracks-mqtt-password -# key: password -# volumeMounts: -# - name: store -# mountPath: /store -# volumes: -# - name: store -# persistentVolumeClaim: -# claimName: otrecorder-store-pvc ---- -# Service for OwnTracks Recorder -# apiVersion: v1 -# kind: Service -# metadata: -# name: otrecorder -# spec: -# selector: -# app: otrecorder -# ports: -# - port: 8083 -# targetPort: 8083 -# type: ClusterIP ---- -# ExternalSecret to fetch MQTT password file from Vault -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: mqtt-password-file -spec: - refreshInterval: "15m" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: mqtt-password-secret - creationPolicy: Owner - data: - - secretKey: password_file - remoteRef: - key: kv/mqtt - property: secret - ---- -# ConfigMap for MQTT configuration -apiVersion: v1 -kind: ConfigMap -metadata: - name: mqtt-config -data: - mosquitto.conf: | - listener 8883 - allow_anonymous false - password_file /mosquitto/config/password_file - # Add other MQTT configuration options here - listener 8083 - protocol websockets ---- -# MQTT Deployment -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mqtt - labels: - app: mqtt -spec: - replicas: 1 - selector: - matchLabels: - app: mqtt - template: - metadata: - labels: - app: mqtt - spec: - containers: - - name: mqtt - image: eclipse-mosquitto:latest - ports: - - containerPort: 8883 - name: mqtt - - containerPort: 8083 - name: websocket - volumeMounts: - - name: config - mountPath: /mosquitto/config/mosquitto.conf - subPath: mosquitto.conf - - name: password-file - mountPath: /mosquitto/config/password_file - subPath: password_file - volumes: - - name: config - configMap: - name: mqtt-config - - name: password-file - secret: - secretName: mqtt-password-secret - ---- -# MQTT Service -apiVersion: v1 -kind: Service -metadata: - name: mqtt -spec: - selector: - app: mqtt - ports: - - port: 8883 - targetPort: 8883 - name: mqtt - - port: 8083 - targetPort: 8083 - name: websocket ---- -# External access with Ingress for OwnTracks Recorder -# apiVersion: networking.k8s.io/v1 -# kind: Ingress -# metadata: -# name: otrecorder-ingress -# annotations: -# nginx.ingress.kubernetes.io/rewrite-target: / -# cert-manager.io/cluster-issuer: prod-cluster-issuer -# spec: -# ingressClassName: nginx -# tls: -# - hosts: -# - owntracks.hensen.io -# secretName: owntracks-tls-secret -# rules: -# - host: owntracks.hensen.io -# http: -# paths: -# - path: / -# pathType: Prefix -# backend: -# service: -# name: otrecorder -# port: -# number: 8083 ---- -# Corrected MQTT Ingress: - -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: mqtt-ingress - annotations: - cert-manager.io/cluster-issuer: prod-cluster-issuer - # Add NGINX TCP passthrough annotations - nginx.ingress.kubernetes.io/ssl-passthrough: "false" - nginx.ingress.kubernetes.io/backend-protocol: "TCP" - nginx.ingress.kubernetes.io/ssl-redirect: "false" -spec: - ingressClassName: nginx - tls: - - hosts: - - mqtt.hensen.io - secretName: mqtt-tls-secret - rules: - - host: mqtt.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: mqtt - port: - number: 8083 - -# Note: For proper MQTT over TLS, consider these alternatives: -# 1. Use a TCP Load Balancer instead of an Ingress -# 2. Configure the MQTT broker to use TLS directly (port 8883) -# 3. Use NGINX TCP ingress controller configuration \ No newline at end of file diff --git a/disable/restore-backup/README.md b/disable/restore-backup/README.md deleted file mode 100644 index 09c4460..0000000 --- a/disable/restore-backup/README.md +++ /dev/null @@ -1 +0,0 @@ -Example container to restore files. See `Obsidian > Cluster > Restore longhorn backup` for more \ No newline at end of file diff --git a/disable/restore-backup/restore-ubuntu.yaml b/disable/restore-backup/restore-ubuntu.yaml deleted file mode 100644 index 330616e..0000000 --- a/disable/restore-backup/restore-ubuntu.yaml +++ /dev/null @@ -1,30 +0,0 @@ -kind: Deployment -apiVersion: apps/v1 -metadata: - name: restore-ubuntu - labels: - app: restore-ubuntu - # namespace: immich # edit in apps folder -# docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 -spec: - replicas: 1 - selector: - matchLabels: - app: restore-ubuntu - template: - metadata: - labels: - app: restore-ubuntu - spec: - containers: - - name: restore-ubuntu - image: ubuntu:plucky - volumeMounts: - - name: restorevol - mountPath: /mnt/restorevol/ - command: [ "/bin/bash", "-c", "--" ] # Let container sleep, so it does not close because of 'completion' - args: [ "while true; do sleep 30; done;" ] - volumes: - - name: restorevol - persistentVolumeClaim: - claimName: backupofimmich \ No newline at end of file diff --git a/disable/test-schedule.yaml b/disable/test-schedule.yaml deleted file mode 100644 index 635e609..0000000 --- a/disable/test-schedule.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: velero.io/v1 -kind: Schedule -metadata: - name: test-backup - namespace: velero - # annotations: - # velero.io/csi-volumesnapshot-class_driver.longhorn.io: "longhorn-backup-vsc" -spec: - schedule: "*/5 * * * *" # Daily at 1 AM - template: - includedNamespaces: - # - immich - # - nextcloud - # - home-assistant - - ttrss - ttl: 15m # 30 days - defaultVolumesToFsBackup: true \ No newline at end of file diff --git a/disable/traccar-folder.yaml b/disable/traccar-folder.yaml deleted file mode 100644 index adabe37..0000000 --- a/disable/traccar-folder.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: traccar-folder - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: traccar - destination: - server: https://kubernetes.default.svc - namespace: traccar - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true \ No newline at end of file diff --git a/disable/traccar-helm.yaml b/disable/traccar-helm.yaml deleted file mode 100644 index 236db18..0000000 --- a/disable/traccar-helm.yaml +++ /dev/null @@ -1,951 +0,0 @@ -kind: Application -metadata: - name: traccar - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - destination: - namespace: traccar - server: https://kubernetes.default.svc - project: default - source: - repoURL: https://traccar.github.io/traccar-helm/ - targetRevision: 1.9.0 - chart: traccar - helm: - values: | - traccar: - # server: - # statistics: - # web: - # enable: "true" - # address: "0.0.0.0" - # port: "8082" - # # path: - # debug: "false" - # console: "true" - # timeout: - # old: - # application: - # geocoder: - # enable: - # type: - # url: - # onRequest: - # ignorePositions: - # processInvalidPositions: - # format: - # reuseDistance: - # geolocation: - # enable: - # type: - # key: - # mcc: - # mnc: - # processInvalidPositions: - filter: - enable: "false" - # skipLimit: 5 - # invalid: "true" - # zero: "true" - # duplicate: "true" - # distance: 80 - # future: 86400 - # maxSpeed: 200 - # skipAttributes: - # enable: "true" - # attributes: "alarm,result,driverUniqueId" - distance: - enable: "false" - logger: - enable: "true" - level: "info" - processing: - remoteAddress: - enable: "false" - copyAttributes: - enable: "false" - # attributes: "io83,io84,io87,io89" - # database: - # driverFile: - # driver: - # url: - # user: - # password: - # changelog: - # checkConnection: - # ignoreUnknown: - # registerUnknown: - # enable: - # defaultGroupId: - # xml: - # saveOriginal: - # selectDevicesAll: - # insertPosition: - # updateLatestPosition: - # globalsat: - # format0: - # format1: - # coordinates: - # filter: - # minError: - # maxError: - event: - enable: "false" - # overspeed: - # notRepeat: - # motion: - # speedThreshold: - # forward: - # enable: - # url: - # header: - # speedLimit: - # devicemanager: - # lookupGroupsAttribute: - # forward: - # url: - # json: - # mail: - # templates: - # report: - # minimalParkingDuration: 500 - # minimalNoDataDuration: 500 - # minimalTripDuration: 500 - # minimalTripDistance: 500 - # wialon: - # status: - # timeout: - # sms: - - mysql: - enabled: true - auth: - database: "traccar" - username: "traccar" - password: "traccar" - primary: - persistence: - enabled: true - secondary: - persistence: - enabled: false - - # NOTE: When using multiple replicas, you must configure broadcast.type and broadcast.address - # This can be done via configOverride. See https://www.traccar.org/configuration-file/#:~:text=attributes%20to%20log.-,broadcast.type,-config - # Or by setting redis.enabled=true - replicaCount: 1 - - deploymentStrategy: - # Recreate has been the default until chart version 1.6.0 and is required if running a non-HA compatible setup - type: Recreate - # rollingUpdate: - # maxSurge: 25% - # maxUnavailable: 25% - # type: RollingUpdate - - image: - repository: traccar/traccar - pullPolicy: IfNotPresent - # flavor: "" # available are alpine, debian or ubuntu - # Overrides the image tag whose default is the chart appVersion. - tag: "" - - 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: "" - - podAnnotations: {} - - podLabels: {} - - podSecurityContext: {} - # fsGroup: 2000 - - securityContext: - capabilities: - drop: - - ALL - readOnlyRootFilesystem: false - runAsNonRoot: true - runAsUser: 1000 - - # A list of initContainers to run before the pod starts - initContainers: [] - - command: ["java", "-Xms512m", "-Xmx512m", "-Djava.net.preferIPv4Stack=true"] - args: ["-jar", "tracker-server.jar", "conf/traccar.xml"] - - # This allows you to use environment variables (i.e. referenced from Secrets) to use in your configuration - # The names of the keys are identical. But, a dot (.), you'll have to use an underscore (_) and define everything in UPPERCASE - env: [] - # - name: "CONFIG_USE_ENVIRONMENT_VARIABLES" - # value: "true" - # - name: "DATABASE_USER" - # valueFrom: - # secretKeyRef: - # name: "postgres-secrets" - # key: "username" - # - name: "DATABASE_PASSWORD" - # valueFrom: - # secretKeyRef: - # name: "postgres-secrets" - # key: "password" - - ingress: - enabled: true - className: nginx - extraAnnotations: {} - annotations: - kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - # cert-manager.io/cluster-issuer: "letsencrypt-prod" - # nginx.ingress.kubernetes.io/proxy-body-size: "0" - cert-manager.io/cluster-issuer: prod-cluster-issuer - # nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: traccar.hensen.io - paths: - - / - tls: - - secretName: traccar-tls - hosts: - - traccar.hensen.io - - service: - type: ClusterIP - port: 8088 - - externalService: - type: LoadBalancer - enabled: false - annotations: {} - # metallb.universe.tf/loadBalancerIPs: 192.168.1.100 - # loadBalancerIP: "" - # loadBalancerSourceRanges: [] - - # -- Enable node port allocation for the external controller service or not. Applies to type `LoadBalancer` only. - # Ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-nodeport-allocation - # allocateLoadBalancerNodePorts: true - - protocolPorts: - - name: gps103 - port: 5001 - targetPort: gps103 - - name: tk103 - port: 5002 - targetPort: tk103 - - name: gl100 - port: 5003 - targetPort: gl100 - - name: gl200 - port: 5004 - targetPort: gl200 - - name: t55 - port: 5005 - targetPort: t55 - - name: xexun - port: 5006 - targetPort: xexun - - name: totem - port: 5007 - targetPort: totem - - name: enfora - port: 5008 - targetPort: enfora - - name: meiligao - port: 5009 - targetPort: meiliago - - name: trv - port: 5010 - targetPort: trv - - name: suntech - port: 5011 - targetPort: suntech - - name: progress - port: 5012 - targetPort: progress - - name: h02 - port: 5013 - targetPort: h02 - - name: jt600 - port: 5014 - targetPort: jt600 - - name: huabao - port: 5015 - targetPort: huabao - - name: v680 - port: 5016 - targetPort: v680 - - name: pt502 - port: 5017 - targetPort: pt502 - - name: tr20 - port: 5018 - targetPort: tr20 - - name: navis - port: 5019 - targetPort: navis - - name: meitrack - port: 5020 - targetPort: meitrack - - name: skypatrol - port: 5021 - targetPort: skypatrol - - name: gt02 - port: 5022 - targetPort: gt02 - - name: gt06 - port: 5023 - targetPort: gt06 - - name: megastek - port: 5024 - targetPort: megastek - - name: navigil - port: 5025 - targetPort: navigil - - name: gpsgate - port: 5026 - targetPort: gpsgate - - name: teltonika - port: 5027 - targetPort: teltonika - - name: mta6 - port: 5028 - targetPort: mta6 - - name: tzone - port: 5029 - targetPort: tzone - - name: tlt2h - port: 5030 - targetPort: tlt2h - - name: taip - port: 5031 - targetPort: taip - - name: wondex - port: 5032 - targetPort: wondex - - name: cellocator - port: 5033 - targetPort: cellocator - - name: galileo - port: 5034 - targetPort: galileo - - name: ywt - port: 5035 - targetPort: ywt - - name: intellitrac - port: 5037 - targetPort: intellitrac - - name: gpsmta - port: 5038 - targetPort: gpsmta - - name: wialon - port: 5039 - targetPort: wialon - - name: carscop - port: 5040 - targetPort: carscop - - name: apel - port: 5041 - targetPort: apel - - name: manpower - port: 5042 - targetPort: manpower - - name: globalsat - port: 5043 - targetPort: globalsat - - name: atrack - port: 5044 - targetPort: atrack - - name: pt3000 - port: 5045 - targetPort: pt3000 - - name: ruptela - port: 5046 - targetPort: ruptela - - name: topflytech - port: 5047 - targetPort: topflytech - - name: laipac - port: 5048 - targetPort: laipac - - name: aplicom - port: 5049 - targetPort: aplicom - - name: gotop - port: 5050 - targetPort: gotop - - name: sanav - port: 5051 - targetPort: sannav - - name: gator - port: 5052 - targetPort: gator - - name: noran - port: 5053 - targetPort: noran - - name: m2m - port: 5054 - targetPort: m2m - - name: osmand - port: 5055 - targetPort: osmand - - name: easytrack - port: 5056 - targetPort: easytrack - - name: gpsmaker - port: 5057 - targetPort: gpsmaker - - name: khd - port: 5058 - targetPort: khd - - name: piligrim - port: 5059 - targetPort: pilgrim - - name: stl060 - port: 5060 - targetPort: stl060 - - name: cartrack - port: 5061 - targetPort: cartrack - - name: minifinder - port: 5062 - targetPort: minifinder - - name: haicom - port: 5063 - targetPort: haicom - - name: eelink - port: 5064 - targetPort: eelink - - name: box - port: 5065 - targetPort: box - - name: freedom - port: 5066 - targetPort: freedom - - name: telic - port: 5067 - targetPort: telic - - name: trackbox - port: 5068 - targetPort: trackbox - - name: visiontek - port: 5069 - targetPort: visiontek - - name: orion - port: 5070 - targetPort: orion - - name: riti - port: 5071 - targetPort: riti - - name: ulbotech - port: 5072 - targetPort: ulbotech - - name: tramigo - port: 5073 - targetPort: tramigo - - name: tr900 - port: 5074 - targetPort: tr900 - - name: ardi01 - port: 5075 - targetPort: ardi01 - - name: xt013 - port: 5076 - targetPort: xt013 - - name: autofon - port: 5077 - targetPort: autofon - - name: gosafe - port: 5078 - targetPort: gosafe - - name: bce - port: 5080 - targetPort: bce - - name: xirgo - port: 5081 - targetPort: xirgo - - name: calamp - port: 5082 - targetPort: calamp - - name: mtx - port: 5083 - targetPort: mtx - - name: tytan - port: 5084 - targetPort: tytan - - name: avl301 - port: 5085 - targetPort: avl301 - - name: castel - port: 5086 - targetPort: castel - - name: mxt - port: 5087 - targetPort: mxt - - name: cityeasy - port: 5088 - targetPort: cityeasy - - name: aquila - port: 5089 - targetPort: aquila - - name: flextrack - port: 5090 - targetPort: flextrack - - name: blackkite - port: 5091 - targetPort: blackkite - - name: adm - port: 5092 - targetPort: adm - - name: watch - port: 5093 - targetPort: watch - - name: t800x - port: 5094 - targetPort: t800x - - name: upro - port: 5095 - targetPort: upro - - name: auro - port: 5096 - targetPort: auro - - name: disha - port: 5097 - targetPort: disha - - name: thinkrace - port: 5098 - targetPort: thinkrace - - name: pathaway - port: 5099 - targetPort: pathaway - - name: arnavi - port: 5100 - targetPort: arnavi - - name: nvs - port: 5101 - targetPort: nvs - - name: kenji - port: 5102 - targetPort: kenji - - name: astra - port: 5103 - targetPort: astra - - name: homtecs - port: 5104 - targetPort: homtecs - - name: fox - port: 5105 - targetPort: fox - - name: gnx - port: 5106 - targetPort: gnx - - name: arknav - port: 5107 - targetPort: arknav - - name: supermate - port: 5108 - targetPort: supermate - - name: appello - port: 5109 - targetPort: appello - - name: idpl - port: 5110 - targetPort: idpl - - name: huahsheng - port: 5111 - targetPort: huahsheng - - name: granit - port: 5112 - targetPort: granit - - name: granit-2 - port: 5113 - targetPort: granit-2 - - name: carcell - port: 5114 - targetPort: carcell - - name: raveon - port: 5117 - targetPort: raveon - - name: cradlepoint - port: 5118 - targetPort: cradlepoint - - name: arknavx8 - port: 5119 - targetPort: arknavx8 - - name: autograde - port: 5120 - targetPort: autograde - - name: oigo - port: 5121 - targetPort: oigo - - name: jpkorjar - port: 5122 - targetPort: jpkorjar - - name: cguard - port: 5123 - targetPort: cguard - - name: fifotrack - port: 5124 - targetPort: fifotrack - - name: extremtrac - port: 5126 - targetPort: extremtrac - - name: trakmate - port: 5127 - targetPort: trakmate - - name: at2000 - port: 5128 - targetPort: at2000 - - name: maestro - port: 5129 - targetPort: maestro - - name: ais - port: 5130 - targetPort: ais - - name: gt30 - port: 5131 - targetPort: gt30 - - name: tmg - port: 5132 - targetPort: tmg - - name: pretrace - port: 5133 - targetPort: pretrace - - name: pricol - port: 5134 - targetPort: pricol - - name: siwi - port: 5135 - targetPort: siwi - - name: starlink - port: 5136 - targetPort: starlink - - name: dmt - port: 5137 - targetPort: dmt - - name: xt2400 - port: 5138 - targetPort: xt2400 - - name: dmthttp - port: 5139 - targetPort: dmthttp - - name: alematics - port: 5140 - targetPort: alematics - - name: gps056 - port: 5141 - targetPort: gps056 - - name: flexcomm - port: 5142 - targetPort: flexcomm - - name: vt200 - port: 5143 - targetPort: vt200 - - name: owntracks - port: 5144 - targetPort: owntracks - - name: vtfms - port: 5145 - targetPort: vtfms - - name: tlv - port: 5146 - targetPort: tlv - - name: esky - port: 5147 - targetPort: esky - - name: genx - port: 5148 - targetPort: genx - - name: flespi - port: 5149 - targetPort: flespi - - name: dway - port: 5150 - targetPort: dway - - name: recoda - port: 5151 - targetPort: recoda - - name: oko - port: 5152 - targetPort: oko - - name: ivt401 - port: 5153 - targetPort: ivt401 - - name: sigfox - port: 5154 - targetPort: sigfox - - name: t57 - port: 5155 - targetPort: t57 - - name: spot - port: 5156 - targetPort: spot - - name: m2c - port: 5157 - targetPort: m2c - - name: globekeeper - port: 5158 - targetPort: globekeeper - - name: opengts - port: 5159 - targetPort: opengts - - name: cautela - port: 5160 - targetPort: cautela - - name: continental - port: 5161 - targetPort: continental - - name: egts - port: 5162 - targetPort: egts - - name: robotrack - port: 5163 - targetPort: robotrack - - name: pt60 - port: 5164 - targetPort: pt60 - - name: telemax - port: 5165 - targetPort: telemax - - name: sabertek - port: 5166 - targetPort: sabertek - - name: retranslator - port: 5167 - targetPort: retranslator - - name: svias - port: 5168 - targetPort: svias - - name: eseal - port: 5169 - targetPort: eseal - - name: freematics - port: 5170 - targetPort: freematics - - name: avema - port: 5171 - targetPort: avema - - name: autotrack - port: 5172 - targetPort: autotrack - - name: tek - port: 5173 - targetPort: tek - - name: wristband - port: 5174 - targetPort: wristband - - name: milesmate - port: 5176 - targetPort: milesmate - - name: anytrek - port: 5177 - targetPort: anytrek - - name: smartsole - port: 5178 - targetPort: smartsole - - name: its - port: 5179 - targetPort: its - - name: xrb28 - port: 5180 - targetPort: xrb28 - - name: c2stek - port: 5181 - targetPort: c2stek - - name: nyitech - port: 5182 - targetPort: nyitech - - name: neos - port: 5183 - targetPort: neos - - name: satsol - port: 5184 - targetPort: satsol - - name: globalstar - port: 5185 - targetPort: globalstar - - name: sanul - port: 5186 - targetPort: sanul - - name: minifinder2 - port: 5187 - targetPort: minifinder2 - - name: radar - port: 5188 - targetPort: radar - - name: techtlt - port: 5189 - targetPort: techtlt - - name: starcom - port: 5190 - targetPort: starcom - - name: mictrack - port: 5191 - targetPort: mictrack - - name: plugin - port: 5192 - targetPort: plugin - - name: leafspy - port: 5193 - targetPort: leafspy - - name: naviset - port: 5194 - targetPort: naviset - - name: racedynamics - port: 5195 - targetPort: racedynamics - - name: rst - port: 5196 - targetPort: rst - - name: pt215 - port: 5197 - targetPort: pt215 - - name: pacifictrack - port: 5198 - targetPort: pacifictrack - - name: topin - port: 5199 - targetPort: topin - - name: outsafe - port: 5200 - targetPort: outsafe - - name: solarpowered - port: 5201 - targetPort: solarpowered - - name: motor - port: 5202 - targetPort: motor - - name: omnicomm - port: 5203 - targetPort: omnicom - - name: s168 - port: 5204 - targetPort: s168 - - name: vnet - port: 5205 - targetPort: vnet - - name: blue - port: 5206 - targetPort: blue - - name: pst - port: 5207 - targetPort: pst - - name: dingtek - port: 5208 - targetPort: dingtek - - name: wli - port: 5209 - targetPort: wli - - name: niot - port: 5210 - targetPort: niot - - name: portman - port: 5211 - targetPort: portman - - name: moovbox - port: 5212 - targetPort: moovbox - - name: futureway - port: 5213 - targetPort: futureway - - name: polte - port: 5214 - targetPort: polte - - name: net - port: 5215 - targetPort: net - - name: mobilogix - port: 5216 - targetPort: mobilogix - - name: swiftech - port: 5217 - targetPort: swiftech - - name: iotm - port: 5218 - targetPort: iotm - - name: dolphin - port: 5219 - targetPort: dolphin - - name: ennfu - port: 5220 - targetPort: ennfu - - name: navtelecom - port: 5221 - targetPort: navtelecom - - name: startek - port: 5222 - targetPort: startek - - name: gs100 - port: 5223 - targetPort: gs100 - - name: mavlink2 - port: 5224 - targetPort: mavlink2 - - name: uux - port: 5225 - targetPort: uux - - name: r12w - port: 5226 - targetPort: r12w - - name: flexiblereport - port: 5227 - targetPort: flexiblereport - - name: thinkpower - port: 5228 - targetPort: thinkpower - - # This allows you to provide the entire config from scratch. - # configOverride: | - # - # - # - # ./conf/default.xml - # true - # true - # .... - # - - resources: {} - - autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - - nodeSelector: - - tolerations: [] - - affinity: {} - - redis-ha: - # enables the redis subchart - enabled: false - persistentVolume: - enabled: false - redis: - masterGroupName: traccar - config: - save: '""' - haproxy: - enabled: true - - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true diff --git a/disable/traccar/traccar-svc-ingress.yaml b/disable/traccar/traccar-svc-ingress.yaml deleted file mode 100644 index 7948fd5..0000000 --- a/disable/traccar/traccar-svc-ingress.yaml +++ /dev/null @@ -1,56 +0,0 @@ ---- -# Service for Traccar -apiVersion: v1 -kind: Service -metadata: - name: traccar-osmand - namespace: traccar - labels: - app.kubernetes.io/name: traccar - app.kubernetes.io/instance: traccar - app.kubernetes.io/version: '5.10' -spec: - type: ClusterIP - ports: - - port: 5055 - targetPort: 5055 - protocol: TCP - name: osmand - selector: - app.kubernetes.io/name: traccar - app.kubernetes.io/instance: traccar ---- -# Ingress for Traccar OsmAnd port -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: traccar-osmand-ingress - namespace: traccar - labels: - app.kubernetes.io/name: traccar - app.kubernetes.io/instance: traccar - app.kubernetes.io/version: '5.10' - annotations: - # You may want to add annotations based on your ingress controller - cert-manager.io/cluster-issuer: prod-cluster-issuer - kubernetes.io/ingress.class: "nginx" - nginx.ingress.kubernetes.io/backend-protocol: "TCP" - nginx.ingress.kubernetes.io/ssl-redirect: "false" -spec: - ingressClassName: nginx - rules: - - host: traccar-client.hensen.io # Replace with your actual domain - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: traccar-osmand - port: - number: 5055 - # Uncomment and configure if you need TLS - tls: - - hosts: - - traccar-client.hensen.io - secretName: traccar-osmand-tls-secret \ No newline at end of file diff --git a/disable/ttrss/.env b/disable/ttrss/.env deleted file mode 100644 index c4d4e81..0000000 --- a/disable/ttrss/.env +++ /dev/null @@ -1,47 +0,0 @@ -# Put any local modifications here. - -# Run FPM under this UID/GID. -# OWNER_UID=1000 -# OWNER_GID=1000 - -# FPM settings. -#PHP_WORKER_MAX_CHILDREN=5 -#PHP_WORKER_MEMORY_LIMIT=256M - -# ADMIN_USER_* settings are applied on every startup. - -# Set admin user password to this value. If not set, random password -# will be generated on startup, look for it in the 'app' container logs. -#ADMIN_USER_PASS= - -# Sets admin user access level to this value. Valid values: -# -2 - forbidden to login -# -1 - readonly -# 0 - default user -# 10 - admin -#ADMIN_USER_ACCESS_LEVEL= - -# Auto create another user (in addition to built-in admin) unless it already exists. -#AUTO_CREATE_USER= -#AUTO_CREATE_USER_PASS= -#AUTO_CREATE_USER_ACCESS_LEVEL=0 - -# Default database credentials. -TTRSS_DB_USER=postgres -TTRSS_DB_NAME=postgres -TTRSS_DB_PASS=password - -# You can customize other config.php defines by setting overrides here. -# See tt-rss/.docker/app/Dockerfile for a complete list. - -# You probably shouldn't disable auth_internal unless you know what you're doing. -# TTRSS_PLUGINS=auth_internal,auth_remote -# TTRSS_SINGLE_USER_MODE=true -# TTRSS_SESSION_COOKIE_LIFETIME=2592000 -# TTRSS_FORCE_ARTICLE_PURGE=30 -# ... - -# Bind exposed port to 127.0.0.1 to run behind reverse proxy on the same host. -# If you plan to expose the container, remove "127.0.0.1:". -HTTP_PORT=127.0.0.1:8280 -#HTTP_PORT=8280 \ No newline at end of file diff --git a/disable/ttrss/app-claim1-persistentvolumeclaim.yaml b/disable/ttrss/app-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index ada7a9a..0000000 --- a/disable/ttrss/app-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: app-claim1 - name: app-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ttrss/app-deployment.yaml b/disable/ttrss/app-deployment.yaml deleted file mode 100644 index 2a051df..0000000 --- a/disable/ttrss/app-deployment.yaml +++ /dev/null @@ -1,66 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: app - name: app -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: app - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: app - spec: - containers: - - env: - - name: HTTP_PORT - valueFrom: - configMapKeyRef: - key: HTTP_PORT - name: env - - name: TTRSS_DB_NAME - valueFrom: - configMapKeyRef: - key: TTRSS_DB_NAME - name: env - - name: TTRSS_DB_PASS - valueFrom: - configMapKeyRef: - key: TTRSS_DB_PASS - name: env - - name: TTRSS_DB_USER - valueFrom: - configMapKeyRef: - key: TTRSS_DB_USER - name: env - image: cthulhoo/ttrss-fpm-pgsql-static:latest - name: app - ports: - - containerPort: 80 - protocol: TCP - volumeMounts: - - mountPath: /var/www/html - name: app - - mountPath: /opt/tt-rss/config.d - name: app-claim1 - readOnly: true - restartPolicy: Always - volumes: - - name: app - persistentVolumeClaim: - claimName: app - - name: app-claim1 - persistentVolumeClaim: - claimName: app-claim1 - readOnly: true diff --git a/disable/ttrss/app-persistentvolumeclaim.yaml b/disable/ttrss/app-persistentvolumeclaim.yaml deleted file mode 100644 index acb3aee..0000000 --- a/disable/ttrss/app-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: app - name: app -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ttrss/app-service.yaml b/disable/ttrss/app-service.yaml deleted file mode 100644 index c295c59..0000000 --- a/disable/ttrss/app-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: app - name: app -spec: - ports: - - name: http - port: 80 - targetPort: 80 - selector: - io.kompose.service: app diff --git a/disable/ttrss/db-deployment.yaml b/disable/ttrss/db-deployment.yaml deleted file mode 100644 index 5ea7919..0000000 --- a/disable/ttrss/db-deployment.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: db - name: db -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: db - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: db - spec: - containers: - - env: - - name: POSTGRES_DB - valueFrom: - configMapKeyRef: - key: TTRSS_DB_NAME - name: env - - name: POSTGRES_PASSWORD - valueFrom: - configMapKeyRef: - key: TTRSS_DB_PASS - name: env - - name: POSTGRES_USER - valueFrom: - configMapKeyRef: - key: TTRSS_DB_USER - name: env - image: postgres:15-alpine - name: db - volumeMounts: - - mountPath: /var/lib/postgresql/data - subPath: postgres - name: db - restartPolicy: Always - volumes: - - name: db - persistentVolumeClaim: - claimName: db diff --git a/disable/ttrss/db-persistentvolumeclaim.yaml b/disable/ttrss/db-persistentvolumeclaim.yaml deleted file mode 100644 index 0aa2c19..0000000 --- a/disable/ttrss/db-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: db - name: db -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ttrss/db-service.yaml b/disable/ttrss/db-service.yaml deleted file mode 100644 index 0fe3004..0000000 --- a/disable/ttrss/db-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: db - name: db -spec: - ports: - - name: http - port: 5432 - targetPort: 5432 - selector: - io.kompose.service: db diff --git a/disable/ttrss/env-configmap.yaml b/disable/ttrss/env-configmap.yaml deleted file mode 100644 index 487d04d..0000000 --- a/disable/ttrss/env-configmap.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -data: - HTTP_PORT: 127.0.0.1:8280 - TTRSS_DB_NAME: postgres - TTRSS_DB_PASS: password - TTRSS_DB_USER: postgres -kind: ConfigMap -metadata: - labels: - io.kompose.service: app-env - name: env diff --git a/disable/ttrss/ingress.yaml b/disable/ttrss/ingress.yaml deleted file mode 100644 index a993797..0000000 --- a/disable/ttrss/ingress.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: ttrss-ingress - annotations: - # nginx.ingress.kubernetes.io/rewrite-target: / - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "true" - # If you encounter a redirect loop or are getting a 307 response code - # then you need to force the nginx ingress to connect to the backend using HTTPS. - # - nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" - namespace: ttrss -spec: - ingressClassName: nginx - rules: - - host: rss.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: web-nginx - port: - name: http - - # TLS configuration for HTTPS - tls: - # TLS secretName used on ClusterIssuer - - secretName: letsencrypt-prod - hosts: - - rss.hensen.io - diff --git a/disable/ttrss/updater-claim1-persistentvolumeclaim.yaml b/disable/ttrss/updater-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index 442592a..0000000 --- a/disable/ttrss/updater-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: updater-claim1 - name: updater-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi diff --git a/disable/ttrss/updater-deployment.yaml b/disable/ttrss/updater-deployment.yaml deleted file mode 100644 index b6b24da..0000000 --- a/disable/ttrss/updater-deployment.yaml +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: updater - name: updater -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: updater - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: updater - spec: - containers: - - args: - - /opt/tt-rss/updater.sh - env: - - name: HTTP_PORT - valueFrom: - configMapKeyRef: - key: HTTP_PORT - name: env - - name: TTRSS_DB_NAME - valueFrom: - configMapKeyRef: - key: TTRSS_DB_NAME - name: env - - name: TTRSS_DB_PASS - valueFrom: - configMapKeyRef: - key: TTRSS_DB_PASS - name: env - - name: TTRSS_DB_USER - valueFrom: - configMapKeyRef: - key: TTRSS_DB_USER - name: env - image: cthulhoo/ttrss-fpm-pgsql-static:latest - name: updater - volumeMounts: - - mountPath: /var/www/html - name: app - - mountPath: /opt/tt-rss/config.d - name: updater-claim1 - readOnly: true - restartPolicy: Always - volumes: - - name: app - persistentVolumeClaim: - claimName: app - - name: updater-claim1 - persistentVolumeClaim: - claimName: updater-claim1 - readOnly: true diff --git a/disable/ttrss/web-nginx-deployment.yaml b/disable/ttrss/web-nginx-deployment.yaml deleted file mode 100644 index 66804b7..0000000 --- a/disable/ttrss/web-nginx-deployment.yaml +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: web-nginx - name: web-nginx -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: web-nginx - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: web-nginx - spec: - containers: - - env: - - name: APP_UPSTREAM - value: app.ttrss.svc.cluster.local - - name: RESOLVER - value: kube-dns.kube-system.svc.cluster.local - - name: HTTP_PORT - valueFrom: - configMapKeyRef: - key: HTTP_PORT - name: env - - name: TTRSS_DB_NAME - valueFrom: - configMapKeyRef: - key: TTRSS_DB_NAME - name: env - - name: TTRSS_DB_PASS - valueFrom: - configMapKeyRef: - key: TTRSS_DB_PASS - name: env - - name: TTRSS_DB_USER - valueFrom: - configMapKeyRef: - key: TTRSS_DB_USER - name: env - image: cthulhoo/ttrss-web-nginx:latest - name: web-nginx - ports: - - containerPort: 80 - protocol: TCP - volumeMounts: - - mountPath: /var/www/html - name: app - readOnly: true - restartPolicy: Always - volumes: - - name: app - persistentVolumeClaim: - claimName: app - readOnly: true diff --git a/disable/ttrss/web-nginx-service.yaml b/disable/ttrss/web-nginx-service.yaml deleted file mode 100644 index 5e25c8b..0000000 --- a/disable/ttrss/web-nginx-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: web-nginx - name: web-nginx -spec: - ports: - - name: http - port: 80 - targetPort: 80 - selector: - io.kompose.service: web-nginx diff --git a/disable/whisper-webui-folder.yaml b/disable/whisper-webui-folder.yaml deleted file mode 100644 index 170e532..0000000 --- a/disable/whisper-webui-folder.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: whisper-webui-folder - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: whisper-webui - destination: - server: https://kubernetes.default.svc - namespace: whisper-webui - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true \ No newline at end of file diff --git a/disable/whisper-webui/app-claim0-persistentvolumeclaim.yaml b/disable/whisper-webui/app-claim0-persistentvolumeclaim.yaml deleted file mode 100644 index e37821a..0000000 --- a/disable/whisper-webui/app-claim0-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: app-claim0 - name: app-claim0 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper-webui/app-claim1-persistentvolumeclaim.yaml b/disable/whisper-webui/app-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index 52c221d..0000000 --- a/disable/whisper-webui/app-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: app-claim1 - name: app-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper-webui/app-deployment.yaml b/disable/whisper-webui/app-deployment.yaml deleted file mode 100644 index 80f568a..0000000 --- a/disable/whisper-webui/app-deployment.yaml +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: app - name: app -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: app - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: app - spec: - containers: - - command: - - sh - - -c - - | - # Replace the original file with a symlink to our writable version - if [ -f /Whisper-WebUI/configs/default_parameters.yaml ]; then - rm /Whisper-WebUI/configs/default_parameters.yaml - fi - cp /myconfig/default_parameters.yaml /Whisper-WebUI/configs/default_parameters.yaml - # Start the application - python app.py --server_port 7860 --server_name 0.0.0.0 - image: hebury/whisper-webui:latest - name: app - ports: - - containerPort: 7860 - protocol: TCP - stdin: true - tty: true - volumeMounts: - - mountPath: /Whisper-WebUI/models - name: app-claim0 - - mountPath: /Whisper-WebUI/outputs - name: app-claim1 - - name: config-volume - mountPath: /myconfig - restartPolicy: Always - volumes: - - name: app-claim0 - persistentVolumeClaim: - claimName: app-claim0 - - name: app-claim1 - persistentVolumeClaim: - claimName: app-claim1 - - name: config-volume - configMap: - name: whisper-webui-config \ No newline at end of file diff --git a/disable/whisper-webui/app-ingress.yaml b/disable/whisper-webui/app-ingress.yaml deleted file mode 100644 index 84f4d22..0000000 --- a/disable/whisper-webui/app-ingress.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: whisper-webui-ingress - annotations: - # nginx.ingress.kubernetes.io/rewrite-target: / - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "false" - nginx.ingress.kubernetes.io/enable-cors: "true" - # type of authentication - # nginx.ingress.kubernetes.io/auth-type: basic - # name of the secret that contains the user/password definitions - # nginx.ingress.kubernetes.io/auth-secret: whisper-basic-auth - # message to display with an appropriate context why the authentication is required - nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required ' - nginx.ingress.kubernetes.io/proxy-body-size: "0" - # nginx.ingress.kubernetes.io/cors-allow-origin: "http://localhost:3000/" - # nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS, DELETE" - # If you encounter a redirect loop or are getting a 307 response code - # then you need to force the nginx ingress to connect to the backend using HTTPS. - # - # nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - # namespace: ente-photos -spec: - ingressClassName: nginx - rules: - - host: alv.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: app - port: - number: 7860 - - # TLS configuration for HTTPS - tls: - # TLS secretName used on ClusterIssuer - - secretName: letsencrypt-prod - hosts: - - alv.hensen.io diff --git a/disable/whisper-webui/app-service.yaml b/disable/whisper-webui/app-service.yaml deleted file mode 100644 index 5585829..0000000 --- a/disable/whisper-webui/app-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: app - name: app -spec: - ports: - - name: "7860" - port: 7860 - targetPort: 7860 - selector: - io.kompose.service: app diff --git a/disable/whisper-webui/docker-compose.yaml b/disable/whisper-webui/docker-compose.yaml deleted file mode 100644 index 7e24d59..0000000 --- a/disable/whisper-webui/docker-compose.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# services: -# app: -# build: . -# image: jhj0517/whisper-webui:latest - -# volumes: -# # You can mount the container's volume paths to directory paths on your local machine. -# # Models will be stored in the `./models' directory on your machine. -# # Similarly, all output files will be stored in the `./outputs` directory. -# - ./models:/Whisper-WebUI/models -# - ./outputs:/Whisper-WebUI/outputs - -# ports: -# - "7860:7860" - -# stdin_open: true -# tty: true - -# entrypoint: ["python", "app.py", "--server_port", "7860", "--server_name", "0.0.0.0",] - -# # If you're not using nvidia GPU, Update device to match yours. -# # See more info at : https://docs.docker.com/compose/compose-file/deploy/#driver -# deploy: -# resources: -# reservations: -# devices: -# - driver: nvidia -# count: all -# capabilities: [ gpu ] \ No newline at end of file diff --git a/disable/whisper-webui/parametes-cm.yaml b/disable/whisper-webui/parametes-cm.yaml deleted file mode 100644 index 6255857..0000000 --- a/disable/whisper-webui/parametes-cm.yaml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: whisper-webui-config -data: - default_parameters.yaml: | - whisper: - model_size: "large-v3" - file_format: "SRT" - lang: "dutch" - is_translate: false - beam_size: 5 - log_prob_threshold: -0.8 - no_speech_threshold: 0.7 - best_of: 5 - patience: 1 - condition_on_previous_text: true - prompt_reset_on_temperature: 0.5 - initial_prompt: "Dit is een zakelijke algemene leden vergadering in het Nederlands op studentenroeivereniging Phocas." - temperature: 0 - compression_ratio_threshold: 2.0 - chunk_length: 30 - batch_size: 24 - length_penalty: 1 - repetition_penalty: 1.2 - no_repeat_ngram_size: 3 - prefix: null - suppress_blank: true - suppress_tokens: "[-1]" - max_initial_timestamp: 1 - word_timestamps: true - prepend_punctuations: "\"'“¿([{-" - append_punctuations: "\"'.。,,!!??::”)]}、" - max_new_tokens: null - hallucination_silence_threshold: 0.2 - hotwords: null - language_detection_threshold: 0.8 - language_detection_segments: 2 - add_timestamp: true - enable_offload: true - - vad: - vad_filter: true - threshold: 0.6 - min_speech_duration_ms: 250 - max_speech_duration_s: 9999 - min_silence_duration_ms: 1000 - speech_pad_ms: 2000 - - diarization: - is_diarize: false - hf_token: "" - enable_offload: true - - bgm_separation: - is_separate_bgm: false - uvr_model_size: "UVR-MDX-NET-Inst_HQ_4" - segment_size: 256 - save_file: false - enable_offload: true - - translation: - deepl: - api_key: "" - is_pro: false - source_lang: "Automatic Detection" - target_lang: "English" - nllb: - model_size: "facebook/nllb-200-1.3B" - source_lang: null - target_lang: null - max_length: 200 - add_timestamp: false diff --git a/disable/whisper/docker-compose.yml b/disable/whisper/docker-compose.yml deleted file mode 100644 index 5a6b1e5..0000000 --- a/disable/whisper/docker-compose.yml +++ /dev/null @@ -1,70 +0,0 @@ -# version: "3.9" - -# services: -# mongo: -# image: mongo -# env_file: -# - .env -# restart: unless-stopped -# volumes: -# - ./whishper_data/db_data:/data/db -# - ./whishper_data/db_data/logs/:/var/log/mongodb/ -# environment: -# MONGO_INITDB_ROOT_USERNAME: ${DB_USER:-whishper} -# MONGO_INITDB_ROOT_PASSWORD: ${DB_PASS:-whishper} -# expose: -# - 27017 -# command: ['--logpath', '/var/log/mongodb/mongod.log'] - -# translate: -# container_name: whisper-libretranslate -# image: libretranslate/libretranslate:latest -# restart: unless-stopped -# volumes: -# - ./whishper_data/libretranslate/data:/home/libretranslate/.local/share -# - ./whishper_data/libretranslate/cache:/home/libretranslate/.local/cache -# env_file: -# - .env -# tty: true -# environment: -# LT_DISABLE_WEB_UI: True -# LT_UPDATE_MODELS: True -# expose: -# - 5000 -# networks: -# default: -# aliases: -# - translate -# healthcheck: -# test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py'] -# interval: 2s -# timeout: 3s -# retries: 5 - -# whishper: -# pull_policy: always -# image: pluja/whishper:${WHISHPER_VERSION:-latest} -# env_file: -# - .env -# volumes: -# - ./whishper_data/uploads:/app/uploads -# - ./whishper_data/logs:/var/log/whishper -# container_name: whishper -# restart: unless-stopped -# networks: -# default: -# aliases: -# - whishper -# ports: -# - 8082:80 -# depends_on: -# - mongo -# - translate -# environment: -# PUBLIC_INTERNAL_API_HOST: "http://127.0.0.1:80" -# PUBLIC_TRANSLATION_API_HOST: "" -# PUBLIC_API_HOST: ${WHISHPER_HOST:-} -# PUBLIC_WHISHPER_PROFILE: cpu -# WHISPER_MODELS_DIR: /app/models -# UPLOAD_DIR: /app/uploads -# CPU_THREADS: 4 \ No newline at end of file diff --git a/disable/whisper/env-configmap.yaml b/disable/whisper/env-configmap.yaml deleted file mode 100644 index 93ca314..0000000 --- a/disable/whisper/env-configmap.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -data: - DB_PASS: whishper - DB_USER: whishper - LT_LOAD_ONLY: es,en,fr,nl - WHISHPER_HOST: http://127.0.0.1:8082 - WHISPER_MODELS: tiny, tiny.en, small, small.en, base, base.en, medium, medium.en, large-v2, large-v3 -kind: ConfigMap -metadata: - labels: - io.kompose.service: mongo-env - name: env diff --git a/disable/whisper/ingress.yaml b/disable/whisper/ingress.yaml deleted file mode 100644 index b9b7a83..0000000 --- a/disable/whisper/ingress.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: whisper-ingress - annotations: - # nginx.ingress.kubernetes.io/rewrite-target: / - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/ssl-passthrough: "false" - nginx.ingress.kubernetes.io/enable-cors: "true" - # type of authentication - nginx.ingress.kubernetes.io/auth-type: basic - # name of the secret that contains the user/password definitions - nginx.ingress.kubernetes.io/auth-secret: whisper-basic-auth - # message to display with an appropriate context why the authentication is required - nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required ' - nginx.ingress.kubernetes.io/proxy-body-size: "0" - # nginx.ingress.kubernetes.io/cors-allow-origin: "http://localhost:3000/" - # nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS, DELETE" - # If you encounter a redirect loop or are getting a 307 response code - # then you need to force the nginx ingress to connect to the backend using HTTPS. - # - # nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - # namespace: ente-photos -spec: - ingressClassName: nginx - rules: - - host: alv.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: whishper - port: - number: 8082 - - # TLS configuration for HTTPS - tls: - # TLS secretName used on ClusterIssuer - - secretName: letsencrypt-prod - hosts: - - alv.hensen.io diff --git a/disable/whisper/mongo-claim2-persistentvolumeclaim.yaml b/disable/whisper/mongo-claim2-persistentvolumeclaim.yaml deleted file mode 100644 index a1eaa93..0000000 --- a/disable/whisper/mongo-claim2-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: mongo-claim2 - name: mongo-claim2 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper/mongo-claim3-persistentvolumeclaim.yaml b/disable/whisper/mongo-claim3-persistentvolumeclaim.yaml deleted file mode 100644 index 43ff5b9..0000000 --- a/disable/whisper/mongo-claim3-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: mongo-claim3 - name: mongo-claim3 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper/mongo-deployment.yaml b/disable/whisper/mongo-deployment.yaml deleted file mode 100644 index e63d349..0000000 --- a/disable/whisper/mongo-deployment.yaml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: mongo - name: mongo -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: mongo - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: mongo - spec: - containers: - - env: - - name: DB_PASS - valueFrom: - configMapKeyRef: - key: DB_PASS - name: env - - name: DB_USER - valueFrom: - configMapKeyRef: - key: DB_USER - name: env - - name: LT_LOAD_ONLY - valueFrom: - configMapKeyRef: - key: LT_LOAD_ONLY - name: env - - name: MONGO_INITDB_ROOT_PASSWORD - value: whishper - - name: MONGO_INITDB_ROOT_USERNAME - value: whishper - - name: WHISHPER_HOST - valueFrom: - configMapKeyRef: - key: WHISHPER_HOST - name: env - - name: WHISPER_MODELS - valueFrom: - configMapKeyRef: - key: WHISPER_MODELS - name: env - image: mongo - name: mongo - ports: - - containerPort: 27017 - protocol: TCP - volumeMounts: - - mountPath: /data/db - name: mongo-claim2 - # - mountPath: /var/log/mongodb - # name: mongo-claim3 - restartPolicy: Always - volumes: - - name: mongo-claim2 - persistentVolumeClaim: - claimName: mongo-claim2 - # - name: mongo-claim3 - # persistentVolumeClaim: - # claimName: mongo-claim3 diff --git a/disable/whisper/mongo-service.yaml b/disable/whisper/mongo-service.yaml deleted file mode 100644 index 11e7802..0000000 --- a/disable/whisper/mongo-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: mongo - name: mongo -spec: - ports: - - name: "27017" - port: 27017 - targetPort: 27017 - selector: - io.kompose.service: mongo diff --git a/disable/whisper/nginx.conf b/disable/whisper/nginx.conf deleted file mode 100644 index c779a3d..0000000 --- a/disable/whisper/nginx.conf +++ /dev/null @@ -1,35 +0,0 @@ -events { - worker_connections 1024; -} - -http { - gzip on; - - server { - listen 80; - - location /api/video { - alias /app/uploads/; - } - - location /languages { - proxy_pass http://translate:5000; - } - - location /api { - client_max_body_size 0; - proxy_pass http://127.0.0.1:8080; - } - - location /ws { - proxy_pass http://127.0.0.1:8080; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } - - location / { - proxy_pass http://127.0.0.1:3000; - } - } -} \ No newline at end of file diff --git a/disable/whisper/translate-claim0-persistentvolumeclaim.yaml b/disable/whisper/translate-claim0-persistentvolumeclaim.yaml deleted file mode 100644 index 091672b..0000000 --- a/disable/whisper/translate-claim0-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: translate-claim0 - name: translate-claim0 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper/translate-claim1-persistentvolumeclaim.yaml b/disable/whisper/translate-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index 1fbcffd..0000000 --- a/disable/whisper/translate-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: translate-claim1 - name: translate-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi \ No newline at end of file diff --git a/disable/whisper/translate-deployment.yaml b/disable/whisper/translate-deployment.yaml deleted file mode 100644 index 3704109..0000000 --- a/disable/whisper/translate-deployment.yaml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: translate - name: translate -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: translate - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: translate - spec: - securityContext: - fsGroup: 2000 - containers: - - env: - - name: DB_PASS - valueFrom: - configMapKeyRef: - key: DB_PASS - name: env - - name: DB_USER - valueFrom: - configMapKeyRef: - key: DB_USER - name: env - - name: LT_DISABLE_WEB_UI - value: "true" - - name: LT_LOAD_ONLY - valueFrom: - configMapKeyRef: - key: LT_LOAD_ONLY - name: env - - name: LT_UPDATE_MODELS - value: "true" - - name: WHISHPER_HOST - valueFrom: - configMapKeyRef: - key: WHISHPER_HOST - name: env - - name: WHISPER_MODELS - valueFrom: - configMapKeyRef: - key: WHISPER_MODELS - name: env - image: libretranslate/libretranslate:latest - livenessProbe: - exec: - command: - - ./venv/bin/python scripts/healthcheck.py - failureThreshold: 5 - periodSeconds: 2 - timeoutSeconds: 3 - name: whisper-libretranslate - ports: - - containerPort: 5000 - protocol: TCP - tty: true - volumeMounts: - - mountPath: /home/libretranslate/.local/share - name: translate-claim0 - - mountPath: /home/libretranslate/.local/cache - name: translate-claim1 - restartPolicy: Always - volumes: - - name: translate-claim0 - persistentVolumeClaim: - claimName: translate-claim0 - - name: translate-claim1 - persistentVolumeClaim: - claimName: translate-claim1 diff --git a/disable/whisper/translate-service.yaml b/disable/whisper/translate-service.yaml deleted file mode 100644 index 0225668..0000000 --- a/disable/whisper/translate-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: translate - name: translate -spec: - ports: - - name: "5000" - port: 5000 - targetPort: 5000 - selector: - io.kompose.service: translate diff --git a/disable/whisper/whishper-claim0-persistentvolumeclaim.yaml b/disable/whisper/whishper-claim0-persistentvolumeclaim.yaml deleted file mode 100644 index 14b490c..0000000 --- a/disable/whisper/whishper-claim0-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: whishper-claim0 - name: whishper-claim0 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper/whishper-claim1-persistentvolumeclaim.yaml b/disable/whisper/whishper-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index 4a499ec..0000000 --- a/disable/whisper/whishper-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: whishper-claim1 - name: whishper-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/disable/whisper/whishper-deployment.yaml b/disable/whisper/whishper-deployment.yaml deleted file mode 100644 index ccdab1e..0000000 --- a/disable/whisper/whishper-deployment.yaml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: whishper - name: whishper -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: whishper - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: whishper - spec: - securityContext: - runAsUser: 0 - containers: - - env: - - name: CPU_THREADS - value: "4" - - name: DB_PASS - valueFrom: - configMapKeyRef: - key: DB_PASS - name: env - - name: DB_USER - valueFrom: - configMapKeyRef: - key: DB_USER - name: env - - name: LT_LOAD_ONLY - valueFrom: - configMapKeyRef: - key: LT_LOAD_ONLY - name: env - - name: PUBLIC_API_HOST - - name: PUBLIC_INTERNAL_API_HOST - value: http://127.0.0.1:80 - - name: PUBLIC_TRANSLATION_API_HOST - - name: PUBLIC_WHISHPER_PROFILE - value: cpu - - name: UPLOAD_DIR - value: /app/uploads - - name: WHISHPER_HOST - valueFrom: - configMapKeyRef: - key: WHISHPER_HOST - name: env - - name: WHISPER_MODELS - valueFrom: - configMapKeyRef: - key: WHISPER_MODELS - name: env - - name: WHISPER_MODELS_DIR - value: /app/models - image: pluja/whishper:latest - name: whishper - ports: - - containerPort: 80 - protocol: TCP - volumeMounts: - - mountPath: /app/uploads - name: whishper-claim0 - - mountPath: /var/log/whishper - name: whishper-claim1 - restartPolicy: Always - volumes: - - name: whishper-claim0 - persistentVolumeClaim: - claimName: whishper-claim0 - - name: whishper-claim1 - persistentVolumeClaim: - claimName: whishper-claim1 diff --git a/disable/whisper/whishper-service.yaml b/disable/whisper/whishper-service.yaml deleted file mode 100644 index b4cda44..0000000 --- a/disable/whisper/whishper-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: whishper - name: whishper -spec: - ports: - - name: "8082" - port: 8082 - targetPort: 80 - selector: - io.kompose.service: whishper