update backup password
This commit is contained in:
		| @@ -21,10 +21,14 @@ spec: | |||||||
|             command: ["curl"] |             command: ["curl"] | ||||||
|             args: |             args: | ||||||
|               - "-H" |               - "-H" | ||||||
|               - "Title: $(cat /proc/sys/kernel/hostname)" |               - "Title: $OPERATION" | ||||||
|               - "-d" |               - "-d" | ||||||
|               - "Restic operation to gdrive finished" |               - "Finished successfully" | ||||||
|               - "https://ntfy.kluster.moll.re/backup" |               - "https://ntfy.kluster.moll.re/backup" | ||||||
|  |             env: | ||||||
|  |               - name: OPERATION | ||||||
|  |                 value: "PLACEHOLDER" | ||||||
|  |  | ||||||
|           initContainers: |           initContainers: | ||||||
|           - name: restic-base-container |           - name: restic-base-container | ||||||
|             image: restic/restic:latest |             image: restic/restic:latest | ||||||
|   | |||||||
| @@ -23,3 +23,8 @@ spec: | |||||||
|                   && |                   && | ||||||
|                   restic |                   restic | ||||||
|                   list snapshots |                   list snapshots | ||||||
|  |           containers: | ||||||
|  |           - name: ntfy-command-send | ||||||
|  |             env: | ||||||
|  |               - name: OPERATION | ||||||
|  |                 value: "Restic backup to gdrive" | ||||||
| @@ -22,3 +22,8 @@ spec: | |||||||
|                   --verbose=2 |                   --verbose=2 | ||||||
|                   --keep-daily 7 --keep-weekly 5 |                   --keep-daily 7 --keep-weekly 5 | ||||||
|                   --prune |                   --prune | ||||||
|  |           containers: | ||||||
|  |           - name: ntfy-command-send | ||||||
|  |             env: | ||||||
|  |               - name: OPERATION | ||||||
|  |                 value: "Restic prune on gdrive" | ||||||
| @@ -1,2 +0,0 @@ | |||||||
| export RESTIC_REPOSITORY=rest:http://127.0.0.1:8000/kluster |  | ||||||
| export RESTIC_PASSWORD="2r,TE0.,U@gni3e%xr)_LC64" |  | ||||||
| @@ -16,7 +16,7 @@ | |||||||
|       "type": "Opaque" |       "type": "Opaque" | ||||||
|     }, |     }, | ||||||
|     "encryptedData": { |     "encryptedData": { | ||||||
|       "restic-password": "AgB5b+dgVUtVo5QPPFBYWuqNZd7vMSbTapVh7SIl1ogy+/WWpzDDSgsPvki2Qtxv11tljTQkhkhonil0aYcHgA/4LDEt9yuvB2SNpEkl+C2N5NO1Fn3sUtaDRVBT/eaUhEjXTlRN6XiYfDRgNwBVpH3AUwKHa3dqxCJ6fQazUEhn3Xymxpo/GZkScf5k+fhkBi2/YnzM9Kdl3C9r8Ekw1eg2Pan7KSkFRk1rkGuDJKdhsYBrmu632yU7x8no7rGAIzxYJpDYqJnXp6Y3nUTBMpwNibOszAwTdP+ShgnILSmi0izZrIzvvvwAjNu6hKrhPlcTx3ZA2NrClRYtXx1gqCgVmGRzonqLuzVnWzd2efWDHkb8S0QnYjN0aAeAvR6x77TdIm8b9WMhAqeheikXh9zrrB4GqLoSxpkgmRezJFBVQ01vZrjkpu+KHHfVZqKg+3ChfjdbS4CQoK7IgUSguAifOaHH6Kb81LsraKKCDEr5vynHKL6jsuvgOPSkgPtzxasQQGR7CDNHnvm1ekFTbDpQ2KyHl3Ep5LCqlB79RhuPytprePHxQJa3qxv/EEIL8zxV1qhAvKa55RQIV3pLqDbPrj9EbD7LAYMbmIsFg3nSbZZaZV55gATN4PX86EZCIaC5/WTXSNIEmyedpcyhSzCZvpQOVjWggtCzUDsgCBADmmFAtuqd/POXXNbgPprEOJXyCdLvbL9cp3lG01sw+gqq08RqPlhKn5Q=" |       "restic-password": "AgApoTzU3zoGZPcDxXwtF8/ZsPlzZH+WvL2E3yImCwfJQm/mMp4cLWqupn6mJLIJhewduM/9EWI/Yfe194Y6oY1wFlZChADa17nZbaWrbSlVAe5pNnkWUs/oB8D11Hnbw6fom5TnVjDxejG7GuitIVyVbpjETDrS7tCE2zhR1Xt3CjlpcM6BOcfCA/GOySixWGhN8CQlx9ujiQkofFZdB7GomcNbBlwo1SOc61un7casWPfGUEORObIQGqAc7APcUovpY/66iJ0IzZG9y+LNnnKgp2Vr91Oek2/S02S5HU+L5J6UO1KtAcCJGL4N0fhoHgstUqvycV4Aup24J3qnruzz1D83doghuHJEWx52wlMGiTNyK4ZCqaA19d6dFgpVNKiR/g0Qd/hx65/K4+U0nqm0GXCMmjUi3E0rx5u3KI2hUTwiffAPcfRZR7YBgFLAB1Gm+vanh23Qp2kdEojM63I/E35XD5ibr+HiEP6zFLgZw8KI4uJMxvCRiDFlYyQ3dXqTsi8sg7AzMwTtLsTAAmTCZdoD54SYYeLJ6nVW6FPznGF6CmMG/2ZpApZS8hsBsPclf3yipxON30dFmrDXDax9OSBPseucpZsJN2Vjikpuv5Lst2b+vL7/Bq/cfho58zFRHyc42G4xe5N+Evzv6jb/MaFWKmV5mBkMYdLZ0ANgFjrTXhI0T9zZTcgj4ohmHg7Z8v+1DgOgvAI6jo/kQSp4zJi69Q==" | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,34 +0,0 @@ | |||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: aio |  | ||||||
|   namespace: aio |  | ||||||
|   labels: |  | ||||||
|     app: aio |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: aio |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: aio |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: aio |  | ||||||
|         image: mollre/aio:latest |  | ||||||
|         tty: true |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /keys/ |  | ||||||
|           name: aio-nfs |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             memory: "250Mi" |  | ||||||
|             cpu: 0.5 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: aio-nfs |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: aio-nfs |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: aio |  | ||||||
|   name: "aio-nfs" |  | ||||||
|   labels: |  | ||||||
|     directory: "aio" |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "100Mi" |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /aio |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: aio |  | ||||||
|   name: "aio-nfs" |  | ||||||
| spec: |  | ||||||
|   storageClassName: "fast" |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "100Mi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: "aio" |  | ||||||
| @@ -1,114 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: anki |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: anki |  | ||||||
|   namespace: anki |  | ||||||
|   labels: |  | ||||||
|     app: anki |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: anki |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: anki |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: anki-server |  | ||||||
|         image: ankicommunity/anki-sync-server:20220516 |  | ||||||
|         tty: true |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /app/data |  | ||||||
|           name: anki-data-nfs |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             memory: "250Mi" |  | ||||||
|             cpu: 0.5 |  | ||||||
|       nodeSelector: |  | ||||||
|         kubernetes.io/arch: amd64 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: anki-data-nfs |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: anki-data-nfs |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: anki-http |  | ||||||
|   namespace: anki |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     app: anki |  | ||||||
|   ports: |  | ||||||
|   - protocol: TCP |  | ||||||
|     port: 27701 |  | ||||||
|     targetPort: 27701 |  | ||||||
|   type: ClusterIP |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: anki |  | ||||||
|   name: "anki-data-nfs" |  | ||||||
|   labels: |  | ||||||
|     directory: "anki" |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "100Mi" |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /anki |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: anki |  | ||||||
|   name: "anki-data-nfs" |  | ||||||
| spec: |  | ||||||
|   storageClassName: "fast" |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "100Mi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: "anki" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: IngressRoute |  | ||||||
| metadata: |  | ||||||
|   name: anki-ingress |  | ||||||
|   namespace: anki |  | ||||||
| spec: |  | ||||||
|   entryPoints: |  | ||||||
|     - websecure |  | ||||||
|   routes: |  | ||||||
|     - match: Host(`anki.kluster.moll.re`) |  | ||||||
|       kind: Rule |  | ||||||
|       services: |  | ||||||
|         - name: anki-http |  | ||||||
|           port: 27701 |  | ||||||
|   tls: |  | ||||||
|     certResolver: default-tls |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,92 +0,0 @@ | |||||||
| # |  | ||||||
| # IMPORTANT NOTE |  | ||||||
| # |  | ||||||
| # This chart inherits from our common library chart. You can check the default values/options here: |  | ||||||
| # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |  | ||||||
| # |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- image repository |  | ||||||
|   repository: anonaddy/anonaddy |  | ||||||
|   # -- image tag |  | ||||||
|   tag: 0.11.2 |  | ||||||
|   # -- image pull policy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| strategy: |  | ||||||
|   type: Recreate |  | ||||||
|  |  | ||||||
| # -- environment variables. See more environment variables in the [anonaddy documentation](https://github.com/anonaddy/docker#environment-variables). |  | ||||||
| # @default -- See below |  | ||||||
| env: |  | ||||||
|   TZ: "Europe/Berlin" |  | ||||||
|   # -- Application key for encrypter service |  | ||||||
|   # You can generate one through `anonaddy key:generate --show` or `echo "base64:$(openssl rand -base64 32)"` |  | ||||||
|   APP_KEY: |  | ||||||
|   # -- Root domain to receive email from |  | ||||||
|   ANONADDY_DOMAIN: anonaddy.kluster.moll.re |  | ||||||
|   # -- Long random string used when hashing data for the anonymous replies |  | ||||||
|   ANONADDY_SECRET: |  | ||||||
|  |  | ||||||
| # -- Configures service settings for the chart. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| service: |  | ||||||
|   main: |  | ||||||
|     ports: |  | ||||||
|       http: |  | ||||||
|         port: 8000 |  | ||||||
|       smtp: |  | ||||||
|         enabled: true |  | ||||||
|         port: 25 |  | ||||||
|     type: LoadBalancer |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   # -- Enable and configure ingress settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: |  | ||||||
|     enabled: true |  | ||||||
|     annotations: |  | ||||||
|       kubernetes.io/ingress.class: nginx |  | ||||||
|       cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|     hosts: |  | ||||||
|       - host: anonaddy.kluster.moll.re |  | ||||||
|         paths: |  | ||||||
|           - path: / |  | ||||||
|             pathType: Prefix |  | ||||||
|             service: |  | ||||||
|               port: 8000 |  | ||||||
|     tls: |  | ||||||
|     - hosts: |  | ||||||
|       - anonaddy.kluster.moll.re |  | ||||||
|       secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|  |  | ||||||
| # -- Configure persistence settings for the chart under this key. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| persistence: |  | ||||||
|   config: |  | ||||||
|     enabled: false |  | ||||||
|     emptydir: |  | ||||||
|       enabled: false |  | ||||||
|  |  | ||||||
| # https://github.com/bitnami/charts/tree/master/bitnami/mariadb/#installing-the-chart |  | ||||||
| mariadb: |  | ||||||
|   enabled: true |  | ||||||
|   image:  |  | ||||||
|     name: arm64v8/mariadb:latest |  | ||||||
|     pullSecrets: [] |  | ||||||
|   # primary: |  | ||||||
|   #   persistence: |  | ||||||
|   #     enabled: true |  | ||||||
|   # auth: |  | ||||||
|   #   username: "username" |  | ||||||
|   #   password: "password" |  | ||||||
|   #   database: database |  | ||||||
|  |  | ||||||
| # -- Enable and configure redis subchart under this key. |  | ||||||
| #    For more options see [redis chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/redis) |  | ||||||
| # @default -- See values.yaml |  | ||||||
| redis: |  | ||||||
|   enabled: false |  | ||||||
|   # auth: |  | ||||||
|   #   enabled: false |  | ||||||
|  |  | ||||||
| @@ -1,119 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: archive |  | ||||||
|   labels: |  | ||||||
|     app: archive |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: archive |  | ||||||
|   name: archive-data-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: archive |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "100Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /helbing_archive |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: archive |  | ||||||
|   name: archive-data-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "100Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: archive |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: archive |  | ||||||
|   namespace: archive |  | ||||||
|   labels: |  | ||||||
|     app: archive |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: archive |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: archive |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: archive |  | ||||||
|         image: archivebox/archivebox |  | ||||||
|         tty: true |  | ||||||
|         ports: |  | ||||||
|           - containerPort: 8000 |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /data |  | ||||||
|           name: archive-data |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: archive-data |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: archive-data-nfs |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: archive |  | ||||||
|   namespace: archive |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   type: ClusterIP |  | ||||||
|   ports: |  | ||||||
|     - name: http |  | ||||||
|       port: 8000 |  | ||||||
|   selector: |  | ||||||
|     app: archive |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: archive |  | ||||||
|   name: archive-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - archive.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: archive.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: archive |  | ||||||
|               port:  |  | ||||||
|                 number: 8000 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: authelia |  | ||||||
|   name: authelia-config-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: authelia |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "1Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /authelia |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: authelia |  | ||||||
|   name: authelia-config-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "1Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: authelia |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,34 +0,0 @@ | |||||||
|  |  | ||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: IngressRoute |  | ||||||
| metadata: |  | ||||||
|   name: authentik-ingress |  | ||||||
|   namespace: authentik |  | ||||||
| spec: |  | ||||||
|   entryPoints: |  | ||||||
|     - websecure |  | ||||||
|   routes: |  | ||||||
|     - match: Host(`authentik.kluster.moll.re`) |  | ||||||
|       kind: Rule |  | ||||||
|       middlewares: |  | ||||||
|         - name: authentik-websocket |  | ||||||
|       services: |  | ||||||
|         - name: authentik |  | ||||||
|           port: 80 |  | ||||||
|   tls: |  | ||||||
|     certResolver: default-tls |  | ||||||
|  |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: Middleware |  | ||||||
| metadata: |  | ||||||
|   name: authentik-websocket |  | ||||||
|   namespace: authentik |  | ||||||
| spec: |  | ||||||
|   headers: |  | ||||||
|     customRequestHeaders: |  | ||||||
|       X-Forwarded-Proto: "https" |  | ||||||
|       Upgrade: "websocket" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: authentik |  | ||||||
|   name: authentik-postgres-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: authentik |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   capacity: |  | ||||||
|     storage: "5Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /export/kluster/authentik |  | ||||||
|     server: 192.168.1.157 |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: authentik |  | ||||||
|   name: authentik-postgres-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "5Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: authentik |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,172 +0,0 @@ | |||||||
| # -- Server replicas |  | ||||||
| replicas: 1 |  | ||||||
| # -- Custom priority class for different treatment by the scheduler |  | ||||||
| priorityClassName: |  | ||||||
| # -- server securityContext |  | ||||||
| securityContext: {} |  | ||||||
|  |  | ||||||
| worker: |  | ||||||
|   # -- worker replicas |  | ||||||
|   replicas: 1 |  | ||||||
|   # -- Custom priority class for different treatment by the scheduler |  | ||||||
|   priorityClassName: |  | ||||||
|   # -- worker securityContext |  | ||||||
|   securityContext: {} |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   repository: ghcr.io/goauthentik/server |  | ||||||
|   tag: 2023.4.1 |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|   pullSecrets: [] |  | ||||||
|  |  | ||||||
| # -- See https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#values |  | ||||||
| initContainers: {} |  | ||||||
|  |  | ||||||
| # -- See https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#values |  | ||||||
| additionalContainers: {} |  | ||||||
|  |  | ||||||
| authentik: |  | ||||||
|   # -- Log level for server and worker |  | ||||||
|   log_level: info |  | ||||||
|   # -- Secret key used for cookie singing and unique user IDs, |  | ||||||
|   # don't change this after the first install |  | ||||||
|   secret_key: "K9F5uNx1gzsk3q5tnjwFabBYgjBJcAv0qM135QRgzL81hRg4" |  | ||||||
|   # -- Path for the geoip database. If the file doesn't exist, GeoIP features are disabled. |  | ||||||
|   geoip: /geoip/GeoLite2-City.mmdb |  | ||||||
|   # -- Mode for the avatars. Defaults to gravatar. Possible options 'gravatar' and 'none' |  | ||||||
|   avatars: gravatar |  | ||||||
|  |  | ||||||
|   outposts: |  | ||||||
|     # -- Template used for managed outposts. The following placeholders can be used |  | ||||||
|     # %(type)s - the type of the outpost |  | ||||||
|     # %(version)s - version of your authentik install |  | ||||||
|     # %(build_hash)s - only for beta versions, the build hash of the image |  | ||||||
|     container_image_base: ghcr.io/goauthentik/%(type)s:%(version)s |  | ||||||
|   error_reporting: |  | ||||||
|     # -- This sends anonymous usage-data, stack traces on errors and |  | ||||||
|     # performance data to sentry.beryju.org, and is fully opt-in |  | ||||||
|     enabled: false |  | ||||||
|     # -- This is a string that is sent to sentry with your error reports |  | ||||||
|     environment: "k8s" |  | ||||||
|     # -- Send PII (Personally identifiable information) data to sentry |  | ||||||
|     send_pii: false |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   postgresql: |  | ||||||
|     # -- set the postgresql hostname to talk to |  | ||||||
|     # if unset and .Values.postgresql.enabled == true, will generate the default |  | ||||||
|     # @default -- `{{ .Release.Name }}-postgresql` |  | ||||||
|     host: 'postgres-postgresql.postgres' |  | ||||||
|     # -- postgresql Database name |  | ||||||
|     # @default -- `authentik` |  | ||||||
|     name: "authentik" |  | ||||||
|     # -- postgresql Username |  | ||||||
|     # @default -- `authentik` |  | ||||||
|     user: "authentik" |  | ||||||
|     password: "authentik" |  | ||||||
|     port: 5432 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   redis: |  | ||||||
|     # -- set the redis hostname to talk to |  | ||||||
|     # @default -- `{{ .Release.Name }}-redis-master` |  | ||||||
|     host: '{{ .Release.Name }}-redis-master' |  | ||||||
|     password: "" |  | ||||||
|  |  | ||||||
| # -- see configuration options at https://goauthentik.io/docs/installation/configuration/ |  | ||||||
| env: {} |  | ||||||
| # AUTHENTIK_VAR_NAME: VALUE |  | ||||||
|  |  | ||||||
| envFrom: [] |  | ||||||
| #  - configMapRef: |  | ||||||
| #      name: special-config |  | ||||||
|  |  | ||||||
| envValueFrom: {} |  | ||||||
| #  AUTHENTIK_VAR_NAME: |  | ||||||
| #    secretKeyRef: |  | ||||||
| #      key: password |  | ||||||
| #      name: my-secret |  | ||||||
|  |  | ||||||
| service: |  | ||||||
|   # -- Service that is created to access authentik |  | ||||||
|   enabled: true |  | ||||||
|   type: ClusterIP |  | ||||||
|   port: 80 |  | ||||||
|   name: http |  | ||||||
|   protocol: TCP |  | ||||||
|   labels: {} |  | ||||||
|   annotations: {} |  | ||||||
|  |  | ||||||
| volumes: [] |  | ||||||
|  |  | ||||||
| volumeMounts: [] |  | ||||||
|  |  | ||||||
| # -- affinity applied to the deployments |  | ||||||
| affinity: {} |  | ||||||
|  |  | ||||||
| # -- nodeSelector applied to the deployments |  | ||||||
|  |  | ||||||
| resources: |  | ||||||
|   server: {} |  | ||||||
|   worker: {} |  | ||||||
|  |  | ||||||
| # WARNING! When initially deploying, authentik has to do a few DB migrations. This may cause it to die from probe |  | ||||||
| # failure, but will continue on reboot. You can disable this during deployment if this is not desired |  | ||||||
| livenessProbe: |  | ||||||
|   # -- enables or disables the livenessProbe |  | ||||||
|   enabled: true |  | ||||||
|   httpGet: |  | ||||||
|     # -- liveness probe url path |  | ||||||
|     path: /-/health/live/ |  | ||||||
|     port: http |  | ||||||
|   initialDelaySeconds: 50 |  | ||||||
|   periodSeconds: 10 |  | ||||||
|  |  | ||||||
| readinessProbe: |  | ||||||
|   enabled: true |  | ||||||
|   httpGet: |  | ||||||
|     path: /-/health/ready/ |  | ||||||
|     port: http |  | ||||||
|   initialDelaySeconds: 50 |  | ||||||
|   periodSeconds: 10 |  | ||||||
|  |  | ||||||
| serviceAccount: |  | ||||||
|   # -- Service account is needed for managed outposts |  | ||||||
|   create: true |  | ||||||
|  |  | ||||||
| prometheus: |  | ||||||
|   serviceMonitor: |  | ||||||
|     create: false |  | ||||||
|     interval: 30s |  | ||||||
|     scrapeTimeout: 3s |  | ||||||
|   rules: |  | ||||||
|     create: false |  | ||||||
|  |  | ||||||
| geoip: |  | ||||||
|   # -- optional GeoIP, deploys a cronjob to download the maxmind database |  | ||||||
|   enabled: false |  | ||||||
|   # -- sign up under https://www.maxmind.com/en/geolite2/signup |  | ||||||
|   accountId: "" |  | ||||||
|   # -- sign up under https://www.maxmind.com/en/geolite2/signup |  | ||||||
|   licenseKey: "" |  | ||||||
|   editionIds: "GeoLite2-City" |  | ||||||
|   image: maxmindinc/geoipupdate:v4.8 |  | ||||||
|   # -- number of hours between update runs |  | ||||||
|   updateInterval: 8 |  | ||||||
|  |  | ||||||
| postgresql: |  | ||||||
|   # -- enable the bundled bitnami postgresql chart |  | ||||||
|   enabled: false |  | ||||||
|   postgresqlUsername: "authentik" |  | ||||||
|   postgresqlPassword: "authentik" |  | ||||||
|   postgresqlDatabase: "authentik" |  | ||||||
|   # persistence: |  | ||||||
|   #   enabled: true |  | ||||||
|   #   existingClaim: authentik-postgres-nfs |  | ||||||
| redis: |  | ||||||
|   # -- enable the bundled bitnami redis chart |  | ||||||
|   enabled: true |  | ||||||
|   architecture: standalone |  | ||||||
|   auth: |  | ||||||
|     enabled: false |  | ||||||
|  |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: backup |  | ||||||
|   name: backup-nfs-access |  | ||||||
|   labels: |  | ||||||
|     directory: backup |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadOnlyMany |  | ||||||
|   capacity: |  | ||||||
|     storage: "5M" |  | ||||||
|  |  | ||||||
|   nfs: |  | ||||||
|     path: /export/kluster |  | ||||||
|     server: 192.168.1.157 |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: backup |  | ||||||
|   name: backup-nfs-access |  | ||||||
| spec: |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "5M" |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadOnlyMany |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: backup |  | ||||||
| @@ -1,64 +0,0 @@ | |||||||
| apiVersion: batch/v1 |  | ||||||
| kind: CronJob |  | ||||||
| metadata: |  | ||||||
|   name: restic-backblaze |  | ||||||
|    |  | ||||||
| spec: |  | ||||||
|   schedule: "0 2 * * *" |  | ||||||
|   # at 2:00, every tuesday and saturday |  | ||||||
|   successfulJobsHistoryLimit: 2 |  | ||||||
|   failedJobsHistoryLimit: 2 |  | ||||||
|  |  | ||||||
|   jobTemplate: |  | ||||||
|     spec: |  | ||||||
|       template: |  | ||||||
|         spec: |  | ||||||
|           # nodeSelector: |  | ||||||
|           #   kubernetes.io/arch: arm64 |  | ||||||
|           # TODO no arm64 nodes anymore |  | ||||||
|           restartPolicy: Never |  | ||||||
|           hostname: restic-k3s-pod |  | ||||||
|           # used by restic to identify the host |  | ||||||
|           containers: |  | ||||||
|           - name: restic-base-container |  | ||||||
|             image: restic/restic:latest |  | ||||||
|             command: |  | ||||||
|               - /bin/sh |  | ||||||
|               - -c |  | ||||||
|             # >- strips newlines |  | ||||||
|             # RESTIC_ARGS Can be for instance: --verbose --dry-run |  | ||||||
|             args: [] |  | ||||||
|              |  | ||||||
|             volumeMounts: |  | ||||||
|               - mountPath: /data |  | ||||||
|                 name: backup-nfs-access |  | ||||||
|               - mountPath: /credentials |  | ||||||
|                 name: restic-credentials |  | ||||||
|  |  | ||||||
|             env: |  | ||||||
|               - name: RESTIC_REPOSITORY |  | ||||||
|                 valueFrom: |  | ||||||
|                   secretKeyRef: |  | ||||||
|                     name: restic-credentials |  | ||||||
|                     key: RESTIC_REPOSITORY |  | ||||||
|               - name: B2_ACCOUNT_ID |  | ||||||
|                 valueFrom: |  | ||||||
|                   secretKeyRef: |  | ||||||
|                     name: restic-credentials |  | ||||||
|                     key: B2_ACCOUNT_ID |  | ||||||
|               - name: B2_ACCOUNT_KEY |  | ||||||
|                 valueFrom: |  | ||||||
|                   secretKeyRef: |  | ||||||
|                     name: restic-credentials |  | ||||||
|                     key: B2_ACCOUNT_KEY |  | ||||||
|               - name: RESTIC_PASSWORD_FILE |  | ||||||
|                 value: /credentials/restic-password |  | ||||||
|  |  | ||||||
|           volumes: |  | ||||||
|             - name: backup-nfs-access |  | ||||||
|               persistentVolumeClaim: |  | ||||||
|                 claimName: backup-nfs-access |  | ||||||
|             - name: restic-credentials |  | ||||||
|               secret: |  | ||||||
|                 secretName: restic-credentials |  | ||||||
|                 optional: false |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| apiVersion: kustomize.config.k8s.io/v1beta1 |  | ||||||
| kind: Kustomization |  | ||||||
| resources: |  | ||||||
| - ./cronjob.yaml |  | ||||||
| - ./restic-credentials.secret.yaml |  | ||||||
| @@ -1,8 +0,0 @@ | |||||||
| ``` |  | ||||||
| k kustomize backup/overlays/backup | k apply -f - |  | ||||||
| > secret/restic-credentials-backup created |  | ||||||
| > cronjob.batch/restic-backblaze-backup created |  | ||||||
| k kustomize backup/overlays/prune | k apply -f - |  | ||||||
| > secret/restic-credentials-prune created |  | ||||||
| > cronjob.batch/restic-backblaze-prune created |  | ||||||
| ``` |  | ||||||
| @@ -1,16 +0,0 @@ | |||||||
| apiVersion: kustomize.config.k8s.io/v1beta1 |  | ||||||
| kind: Kustomization |  | ||||||
|  |  | ||||||
| namespace: backup |  | ||||||
| nameSuffix: -backup |  | ||||||
| resources: |  | ||||||
|   - ../../base |  | ||||||
|   # - ./restic-commands.yaml |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # patch the cronjob args field: |  | ||||||
| patches: |  | ||||||
|   - path: ./restic-commands.yaml |  | ||||||
|     target: |  | ||||||
|       kind: CronJob |  | ||||||
|        |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| apiVersion: batch/v1 |  | ||||||
| kind: CronJob |  | ||||||
| metadata: |  | ||||||
|   name: backup-patch |  | ||||||
| spec: |  | ||||||
|   jobTemplate: |  | ||||||
|     spec: |  | ||||||
|       template: |  | ||||||
|         spec: |  | ||||||
|           containers: |  | ||||||
|           - name: restic-base-container |  | ||||||
|             args: |  | ||||||
|             # >- strips newlines |  | ||||||
|             # RESTIC_ARGS Can be for instance: --verbose --dry-run |  | ||||||
|             # restic_reository is set in the secret |  | ||||||
|               - >- |  | ||||||
|                   restic backup |  | ||||||
|                   -r $(RESTIC_REPOSITORY) |  | ||||||
|                   --verbose=2 |  | ||||||
|                   /data |  | ||||||
|                   --exclude=s3/ |  | ||||||
|                 # && |  | ||||||
|                 # restic |  | ||||||
|                 # -r $(RESTIC_REPOSITORY) |  | ||||||
|                 # list snapshots |  | ||||||
|                 # Add command to copy existing backups to here! |  | ||||||
| @@ -1,15 +0,0 @@ | |||||||
| apiVersion: kustomize.config.k8s.io/v1beta1 |  | ||||||
| kind: Kustomization |  | ||||||
|  |  | ||||||
| namespace: backup |  | ||||||
| nameSuffix: -prune |  | ||||||
| resources: |  | ||||||
|   - ../../base |  | ||||||
|   # - ./restic-commands.yaml |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # patch the cronjob args field: |  | ||||||
| patches: |  | ||||||
|   - path: ./restic-commands.yaml |  | ||||||
|     target: |  | ||||||
|       kind: CronJob |  | ||||||
| @@ -1,23 +0,0 @@ | |||||||
| apiVersion: batch/v1 |  | ||||||
| kind: CronJob |  | ||||||
| metadata: |  | ||||||
|   name: prune-patch |  | ||||||
| spec: |  | ||||||
|   schedule: "0 0 1/15 * *" |  | ||||||
|   # at midnight, the first and 15. of every month |  | ||||||
|   jobTemplate: |  | ||||||
|     spec: |  | ||||||
|       template: |  | ||||||
|         spec: |  | ||||||
|           containers: |  | ||||||
|           - name: restic-base-container |  | ||||||
|             args: |  | ||||||
|             # >- strips newlines |  | ||||||
|             # RESTIC_ARGS Can be for instance: --verbose --dry-run |  | ||||||
|             # RESTIC_REPOSITORY is set in the secret |  | ||||||
|               - >- |  | ||||||
|                   restic forget |  | ||||||
|                   -r $(RESTIC_REPOSITORY) |  | ||||||
|                   --verbose=2 |  | ||||||
|                   --keep-daily 7 --keep-weekly 5 |  | ||||||
|                   --prune |  | ||||||
| @@ -1,54 +0,0 @@ | |||||||
| # apiVersion: v1 |  | ||||||
| # kind: Secret |  | ||||||
| # metadata: |  | ||||||
| #   name: cloudflare-api-token-secret |  | ||||||
| #   namespace: cert-manager |  | ||||||
| # type: Opaque |  | ||||||
| # stringData: |  | ||||||
| #   api-token:  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # --- |  | ||||||
|  |  | ||||||
| apiVersion: cert-manager.io/v1 |  | ||||||
| kind: ClusterIssuer |  | ||||||
| metadata: |  | ||||||
|   name: cloudflare-letsencrypt-staging |  | ||||||
| spec: |  | ||||||
|   acme: |  | ||||||
|     email: me@moll.re |  | ||||||
|     server: https://acme-staging-v02.api.letsencrypt.org/directory |  | ||||||
|     privateKeySecretRef: |  | ||||||
|       # Secret resource that will be used to store the account's private key. |  | ||||||
|       name: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|     solvers: |  | ||||||
|     - dns01: |  | ||||||
|         cloudflare: |  | ||||||
|           email: mollator2@gmail.com |  | ||||||
|           apiTokenSecretRef: |  | ||||||
|             # Name of the secret created on the other resource |  | ||||||
|             name: cloudflare-api-token-secret |  | ||||||
|             key: api-token |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: cert-manager.io/v1 |  | ||||||
| kind: ClusterIssuer |  | ||||||
| metadata: |  | ||||||
|   name: cloudflare-letsencrypt-prod |  | ||||||
| spec: |  | ||||||
|   acme: |  | ||||||
|     email: me@moll.re |  | ||||||
|     server: https://acme-v02.api.letsencrypt.org/directory |  | ||||||
|     privateKeySecretRef: |  | ||||||
|       # Secret resource that will be used to store the account's private key. |  | ||||||
|       name: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|     solvers: |  | ||||||
|     - dns01: |  | ||||||
|         cloudflare: |  | ||||||
|           email: mollator2@gmail.com |  | ||||||
|           apiTokenSecretRef: |  | ||||||
|             # Name of the secret created on the other resource |  | ||||||
|             name: cloudflare-api-token-secret |  | ||||||
|             key: api-token |  | ||||||
|  |  | ||||||
| @@ -1,494 +0,0 @@ | |||||||
| # Default values for cert-manager. |  | ||||||
| # This is a YAML-formatted file. |  | ||||||
| # Declare variables to be passed into your templates. |  | ||||||
| global: |  | ||||||
|   ## Reference to one or more secrets to be used when pulling images |  | ||||||
|   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |  | ||||||
|   ## |  | ||||||
|   imagePullSecrets: [] |  | ||||||
|   # - name: "image-pull-secret" |  | ||||||
|  |  | ||||||
|   # Optional priority class to be used for the cert-manager pods |  | ||||||
|   priorityClassName: "" |  | ||||||
|   rbac: |  | ||||||
|     create: true |  | ||||||
|  |  | ||||||
|   podSecurityPolicy: |  | ||||||
|     enabled: false |  | ||||||
|     useAppArmor: true |  | ||||||
|  |  | ||||||
|   # Set the verbosity of cert-manager. Range of 0 - 6 with 6 being the most verbose. |  | ||||||
|   logLevel: 2 |  | ||||||
|  |  | ||||||
|   leaderElection: |  | ||||||
|     # Override the namespace used to store the ConfigMap for leader election |  | ||||||
|     namespace: "kube-system" |  | ||||||
|  |  | ||||||
|     # The duration that non-leader candidates will wait after observing a |  | ||||||
|     # leadership renewal until attempting to acquire leadership of a led but |  | ||||||
|     # unrenewed leader slot. This is effectively the maximum duration that a |  | ||||||
|     # leader can be stopped before it is replaced by another candidate. |  | ||||||
|     # leaseDuration: 60s |  | ||||||
|  |  | ||||||
|     # The interval between attempts by the acting master to renew a leadership |  | ||||||
|     # slot before it stops leading. This must be less than or equal to the |  | ||||||
|     # lease duration. |  | ||||||
|     # renewDeadline: 40s |  | ||||||
|  |  | ||||||
|     # The duration the clients should wait between attempting acquisition and |  | ||||||
|     # renewal of a leadership. |  | ||||||
|     # retryPeriod: 15s |  | ||||||
|  |  | ||||||
| installCRDs: false |  | ||||||
|  |  | ||||||
| replicaCount: 1 |  | ||||||
|  |  | ||||||
| strategy: {} |  | ||||||
|   # type: RollingUpdate |  | ||||||
|   # rollingUpdate: |  | ||||||
|   #   maxSurge: 0 |  | ||||||
|   #   maxUnavailable: 1 |  | ||||||
|  |  | ||||||
| # Comma separated list of feature gates that should be enabled on the |  | ||||||
| # controller pod. |  | ||||||
| featureGates: "" |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   repository: quay.io/jetstack/cert-manager-controller |  | ||||||
|   # You can manage a registry with |  | ||||||
|   # registry: quay.io |  | ||||||
|   # repository: jetstack/cert-manager-controller |  | ||||||
|  |  | ||||||
|   # Override the image tag to deploy by setting this variable. |  | ||||||
|   # If no value is set, the chart's appVersion will be used. |  | ||||||
|   # tag: canary |  | ||||||
|  |  | ||||||
|   # Setting a digest will override any tag |  | ||||||
|   # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20 |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| # Override the namespace used to store DNS provider credentials etc. for ClusterIssuer |  | ||||||
| # resources. By default, the same namespace as cert-manager is deployed within is |  | ||||||
| # used. This namespace will not be automatically created by the Helm chart. |  | ||||||
| clusterResourceNamespace: "" |  | ||||||
|  |  | ||||||
| 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: "" |  | ||||||
|   # Optional additional annotations to add to the controller's ServiceAccount |  | ||||||
|   # annotations: {} |  | ||||||
|   # Automount API credentials for a Service Account. |  | ||||||
|   automountServiceAccountToken: true |  | ||||||
|  |  | ||||||
| # Optional additional arguments |  | ||||||
| extraArgs: [] |  | ||||||
|   # Use this flag to set a namespace that cert-manager will use to store |  | ||||||
|   # supporting resources required for each ClusterIssuer (default is kube-system) |  | ||||||
|   # - --cluster-resource-namespace=kube-system |  | ||||||
|   # When this flag is enabled, secrets will be automatically removed when the certificate resource is deleted |  | ||||||
|   # - --enable-certificate-owner-ref=true |  | ||||||
|   # Use this flag to enabled or disable arbitrary controllers, for example, disable the CertificiateRequests approver |  | ||||||
|   # - --controllers=*,-certificaterequests-approver |  | ||||||
|  |  | ||||||
| extraEnv: [] |  | ||||||
| # - name: SOME_VAR |  | ||||||
| #   value: 'some value' |  | ||||||
|  |  | ||||||
| resources: {} |  | ||||||
|   # requests: |  | ||||||
|   #   cpu: 10m |  | ||||||
|   #   memory: 32Mi |  | ||||||
|  |  | ||||||
| # Pod Security Context |  | ||||||
| # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
| securityContext: |  | ||||||
|   runAsNonRoot: true |  | ||||||
| # legacy securityContext parameter format: if enabled is set to true, only fsGroup and runAsUser are supported |  | ||||||
| # securityContext: |  | ||||||
| #   enabled: false |  | ||||||
| #   fsGroup: 1001 |  | ||||||
| #   runAsUser: 1001 |  | ||||||
| # to support additional securityContext parameters, omit the `enabled` parameter and simply specify the parameters |  | ||||||
| # you want to set, e.g. |  | ||||||
| # securityContext: |  | ||||||
| #   fsGroup: 1000 |  | ||||||
| #   runAsUser: 1000 |  | ||||||
| #   runAsNonRoot: true |  | ||||||
|  |  | ||||||
| # Container Security Context to be set on the controller component container |  | ||||||
| # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
| containerSecurityContext: {} |  | ||||||
|   # capabilities: |  | ||||||
|   #   drop: |  | ||||||
|   #   - ALL |  | ||||||
|   # readOnlyRootFilesystem: true |  | ||||||
|   # runAsNonRoot: true |  | ||||||
|  |  | ||||||
|  |  | ||||||
| volumes: [] |  | ||||||
|  |  | ||||||
| volumeMounts: [] |  | ||||||
|  |  | ||||||
| # Optional additional annotations to add to the controller Deployment |  | ||||||
| # deploymentAnnotations: {} |  | ||||||
|  |  | ||||||
| # Optional additional annotations to add to the controller Pods |  | ||||||
| # podAnnotations: {} |  | ||||||
|  |  | ||||||
| podLabels: {} |  | ||||||
|  |  | ||||||
| # Optional additional labels to add to the controller Service |  | ||||||
| # serviceLabels: {} |  | ||||||
|  |  | ||||||
| # Optional additional annotations to add to the controller service |  | ||||||
| # serviceAnnotations: {} |  | ||||||
|  |  | ||||||
| # Optional DNS settings, useful if you have a public and private DNS zone for |  | ||||||
| # the same domain on Route 53. What follows is an example of ensuring |  | ||||||
| # cert-manager can access an ingress or DNS TXT records at all times. |  | ||||||
| # NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for |  | ||||||
| # the cluster to work. |  | ||||||
| # podDnsPolicy: "None" |  | ||||||
| # podDnsConfig: |  | ||||||
| #   nameservers: |  | ||||||
| #     - "1.1.1.1" |  | ||||||
| #     - "8.8.8.8" |  | ||||||
|  |  | ||||||
| nodeSelector: {} |  | ||||||
|  |  | ||||||
| ingressShim: {} |  | ||||||
|   # defaultIssuerName: "" |  | ||||||
|   # defaultIssuerKind: "" |  | ||||||
|   # defaultIssuerGroup: "" |  | ||||||
|  |  | ||||||
| prometheus: |  | ||||||
|   enabled: true |  | ||||||
|   servicemonitor: |  | ||||||
|     enabled: false |  | ||||||
|     prometheusInstance: default |  | ||||||
|     targetPort: 9402 |  | ||||||
|     path: /metrics |  | ||||||
|     interval: 60s |  | ||||||
|     scrapeTimeout: 30s |  | ||||||
|     labels: {} |  | ||||||
|  |  | ||||||
| # Use these variables to configure the HTTP_PROXY environment variables |  | ||||||
| # http_proxy: "http://proxy:8080" |  | ||||||
| # https_proxy: "https://proxy:8080" |  | ||||||
| # no_proxy: 127.0.0.1,localhost |  | ||||||
|  |  | ||||||
| # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core |  | ||||||
| # for example: |  | ||||||
| #   affinity: |  | ||||||
| #     nodeAffinity: |  | ||||||
| #      requiredDuringSchedulingIgnoredDuringExecution: |  | ||||||
| #        nodeSelectorTerms: |  | ||||||
| #        - matchExpressions: |  | ||||||
| #          - key: foo.bar.com/role |  | ||||||
| #            operator: In |  | ||||||
| #            values: |  | ||||||
| #            - master |  | ||||||
| affinity: {} |  | ||||||
|  |  | ||||||
| # expects input structure as per specification https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core |  | ||||||
| # for example: |  | ||||||
| #   tolerations: |  | ||||||
| #   - key: foo.bar.com/role |  | ||||||
| #     operator: Equal |  | ||||||
| #     value: master |  | ||||||
| #     effect: NoSchedule |  | ||||||
| tolerations: [] |  | ||||||
|  |  | ||||||
| webhook: |  | ||||||
|   replicaCount: 1 |  | ||||||
|   timeoutSeconds: 10 |  | ||||||
|  |  | ||||||
|   strategy: {} |  | ||||||
|     # type: RollingUpdate |  | ||||||
|     # rollingUpdate: |  | ||||||
|     #   maxSurge: 0 |  | ||||||
|     #   maxUnavailable: 1 |  | ||||||
|  |  | ||||||
|   # Pod Security Context to be set on the webhook component Pod |  | ||||||
|   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
|   securityContext: |  | ||||||
|     runAsNonRoot: true |  | ||||||
|  |  | ||||||
|   # Container Security Context to be set on the webhook component container |  | ||||||
|   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
|   containerSecurityContext: {} |  | ||||||
|     # capabilities: |  | ||||||
|     #   drop: |  | ||||||
|     #   - ALL |  | ||||||
|     # readOnlyRootFilesystem: true |  | ||||||
|     # runAsNonRoot: true |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the webhook Deployment |  | ||||||
|   # deploymentAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the webhook Pods |  | ||||||
|   # podAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the webhook MutatingWebhookConfiguration |  | ||||||
|   # mutatingWebhookConfigurationAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the webhook ValidatingWebhookConfiguration |  | ||||||
|   # validatingWebhookConfigurationAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the webhook service |  | ||||||
|   # serviceAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional arguments for webhook |  | ||||||
|   extraArgs: [] |  | ||||||
|  |  | ||||||
|   resources: {} |  | ||||||
|     # requests: |  | ||||||
|     #   cpu: 10m |  | ||||||
|     #   memory: 32Mi |  | ||||||
|  |  | ||||||
|   ## Liveness and readiness probe values |  | ||||||
|   ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes |  | ||||||
|   ## |  | ||||||
|   livenessProbe: |  | ||||||
|     failureThreshold: 3 |  | ||||||
|     initialDelaySeconds: 60 |  | ||||||
|     periodSeconds: 10 |  | ||||||
|     successThreshold: 1 |  | ||||||
|     timeoutSeconds: 1 |  | ||||||
|   readinessProbe: |  | ||||||
|     failureThreshold: 3 |  | ||||||
|     initialDelaySeconds: 5 |  | ||||||
|     periodSeconds: 5 |  | ||||||
|     successThreshold: 1 |  | ||||||
|     timeoutSeconds: 1 |  | ||||||
|  |  | ||||||
|   nodeSelector: {} |  | ||||||
|  |  | ||||||
|   affinity: {} |  | ||||||
|  |  | ||||||
|   tolerations: [] |  | ||||||
|  |  | ||||||
|   # Optional additional labels to add to the Webhook Pods |  | ||||||
|   podLabels: {} |  | ||||||
|  |  | ||||||
|   # Optional additional labels to add to the Webhook Service |  | ||||||
|   serviceLabels: {} |  | ||||||
|  |  | ||||||
|   image: |  | ||||||
|     repository: quay.io/jetstack/cert-manager-webhook |  | ||||||
|     # You can manage a registry with |  | ||||||
|     # registry: quay.io |  | ||||||
|     # repository: jetstack/cert-manager-webhook |  | ||||||
|  |  | ||||||
|     # Override the image tag to deploy by setting this variable. |  | ||||||
|     # If no value is set, the chart's appVersion will be used. |  | ||||||
|     # tag: canary |  | ||||||
|  |  | ||||||
|     # Setting a digest will override any tag |  | ||||||
|     # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20 |  | ||||||
|  |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
|   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: "" |  | ||||||
|     # Optional additional annotations to add to the controller's ServiceAccount |  | ||||||
|     # annotations: {} |  | ||||||
|     # Automount API credentials for a Service Account. |  | ||||||
|     automountServiceAccountToken: true |  | ||||||
|  |  | ||||||
|   # The port that the webhook should listen on for requests. |  | ||||||
|   # In GKE private clusters, by default kubernetes apiservers are allowed to |  | ||||||
|   # talk to the cluster nodes only on 443 and 10250. so configuring |  | ||||||
|   # securePort: 10250, will work out of the box without needing to add firewall |  | ||||||
|   # rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000 |  | ||||||
|   securePort: 10250 |  | ||||||
|  |  | ||||||
|   # Specifies if the webhook should be started in hostNetwork mode. |  | ||||||
|   # |  | ||||||
|   # Required for use in some managed kubernetes clusters (such as AWS EKS) with custom |  | ||||||
|   # CNI (such as calico), because control-plane managed by AWS cannot communicate |  | ||||||
|   # with pods' IP CIDR and admission webhooks are not working |  | ||||||
|   # |  | ||||||
|   # Since the default port for the webhook conflicts with kubelet on the host |  | ||||||
|   # network, `webhook.securePort` should be changed to an available port if |  | ||||||
|   # running in hostNetwork mode. |  | ||||||
|   hostNetwork: false |  | ||||||
|  |  | ||||||
|   # Specifies how the service should be handled. Useful if you want to expose the |  | ||||||
|   # webhook to outside of the cluster. In some cases, the control plane cannot |  | ||||||
|   # reach internal services. |  | ||||||
|   serviceType: ClusterIP |  | ||||||
|   # loadBalancerIP: |  | ||||||
|  |  | ||||||
|   # Overrides the mutating webhook and validating webhook so they reach the webhook |  | ||||||
|   # service using the `url` field instead of a service. |  | ||||||
|   url: {} |  | ||||||
|     # host: |  | ||||||
|  |  | ||||||
| cainjector: |  | ||||||
|   enabled: true |  | ||||||
|   replicaCount: 1 |  | ||||||
|  |  | ||||||
|   strategy: {} |  | ||||||
|     # type: RollingUpdate |  | ||||||
|     # rollingUpdate: |  | ||||||
|     #   maxSurge: 0 |  | ||||||
|     #   maxUnavailable: 1 |  | ||||||
|  |  | ||||||
|   # Pod Security Context to be set on the cainjector component Pod |  | ||||||
|   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
|   securityContext: |  | ||||||
|     runAsNonRoot: true |  | ||||||
|  |  | ||||||
|   # Container Security Context to be set on the cainjector component container |  | ||||||
|   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
|   containerSecurityContext: {} |  | ||||||
|     # capabilities: |  | ||||||
|     #   drop: |  | ||||||
|     #   - ALL |  | ||||||
|     # readOnlyRootFilesystem: true |  | ||||||
|     # runAsNonRoot: true |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the cainjector Deployment |  | ||||||
|   # deploymentAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the cainjector Pods |  | ||||||
|   # podAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional arguments for cainjector |  | ||||||
|   extraArgs: [] |  | ||||||
|  |  | ||||||
|   resources: {} |  | ||||||
|     # requests: |  | ||||||
|     #   cpu: 10m |  | ||||||
|     #   memory: 32Mi |  | ||||||
|  |  | ||||||
|   nodeSelector: {} |  | ||||||
|  |  | ||||||
|   affinity: {} |  | ||||||
|  |  | ||||||
|   tolerations: [] |  | ||||||
|  |  | ||||||
|   # Optional additional labels to add to the CA Injector Pods |  | ||||||
|   podLabels: {} |  | ||||||
|  |  | ||||||
|   image: |  | ||||||
|     repository: quay.io/jetstack/cert-manager-cainjector |  | ||||||
|     # You can manage a registry with |  | ||||||
|     # registry: quay.io |  | ||||||
|     # repository: jetstack/cert-manager-cainjector |  | ||||||
|  |  | ||||||
|     # Override the image tag to deploy by setting this variable. |  | ||||||
|     # If no value is set, the chart's appVersion will be used. |  | ||||||
|     # tag: canary |  | ||||||
|  |  | ||||||
|     # Setting a digest will override any tag |  | ||||||
|     # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20 |  | ||||||
|  |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
|   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: "" |  | ||||||
|     # Optional additional annotations to add to the controller's ServiceAccount |  | ||||||
|     # annotations: {} |  | ||||||
|     # Automount API credentials for a Service Account. |  | ||||||
|     automountServiceAccountToken: true |  | ||||||
|  |  | ||||||
| # This startupapicheck is a Helm post-install hook that waits for the webhook |  | ||||||
| # endpoints to become available. |  | ||||||
| # The check is implemented using a Kubernetes Job- if you are injecting mesh |  | ||||||
| # sidecar proxies into cert-manager pods, you probably want to ensure that they |  | ||||||
| # are not injected into this Job's pod. Otherwise the installation may time out |  | ||||||
| # due to the Job never being completed because the sidecar proxy does not exit. |  | ||||||
| # See https://github.com/jetstack/cert-manager/pull/4414 for context. |  | ||||||
| startupapicheck: |  | ||||||
|   enabled: true |  | ||||||
|  |  | ||||||
|   # Pod Security Context to be set on the startupapicheck component Pod |  | ||||||
|   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |  | ||||||
|   securityContext: |  | ||||||
|     runAsNonRoot: true |  | ||||||
|  |  | ||||||
|   # Timeout for 'kubectl check api' command |  | ||||||
|   timeout: 1m |  | ||||||
|  |  | ||||||
|   # Job backoffLimit |  | ||||||
|   backoffLimit: 4 |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the startupapicheck Job |  | ||||||
|   jobAnnotations: |  | ||||||
|     helm.sh/hook: post-install |  | ||||||
|     helm.sh/hook-weight: "1" |  | ||||||
|     helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded |  | ||||||
|  |  | ||||||
|   # Optional additional annotations to add to the startupapicheck Pods |  | ||||||
|   # podAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Optional additional arguments for startupapicheck |  | ||||||
|   extraArgs: [] |  | ||||||
|  |  | ||||||
|   resources: {} |  | ||||||
|     # requests: |  | ||||||
|     #   cpu: 10m |  | ||||||
|     #   memory: 32Mi |  | ||||||
|  |  | ||||||
|   nodeSelector: {} |  | ||||||
|  |  | ||||||
|   affinity: {} |  | ||||||
|  |  | ||||||
|   tolerations: [] |  | ||||||
|  |  | ||||||
|   # Optional additional labels to add to the startupapicheck Pods |  | ||||||
|   podLabels: {} |  | ||||||
|  |  | ||||||
|   image: |  | ||||||
|     repository: quay.io/jetstack/cert-manager-ctl |  | ||||||
|     # You can manage a registry with |  | ||||||
|     # registry: quay.io |  | ||||||
|     # repository: jetstack/cert-manager-ctl |  | ||||||
|  |  | ||||||
|     # Override the image tag to deploy by setting this variable. |  | ||||||
|     # If no value is set, the chart's appVersion will be used. |  | ||||||
|     # tag: canary |  | ||||||
|  |  | ||||||
|     # Setting a digest will override any tag |  | ||||||
|     # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20 |  | ||||||
|  |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
|   rbac: |  | ||||||
|     # annotations for the startup API Check job RBAC and PSP resources |  | ||||||
|     annotations: |  | ||||||
|       helm.sh/hook: post-install |  | ||||||
|       helm.sh/hook-weight: "-5" |  | ||||||
|       helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded |  | ||||||
|  |  | ||||||
|   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: "" |  | ||||||
|  |  | ||||||
|     # Optional additional annotations to add to the Job's ServiceAccount |  | ||||||
|     annotations: |  | ||||||
|       helm.sh/hook: post-install |  | ||||||
|       helm.sh/hook-weight: "-5" |  | ||||||
|       helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded |  | ||||||
|  |  | ||||||
|     # Automount API credentials for a Service Account. |  | ||||||
|     automountServiceAccountToken: true |  | ||||||
|  |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: crowdsec |  | ||||||
|   name: crowdsec-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|      |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - crowdsec.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: crowdsec.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: crowdsec-service |  | ||||||
|               port:  |  | ||||||
|                 number: 3000 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| controller: |  | ||||||
|   extraVolumes: |  | ||||||
|   - name: crowdsec-bouncer-plugin |  | ||||||
|     emptyDir: {} |  | ||||||
|   extraInitContainers: |  | ||||||
|   - name: init-clone-crowdsec-bouncer |  | ||||||
|     image: crowdsecurity/lua-bouncer-plugin |  | ||||||
|     imagePullPolicy: IfNotPresent |  | ||||||
|     env: |  | ||||||
|       - name: API_URL |  | ||||||
|         value: "http://crowdsec-service.crowdsec.svc.cluster.local:8080" # crowdsec lapi service-name |  | ||||||
|       - name: API_KEY |  | ||||||
|         value: "6cc4c975f123f4f24174e2d544e81282" # generated with `cscli bouncers add -n <bouncer_name> |  | ||||||
|       - name: BOUNCER_CONFIG |  | ||||||
|         value: "/crowdsec/crowdsec-bouncer.conf" |  | ||||||
|       - name: BAN_TEMPLATE_PATH |  | ||||||
|         value: /etc/nginx/lua/plugins/crowdsec/templates/ban.html |  | ||||||
|       - name: CAPTCHA_TEMPLATE_PATH |  | ||||||
|         value: /etc/nginx/lua/plugins/crowdsec/templates/captcha.html |  | ||||||
|     command: ['sh', '-c', "sh /docker_start.sh; mkdir -p /lua_plugins/crowdsec/; cp -R /crowdsec/* /lua_plugins/crowdsec/"] |  | ||||||
|     volumeMounts: |  | ||||||
|     - name: crowdsec-bouncer-plugin |  | ||||||
|       mountPath: /lua_plugins |  | ||||||
|   extraVolumeMounts: |  | ||||||
|   - name: crowdsec-bouncer-plugin |  | ||||||
|     mountPath: /etc/nginx/lua/plugins/crowdsec |  | ||||||
|     subPath: crowdsec |  | ||||||
|   config: |  | ||||||
|     plugins: "crowdsec" |  | ||||||
|     lua-shared-dicts: "crowdsec_cache: 50m" |  | ||||||
| @@ -1,178 +0,0 @@ | |||||||
| # Default values for crowdsec-chart. |  | ||||||
| # This is a YAML-formatted file. |  | ||||||
| # Declare variables to be passed into your templates. |  | ||||||
|  |  | ||||||
| # -- for raw logs format: json or cri (docker|containerd) |  | ||||||
| container_runtime: containerd |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- docker image repository name |  | ||||||
|   repository: crowdsecurity/crowdsec |  | ||||||
|   # -- pullPolicy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|   # -- docker image tag |  | ||||||
|   tag: "" |  | ||||||
|  |  | ||||||
| # If you want to specify secrets that will be used for all your crowdsec-agents |  | ||||||
| # secrets can be provided be env variables |  | ||||||
| secrets: |  | ||||||
|   # -- agent username (default is generated randomly) |  | ||||||
|   username: "" |  | ||||||
|   # -- agent password (default is generated randomly) |  | ||||||
|   password: "" |  | ||||||
|  |  | ||||||
| # lapi will deploy pod with crowdsec lapi and dashboard as deployment |  | ||||||
| lapi: |  | ||||||
|   # -- environment variables from crowdsecurity/crowdsec docker image |  | ||||||
|   env: [] |  | ||||||
|     # by default disable the agent because it only the local API. |  | ||||||
|     #- name: DISABLE_AGENT |  | ||||||
|     #  value: "true" |  | ||||||
|   dashboard: |  | ||||||
|     # -- Enable Metabase Dashboard (by default disabled) |  | ||||||
|     enabled: true |  | ||||||
|     image: |  | ||||||
|       # -- docker image repository name |  | ||||||
|       repository: loancrate/metabase |  | ||||||
|       # -- pullPolicy |  | ||||||
|       pullPolicy: IfNotPresent |  | ||||||
|       # -- docker image tag |  | ||||||
|       tag: "latest" |  | ||||||
|     # -- Metabase SQLite static DB containing Dashboards |  | ||||||
|     assetURL: https://crowdsec-statics-assets.s3-eu-west-1.amazonaws.com/metabase_sqlite.zip |  | ||||||
|  |  | ||||||
|     # -- Enable ingress object |  | ||||||
|     ingress: |  | ||||||
|       enabled: false |  | ||||||
|       annotations: |  | ||||||
|         # metabase only supports http so we need this annotation |  | ||||||
|         nginx.ingress.kubernetes.io/backend-protocol: "HTTP" |  | ||||||
|       # labels: {} |  | ||||||
|       ingressClassName: "nginx" |  | ||||||
|       host: "" # metabase.example.com |  | ||||||
|       # tls: {} |  | ||||||
|  |  | ||||||
|   resources: |  | ||||||
|     limits: |  | ||||||
|       memory: 100Mi |  | ||||||
|     requests: |  | ||||||
|       cpu: 150m |  | ||||||
|       memory: 100Mi |  | ||||||
|   # -- Enable persistent volumes |  | ||||||
|   persistentVolume: |  | ||||||
|     # -- Persistent volume for data folder. Stores e.g. registered bouncer api keys |  | ||||||
|     data: |  | ||||||
|       enabled: true |  | ||||||
|       accessModes: |  | ||||||
|         - ReadWriteOnce |  | ||||||
|       storageClassName: "" |  | ||||||
|       size: 1Gi |  | ||||||
|     # -- Persistent volume for config folder. Stores e.g. online api credentials |  | ||||||
|     config: |  | ||||||
|       enabled: true |  | ||||||
|       accessModes: |  | ||||||
|         - ReadWriteOnce |  | ||||||
|       storageClassName: "" |  | ||||||
|       size: 100Mi |  | ||||||
|  |  | ||||||
|   # -- nodeSelector for lapi |  | ||||||
|   nodeSelector: {} |  | ||||||
|   # -- tolerations for lapi |  | ||||||
|   tolerations: {} |  | ||||||
|  |  | ||||||
|   # -- Enable service monitoring (exposes "metrics" port "6060" for Prometheus) |  | ||||||
|   metrics: |  | ||||||
|     enabled: false |  | ||||||
|     # -- Creates a ServiceMonitor so Prometheus will monitor this service |  | ||||||
|     # -- Prometheus needs to be configured to watch on all namespaces for ServiceMonitors |  | ||||||
|     # -- See the documentation: https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#prometheusioscrape |  | ||||||
|     # -- See also: https://github.com/prometheus-community/helm-charts/issues/106#issuecomment-700847774 |  | ||||||
|     serviceMonitor: |  | ||||||
|       enabled: false |  | ||||||
|  |  | ||||||
|   strategy: |  | ||||||
|     type: RollingUpdate |  | ||||||
|  |  | ||||||
| # agent will deploy pod on every node as daemonSet to read wanted pods logs |  | ||||||
| agent: |  | ||||||
|   acquisition: |  | ||||||
|     # -- Specify each pod you want to process it logs (namespace, podName and program) |  | ||||||
|     - namespace: kube-system |  | ||||||
|       # -- to select pod logs to process |  | ||||||
|       podName: nginx-nginx-ingress-* |  | ||||||
|       # -- program name related to specific parser you will use (see https://hub.crowdsec.net/author/crowdsecurity/configurations/docker-logs) |  | ||||||
|       program: nginx |  | ||||||
|   resources: |  | ||||||
|     limits: |  | ||||||
|       memory: 100Mi |  | ||||||
|     requests: |  | ||||||
|       cpu: 150m |  | ||||||
|       memory: 100Mi |  | ||||||
|   # -- Enable persistent volumes |  | ||||||
|   persistentVolume: |  | ||||||
|     # -- Persistent volume for config folder. Stores local config (parsers, scenarios etc.) |  | ||||||
|     config: |  | ||||||
|       enabled: true |  | ||||||
|       accessModes: |  | ||||||
|         - ReadWriteOnce |  | ||||||
|       storageClassName: "" |  | ||||||
|       size: 100Mi |  | ||||||
|   # -- environment variables from crowdsecurity/crowdsec docker image |  | ||||||
|   env: [] |  | ||||||
|     # by default we the docker-logs parser to be able to parse docker logs in k8s |  | ||||||
|     # by default we disable local API on the agent pod |  | ||||||
|     # - name: SCENARIOS |  | ||||||
|     #   value: "scenario/name otherScenario/name" |  | ||||||
|     # - name: PARSERS |  | ||||||
|     #   value: "parser/name otherParser/name" |  | ||||||
|     # - name: POSTOVERFLOWS |  | ||||||
|     #   value: "postoverflow/name otherPostoverflow/name" |  | ||||||
|     # - name: CONFIG_FILE |  | ||||||
|     #   value: "/etc/crowdsec/config.yaml" |  | ||||||
|     # - name: DSN |  | ||||||
|     #   value: "file:///var/log/toto.log" |  | ||||||
|     # - name: TYPE |  | ||||||
|     #   value: "Labels.type_for_time-machine_mode" |  | ||||||
|     # - name: TEST_MODE |  | ||||||
|     #   value: "false" |  | ||||||
|     # - name: TZ |  | ||||||
|     #   value: "" |  | ||||||
|     # - name: DISABLE_AGENT |  | ||||||
|     #   value: "false" |  | ||||||
|     # - name: DISABLE_ONLINE_API |  | ||||||
|     #   value: "false" |  | ||||||
|     # - name: LEVEL_TRACE |  | ||||||
|     #   value: "false" |  | ||||||
|     # - name: LEVEL_DEBUG |  | ||||||
|     #   value: "false" |  | ||||||
|     # - name: LEVEL_INFO |  | ||||||
|     #   value: "false" |  | ||||||
|  |  | ||||||
|   # -- nodeSelector for agent |  | ||||||
|   nodeSelector: {} |  | ||||||
|   # -- tolerations for agent |  | ||||||
|   tolerations: {} |  | ||||||
|  |  | ||||||
|   # -- Enable service monitoring (exposes "metrics" port "6060" for Prometheus) |  | ||||||
|   metrics: |  | ||||||
|     enabled: false |  | ||||||
|     # -- Creates a ServiceMonitor so Prometheus will monitor this service |  | ||||||
|     # -- Prometheus needs to be configured to watch on all namespaces for ServiceMonitors |  | ||||||
|     # -- See the documentation: https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#prometheusioscrape |  | ||||||
|     # -- See also: https://github.com/prometheus-community/helm-charts/issues/106#issuecomment-700847774 |  | ||||||
|     serviceMonitor: |  | ||||||
|       enabled: false |  | ||||||
|  |  | ||||||
|   # -- wait-for-lapi init container |  | ||||||
|   wait_for_lapi: |  | ||||||
|     image: |  | ||||||
|       # -- docker image repository name |  | ||||||
|       repository: busybox |  | ||||||
|       # -- pullPolicy |  | ||||||
|       pullPolicy: IfNotPresent |  | ||||||
|       # -- docker image tag |  | ||||||
|       tag: "1.28" |  | ||||||
|  |  | ||||||
| #service: {} |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   namespace: ddns |  | ||||||
|   name: cloudflare-ddns |  | ||||||
| spec: |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: cloudflare-ddns |  | ||||||
|    |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: cloudflare-ddns |  | ||||||
|      |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: cloudflare-ddns |  | ||||||
|         image: timothyjmiller/cloudflare-ddns:latest |  | ||||||
|         resources: |  | ||||||
|           limits: |  | ||||||
|             memory: "32Mi" |  | ||||||
|             cpu: "50m" |  | ||||||
|         env: |  | ||||||
|             - name: CONFIG_PATH |  | ||||||
|               value: "/etc/cloudflare-ddns/" |  | ||||||
|         volumeMounts: |  | ||||||
|           - mountPath: "/etc/cloudflare-ddns" |  | ||||||
|             name: config-cloudflare-ddns |  | ||||||
|             readOnly: true |  | ||||||
|       volumes: |  | ||||||
|       - name: config-cloudflare-ddns |  | ||||||
|         secret: |  | ||||||
|           secretName: config-cloudflare-ddns |  | ||||||
| @@ -1,32 +0,0 @@ | |||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: IngressRoute |  | ||||||
| metadata: |  | ||||||
|   name: focalboard-ingress |  | ||||||
|   namespace: focalboard |  | ||||||
| spec: |  | ||||||
|   entryPoints: |  | ||||||
|     - websecure |  | ||||||
|   routes: |  | ||||||
|     - match: Host(`focalboard.kluster.moll.re`) |  | ||||||
|       middlewares: |  | ||||||
|         - name: focalboard-websocket |  | ||||||
|       kind: Rule |  | ||||||
|       services: |  | ||||||
|         - name: focalboard |  | ||||||
|           port: 8000 |  | ||||||
|   tls: |  | ||||||
|     certResolver: default-tls |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: Middleware |  | ||||||
| metadata: |  | ||||||
|   name: focalboard-websocket |  | ||||||
|   namespace: focalboard |  | ||||||
| spec: |  | ||||||
|   headers: |  | ||||||
|     customRequestHeaders: |  | ||||||
|       X-Forwarded-Proto: "https" |  | ||||||
|       Upgrade: "websocket" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: focalboard |  | ||||||
|   name: focalboard-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: focalboard |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "5Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /focalboard |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: focalboard |  | ||||||
|   name: focalboard-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "5Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: focalboard |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,63 +0,0 @@ | |||||||
| # |  | ||||||
| # IMPORTANT NOTE |  | ||||||
| # |  | ||||||
| # This chart inherits from our common library chart. You can check the default values/options here: |  | ||||||
| # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |  | ||||||
| # |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- image repository |  | ||||||
|   repository: flyskype2021/focalboard |  | ||||||
|   # -- image pull policy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|   # -- image tag |  | ||||||
|   tag: latest |  | ||||||
|  |  | ||||||
|  |  | ||||||
| enableServiceLinks: false |  | ||||||
|  |  | ||||||
| # -- environment variables. |  | ||||||
| # @default -- See below |  | ||||||
| env: {} |  | ||||||
|  |  | ||||||
| # See the Administrator's Guide for config reference: https://www.focalboard.com/guide/admin/ |  | ||||||
| config: | |  | ||||||
|   { |  | ||||||
|     "serverRoot": "https://focalboard.kluster.moll.re", |  | ||||||
|     "port": 8000, |  | ||||||
|     "dbtype": "sqlite3", |  | ||||||
|     "dbconfig": "/data/focalboard.db", |  | ||||||
|     "postgres_dbconfig": "dbname=focalboard sslmode=disable", |  | ||||||
|     "useSSL": false, |  | ||||||
|     "webpath": "./pack", |  | ||||||
|     "filespath": "/data/files", |  | ||||||
|     "telemetry": false, |  | ||||||
|     "session_expire_time": 2592000, |  | ||||||
|     "session_refresh_time": 18000, |  | ||||||
|     "localOnly": false, |  | ||||||
|     "enableLocalMode": true, |  | ||||||
|     "localModeSocketLocation": "/var/tmp/focalboard_local.socket" |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # -- Configures service settings for the chart. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| service: |  | ||||||
|   main: |  | ||||||
|     ports: |  | ||||||
|       http: |  | ||||||
|         port: 8000 |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   # -- Enable and configure ingress settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: |  | ||||||
|     enabled: false |  | ||||||
|  |  | ||||||
| # -- Configure persistence settings for the chart under this key. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| persistence: |  | ||||||
|   data: |  | ||||||
|     enabled: true |  | ||||||
|     existingClaim: focalboard-nfs |  | ||||||
|  |  | ||||||
| @@ -1,47 +0,0 @@ | |||||||
| # |  | ||||||
| # IMPORTANT NOTE |  | ||||||
| # |  | ||||||
| # This chart inherits from our common library chart. You can check the default values/options here: |  | ||||||
| # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |  | ||||||
| # |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- image repository |  | ||||||
|   repository: linuxserver/freshrss |  | ||||||
|   # -- image pull policy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|   # -- image tag |  | ||||||
|   tag: version-1.18.1 |  | ||||||
|  |  | ||||||
| # -- environment variables. See more environment variables in the [freshrss documentation](https://github.com/linuxserver/docker-freshrss#parameters). |  | ||||||
| # @default -- See below |  | ||||||
| env: |  | ||||||
|   # -- Set the container timezone |  | ||||||
|   TZ: "Europe/Berlin" |  | ||||||
|   # -- Set the container user id |  | ||||||
|   PUID: "1001" |  | ||||||
|   # -- Set the container group id |  | ||||||
|   PGID: "1001" |  | ||||||
|  |  | ||||||
| # -- Configures service settings for the chart. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| service: |  | ||||||
|   main: |  | ||||||
|     ports: |  | ||||||
|       http: |  | ||||||
|         port: 80 |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   # -- Enable and configure ingress settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: |  | ||||||
|     enabled: false |  | ||||||
|  |  | ||||||
| # -- Configure persistence settings for the chart under this key. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| persistence: |  | ||||||
|   config: |  | ||||||
|     enabled: true |  | ||||||
|     useExisting: true |  | ||||||
|     name: freshrss-nfs |  | ||||||
|  |  | ||||||
| @@ -1,24 +0,0 @@ | |||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: freshrss |  | ||||||
|   name: freshrss-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - rss.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: rss.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: freshrss |  | ||||||
|               port:  |  | ||||||
|                 number: 80 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: freshrss |  | ||||||
|   name: freshrss-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: freshrss |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   capacity: |  | ||||||
|     storage: "1Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /freshrss |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: freshrss |  | ||||||
|   name: freshrss-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "1Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: freshrss |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,54 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: batch/v1 |  | ||||||
| kind: CronJob |  | ||||||
| metadata: |  | ||||||
|   name: gcloud-backup |  | ||||||
|   namespace: backup |  | ||||||
|    |  | ||||||
| spec: |  | ||||||
|   schedule: "0 2 15 * *" |  | ||||||
|   # at 2:00, the 1. and 15. of every month |  | ||||||
|   successfulJobsHistoryLimit: 2 |  | ||||||
|   failedJobsHistoryLimit: 2 |  | ||||||
|  |  | ||||||
|   jobTemplate: |  | ||||||
|     spec: |  | ||||||
|       template: |  | ||||||
|         spec: |  | ||||||
|           restartPolicy: Never |  | ||||||
|           containers: |  | ||||||
|           - name: gcloud-backup |  | ||||||
|             image: shirakiya/gcloud-sdk:latest |  | ||||||
|             command: ["/bin/bash", "-c", "--"] |  | ||||||
|             args:  |  | ||||||
|             - |  |  | ||||||
|               ln -s /config/.boto /root/.boto && |  | ||||||
|               gsutil -m rsync -x "^(jellyfin|config|webtop|other root folder)/.*$" -U -r -e -d /data gs://kluster-backup |  | ||||||
|              # command: |  | ||||||
|             # -m multithreaded |  | ||||||
|             # -U skip unsupported objects |  | ||||||
|             # -e don't follow symlinks |  | ||||||
|             # -r recursively follow folder structure |  | ||||||
|             # -d deletes files from dst if they are not in src anymore |  | ||||||
|             # -n dry runs |  | ||||||
|             # This command runs with the knowledge the gs-bucket is set up with versioning. Rsync therefore serves as an incremental backup whose individual stages can be recovered |  | ||||||
|             volumeMounts: |  | ||||||
|               - mountPath: /data |  | ||||||
|                 name: backup-nfs-access |  | ||||||
|               - mountPath: /config |  | ||||||
|                 name: gcloud-credentials |  | ||||||
|                 # entry .boto in the secret is mounted as /root/.boto |  | ||||||
|            |  | ||||||
|           volumes: |  | ||||||
|             - name: backup-nfs-access |  | ||||||
|               persistentVolumeClaim: |  | ||||||
|                 claimName: backup-nfs-access |  | ||||||
|             - name: gcloud-credentials |  | ||||||
|               secret: |  | ||||||
|                 secretName: gcloud-credentials |  | ||||||
|                 optional: false |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,749 +0,0 @@ | |||||||
| ## nginx configuration |  | ||||||
| ## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/index.md |  | ||||||
| ## |  | ||||||
|  |  | ||||||
| ## Overrides for generated resource names |  | ||||||
| # See templates/_helpers.tpl |  | ||||||
| # nameOverride: |  | ||||||
| # fullnameOverride: |  | ||||||
|  |  | ||||||
| ## Labels to apply to all resources |  | ||||||
| ## |  | ||||||
| commonLabels: {} |  | ||||||
| # scmhash: abc123 |  | ||||||
| # myLabel: aakkmd |  | ||||||
|  |  | ||||||
| controller: |  | ||||||
|   name: controller |  | ||||||
|   image: |  | ||||||
|     ## Keep false as default for now! |  | ||||||
|     chroot: false |  | ||||||
|     registry: registry.k8s.io |  | ||||||
|     image: ingress-nginx/controller |  | ||||||
|     ## for backwards compatibility consider setting the full image url via the repository value below |  | ||||||
|     ## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail |  | ||||||
|     ## repository: |  | ||||||
|     tag: "v1.3.0" |  | ||||||
|     digest: sha256:d1707ca76d3b044ab8a28277a2466a02100ee9f58a86af1535a3edf9323ea1b5 |  | ||||||
|     digestChroot: sha256:0fcb91216a22aae43b374fc2e6a03b8afe9e8c78cbf07a09d75636dc4ea3c191 |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|     # www-data -> uid 101 |  | ||||||
|     runAsUser: 101 |  | ||||||
|     allowPrivilegeEscalation: true |  | ||||||
|  |  | ||||||
|   # -- Use an existing PSP instead of creating one |  | ||||||
|   existingPsp: "" |  | ||||||
|  |  | ||||||
|   # -- Configures the controller container name |  | ||||||
|   containerName: controller |  | ||||||
|  |  | ||||||
|   # -- Configures the ports that the nginx-controller listens on |  | ||||||
|   containerPort: |  | ||||||
|     http: 80 |  | ||||||
|     https: 443 |  | ||||||
|  |  | ||||||
|   # -- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/ |  | ||||||
|   config: {} |  | ||||||
|  |  | ||||||
|   # -- Annotations to be added to the controller config configuration configmap. |  | ||||||
|   configAnnotations: {} |  | ||||||
|  |  | ||||||
|   # -- Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers |  | ||||||
|   proxySetHeaders: {} |  | ||||||
|  |  | ||||||
|   # -- Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers |  | ||||||
|   addHeaders: {} |  | ||||||
|  |  | ||||||
|   # -- Optionally customize the pod dnsConfig. |  | ||||||
|   dnsConfig: {} |  | ||||||
|  |  | ||||||
|   # -- Optionally customize the pod hostname. |  | ||||||
|   hostname: {} |  | ||||||
|  |  | ||||||
|   # -- Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. |  | ||||||
|   # By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller |  | ||||||
|   # to keep resolving names inside the k8s network, use ClusterFirstWithHostNet. |  | ||||||
|   dnsPolicy: ClusterFirst |  | ||||||
|  |  | ||||||
|   # -- Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network |  | ||||||
|   # Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply |  | ||||||
|   reportNodeInternalIp: false |  | ||||||
|  |  | ||||||
|   # -- Process Ingress objects without ingressClass annotation/ingressClassName field |  | ||||||
|   # Overrides value for --watch-ingress-without-class flag of the controller binary |  | ||||||
|   # Defaults to false |  | ||||||
|   watchIngressWithoutClass: false |  | ||||||
|  |  | ||||||
|   # -- Process IngressClass per name (additionally as per spec.controller). |  | ||||||
|   ingressClassByName: false |  | ||||||
|  |  | ||||||
|   # -- This configuration defines if Ingress Controller should allow users to set |  | ||||||
|   # their own *-snippet annotations, otherwise this is forbidden / dropped |  | ||||||
|   # when users add those annotations. |  | ||||||
|   # Global snippets in ConfigMap are still respected |  | ||||||
|   allowSnippetAnnotations: true |  | ||||||
|  |  | ||||||
|   # -- Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), |  | ||||||
|   # since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 |  | ||||||
|   # is merged |  | ||||||
|   hostNetwork: false |  | ||||||
|  |  | ||||||
|   ## Use host ports 80 and 443 |  | ||||||
|   ## Disabled by default |  | ||||||
|   hostPort: |  | ||||||
|     # -- Enable 'hostPort' or not |  | ||||||
|     enabled: false |  | ||||||
|     ports: |  | ||||||
|       # -- 'hostPort' http port |  | ||||||
|       http: 80 |  | ||||||
|       # -- 'hostPort' https port |  | ||||||
|       https: 443 |  | ||||||
|  |  | ||||||
|   # -- Election ID to use for status update |  | ||||||
|   electionID: ingress-controller-leader |  | ||||||
|  |  | ||||||
|   ## This section refers to the creation of the IngressClass resource |  | ||||||
|   ## IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19 |  | ||||||
|   ingressClassResource: |  | ||||||
|     # -- Name of the ingressClass |  | ||||||
|     name: nginx-new |  | ||||||
|     # -- Is this ingressClass enabled or not |  | ||||||
|     enabled: true |  | ||||||
|     # -- Is this the default ingressClass for the cluster |  | ||||||
|     default: false |  | ||||||
|     # -- Controller-value of the controller that is processing this ingressClass |  | ||||||
|     controllerValue: "k8s.io/ingress-nginx" |  | ||||||
|  |  | ||||||
|     # -- Parameters is a link to a custom resource containing additional |  | ||||||
|     # configuration for the controller. This is optional if the controller |  | ||||||
|     # does not require extra parameters. |  | ||||||
|     parameters: {} |  | ||||||
|  |  | ||||||
|   # -- For backwards compatibility with ingress.class annotation, use ingressClass. |  | ||||||
|   # Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |  | ||||||
|   ingressClass: nginx |  | ||||||
|  |  | ||||||
|   # -- Labels to add to the pod container metadata |  | ||||||
|   podLabels: {} |  | ||||||
|   #  key: value |  | ||||||
|  |  | ||||||
|   # -- Security Context policies for controller pods |  | ||||||
|   podSecurityContext: {} |  | ||||||
|  |  | ||||||
|   # -- See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls |  | ||||||
|   sysctls: {} |  | ||||||
|   # sysctls: |  | ||||||
|   #   "net.core.somaxconn": "8192" |  | ||||||
|  |  | ||||||
|   # -- Allows customization of the source of the IP address or FQDN to report |  | ||||||
|   # in the ingress status field. By default, it reads the information provided |  | ||||||
|   # by the service. If disable, the status field reports the IP address of the |  | ||||||
|   # node or nodes where an ingress controller pod is running. |  | ||||||
|   publishService: |  | ||||||
|     # -- Enable 'publishService' or not |  | ||||||
|     enabled: true |  | ||||||
|     # -- Allows overriding of the publish service to bind to |  | ||||||
|     # Must be <namespace>/<service_name> |  | ||||||
|     pathOverride: "" |  | ||||||
|  |  | ||||||
|   # Limit the scope of the controller to a specific namespace |  | ||||||
|   scope: |  | ||||||
|     # -- Enable 'scope' or not |  | ||||||
|     enabled: false |  | ||||||
|     # -- Namespace to limit the controller to; defaults to $(POD_NAMESPACE) |  | ||||||
|     namespace: "" |  | ||||||
|     # -- When scope.enabled == false, instead of watching all namespaces, we watching namespaces whose labels |  | ||||||
|     # only match with namespaceSelector. Format like foo=bar. Defaults to empty, means watching all namespaces. |  | ||||||
|     namespaceSelector: "" |  | ||||||
|  |  | ||||||
|   # -- Allows customization of the configmap / nginx-configmap namespace; defaults to $(POD_NAMESPACE) |  | ||||||
|   configMapNamespace: "" |  | ||||||
|  |  | ||||||
|   tcp: |  | ||||||
|     # -- Allows customization of the tcp-services-configmap; defaults to $(POD_NAMESPACE) |  | ||||||
|     configMapNamespace: "" |  | ||||||
|     # -- Annotations to be added to the tcp config configmap |  | ||||||
|     annotations: {} |  | ||||||
|  |  | ||||||
|   udp: |  | ||||||
|     # -- Allows customization of the udp-services-configmap; defaults to $(POD_NAMESPACE) |  | ||||||
|     configMapNamespace: "" |  | ||||||
|     # -- Annotations to be added to the udp config configmap |  | ||||||
|     annotations: {} |  | ||||||
|  |  | ||||||
|   # -- Maxmind license key to download GeoLite2 Databases. |  | ||||||
|   ## https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases |  | ||||||
|   maxmindLicenseKey: "" |  | ||||||
|  |  | ||||||
|   # -- Additional command line arguments to pass to nginx-ingress-controller |  | ||||||
|   # E.g. to specify the default SSL certificate you can use |  | ||||||
|   extraArgs: {} |  | ||||||
|   ## extraArgs: |  | ||||||
|   ##   default-ssl-certificate: "<namespace>/<secret_name>" |  | ||||||
|  |  | ||||||
|   # -- Additional environment variables to set |  | ||||||
|   extraEnvs: [] |  | ||||||
|   # extraEnvs: |  | ||||||
|   #   - name: FOO |  | ||||||
|   #     valueFrom: |  | ||||||
|   #       secretKeyRef: |  | ||||||
|   #         key: FOO |  | ||||||
|   #         name: secret-resource |  | ||||||
|  |  | ||||||
|   # -- Use a `DaemonSet` or `Deployment` |  | ||||||
|   kind: Deployment |  | ||||||
|  |  | ||||||
|   # -- Annotations to be added to the controller Deployment or DaemonSet |  | ||||||
|   ## |  | ||||||
|   annotations: {} |  | ||||||
|   #  keel.sh/pollSchedule: "@every 60m" |  | ||||||
|  |  | ||||||
|   # -- Labels to be added to the controller Deployment or DaemonSet and other resources that do not have option to specify labels |  | ||||||
|   ## |  | ||||||
|   labels: {} |  | ||||||
|   #  keel.sh/policy: patch |  | ||||||
|   #  keel.sh/trigger: poll |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   # -- The update strategy to apply to the Deployment or DaemonSet |  | ||||||
|   ## |  | ||||||
|   updateStrategy: {} |  | ||||||
|   #  rollingUpdate: |  | ||||||
|   #    maxUnavailable: 1 |  | ||||||
|   #  type: RollingUpdate |  | ||||||
|  |  | ||||||
|   # -- `minReadySeconds` to avoid killing pods before we are ready |  | ||||||
|   ## |  | ||||||
|   minReadySeconds: 0 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   # -- Node tolerations for server scheduling to nodes with taints |  | ||||||
|   ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |  | ||||||
|   ## |  | ||||||
|   tolerations: [] |  | ||||||
|   #  - key: "key" |  | ||||||
|   #    operator: "Equal|Exists" |  | ||||||
|   #    value: "value" |  | ||||||
|   #    effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |  | ||||||
|  |  | ||||||
|   # -- Affinity and anti-affinity rules for server scheduling to nodes |  | ||||||
|   ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity |  | ||||||
|   ## |  | ||||||
|   affinity: {} |  | ||||||
|     # # An example of preferred pod anti-affinity, weight is in the range 1-100 |  | ||||||
|     # podAntiAffinity: |  | ||||||
|     #   preferredDuringSchedulingIgnoredDuringExecution: |  | ||||||
|     #   - weight: 100 |  | ||||||
|     #     podAffinityTerm: |  | ||||||
|     #       labelSelector: |  | ||||||
|     #         matchExpressions: |  | ||||||
|     #         - key: app.kubernetes.io/name |  | ||||||
|     #           operator: In |  | ||||||
|     #           values: |  | ||||||
|     #           - ingress-nginx |  | ||||||
|     #         - key: app.kubernetes.io/instance |  | ||||||
|     #           operator: In |  | ||||||
|     #           values: |  | ||||||
|     #           - ingress-nginx |  | ||||||
|     #         - key: app.kubernetes.io/component |  | ||||||
|     #           operator: In |  | ||||||
|     #           values: |  | ||||||
|     #           - controller |  | ||||||
|     #       topologyKey: kubernetes.io/hostname |  | ||||||
|  |  | ||||||
|     # # An example of required pod anti-affinity |  | ||||||
|     # podAntiAffinity: |  | ||||||
|     #   requiredDuringSchedulingIgnoredDuringExecution: |  | ||||||
|     #   - labelSelector: |  | ||||||
|     #       matchExpressions: |  | ||||||
|     #       - key: app.kubernetes.io/name |  | ||||||
|     #         operator: In |  | ||||||
|     #         values: |  | ||||||
|     #         - ingress-nginx |  | ||||||
|     #       - key: app.kubernetes.io/instance |  | ||||||
|     #         operator: In |  | ||||||
|     #         values: |  | ||||||
|     #         - ingress-nginx |  | ||||||
|     #       - key: app.kubernetes.io/component |  | ||||||
|     #         operator: In |  | ||||||
|     #         values: |  | ||||||
|     #         - controller |  | ||||||
|     #     topologyKey: "kubernetes.io/hostname" |  | ||||||
|  |  | ||||||
|   # -- Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. |  | ||||||
|   ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ |  | ||||||
|   ## |  | ||||||
|   topologySpreadConstraints: [] |  | ||||||
|     # - maxSkew: 1 |  | ||||||
|     #   topologyKey: topology.kubernetes.io/zone |  | ||||||
|     #   whenUnsatisfiable: DoNotSchedule |  | ||||||
|     #   labelSelector: |  | ||||||
|     #     matchLabels: |  | ||||||
|     #       app.kubernetes.io/instance: ingress-nginx-internal |  | ||||||
|  |  | ||||||
|   # -- `terminationGracePeriodSeconds` to avoid killing pods before we are ready |  | ||||||
|   ## wait up to five minutes for the drain of connections |  | ||||||
|   ## |  | ||||||
|   terminationGracePeriodSeconds: 300 |  | ||||||
|  |  | ||||||
|   # -- Node labels for controller pod assignment |  | ||||||
|   ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ |  | ||||||
|   ## |  | ||||||
|   nodeSelector: |  | ||||||
|     kubernetes.io/os: linux |  | ||||||
|  |  | ||||||
|   ## Liveness and readiness probe values |  | ||||||
|   ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes |  | ||||||
|   ## |  | ||||||
|   ## startupProbe: |  | ||||||
|   ##   httpGet: |  | ||||||
|   ##     # should match container.healthCheckPath |  | ||||||
|   ##     path: "/healthz" |  | ||||||
|   ##     port: 10254 |  | ||||||
|   ##     scheme: HTTP |  | ||||||
|   ##   initialDelaySeconds: 5 |  | ||||||
|   ##   periodSeconds: 5 |  | ||||||
|   ##   timeoutSeconds: 2 |  | ||||||
|   ##   successThreshold: 1 |  | ||||||
|   ##   failureThreshold: 5 |  | ||||||
|   livenessProbe: |  | ||||||
|     httpGet: |  | ||||||
|       # should match container.healthCheckPath |  | ||||||
|       path: "/healthz" |  | ||||||
|       port: 10254 |  | ||||||
|       scheme: HTTP |  | ||||||
|     initialDelaySeconds: 10 |  | ||||||
|     periodSeconds: 10 |  | ||||||
|     timeoutSeconds: 1 |  | ||||||
|     successThreshold: 1 |  | ||||||
|     failureThreshold: 5 |  | ||||||
|   readinessProbe: |  | ||||||
|     httpGet: |  | ||||||
|       # should match container.healthCheckPath |  | ||||||
|       path: "/healthz" |  | ||||||
|       port: 10254 |  | ||||||
|       scheme: HTTP |  | ||||||
|     initialDelaySeconds: 10 |  | ||||||
|     periodSeconds: 10 |  | ||||||
|     timeoutSeconds: 1 |  | ||||||
|     successThreshold: 1 |  | ||||||
|     failureThreshold: 3 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   # -- Path of the health check endpoint. All requests received on the port defined by |  | ||||||
|   # the healthz-port parameter are forwarded internally to this path. |  | ||||||
|   healthCheckPath: "/healthz" |  | ||||||
|  |  | ||||||
|   # -- Address to bind the health check endpoint. |  | ||||||
|   # It is better to set this option to the internal node address |  | ||||||
|   # if the ingress nginx controller is running in the `hostNetwork: true` mode. |  | ||||||
|   healthCheckHost: "" |  | ||||||
|  |  | ||||||
|   # -- Annotations to be added to controller pods |  | ||||||
|   ## |  | ||||||
|   podAnnotations: {} |  | ||||||
|  |  | ||||||
|   replicaCount: 1 |  | ||||||
|  |  | ||||||
|   minAvailable: 1 |  | ||||||
|  |  | ||||||
|   ## Define requests resources to avoid probe issues due to CPU utilization in busy nodes |  | ||||||
|   ## ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 |  | ||||||
|   ## Ideally, there should be no limits. |  | ||||||
|   ## https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ |  | ||||||
|   resources: |  | ||||||
|   ##  limits: |  | ||||||
|   ##    cpu: 100m |  | ||||||
|   ##    memory: 90Mi |  | ||||||
|     requests: |  | ||||||
|       cpu: 100m |  | ||||||
|       memory: 90Mi |  | ||||||
|  |  | ||||||
|   # Mutually exclusive with keda autoscaling |  | ||||||
|   autoscaling: |  | ||||||
|     enabled: false |  | ||||||
|     minReplicas: 1 |  | ||||||
|     maxReplicas: 11 |  | ||||||
|     targetCPUUtilizationPercentage: 50 |  | ||||||
|     targetMemoryUtilizationPercentage: 50 |  | ||||||
|     behavior: {} |  | ||||||
|       # scaleDown: |  | ||||||
|       #   stabilizationWindowSeconds: 300 |  | ||||||
|       #  policies: |  | ||||||
|       #   - type: Pods |  | ||||||
|       #     value: 1 |  | ||||||
|       #     periodSeconds: 180 |  | ||||||
|       # scaleUp: |  | ||||||
|       #   stabilizationWindowSeconds: 300 |  | ||||||
|       #   policies: |  | ||||||
|       #   - type: Pods |  | ||||||
|       #     value: 2 |  | ||||||
|       #     periodSeconds: 60 |  | ||||||
|  |  | ||||||
|   autoscalingTemplate: [] |  | ||||||
|   # Custom or additional autoscaling metrics |  | ||||||
|   # ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics |  | ||||||
|   # - type: Pods |  | ||||||
|   #   pods: |  | ||||||
|   #     metric: |  | ||||||
|   #       name: nginx_ingress_controller_nginx_process_requests_total |  | ||||||
|   #     target: |  | ||||||
|   #       type: AverageValue |  | ||||||
|   #       averageValue: 10000m |  | ||||||
|  |  | ||||||
|   # Mutually exclusive with hpa autoscaling |  | ||||||
|  |  | ||||||
|   # -- Enable mimalloc as a drop-in replacement for malloc. |  | ||||||
|   ## ref: https://github.com/microsoft/mimalloc |  | ||||||
|   ## |  | ||||||
|   enableMimalloc: true |  | ||||||
|  |  | ||||||
|   ## Override NGINX template |  | ||||||
|   customTemplate: |  | ||||||
|     configMapName: "" |  | ||||||
|     configMapKey: "" |  | ||||||
|  |  | ||||||
|   service: |  | ||||||
|     enabled: true |  | ||||||
|  |  | ||||||
|     # -- If enabled is adding an appProtocol option for Kubernetes service. An appProtocol field replacing annotations that were |  | ||||||
|     # using for setting a backend protocol. Here is an example for AWS: service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http |  | ||||||
|     # It allows choosing the protocol for each backend specified in the Kubernetes service. |  | ||||||
|     # See the following GitHub issue for more details about the purpose: https://github.com/kubernetes/kubernetes/issues/40244 |  | ||||||
|     # Will be ignored for Kubernetes versions older than 1.20 |  | ||||||
|     ## |  | ||||||
|     appProtocol: true |  | ||||||
|  |  | ||||||
|     annotations: {} |  | ||||||
|     labels: {} |  | ||||||
|     # clusterIP: "" |  | ||||||
|  |  | ||||||
|     # -- List of IP addresses at which the controller services are available |  | ||||||
|     ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips |  | ||||||
|     ## |  | ||||||
|     externalIPs: [] |  | ||||||
|  |  | ||||||
|     # -- Used by cloud providers to connect the resulting `LoadBalancer` to a pre-existing static IP according to https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer |  | ||||||
|     loadBalancerSourceRanges: [] |  | ||||||
|  |  | ||||||
|     enableHttp: true |  | ||||||
|     enableHttps: true |  | ||||||
|  |  | ||||||
|     ## Set external traffic policy to: "Local" to preserve source IP on providers supporting it. |  | ||||||
|     ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer |  | ||||||
|     # externalTrafficPolicy: "" |  | ||||||
|  |  | ||||||
|     ## Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". |  | ||||||
|     ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |  | ||||||
|     # sessionAffinity: "" |  | ||||||
|  |  | ||||||
|     ## Specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, |  | ||||||
|     ## the service controller allocates a port from your cluster’s NodePort range. |  | ||||||
|     ## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip |  | ||||||
|     # healthCheckNodePort: 0 |  | ||||||
|  |  | ||||||
|     # -- Represents the dual-stack-ness requested or required by this Service. Possible values are |  | ||||||
|     # SingleStack, PreferDualStack or RequireDualStack. |  | ||||||
|     # The ipFamilies and clusterIPs fields depend on the value of this field. |  | ||||||
|     ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/ |  | ||||||
|     ipFamilyPolicy: "SingleStack" |  | ||||||
|  |  | ||||||
|     # -- List of IP families (e.g. IPv4, IPv6) assigned to the service. This field is usually assigned automatically |  | ||||||
|     # based on cluster configuration and the ipFamilyPolicy field. |  | ||||||
|     ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/ |  | ||||||
|     ipFamilies: |  | ||||||
|       - IPv4 |  | ||||||
|  |  | ||||||
|     ports: |  | ||||||
|       http: 80 |  | ||||||
|       https: 443 |  | ||||||
|  |  | ||||||
|     targetPorts: |  | ||||||
|       http: http |  | ||||||
|       https: https |  | ||||||
|  |  | ||||||
|     type: LoadBalancer |  | ||||||
|     loadBalancerIP: "192.168.1.4" |  | ||||||
|  |  | ||||||
|     ## type: NodePort |  | ||||||
|     ## nodePorts: |  | ||||||
|     ##   http: 32080 |  | ||||||
|     ##   https: 32443 |  | ||||||
|     ##   tcp: |  | ||||||
|     ##     8080: 32808 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   # shareProcessNamespace enables process namespace sharing within the pod. |  | ||||||
|   # This can be used for example to signal log rotation using `kill -USR1` from a sidecar. |  | ||||||
|   shareProcessNamespace: false |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   extraContainers: []       |  | ||||||
|   #  - name: my-sidecar |  | ||||||
|   #    image: nginx:latest |  | ||||||
|   #  - name: lemonldap-ng-controller |  | ||||||
|   #    image: lemonldapng/lemonldap-ng-controller:0.2.0 |  | ||||||
|   #    args: |  | ||||||
|   #      - /lemonldap-ng-controller |  | ||||||
|   #      - --alsologtostderr |  | ||||||
|   #      - --configmap=$(POD_NAMESPACE)/lemonldap-ng-configuration |  | ||||||
|   #    env: |  | ||||||
|   #      - name: POD_NAME |  | ||||||
|   #        valueFrom: |  | ||||||
|   #          fieldRef: |  | ||||||
|   #            fieldPath: metadata.name |  | ||||||
|   #      - name: POD_NAMESPACE |  | ||||||
|   #        valueFrom: |  | ||||||
|   #          fieldRef: |  | ||||||
|   #            fieldPath: metadata.namespace |  | ||||||
|   #    volumeMounts: |  | ||||||
|   #    - name: copy-portal-skins |  | ||||||
|   #      mountPath: /srv/var/lib/lemonldap-ng/portal/skins |  | ||||||
|  |  | ||||||
|   # -- Additional volumeMounts to the controller main container. |  | ||||||
|   extraVolumeMounts: [] |  | ||||||
|      |  | ||||||
|   #  - name: copy-portal-skins |  | ||||||
|   #   mountPath: /var/lib/lemonldap-ng/portal/skins |  | ||||||
|  |  | ||||||
|   # -- Additional volumes to the controller pod. |  | ||||||
|   extraVolumes: [] |  | ||||||
|   #  - name: copy-portal-skins |  | ||||||
|   #    emptyDir: {} |  | ||||||
|  |  | ||||||
|   # -- Containers, which are run before the app containers are started. |  | ||||||
|   extraInitContainers: [] |  | ||||||
|   # - name: init-myservice |  | ||||||
|   #   image: busybox |  | ||||||
|   #   command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] |  | ||||||
|  |  | ||||||
|   extraModules: [] |  | ||||||
|   ## Modules, which are mounted into the core nginx image |  | ||||||
|   # - name: opentelemetry |  | ||||||
|   #   image: registry.k8s.io/ingress-nginx/opentelemetry:v20220801-g00ee51f09@sha256:482562feba02ad178411efc284f8eb803a185e3ea5588b6111ccbc20b816b427 |  | ||||||
|   # |  | ||||||
|   # The image must contain a `/usr/local/bin/init_module.sh` executable, which |  | ||||||
|   # will be executed as initContainers, to move its config files within the |  | ||||||
|   # mounted volume. |  | ||||||
|  |  | ||||||
|   admissionWebhooks: |  | ||||||
|     annotations: {} |  | ||||||
|     # ignore-check.kube-linter.io/no-read-only-rootfs: "This deployment needs write access to root filesystem". |  | ||||||
|  |  | ||||||
|     ## Additional annotations to the admission webhooks. |  | ||||||
|     ## These annotations will be added to the ValidatingWebhookConfiguration and |  | ||||||
|     ## the Jobs Spec of the admission webhooks. |  | ||||||
|     enabled: true |  | ||||||
|     # -- Additional environment variables to set |  | ||||||
|     extraEnvs: [] |  | ||||||
|     # extraEnvs: |  | ||||||
|     #   - name: FOO |  | ||||||
|     #     valueFrom: |  | ||||||
|     #       secretKeyRef: |  | ||||||
|     #         key: FOO |  | ||||||
|     #         name: secret-resource |  | ||||||
|     # -- Admission Webhook failure policy to use |  | ||||||
|     failurePolicy: Fail |  | ||||||
|     # timeoutSeconds: 10 |  | ||||||
|     port: 8443 |  | ||||||
|     certificate: "/usr/local/certificates/cert" |  | ||||||
|     key: "/usr/local/certificates/key" |  | ||||||
|     namespaceSelector: {} |  | ||||||
|     objectSelector: {} |  | ||||||
|     # -- Labels to be added to admission webhooks |  | ||||||
|     labels: {} |  | ||||||
|  |  | ||||||
|     # -- Use an existing PSP instead of creating one |  | ||||||
|     existingPsp: "" |  | ||||||
|     networkPolicyEnabled: false |  | ||||||
|  |  | ||||||
|     service: |  | ||||||
|       annotations: {} |  | ||||||
|       # clusterIP: "" |  | ||||||
|       externalIPs: [] |  | ||||||
|       # loadBalancerIP: "" |  | ||||||
|       loadBalancerSourceRanges: [] |  | ||||||
|       servicePort: 443 |  | ||||||
|       type: ClusterIP |  | ||||||
|  |  | ||||||
|     createSecretJob: |  | ||||||
|       resources: {} |  | ||||||
|         # limits: |  | ||||||
|         #   cpu: 10m |  | ||||||
|         #   memory: 20Mi |  | ||||||
|         # requests: |  | ||||||
|         #   cpu: 10m |  | ||||||
|         #   memory: 20Mi |  | ||||||
|  |  | ||||||
|     patchWebhookJob: |  | ||||||
|       resources: {} |  | ||||||
|  |  | ||||||
|     patch: |  | ||||||
|       enabled: true |  | ||||||
|       image: |  | ||||||
|         registry: registry.k8s.io |  | ||||||
|         image: ingress-nginx/kube-webhook-certgen |  | ||||||
|         ## for backwards compatibility consider setting the full image url via the repository value below |  | ||||||
|         ## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail |  | ||||||
|         ## repository: |  | ||||||
|         tag: v1.3.0 |  | ||||||
|         digest: sha256:549e71a6ca248c5abd51cdb73dbc3083df62cf92ed5e6147c780e30f7e007a47 |  | ||||||
|         pullPolicy: IfNotPresent |  | ||||||
|       # -- Provide a priority class name to the webhook patching job |  | ||||||
|       ## |  | ||||||
|       priorityClassName: "" |  | ||||||
|       podAnnotations: {} |  | ||||||
|       nodeSelector: |  | ||||||
|         kubernetes.io/os: linux |  | ||||||
|       tolerations: [] |  | ||||||
|       # -- Labels to be added to patch job resources |  | ||||||
|       labels: {} |  | ||||||
|       securityContext: |  | ||||||
|         runAsNonRoot: true |  | ||||||
|         runAsUser: 2000 |  | ||||||
|         fsGroup: 2000 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   metrics: |  | ||||||
|     port: 10254 |  | ||||||
|     # if this port is changed, change healthz-port: in extraArgs: accordingly |  | ||||||
|     enabled: false |  | ||||||
|  |  | ||||||
|     service: |  | ||||||
|       annotations: {} |  | ||||||
|       # prometheus.io/scrape: "true" |  | ||||||
|       # prometheus.io/port: "10254" |  | ||||||
|  |  | ||||||
|       # clusterIP: "" |  | ||||||
|  |  | ||||||
|       # -- List of IP addresses at which the stats-exporter service is available |  | ||||||
|       ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips |  | ||||||
|       ## |  | ||||||
|       externalIPs: [] |  | ||||||
|  |  | ||||||
|       # loadBalancerIP: "" |  | ||||||
|       loadBalancerSourceRanges: [] |  | ||||||
|       servicePort: 10254 |  | ||||||
|       type: ClusterIP |  | ||||||
|       # externalTrafficPolicy: "" |  | ||||||
|       # nodePort: "" |  | ||||||
|  |  | ||||||
|     serviceMonitor: |  | ||||||
|       enabled: false |  | ||||||
|       additionalLabels: {} |  | ||||||
|       ## The label to use to retrieve the job name from. |  | ||||||
|       ## jobLabel: "app.kubernetes.io/name" |  | ||||||
|       namespace: "" |  | ||||||
|       namespaceSelector: {} |  | ||||||
|       ## Default: scrape .Release.Namespace only |  | ||||||
|       ## To scrape all, use the following: |  | ||||||
|       ## namespaceSelector: |  | ||||||
|       ##   any: true |  | ||||||
|       scrapeInterval: 30s |  | ||||||
|       # honorLabels: true |  | ||||||
|       targetLabels: [] |  | ||||||
|       relabelings: [] |  | ||||||
|       metricRelabelings: [] |  | ||||||
|  |  | ||||||
|     prometheusRule: |  | ||||||
|       enabled: false |  | ||||||
|       additionalLabels: {} |  | ||||||
|       # namespace: "" |  | ||||||
|       rules: [] |  | ||||||
|         # # These are just examples rules, please adapt them to your needs |  | ||||||
|         # - alert: NGINXConfigFailed |  | ||||||
|         #   expr: count(nginx_ingress_controller_config_last_reload_successful == 0) > 0 |  | ||||||
|         #   for: 1s |  | ||||||
|         #   labels: |  | ||||||
|         #     severity: critical |  | ||||||
|         #   annotations: |  | ||||||
|         #     description: bad ingress config - nginx config test failed |  | ||||||
|         #     summary: uninstall the latest ingress changes to allow config reloads to resume |  | ||||||
|         # - alert: NGINXCertificateExpiry |  | ||||||
|         #   expr: (avg(nginx_ingress_controller_ssl_expire_time_seconds) by (host) - time()) < 604800 |  | ||||||
|         #   for: 1s |  | ||||||
|         #   labels: |  | ||||||
|         #     severity: critical |  | ||||||
|         #   annotations: |  | ||||||
|         #     description: ssl certificate(s) will expire in less then a week |  | ||||||
|         #     summary: renew expiring certificates to avoid downtime |  | ||||||
|         # - alert: NGINXTooMany500s |  | ||||||
|         #   expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"5.+"} ) / sum(nginx_ingress_controller_requests) ) > 5 |  | ||||||
|         #   for: 1m |  | ||||||
|         #   labels: |  | ||||||
|         #     severity: warning |  | ||||||
|         #   annotations: |  | ||||||
|         #     description: Too many 5XXs |  | ||||||
|         #     summary: More than 5% of all requests returned 5XX, this requires your attention |  | ||||||
|         # - alert: NGINXTooMany400s |  | ||||||
|         #   expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"4.+"} ) / sum(nginx_ingress_controller_requests) ) > 5 |  | ||||||
|         #   for: 1m |  | ||||||
|         #   labels: |  | ||||||
|         #     severity: warning |  | ||||||
|         #   annotations: |  | ||||||
|         #     description: Too many 4XXs |  | ||||||
|         #     summary: More than 5% of all requests returned 4XX, this requires your attention |  | ||||||
|  |  | ||||||
|   # -- Improve connection draining when ingress controller pod is deleted using a lifecycle hook: |  | ||||||
|   # With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds |  | ||||||
|   # to 300, allowing the draining of connections up to five minutes. |  | ||||||
|   # If the active connections end before that, the pod will terminate gracefully at that time. |  | ||||||
|   # To effectively take advantage of this feature, the Configmap feature |  | ||||||
|   # worker-shutdown-timeout new value is 240s instead of 10s. |  | ||||||
|   ## |  | ||||||
|   lifecycle: |  | ||||||
|     preStop: |  | ||||||
|       exec: |  | ||||||
|         command: |  | ||||||
|           - /wait-shutdown |  | ||||||
|  |  | ||||||
|   priorityClassName: "" |  | ||||||
|  |  | ||||||
| # -- Rollback limit |  | ||||||
| ## |  | ||||||
| revisionHistoryLimit: 10 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266 |  | ||||||
| rbac: |  | ||||||
|   create: true |  | ||||||
|   scope: false |  | ||||||
|  |  | ||||||
| ## If true, create & use Pod Security Policy resources |  | ||||||
| ## https://kubernetes.io/docs/concepts/policy/pod-security-policy/ |  | ||||||
| podSecurityPolicy: |  | ||||||
|   enabled: false |  | ||||||
|  |  | ||||||
| serviceAccount: |  | ||||||
|   create: true |  | ||||||
|   name: "" |  | ||||||
|   automountServiceAccountToken: true |  | ||||||
|   # -- Annotations for the controller service account |  | ||||||
|   annotations: {} |  | ||||||
|  |  | ||||||
| # -- Optional array of imagePullSecrets containing private registry credentials |  | ||||||
| ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |  | ||||||
| imagePullSecrets: [] |  | ||||||
| # - name: secretName |  | ||||||
|  |  | ||||||
| # -- TCP service key-value pairs |  | ||||||
| ## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md |  | ||||||
| ## |  | ||||||
| tcp: {} |  | ||||||
| #  8080: "default/example-tcp-svc:9000" |  | ||||||
|  |  | ||||||
| # -- UDP service key-value pairs |  | ||||||
| ## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md |  | ||||||
| ## |  | ||||||
| udp: {} |  | ||||||
| #  53: "kube-system/kube-dns:53" |  | ||||||
|  |  | ||||||
| # -- Prefix for TCP and UDP ports names in ingress controller service |  | ||||||
| ## Some cloud providers, like Yandex Cloud may have a requirements for a port name regex to support cloud load balancer integration |  | ||||||
| portNamePrefix: "" |  | ||||||
|  |  | ||||||
| # -- (string) A base64-encoded Diffie-Hellman parameter. |  | ||||||
| # This can be generated with: `openssl dhparam 4096 2> /dev/null | base64` |  | ||||||
| ## Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param |  | ||||||
| dhParam: |  | ||||||
|  |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| --- |  | ||||||
|   apiVersion: v1 |  | ||||||
|   kind: PersistentVolume |  | ||||||
|   metadata: |  | ||||||
|     namespace: gitea |  | ||||||
|     name: jenkins-data-nfs |  | ||||||
|     labels: |  | ||||||
|       directory: jenkins |  | ||||||
|   spec: |  | ||||||
|     storageClassName: fast |  | ||||||
|     capacity: |  | ||||||
|       storage: "10Gi" |  | ||||||
|     volumeMode: Filesystem |  | ||||||
|     accessModes: |  | ||||||
|       - ReadWriteOnce |  | ||||||
|     nfs: |  | ||||||
|       path: /jenkins |  | ||||||
|       server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: gitea |  | ||||||
|   name: jenkins-data-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "10Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: jenkins |  | ||||||
| @@ -1,669 +0,0 @@ | |||||||
| # Default values for jenkins. |  | ||||||
| # This is a YAML-formatted file. |  | ||||||
| # Declare name/value pairs to be passed into your templates. |  | ||||||
| # name: value |  | ||||||
|  |  | ||||||
| ## Overrides for generated resource names |  | ||||||
| # See templates/_helpers.tpl |  | ||||||
| # nameOverride: |  | ||||||
| # fullnameOverride: |  | ||||||
| # namespaceOverride: |  | ||||||
|  |  | ||||||
| # For FQDN resolving of the controller service. Change this value to match your existing configuration. |  | ||||||
| # ref: https://github.com/kubernetes/dns/blob/master/docs/specification.md |  | ||||||
| clusterZone: "cluster.local" |  | ||||||
|  |  | ||||||
| renderHelmLabels: true |  | ||||||
|  |  | ||||||
| controller: |  | ||||||
|   # Used for label app.kubernetes.io/component |  | ||||||
|   componentName: "jenkins-controller" |  | ||||||
|   image: "jenkins/jenkins" |  | ||||||
|   # tag: "2.346.1-jdk11" |  | ||||||
|   tagLabel: jdk11 |  | ||||||
|   imagePullPolicy: "Always" |  | ||||||
|   imagePullSecretName: |  | ||||||
|   # Optionally configure lifetime for controller-container |  | ||||||
|   lifecycle: |  | ||||||
|   #  postStart: |  | ||||||
|   #    exec: |  | ||||||
|   #      command: |  | ||||||
|   #      - "uname" |  | ||||||
|   #      - "-a" |  | ||||||
|   disableRememberMe: false |  | ||||||
|   numExecutors: 0 |  | ||||||
|   # configures the executor mode of the Jenkins node. Possible values are: NORMAL or EXCLUSIVE |  | ||||||
|   executorMode: "NORMAL" |  | ||||||
|   # This is ignored if enableRawHtmlMarkupFormatter is true |  | ||||||
|   markupFormatter: plainText |  | ||||||
|   customJenkinsLabels: [] |  | ||||||
|   # The default configuration uses this secret to configure an admin user |  | ||||||
|   # If you don't need that user or use a different security realm then you can disable it |  | ||||||
|   adminSecret: true |  | ||||||
|  |  | ||||||
|   hostNetworking: false |  | ||||||
|   # When enabling LDAP or another non-Jenkins identity source, the built-in admin account will no longer exist. |  | ||||||
|   # If you disable the non-Jenkins identity store and instead use the Jenkins internal one, |  | ||||||
|   # you should revert controller.adminUser to your preferred admin user: |  | ||||||
|   adminUser: "admin" |  | ||||||
|   # adminPassword: <defaults to random> |  | ||||||
|   admin: |  | ||||||
|     existingSecret: "" |  | ||||||
|     userKey: jenkins-admin-user |  | ||||||
|     passwordKey: jenkins-admin-password |  | ||||||
|   # This values should not be changed unless you use your custom image of jenkins or any devired from. If you want to use |  | ||||||
|   # Cloudbees Jenkins Distribution docker, you should set jenkinsHome: "/var/cloudbees-jenkins-distribution" |  | ||||||
|   jenkinsHome: "/var/jenkins_home" |  | ||||||
|   # This values should not be changed unless you use your custom image of jenkins or any devired from. If you want to use |  | ||||||
|   # Cloudbees Jenkins Distribution docker, you should set jenkinsRef: "/usr/share/cloudbees-jenkins-distribution/ref" |  | ||||||
|   jenkinsRef: "/usr/share/jenkins/ref" |  | ||||||
|   # Path to the jenkins war file which is used by jenkins-plugin-cli. |  | ||||||
|   jenkinsWar: "/usr/share/jenkins/jenkins.war" |  | ||||||
|   # Overrides the default arguments passed to the war |  | ||||||
|   # overrideArgs: |  | ||||||
|   #   - --httpPort=8080 |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       cpu: "50m" |  | ||||||
|       memory: "256Mi" |  | ||||||
|     limits: |  | ||||||
|       cpu: "2000m" |  | ||||||
|       memory: "4096Mi" |  | ||||||
|   # Overrides the init container default values |  | ||||||
|   # initContainerResources: |  | ||||||
|   #   requests: |  | ||||||
|   #     cpu: "50m" |  | ||||||
|   #     memory: "256Mi" |  | ||||||
|   #   limits: |  | ||||||
|   #     cpu: "2000m" |  | ||||||
|   #     memory: "4096Mi" |  | ||||||
|   # Environment variables that get added to the init container (useful for e.g. http_proxy) |  | ||||||
|   # initContainerEnv: |  | ||||||
|   #   - name: http_proxy |  | ||||||
|   #     value: "http://192.168.64.1:3128" |  | ||||||
|   # containerEnv: |  | ||||||
|   #   - name: http_proxy |  | ||||||
|   #     value: "http://192.168.64.1:3128" |  | ||||||
|   # Set min/max heap here if needed with: |  | ||||||
|   # javaOpts: "-Xms512m -Xmx512m" |  | ||||||
|   # jenkinsOpts: "" |  | ||||||
|   # If you are using the ingress definitions provided by this chart via the `controller.ingress` block the configured hostname will be the ingress hostname starting with `https://` or `http://` depending on the `tls` configuration. |  | ||||||
|   # The Protocol can be overwritten by specifying `controller.jenkinsUrlProtocol`. |  | ||||||
|   # jenkinsUrlProtocol: "https" |  | ||||||
|   # If you are not using the provided ingress you can specify `controller.jenkinsUrl` to change the url definition. |  | ||||||
|   # jenkinsUrl: "" |  | ||||||
|   # If you set this prefix and use ingress controller then you might want to set the ingress path below |  | ||||||
|   # jenkinsUriPrefix: "/jenkins" |  | ||||||
|   # Enable pod security context (must be `true` if podSecurityContextOverride, runAsUser or fsGroup are set) |  | ||||||
|   usePodSecurityContext: true |  | ||||||
|   # Note that `runAsUser`, `fsGroup`, and `securityContextCapabilities` are |  | ||||||
|   # being deprecated and replaced by `podSecurityContextOverride`. |  | ||||||
|   # Set runAsUser to 1000 to let Jenkins run as non-root user 'jenkins' which exists in 'jenkins/jenkins' docker image. |  | ||||||
|   # When setting runAsUser to a different value than 0 also set fsGroup to the same value: |  | ||||||
|   runAsUser: 1000 |  | ||||||
|   fsGroup: 1000 |  | ||||||
|   # If you have PodSecurityPolicies that require dropping of capabilities as suggested by CIS K8s benchmark, put them here |  | ||||||
|   securityContextCapabilities: {} |  | ||||||
|   #  drop: |  | ||||||
|   #    - NET_RAW |  | ||||||
|   # Completely overwrites the contents of the `securityContext`, ignoring the |  | ||||||
|   # values provided for the deprecated fields: `runAsUser`, `fsGroup`, and |  | ||||||
|   # `securityContextCapabilities`.  In the case of mounting an ext4 filesystem, |  | ||||||
|   # it might be desirable to use `supplementalGroups` instead of `fsGroup` in |  | ||||||
|   # the `securityContext` block: https://github.com/kubernetes/kubernetes/issues/67014#issuecomment-589915496 |  | ||||||
|   # podSecurityContextOverride: |  | ||||||
|   #   runAsUser: 1000 |  | ||||||
|   #   runAsNonRoot: true |  | ||||||
|   #   supplementalGroups: [1000] |  | ||||||
|   #   # capabilities: {} |  | ||||||
|   # Container securityContext |  | ||||||
|   containerSecurityContext: |  | ||||||
|     runAsUser: 1000 |  | ||||||
|     runAsGroup: 1000 |  | ||||||
|     readOnlyRootFilesystem: true |  | ||||||
|     allowPrivilegeEscalation: false |  | ||||||
|   servicePort: 8080 |  | ||||||
|   targetPort: 8080 |  | ||||||
|   # For minikube, set this to NodePort, elsewhere use LoadBalancer |  | ||||||
|   # Use ClusterIP if your setup includes ingress controller |  | ||||||
|   serviceType: ClusterIP |  | ||||||
|   # Use Local to preserve the client source IP and avoids a second hop for LoadBalancer and Nodeport type services, |  | ||||||
|   # but risks potentially imbalanced traffic spreading. |  | ||||||
|   serviceExternalTrafficPolicy: |  | ||||||
|   # Jenkins controller service annotations |  | ||||||
|   serviceAnnotations: {} |  | ||||||
|   # Jenkins controller custom labels |  | ||||||
|   statefulSetLabels: {} |  | ||||||
|   #   foo: bar |  | ||||||
|   #   bar: foo |  | ||||||
|   # Jenkins controller service labels |  | ||||||
|   serviceLabels: {} |  | ||||||
|   #   service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https |  | ||||||
|   # Put labels on Jenkins controller pod |  | ||||||
|   podLabels: {} |  | ||||||
|   # Used to create Ingress record (should used with ServiceType: ClusterIP) |  | ||||||
|   # nodePort: <to set explicitly, choose port between 30000-32767 |  | ||||||
|   # Enable Kubernetes Startup, Liveness and Readiness Probes |  | ||||||
|   # if Startup Probe is supported, enable it too |  | ||||||
|   # ~ 2 minutes to allow Jenkins to restart when upgrading plugins. Set ReadinessTimeout to be shorter than LivenessTimeout. |  | ||||||
|   healthProbes: true |  | ||||||
|   probes: |  | ||||||
|     startupProbe: |  | ||||||
|       httpGet: |  | ||||||
|         path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login' |  | ||||||
|         port: http |  | ||||||
|       periodSeconds: 10 |  | ||||||
|       timeoutSeconds: 5 |  | ||||||
|       failureThreshold: 12 |  | ||||||
|     livenessProbe: |  | ||||||
|       failureThreshold: 5 |  | ||||||
|       httpGet: |  | ||||||
|         path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login' |  | ||||||
|         port: http |  | ||||||
|       periodSeconds: 10 |  | ||||||
|       timeoutSeconds: 5 |  | ||||||
|       # If Startup Probe is not supported on your Kubernetes cluster, you might want to use "initialDelaySeconds" instead. |  | ||||||
|       # It delays the initial liveness probe while Jenkins is starting |  | ||||||
|       # initialDelaySeconds: 60 |  | ||||||
|     readinessProbe: |  | ||||||
|       failureThreshold: 3 |  | ||||||
|       httpGet: |  | ||||||
|         path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login' |  | ||||||
|         port: http |  | ||||||
|       periodSeconds: 10 |  | ||||||
|       timeoutSeconds: 5 |  | ||||||
|       # If Startup Probe is not supported on your Kubernetes cluster, you might want to use "initialDelaySeconds" instead. |  | ||||||
|       # It delays the initial readyness probe while Jenkins is starting |  | ||||||
|       # initialDelaySeconds: 60 |  | ||||||
|  |  | ||||||
|   # PodDisruptionBudget config |  | ||||||
|   podDisruptionBudget: |  | ||||||
|     enabled: false |  | ||||||
|     # For Kubernetes v1.5+, use 'policy/v1beta1' |  | ||||||
|     # For Kubernetes v1.21+, use 'policy/v1' |  | ||||||
|     apiVersion: "policy/v1beta1" |  | ||||||
|     annotations: {} |  | ||||||
|     labels: {} |  | ||||||
|     # maxUnavailable: "0" |  | ||||||
|  |  | ||||||
|   agentListenerEnabled: true |  | ||||||
|   agentListenerPort: 50000 |  | ||||||
|   agentListenerHostPort: |  | ||||||
|   agentListenerNodePort: |  | ||||||
|   agentListenerExternalTrafficPolicy: |  | ||||||
|   agentListenerLoadBalancerSourceRanges: |  | ||||||
|   - 0.0.0.0/0 |  | ||||||
|   disabledAgentProtocols: |  | ||||||
|     - JNLP-connect |  | ||||||
|     - JNLP2-connect |  | ||||||
|   csrf: |  | ||||||
|     defaultCrumbIssuer: |  | ||||||
|       enabled: true |  | ||||||
|       proxyCompatability: true |  | ||||||
|   # Kubernetes service type for the JNLP agent service |  | ||||||
|   # agentListenerServiceType is the Kubernetes Service type for the JNLP agent service, |  | ||||||
|   # either 'LoadBalancer', 'NodePort', or 'ClusterIP' |  | ||||||
|   # Note if you set this to 'LoadBalancer', you *must* define annotations to secure it. By default |  | ||||||
|   # this will be an external load balancer and allowing inbound 0.0.0.0/0, a HUGE |  | ||||||
|   # security risk:  https://github.com/kubernetes/charts/issues/1341 |  | ||||||
|   agentListenerServiceType: "ClusterIP" |  | ||||||
|   # Optionally assign an IP to the LoadBalancer agentListenerService LoadBalancer |  | ||||||
|   # GKE users: only regional static IPs will work for Service Load balancer. |  | ||||||
|   agentListenerLoadBalancerIP: |  | ||||||
|   agentListenerServiceAnnotations: {} |  | ||||||
|  |  | ||||||
|   # Example of 'LoadBalancer' type of agent listener with annotations securing it |  | ||||||
|   # agentListenerServiceType: LoadBalancer |  | ||||||
|   # agentListenerServiceAnnotations: |  | ||||||
|   #   service.beta.kubernetes.io/aws-load-balancer-internal: "True" |  | ||||||
|   #   service.beta.kubernetes.io/load-balancer-source-ranges: "172.0.0.0/8, 10.0.0.0/8" |  | ||||||
|  |  | ||||||
|   # LoadBalancerSourcesRange is a list of allowed CIDR values, which are combined with ServicePort to |  | ||||||
|   # set allowed inbound rules on the security group assigned to the controller load balancer |  | ||||||
|   loadBalancerSourceRanges: |  | ||||||
|   - 0.0.0.0/0 |  | ||||||
|   # Optionally assign a known public LB IP |  | ||||||
|   # loadBalancerIP: 1.2.3.4 |  | ||||||
|   # Optionally configure a JMX port |  | ||||||
|   # requires additional javaOpts, ie |  | ||||||
|   # javaOpts: > |  | ||||||
|   #   -Dcom.sun.management.jmxremote.port=4000 |  | ||||||
|   #   -Dcom.sun.management.jmxremote.authenticate=false |  | ||||||
|   #   -Dcom.sun.management.jmxremote.ssl=false |  | ||||||
|   # jmxPort: 4000 |  | ||||||
|   # Optionally configure other ports to expose in the controller container |  | ||||||
|   extraPorts: [] |  | ||||||
|   # - name: BuildInfoProxy |  | ||||||
|   #   port: 9000 |  | ||||||
|  |  | ||||||
|   # List of plugins to be install during Jenkins controller start |  | ||||||
|   installPlugins: |  | ||||||
|     - kubernetes:3600.v144b_cd192ca_a_ |  | ||||||
|     - workflow-aggregator:581.v0c46fa_697ffd |  | ||||||
|     - git:4.11.3 |  | ||||||
|     - gitea:1.4.3 |  | ||||||
|     - configuration-as-code:1429.v09b_044a_c93de |  | ||||||
|  |  | ||||||
|   # Set to false to download the minimum required version of all dependencies. |  | ||||||
|   installLatestPlugins: true |  | ||||||
|  |  | ||||||
|   # Set to true to download latest dependencies of any plugin that is requested to have the latest version. |  | ||||||
|   installLatestSpecifiedPlugins: false |  | ||||||
|  |  | ||||||
|   # List of plugins to install in addition to those listed in controller.installPlugins |  | ||||||
|   additionalPlugins: [] |  | ||||||
|  |  | ||||||
|   # Enable to initialize the Jenkins controller only once on initial installation. |  | ||||||
|   # Without this, whenever the controller gets restarted (Evicted, etc.) it will fetch plugin updates which has the potential to cause breakage. |  | ||||||
|   # Note that for this to work, `persistence.enabled` needs to be set to `true` |  | ||||||
|   initializeOnce: false |  | ||||||
|  |  | ||||||
|   # Enable to always override the installed plugins with the values of 'controller.installPlugins' on upgrade or redeployment. |  | ||||||
|   # overwritePlugins: true |  | ||||||
|  |  | ||||||
|   # Configures if plugins bundled with `controller.image` should be overwritten with the values of 'controller.installPlugins' on upgrade or redeployment. |  | ||||||
|   overwritePluginsFromImage: true |  | ||||||
|  |  | ||||||
|   # Enable HTML parsing using OWASP Markup Formatter Plugin (antisamy-markup-formatter), useful with ghprb plugin. |  | ||||||
|   # The plugin is not installed by default, please update controller.installPlugins. |  | ||||||
|   enableRawHtmlMarkupFormatter: false |  | ||||||
|   # Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval |  | ||||||
|   scriptApproval: [] |  | ||||||
|   #  - "method groovy.json.JsonSlurperClassic parseText java.lang.String" |  | ||||||
|   #  - "new groovy.json.JsonSlurperClassic" |  | ||||||
|   # List of groovy init scripts to be executed during Jenkins controller start |  | ||||||
|   initScripts: [] |  | ||||||
|   #  - | |  | ||||||
|   #    print 'adding global pipeline libraries, register properties, bootstrap jobs...' |  | ||||||
|  |  | ||||||
|   # 'name' is a name of an existing secret in same namespace as jenkins, |  | ||||||
|   # 'keyName' is the name of one of the keys inside current secret. |  | ||||||
|   # the 'name' and 'keyName' are concatenated with a '-' in between, so for example: |  | ||||||
|   # an existing secret "secret-credentials" and a key inside it named "github-password" should be used in Jcasc as ${secret-credentials-github-password} |  | ||||||
|   # 'name' and 'keyName' must be lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', |  | ||||||
|   # and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc') |  | ||||||
|   additionalExistingSecrets: [] |  | ||||||
|   #  - name: secret-name-1 |  | ||||||
|   #    keyName: username |  | ||||||
|   #  - name: secret-name-1 |  | ||||||
|   #    keyName: password |  | ||||||
|  |  | ||||||
|   additionalSecrets: [] |  | ||||||
|   #  - name: nameOfSecret |  | ||||||
|   #    value: secretText |  | ||||||
|  |  | ||||||
|   # Generate SecretClaim resources in order to create Kubernetes secrets from HashiCorp Vault using kube-vault-controller. |  | ||||||
|   # 'name' is name of the secret that will be created in Kubernetes. The Jenkins fullname is prepended to this value. |  | ||||||
|   # 'path' is the fully qualified path to the secret in Vault |  | ||||||
|   # 'type' is an optional Kubernetes secret type. Defaults to 'Opaque' |  | ||||||
|   # 'renew' is an optional secret renewal time in seconds |  | ||||||
|   secretClaims: [] |  | ||||||
|   # - name: secretName        # required |  | ||||||
|   #   path: testPath          # required |  | ||||||
|   #   type: kubernetes.io/tls # optional |  | ||||||
|   #   renew: 60               # optional |  | ||||||
|  |  | ||||||
|   # Name of default cloud configuration. |  | ||||||
|   cloudName: "kubernetes" |  | ||||||
|  |  | ||||||
|   # Below is the implementation of Jenkins Configuration as Code.  Add a key under configScripts for each configuration area, |  | ||||||
|   # where each corresponds to a plugin or section of the UI.  Each key (prior to | character) is just a label, and can be any value. |  | ||||||
|   # Keys are only used to give the section a meaningful name.  The only restriction is they may only contain RFC 1123 \ DNS label |  | ||||||
|   # characters: lowercase letters, numbers, and hyphens.  The keys become the name of a configuration yaml file on the controller in |  | ||||||
|   # /var/jenkins_home/casc_configs (by default) and will be processed by the Configuration as Code Plugin.  The lines after each | |  | ||||||
|   # become the content of the configuration yaml file.  The first line after this is a JCasC root element, eg jenkins, credentials, |  | ||||||
|   # etc.  Best reference is https://<jenkins_url>/configuration-as-code/reference.  The example below creates a welcome message: |  | ||||||
|   JCasC: |  | ||||||
|     defaultConfig: true |  | ||||||
|     configScripts: {} |  | ||||||
|     #  welcome-message: | |  | ||||||
|     #    jenkins: |  | ||||||
|     #      systemMessage: Welcome to our CI\CD server.  This Jenkins is configured and managed 'as code'. |  | ||||||
|     # Ignored if securityRealm is defined in controller.JCasC.configScripts and |  | ||||||
|     securityRealm: |- |  | ||||||
|       local: |  | ||||||
|         allowsSignup: false |  | ||||||
|         enableCaptcha: false |  | ||||||
|         users: |  | ||||||
|         - id: "${chart-admin-username}" |  | ||||||
|           name: "Jenkins Admin" |  | ||||||
|           password: "${chart-admin-password}" |  | ||||||
|     # Ignored if authorizationStrategy is defined in controller.JCasC.configScripts |  | ||||||
|     authorizationStrategy: |- |  | ||||||
|       loggedInUsersCanDoAnything: |  | ||||||
|         allowAnonymousRead: false |  | ||||||
|   # Optionally specify additional init-containers |  | ||||||
|   customInitContainers: [] |  | ||||||
|   # - name: custom-init |  | ||||||
|   #   image: "alpine:3.7" |  | ||||||
|   #   imagePullPolicy: Always |  | ||||||
|   #   command: [ "uname", "-a" ] |  | ||||||
|  |  | ||||||
|   sidecars: |  | ||||||
|     configAutoReload: |  | ||||||
|       # If enabled: true, Jenkins Configuration as Code will be reloaded on-the-fly without a reboot.  If false or not-specified, |  | ||||||
|       # jcasc changes will cause a reboot and will only be applied at the subsequent start-up.  Auto-reload uses the |  | ||||||
|       # http://<jenkins_url>/reload-configuration-as-code endpoint to reapply config when changes to the configScripts are detected. |  | ||||||
|       enabled: true |  | ||||||
|       image: kiwigrid/k8s-sidecar:1.15.0 |  | ||||||
|       imagePullPolicy: IfNotPresent |  | ||||||
|       resources: {} |  | ||||||
|         #   limits: |  | ||||||
|         #     cpu: 100m |  | ||||||
|         #     memory: 100Mi |  | ||||||
|         #   requests: |  | ||||||
|         #     cpu: 50m |  | ||||||
|         #     memory: 50Mi |  | ||||||
|       # How many connection-related errors to retry on |  | ||||||
|       reqRetryConnect: 10 |  | ||||||
|       # env: |  | ||||||
|       #   - name: REQ_TIMEOUT |  | ||||||
|       #     value: "30" |  | ||||||
|       # SSH port value can be set to any unused TCP port.  The default, 1044, is a non-standard SSH port that has been chosen at random. |  | ||||||
|       # Is only used to reload jcasc config from the sidecar container running in the Jenkins controller pod. |  | ||||||
|       # This TCP port will not be open in the pod (unless you specifically configure this), so Jenkins will not be |  | ||||||
|       # accessible via SSH from outside of the pod.  Note if you use non-root pod privileges (runAsUser & fsGroup), |  | ||||||
|       # this must be > 1024: |  | ||||||
|       sshTcpPort: 1044 |  | ||||||
|       # folder in the pod that should hold the collected dashboards: |  | ||||||
|       folder: "/var/jenkins_home/casc_configs" |  | ||||||
|       # If specified, the sidecar will search for JCasC config-maps inside this namespace. |  | ||||||
|       # Otherwise the namespace in which the sidecar is running will be used. |  | ||||||
|       # It's also possible to specify ALL to search in all namespaces: |  | ||||||
|       # searchNamespace: |  | ||||||
|       containerSecurityContext: |  | ||||||
|         readOnlyRootFilesystem: true |  | ||||||
|         allowPrivilegeEscalation: false |  | ||||||
|  |  | ||||||
|     # Allows you to inject additional/other sidecars |  | ||||||
|     other: [] |  | ||||||
|     ## The example below runs the client for https://smee.io as sidecar container next to Jenkins, |  | ||||||
|     ## that allows to trigger build behind a secure firewall. |  | ||||||
|     ## https://jenkins.io/blog/2019/01/07/webhook-firewalls/#triggering-builds-with-webhooks-behind-a-secure-firewall |  | ||||||
|     ## |  | ||||||
|     ## Note: To use it you should go to https://smee.io/new and update the url to the generete one. |  | ||||||
|     # - name: smee |  | ||||||
|     #   image: docker.io/twalter/smee-client:1.0.2 |  | ||||||
|     #   args: ["--port", "{{ .Values.controller.servicePort }}", "--path", "/github-webhook/", "--url", "https://smee.io/new"] |  | ||||||
|     #   resources: |  | ||||||
|     #     limits: |  | ||||||
|     #       cpu: 50m |  | ||||||
|     #       memory: 128Mi |  | ||||||
|     #     requests: |  | ||||||
|     #       cpu: 10m |  | ||||||
|     #       memory: 32Mi |  | ||||||
|   # Name of the Kubernetes scheduler to use |  | ||||||
|   schedulerName: "" |  | ||||||
|   # Node labels and tolerations for pod assignment |  | ||||||
|   # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector |  | ||||||
|   # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature |  | ||||||
|   nodeSelector: {} |  | ||||||
|  |  | ||||||
|   terminationGracePeriodSeconds: |  | ||||||
|  |  | ||||||
|   terminationMessagePath: |  | ||||||
|   terminationMessagePolicy: |  | ||||||
|  |  | ||||||
|   tolerations: [] |  | ||||||
|  |  | ||||||
|   affinity: {} |  | ||||||
|   # Leverage a priorityClass to ensure your pods survive resource shortages |  | ||||||
|   # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ |  | ||||||
|   priorityClassName: |  | ||||||
|  |  | ||||||
|   podAnnotations: {} |  | ||||||
|   # Add StatefulSet annotations |  | ||||||
|   statefulSetAnnotations: {} |  | ||||||
|  |  | ||||||
|   # StatefulSet updateStrategy |  | ||||||
|   # ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies |  | ||||||
|   updateStrategy: {} |  | ||||||
|  |  | ||||||
|   ingress: |  | ||||||
|     enabled: true |  | ||||||
|     # Override for the default paths that map requests to the backend |  | ||||||
|     paths: [] |  | ||||||
|       # - backend: |  | ||||||
|       #     serviceName: >- |  | ||||||
|       #       {{ template "jenkins.fullname" . }} |  | ||||||
|       #     # Don't use string here, use only integer value! |  | ||||||
|       #     servicePort: 8080 |  | ||||||
|     # For Kubernetes v1.19+, use 'networking.k8s.io/v1' |  | ||||||
|     apiVersion: "networking.k8s.io/v1" |  | ||||||
|     labels: {} |  | ||||||
|     annotations: |  | ||||||
|       kubernetes.io/ingress.class: nginx |  | ||||||
|       cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|  |  | ||||||
|     hostName: jenkins.kluster.moll.re |  | ||||||
|     tls:  |  | ||||||
|     - secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|       hosts: |  | ||||||
|         - jenkins.kluster.moll.re |  | ||||||
|  |  | ||||||
|   # often you want to have your controller all locked down and private |  | ||||||
|   # but you still want to get webhooks from your SCM |  | ||||||
|   # A secondary ingress will let you expose different urls |  | ||||||
|   # with a differnt configuration |  | ||||||
|   secondaryingress: |  | ||||||
|     enabled: false |  | ||||||
|     # paths you want forwarded to the backend |  | ||||||
|     # ex /github-webhook |  | ||||||
|     paths: [] |  | ||||||
|     # For Kubernetes v1.14+, use 'networking.k8s.io/v1beta1' |  | ||||||
|     # For Kubernetes v1.19+, use 'networking.k8s.io/v1' |  | ||||||
|     apiVersion: "extensions/v1beta1" |  | ||||||
|     labels: {} |  | ||||||
|     annotations: {} |  | ||||||
|     # kubernetes.io/ingress.class: nginx |  | ||||||
|     # kubernetes.io/tls-acme: "true" |  | ||||||
|     # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName |  | ||||||
|     # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress |  | ||||||
|     # ingressClassName: nginx |  | ||||||
|     # configures the hostname e.g. jenkins-external.example.com |  | ||||||
|     hostName: |  | ||||||
|     tls: |  | ||||||
|     # - secretName: jenkins-external.example.com |  | ||||||
|     #   hosts: |  | ||||||
|     #     - jenkins-external.example.com |  | ||||||
|  |  | ||||||
|  |  | ||||||
| agent: |  | ||||||
|   enabled: true |  | ||||||
|   defaultsProviderTemplate: "" |  | ||||||
|   # URL for connecting to the Jenkins contoller |  | ||||||
|   jenkinsUrl: |  | ||||||
|   # connect to the specified host and port, instead of connecting directly to the Jenkins controller |  | ||||||
|   jenkinsTunnel: |  | ||||||
|   kubernetesConnectTimeout: 5 |  | ||||||
|   kubernetesReadTimeout: 15 |  | ||||||
|   maxRequestsPerHostStr: "32" |  | ||||||
|   namespace: |  | ||||||
|   image: "jenkins/inbound-agent" |  | ||||||
|   tag: "4.11.2-4" |  | ||||||
|   workingDir: "/home/jenkins/agent" |  | ||||||
|   nodeUsageMode: "NORMAL" |  | ||||||
|   customJenkinsLabels: [] |  | ||||||
|   # name of the secret to be used for image pulling |  | ||||||
|   imagePullSecretName: |  | ||||||
|   componentName: "jenkins-agent" |  | ||||||
|   websocket: false |  | ||||||
|   privileged: false |  | ||||||
|   runAsUser: |  | ||||||
|   runAsGroup: |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       cpu: "512m" |  | ||||||
|       memory: "512Mi" |  | ||||||
|     limits: |  | ||||||
|       cpu: "512m" |  | ||||||
|       memory: "512Mi" |  | ||||||
|   # You may want to change this to true while testing a new image |  | ||||||
|   alwaysPullImage: false |  | ||||||
|   # Controls how agent pods are retained after the Jenkins build completes |  | ||||||
|   # Possible values: Always, Never, OnFailure |  | ||||||
|   podRetention: "Never" |  | ||||||
|   # Disable if you do not want the Yaml the agent pod template to show up |  | ||||||
|   # in the job Console Output. This can be helpful for either security reasons |  | ||||||
|   # or simply to clean up the output to make it easier to read. |  | ||||||
|   showRawYaml: true |  | ||||||
|   # You can define the volumes that you want to mount for this container |  | ||||||
|   # Allowed types are: ConfigMap, EmptyDir, HostPath, Nfs, PVC, Secret |  | ||||||
|   # Configure the attributes as they appear in the corresponding Java class for that type |  | ||||||
|   # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes |  | ||||||
|   volumes: [] |  | ||||||
|   # - type: ConfigMap |  | ||||||
|   #   configMapName: myconfigmap |  | ||||||
|   #   mountPath: /var/myapp/myconfigmap |  | ||||||
|   # - type: EmptyDir |  | ||||||
|   #   mountPath: /var/myapp/myemptydir |  | ||||||
|   #   memory: false |  | ||||||
|   # - type: HostPath |  | ||||||
|   #   hostPath: /var/lib/containers |  | ||||||
|   #   mountPath: /var/myapp/myhostpath |  | ||||||
|   # - type: Nfs |  | ||||||
|   #   mountPath: /var/myapp/mynfs |  | ||||||
|   #   readOnly: false |  | ||||||
|   #   serverAddress: "192.0.2.0" |  | ||||||
|   #   serverPath: /var/lib/containers |  | ||||||
|   # - type: PVC |  | ||||||
|   #   claimName: mypvc |  | ||||||
|   #   mountPath: /var/myapp/mypvc |  | ||||||
|   #   readOnly: false |  | ||||||
|   # - type: Secret |  | ||||||
|   #   defaultMode: "600" |  | ||||||
|   #   mountPath: /var/myapp/mysecret |  | ||||||
|   #   secretName: mysecret |  | ||||||
|   # Pod-wide environment, these vars are visible to any container in the agent pod |  | ||||||
|  |  | ||||||
|   # You can define the workspaceVolume that you want to mount for this container |  | ||||||
|   # Allowed types are: DynamicPVC, EmptyDir, HostPath, Nfs, PVC |  | ||||||
|   # Configure the attributes as they appear in the corresponding Java class for that type |  | ||||||
|   # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes/workspace |  | ||||||
|   workspaceVolume: {} |  | ||||||
|   ## DynamicPVC example |  | ||||||
|   # type: DynamicPVC |  | ||||||
|   # configMapName: myconfigmap |  | ||||||
|   ## EmptyDir example |  | ||||||
|   # type: EmptyDir |  | ||||||
|   # memory: false |  | ||||||
|   ## HostPath example |  | ||||||
|   # type: HostPath |  | ||||||
|   # hostPath: /var/lib/containers |  | ||||||
|   ## NFS example |  | ||||||
|   # type: Nfs |  | ||||||
|   # readOnly: false |  | ||||||
|   # serverAddress: "192.0.2.0" |  | ||||||
|   # serverPath: /var/lib/containers |  | ||||||
|   ## PVC example |  | ||||||
|   # type: PVC |  | ||||||
|   # claimName: mypvc |  | ||||||
|   # readOnly: false |  | ||||||
|   # |  | ||||||
|   # Pod-wide environment, these vars are visible to any container in the agent pod |  | ||||||
|   envVars: [] |  | ||||||
|   # - name: PATH |  | ||||||
|   #   value: /usr/local/bin |  | ||||||
|   nodeSelector: {} |  | ||||||
|   # Key Value selectors. Ex: |  | ||||||
|   # jenkins-agent: v1 |  | ||||||
|  |  | ||||||
|   # Executed command when side container gets started |  | ||||||
|   command: |  | ||||||
|   args: "${computer.jnlpmac} ${computer.name}" |  | ||||||
|   # Side container name |  | ||||||
|   sideContainerName: "jnlp" |  | ||||||
|   # Doesn't allocate pseudo TTY by default |  | ||||||
|   TTYEnabled: false |  | ||||||
|   # Max number of spawned agent |  | ||||||
|   containerCap: 10 |  | ||||||
|   # Pod name |  | ||||||
|   podName: "default" |  | ||||||
|   # Allows the Pod to remain active for reuse until the configured number of |  | ||||||
|   # minutes has passed since the last step was executed on it. |  | ||||||
|   idleMinutes: 0 |  | ||||||
|   # Raw yaml template for the Pod. For example this allows usage of toleration for agent pods. |  | ||||||
|   # https://github.com/jenkinsci/kubernetes-plugin#using-yaml-to-define-pod-templates |  | ||||||
|   # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |  | ||||||
|   yamlTemplate: "" |  | ||||||
|   # yamlTemplate: |- |  | ||||||
|   #   apiVersion: v1 |  | ||||||
|   #   kind: Pod |  | ||||||
|   #   spec: |  | ||||||
|   #     tolerations: |  | ||||||
|   #     - key: "key" |  | ||||||
|   #       operator: "Equal" |  | ||||||
|   #       value: "value" |  | ||||||
|   # Defines how the raw yaml field gets merged with yaml definitions from inherited pod templates: merge or override |  | ||||||
|   yamlMergeStrategy: "override" |  | ||||||
|   # Timeout in seconds for an agent to be online |  | ||||||
|   connectTimeout: 100 |  | ||||||
|   # Annotations to apply to the pod. |  | ||||||
|   annotations: {} |  | ||||||
|  |  | ||||||
|   # Disable the default Jenkins Agent configuration. |  | ||||||
|   # Useful when configuring agents only with the podTemplates value, since the default podTemplate populated by values mentioned above will be excluded in the rendered template. |  | ||||||
|   disableDefaultAgent: false |  | ||||||
|  |  | ||||||
|   # Below is the implementation of custom pod templates for the default configured kubernetes cloud. |  | ||||||
|   # Add a key under podTemplates for each pod template. Each key (prior to | character) is just a label, and can be any value. |  | ||||||
|   # Keys are only used to give the pod template a meaningful name.  The only restriction is they may only contain RFC 1123 \ DNS label |  | ||||||
|   # characters: lowercase letters, numbers, and hyphens. Each pod template can contain multiple containers. |  | ||||||
|   # For this pod templates configuration to be loaded the following values must be set: |  | ||||||
|   # controller.JCasC.defaultConfig: true |  | ||||||
|   # Best reference is https://<jenkins_url>/configuration-as-code/reference#Cloud-kubernetes. The example below creates a python pod template. |  | ||||||
|   podTemplates: {} |  | ||||||
|   #  python: | |  | ||||||
|   #    - name: python |  | ||||||
|   #      label: jenkins-python |  | ||||||
|   #      serviceAccount: jenkins |  | ||||||
|   #      containers: |  | ||||||
|   #        - name: python |  | ||||||
|   #          image: python:3 |  | ||||||
|   #          command: "/bin/sh -c" |  | ||||||
|   #          args: "cat" |  | ||||||
|   #          ttyEnabled: true |  | ||||||
|   #          privileged: true |  | ||||||
|   #          resourceRequestCpu: "400m" |  | ||||||
|   #          resourceRequestMemory: "512Mi" |  | ||||||
|   #          resourceLimitCpu: "1" |  | ||||||
|   #          resourceLimitMemory: "1024Mi" |  | ||||||
|  |  | ||||||
| # Here you can add additional agents |  | ||||||
| # They inherit all values from `agent` so you only need to specify values which differ |  | ||||||
| additionalAgents: {} |  | ||||||
| #  maven: |  | ||||||
| #    podName: maven |  | ||||||
| #    customJenkinsLabels: maven |  | ||||||
| #    # An example of overriding the jnlp container |  | ||||||
| #    # sideContainerName: jnlp |  | ||||||
| #    image: jenkins/jnlp-agent-maven |  | ||||||
| #    tag: latest |  | ||||||
| #  python: |  | ||||||
| #    podName: python |  | ||||||
| #    customJenkinsLabels: python |  | ||||||
| #    sideContainerName: python |  | ||||||
| #    image: python |  | ||||||
| #    tag: "3" |  | ||||||
| #    command: "/bin/sh -c" |  | ||||||
| #    args: "cat" |  | ||||||
| #    TTYEnabled: true |  | ||||||
|  |  | ||||||
| persistence: |  | ||||||
|   enabled: true |  | ||||||
|   ## A manually managed Persistent Volume and Claim |  | ||||||
|   ## Requires persistence.enabled: true |  | ||||||
|   ## If defined, PVC must be created manually before volume will be bound |  | ||||||
|   existingClaim: jenkins-data-nfs |  | ||||||
|  |  | ||||||
| ## Install Default RBAC roles and bindings |  | ||||||
| rbac: |  | ||||||
|   create: true |  | ||||||
|   readSecrets: false |  | ||||||
|  |  | ||||||
| serviceAccount: |  | ||||||
|   create: true |  | ||||||
|   # The name of the service account is autogenerated by default |  | ||||||
|   name: |  | ||||||
|   annotations: {} |  | ||||||
|   imagePullSecretName: |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: mathieu |  | ||||||
|   name: mathieu-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: mathieu |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "10Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /mathieu |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: mathieu |  | ||||||
|   name: mathieu-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "10Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: mathieu |  | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| # |  | ||||||
| # IMPORTANT NOTE |  | ||||||
| # |  | ||||||
| # This chart inherits from our common library chart. You can check the default values/options here: |  | ||||||
| # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |  | ||||||
| # |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- image repository |  | ||||||
|   repository: ghost |  | ||||||
|   # -- image tag |  | ||||||
|   # @default -- chart.appVersion |  | ||||||
|   tag: |  | ||||||
|   # -- image pull policy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| # See https://ghost.org/docs/config/#running-ghost-with-config-env-variables |  | ||||||
| env: |  | ||||||
|   url: "https://cinema.kluster.moll.re" |  | ||||||
|   database__client: sqlite3 |  | ||||||
|   database__connection__filename: "content/data/ghost-data.db" |  | ||||||
|   database__useNullAsDefault: true, |  | ||||||
|   database__debug: false |  | ||||||
|   NODE_ENV: production |  | ||||||
|  |  | ||||||
| # -- Configures service settings for the chart. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| service: |  | ||||||
|   main: |  | ||||||
|     ports: |  | ||||||
|       http: |  | ||||||
|         port: 2368 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   # -- Enable and configure ingress settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: |  | ||||||
|     enabled: true |  | ||||||
|     annotations: |  | ||||||
|       kubernetes.io/ingress.class: nginx |  | ||||||
|       cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|     hosts: |  | ||||||
|     - host: cinema.kluster.moll.re |  | ||||||
|       paths: |  | ||||||
|         - path: / |  | ||||||
|           pathType: Prefix |  | ||||||
|     tls: |  | ||||||
|     - hosts: |  | ||||||
|       - cinema.kluster.moll.re |  | ||||||
|       secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|  |  | ||||||
| # -- Configure persistence settings for the chart under this key. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| persistence: |  | ||||||
|   content: |  | ||||||
|     enabled: true |  | ||||||
|     existingClaim: mathieu-nfs |  | ||||||
|  |  | ||||||
| mariadb: |  | ||||||
|   enabled: false |  | ||||||
|   architecture: standalone |  | ||||||
|   auth: |  | ||||||
|     database: ghost |  | ||||||
|     username: ghost |  | ||||||
|     password: ghost |  | ||||||
|     rootPassword: ghost-rootpass |  | ||||||
|   primary: |  | ||||||
|     persistance: |  | ||||||
|       enabled: false |  | ||||||
|  |  | ||||||
| @@ -1,52 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: minecraft |  | ||||||
|   labels: |  | ||||||
|     app: minecraft |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: forwarding |  | ||||||
|   namespace: minecraft |  | ||||||
|   labels: |  | ||||||
|     app: forwarding |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: forwarding |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: forwarding |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: forwarding |  | ||||||
|         image: simonrupf/socat |  | ||||||
|         tty: true |  | ||||||
|         ports: |  | ||||||
|           - containerPort: 25565 |  | ||||||
|         args: ["TCP4-LISTEN:25565,fork", "TCP6:mc.game.moll.re:25565"] |  | ||||||
|       hostNetwork: true |  | ||||||
|       nodeSelector: |  | ||||||
|         hdd: enabled |  | ||||||
|         # ensures we are running on 192.168.1.122, ie pi node 0 |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: forwarding |  | ||||||
|   namespace: minecraft |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   type: NodePort |  | ||||||
|   ipFamilyPolicy: PreferDualStack |  | ||||||
|   ports: |  | ||||||
|     - name: mc |  | ||||||
|       port: 25565 |  | ||||||
|   selector: |  | ||||||
|     app: forwarding |  | ||||||
|  |  | ||||||
| @@ -1,351 +0,0 @@ | |||||||
| controller: |  | ||||||
|   ## The name of the Ingress Controller daemonset or deployment. |  | ||||||
|   ## Autogenerated if not set or set to "". |  | ||||||
|   # name: nginx-ingress |  | ||||||
|  |  | ||||||
|   ## The kind of the Ingress Controller installation - deployment or daemonset. |  | ||||||
|   kind: deployment |  | ||||||
|  |  | ||||||
|   ## Deploys the Ingress Controller for NGINX Plus. |  | ||||||
|   nginxplus: false |  | ||||||
|  |  | ||||||
|   # Timeout in milliseconds which the Ingress Controller will wait for a successful NGINX reload after a change or at the initial start. |  | ||||||
|   nginxReloadTimeout: 60000 |  | ||||||
|  |  | ||||||
|   ## Support for App Protect |  | ||||||
|   appprotect: |  | ||||||
|     ## Enable the App Protect module in the Ingress Controller. |  | ||||||
|     enable: false |  | ||||||
|     ## Sets log level for App Protect. Allowed values: fatal, error, warn, info, debug, trace |  | ||||||
|     # logLevel: fatal |  | ||||||
|  |  | ||||||
|   ## Support for App Protect Dos |  | ||||||
|   appprotectdos: |  | ||||||
|     ## Enable the App Protect Dos module in the Ingress Controller. |  | ||||||
|     enable: false |  | ||||||
|     ## Enable debugging for App Protect Dos. |  | ||||||
|     debug: false |  | ||||||
|     ## Max number of nginx processes to support. |  | ||||||
|     maxWorkers: 0 |  | ||||||
|     ## Max number of ADMD instances. |  | ||||||
|     maxDaemons: 0 |  | ||||||
|     ## RAM memory size to consume in MB. |  | ||||||
|     memory: 0 |  | ||||||
|  |  | ||||||
|   ## Enables the Ingress Controller pods to use the host's network namespace. |  | ||||||
|   hostNetwork: false |  | ||||||
|  |  | ||||||
|   ## Enables debugging for NGINX. Uses the nginx-debug binary. Requires error-log-level: debug in the ConfigMap via `controller.config.entries`. |  | ||||||
|   nginxDebug: false |  | ||||||
|  |  | ||||||
|   ## The log level of the Ingress Controller. |  | ||||||
|   logLevel: 1 |  | ||||||
|  |  | ||||||
|   ## A list of custom ports to expose on the NGINX ingress controller pod. Follows the conventional Kubernetes yaml syntax for container ports. |  | ||||||
|   customPorts: [] |  | ||||||
|  |  | ||||||
|   image: |  | ||||||
|     ## The image repository of the Ingress Controller. |  | ||||||
|     repository: nginx/nginx-ingress |  | ||||||
|  |  | ||||||
|     ## The tag of the Ingress Controller image. |  | ||||||
|     tag: "2.2.0" |  | ||||||
|  |  | ||||||
|     ## The pull policy for the Ingress Controller image. |  | ||||||
|     pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
|   config: |  | ||||||
|     ## The name of the ConfigMap used by the Ingress Controller. |  | ||||||
|     ## Autogenerated if not set or set to "". |  | ||||||
|     # name: nginx-config |  | ||||||
|  |  | ||||||
|     ## The annotations of the Ingress Controller configmap. |  | ||||||
|     annotations: {} |  | ||||||
|  |  | ||||||
|     ## The entries of the ConfigMap for customizing NGINX configuration. |  | ||||||
|     entries: {} |  | ||||||
|  |  | ||||||
|   ## It is recommended to use your own TLS certificates and keys |  | ||||||
|   defaultTLS: |  | ||||||
|     ## The base64-encoded TLS certificate for the default HTTPS server. If not specified, a pre-generated self-signed certificate is used. |  | ||||||
|     ## Note: It is recommended that you specify your own certificate. |  | ||||||
|     cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN2akNDQWFZQ0NRREFPRjl0THNhWFhEQU5CZ2txaGtpRzl3MEJBUXNGQURBaE1SOHdIUVlEVlFRRERCWk8KUjBsT1dFbHVaM0psYzNORGIyNTBjbTlzYkdWeU1CNFhEVEU0TURreE1qRTRNRE16TlZvWERUSXpNRGt4TVRFNApNRE16TlZvd0lURWZNQjBHQTFVRUF3d1dUa2RKVGxoSmJtZHlaWE56UTI5dWRISnZiR3hsY2pDQ0FTSXdEUVlKCktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUwvN2hIUEtFWGRMdjNyaUM3QlBrMTNpWkt5eTlyQ08KR2xZUXYyK2EzUDF0azIrS3YwVGF5aGRCbDRrcnNUcTZzZm8vWUk1Y2Vhbkw4WGM3U1pyQkVRYm9EN2REbWs1Qgo4eDZLS2xHWU5IWlg0Rm5UZ0VPaStlM2ptTFFxRlBSY1kzVnNPazFFeUZBL0JnWlJVbkNHZUtGeERSN0tQdGhyCmtqSXVuektURXUyaDU4Tlp0S21ScUJHdDEwcTNRYzhZT3ExM2FnbmovUWRjc0ZYYTJnMjB1K1lYZDdoZ3krZksKWk4vVUkxQUQ0YzZyM1lma1ZWUmVHd1lxQVp1WXN2V0RKbW1GNWRwdEMzN011cDBPRUxVTExSakZJOTZXNXIwSAo1TmdPc25NWFJNV1hYVlpiNWRxT3R0SmRtS3FhZ25TZ1JQQVpQN2MwQjFQU2FqYzZjNGZRVXpNQ0F3RUFBVEFOCkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWpLb2tRdGRPcEsrTzhibWVPc3lySmdJSXJycVFVY2ZOUitjb0hZVUoKdGhrYnhITFMzR3VBTWI5dm15VExPY2xxeC9aYzJPblEwMEJCLzlTb0swcitFZ1U2UlVrRWtWcitTTFA3NTdUWgozZWI4dmdPdEduMS9ienM3bzNBaS9kclkrcUI5Q2k1S3lPc3FHTG1US2xFaUtOYkcyR1ZyTWxjS0ZYQU80YTY3Cklnc1hzYktNbTQwV1U3cG9mcGltU1ZmaXFSdkV5YmN3N0NYODF6cFErUyt1eHRYK2VBZ3V0NHh3VlI5d2IyVXYKelhuZk9HbWhWNThDd1dIQnNKa0kxNXhaa2VUWXdSN0diaEFMSkZUUkk3dkhvQXprTWIzbjAxQjQyWjNrN3RXNQpJUDFmTlpIOFUvOWxiUHNoT21FRFZkdjF5ZytVRVJxbStGSis2R0oxeFJGcGZnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= |  | ||||||
|  |  | ||||||
|     ## The base64-encoded TLS key for the default HTTPS server. Note: If not specified, a pre-generated key is used. |  | ||||||
|     ## Note: It is recommended that you specify your own key. |  | ||||||
|     key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdi91RWM4b1JkMHUvZXVJTHNFK1RYZUprckxMMnNJNGFWaEMvYjVyYy9XMlRiNHEvClJOcktGMEdYaVN1eE9ycXgrajlnamx4NXFjdnhkenRKbXNFUkJ1Z1B0ME9hVGtIekhvb3FVWmcwZGxmZ1dkT0EKUTZMNTdlT1l0Q29VOUZ4amRXdzZUVVRJVUQ4R0JsRlNjSVo0b1hFTkhzbysyR3VTTWk2Zk1wTVM3YUhudzFtMApxWkdvRWEzWFNyZEJ6eGc2clhkcUNlUDlCMXl3VmRyYURiUzc1aGQzdUdETDU4cGszOVFqVUFQaHpxdmRoK1JWClZGNGJCaW9CbTVpeTlZTW1hWVhsMm0wTGZzeTZuUTRRdFFzdEdNVWozcGJtdlFmazJBNnljeGRFeFpkZFZsdmwKMm82MjBsMllxcHFDZEtCRThCay90elFIVTlKcU56cHpoOUJUTXdJREFRQUJBb0lCQVFDZklHbXowOHhRVmorNwpLZnZJUXQwQ0YzR2MxNld6eDhVNml4MHg4Mm15d1kxUUNlL3BzWE9LZlRxT1h1SENyUlp5TnUvZ2IvUUQ4bUFOCmxOMjRZTWl0TWRJODg5TEZoTkp3QU5OODJDeTczckM5bzVvUDlkazAvYzRIbjAzSkVYNzZ5QjgzQm9rR1FvYksKMjhMNk0rdHUzUmFqNjd6Vmc2d2szaEhrU0pXSzBwV1YrSjdrUkRWYmhDYUZhNk5nMUZNRWxhTlozVDhhUUtyQgpDUDNDeEFTdjYxWTk5TEI4KzNXWVFIK3NYaTVGM01pYVNBZ1BkQUk3WEh1dXFET1lvMU5PL0JoSGt1aVg2QnRtCnorNTZud2pZMy8yUytSRmNBc3JMTnIwMDJZZi9oY0IraVlDNzVWYmcydVd6WTY3TWdOTGQ5VW9RU3BDRkYrVm4KM0cyUnhybnhBb0dCQU40U3M0ZVlPU2huMVpQQjdhTUZsY0k2RHR2S2ErTGZTTXFyY2pOZjJlSEpZNnhubmxKdgpGenpGL2RiVWVTbWxSekR0WkdlcXZXaHFISy9iTjIyeWJhOU1WMDlRQ0JFTk5jNmtWajJTVHpUWkJVbEx4QzYrCk93Z0wyZHhKendWelU0VC84ajdHalRUN05BZVpFS2FvRHFyRG5BYWkyaW5oZU1JVWZHRXFGKzJyQW9HQkFOMVAKK0tZL0lsS3RWRzRKSklQNzBjUis3RmpyeXJpY05iWCtQVzUvOXFHaWxnY2grZ3l4b25BWlBpd2NpeDN3QVpGdwpaZC96ZFB2aTBkWEppc1BSZjRMazg5b2pCUmpiRmRmc2l5UmJYbyt3TFU4NUhRU2NGMnN5aUFPaTVBRHdVU0FkCm45YWFweUNweEFkREtERHdObit3ZFhtaTZ0OHRpSFRkK3RoVDhkaVpBb0dCQUt6Wis1bG9OOTBtYlF4VVh5YUwKMjFSUm9tMGJjcndsTmVCaWNFSmlzaEhYa2xpSVVxZ3hSZklNM2hhUVRUcklKZENFaHFsV01aV0xPb2I2NTNyZgo3aFlMSXM1ZUtka3o0aFRVdnpldm9TMHVXcm9CV2xOVHlGanIrSWhKZnZUc0hpOGdsU3FkbXgySkJhZUFVWUNXCndNdlQ4NmNLclNyNkQrZG8wS05FZzFsL0FvR0FlMkFVdHVFbFNqLzBmRzgrV3hHc1RFV1JqclRNUzRSUjhRWXQKeXdjdFA4aDZxTGxKUTRCWGxQU05rMXZLTmtOUkxIb2pZT2pCQTViYjhibXNVU1BlV09NNENoaFJ4QnlHbmR2eAphYkJDRkFwY0IvbEg4d1R0alVZYlN5T294ZGt5OEp0ek90ajJhS0FiZHd6NlArWDZDODhjZmxYVFo5MWpYL3RMCjF3TmRKS2tDZ1lCbyt0UzB5TzJ2SWFmK2UwSkN5TGhzVDQ5cTN3Zis2QWVqWGx2WDJ1VnRYejN5QTZnbXo5aCsKcDNlK2JMRUxwb3B0WFhNdUFRR0xhUkcrYlNNcjR5dERYbE5ZSndUeThXczNKY3dlSTdqZVp2b0ZpbmNvVlVIMwphdmxoTUVCRGYxSjltSDB5cDBwWUNaS2ROdHNvZEZtQktzVEtQMjJhTmtsVVhCS3gyZzR6cFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= |  | ||||||
|  |  | ||||||
|     ## The secret with a TLS certificate and key for the default HTTPS server. |  | ||||||
|     ## The value must follow the following format: `<namespace>/<name>`. |  | ||||||
|     ## Used as an alternative to specifying a certificate and key using `controller.defaultTLS.cert` and `controller.defaultTLS.key` parameters. |  | ||||||
|     ## Format: <namespace>/<secret_name> |  | ||||||
|     secret: |  | ||||||
|  |  | ||||||
|   wildcardTLS: |  | ||||||
|     ## The base64-encoded TLS certificate for every Ingress/VirtualServer host that has TLS enabled but no secret specified. |  | ||||||
|     ## If the parameter is not set, for such Ingress/VirtualServer hosts NGINX will break any attempt to establish a TLS connection. |  | ||||||
|     cert: "" |  | ||||||
|  |  | ||||||
|     ## The base64-encoded TLS key for every Ingress/VirtualServer host that has TLS enabled but no secret specified. |  | ||||||
|     ## If the parameter is not set, for such Ingress/VirtualServer hosts NGINX will break any attempt to establish a TLS connection. |  | ||||||
|     key: "" |  | ||||||
|  |  | ||||||
|     ## The secret with a TLS certificate and key for every Ingress/VirtualServer host that has TLS enabled but no secret specified. |  | ||||||
|     ## The value must follow the following format: `<namespace>/<name>`. |  | ||||||
|     ## Used as an alternative to specifying a certificate and key using `controller.wildcardTLS.cert` and `controller.wildcardTLS.key` parameters. |  | ||||||
|     ## Format: <namespace>/<secret_name> |  | ||||||
|     secret: |  | ||||||
|  |  | ||||||
|   ## The node selector for pod assignment for the Ingress Controller pods. |  | ||||||
|   nodeSelector: {} |  | ||||||
|  |  | ||||||
|   ## The termination grace period of the Ingress Controller pod. |  | ||||||
|   terminationGracePeriodSeconds: 30 |  | ||||||
|  |  | ||||||
|   ## The resources of the Ingress Controller pods. |  | ||||||
|   resources: {} |  | ||||||
|     # limits: |  | ||||||
|     #   cpu: 100m |  | ||||||
|     #   memory: 64Mi |  | ||||||
|     # requests: |  | ||||||
|     #   cpu: 100m |  | ||||||
|     #   memory: 64Mi |  | ||||||
|  |  | ||||||
|   ## The tolerations of the Ingress Controller pods. |  | ||||||
|   tolerations: [] |  | ||||||
|  |  | ||||||
|   ## The affinity of the Ingress Controller pods. |  | ||||||
|   affinity: {} |  | ||||||
|  |  | ||||||
|   ## The volumes of the Ingress Controller pods. |  | ||||||
|   volumes: [] |  | ||||||
|   # - name: extra-conf |  | ||||||
|   #   configMap: |  | ||||||
|   #     name: extra-conf |  | ||||||
|  |  | ||||||
|   ## The volumeMounts of the Ingress Controller pods. |  | ||||||
|   volumeMounts: [] |  | ||||||
|   # - name: extra-conf |  | ||||||
|   #   mountPath: /etc/nginx/conf.d/extra.conf |  | ||||||
|   #   subPath: extra.conf |  | ||||||
|  |  | ||||||
|   ## InitContainers for the Ingress Controller pods. |  | ||||||
|   initContainers: [] |  | ||||||
|   # - name: init-container |  | ||||||
|   #   image: busybox:1.34 |  | ||||||
|   #   command: ['sh', '-c', 'echo this is initial setup!'] |  | ||||||
|  |  | ||||||
|   ## Extra containers for the Ingress Controller pods. |  | ||||||
|   extraContainers: [] |  | ||||||
|   # - name: container |  | ||||||
|   #   image: busybox:1.34 |  | ||||||
|   #   command: ['sh', '-c', 'echo this is a sidecar!'] |  | ||||||
|  |  | ||||||
|   ## The number of replicas of the Ingress Controller deployment. |  | ||||||
|   replicaCount: 1 |  | ||||||
|  |  | ||||||
|   ## A class of the Ingress Controller. |  | ||||||
|  |  | ||||||
|   ## IngressClass resource with the name equal to the class must be deployed. Otherwise, |  | ||||||
|   ## the Ingress Controller will fail to start. |  | ||||||
|   ## The Ingress Controller only processes resources that belong to its class - i.e. have the "ingressClassName" field resource equal to the class. |  | ||||||
|  |  | ||||||
|   ## The Ingress Controller processes all the resources that do not have the "ingressClassName" field for all versions of kubernetes. |  | ||||||
|   ingressClass: nginx |  | ||||||
|  |  | ||||||
|   ## New Ingresses without an ingressClassName field specified will be assigned the class specified in `controller.ingressClass`. |  | ||||||
|   setAsDefaultIngress: false |  | ||||||
|  |  | ||||||
|   ## Namespace to watch for Ingress resources. By default the Ingress Controller watches all namespaces. |  | ||||||
|   watchNamespace: "" |  | ||||||
|  |  | ||||||
|   ## Enable the custom resources. |  | ||||||
|   enableCustomResources: true |  | ||||||
|  |  | ||||||
|   ## Enable preview policies. This parameter is deprecated. To enable OIDC Policies please use controller.enableOIDC instead. |  | ||||||
|   enablePreviewPolicies: false |  | ||||||
|  |  | ||||||
|   ## Enable OIDC policies. |  | ||||||
|   enableOIDC: false |  | ||||||
|  |  | ||||||
|   ## Enable TLS Passthrough on port 443. Requires controller.enableCustomResources. |  | ||||||
|   enableTLSPassthrough: false |  | ||||||
|  |  | ||||||
|   ## Enable cert manager for Virtual Server resources. Requires controller.enableCustomResources. |  | ||||||
|   enableCertManager: false |  | ||||||
|  |  | ||||||
|   globalConfiguration: |  | ||||||
|     ## Creates the GlobalConfiguration custom resource. Requires controller.enableCustomResources. |  | ||||||
|     create: false |  | ||||||
|  |  | ||||||
|     ## The spec of the GlobalConfiguration for defining the global configuration parameters of the Ingress Controller. |  | ||||||
|     spec: {} |  | ||||||
|       # listeners: |  | ||||||
|       # - name: dns-udp |  | ||||||
|       #   port: 5353 |  | ||||||
|       #   protocol: UDP |  | ||||||
|       # - name: dns-tcp |  | ||||||
|       #   port: 5353 |  | ||||||
|       #   protocol: TCP |  | ||||||
|  |  | ||||||
|   ## Enable custom NGINX configuration snippets in Ingress, VirtualServer, VirtualServerRoute and TransportServer resources. |  | ||||||
|   enableSnippets: false |  | ||||||
|  |  | ||||||
|   ## Add a location based on the value of health-status-uri to the default server. The location responds with the 200 status code for any request. |  | ||||||
|   ## Useful for external health-checking of the Ingress Controller. |  | ||||||
|   healthStatus: false |  | ||||||
|  |  | ||||||
|   ## Sets the URI of health status location in the default server. Requires controller.healthStatus. |  | ||||||
|   healthStatusURI: "/nginx-health" |  | ||||||
|  |  | ||||||
|   nginxStatus: |  | ||||||
|     ## Enable the NGINX stub_status, or the NGINX Plus API. |  | ||||||
|     enable: true |  | ||||||
|  |  | ||||||
|     ## Set the port where the NGINX stub_status or the NGINX Plus API is exposed. |  | ||||||
|     port: 8080 |  | ||||||
|  |  | ||||||
|     ## Add IPv4 IP/CIDR blocks to the allow list for NGINX stub_status or the NGINX Plus API. Separate multiple IP/CIDR by commas. |  | ||||||
|     allowCidrs: "127.0.0.1" |  | ||||||
|  |  | ||||||
|   service: |  | ||||||
|     ## Creates a service to expose the Ingress Controller pods. |  | ||||||
|     create: true |  | ||||||
|  |  | ||||||
|     ## The type of service to create for the Ingress Controller. |  | ||||||
|     type: LoadBalancer |  | ||||||
|  |  | ||||||
|     ## The externalTrafficPolicy of the service. The value Local preserves the client source IP. |  | ||||||
|     externalTrafficPolicy: Local |  | ||||||
|  |  | ||||||
|     ## The annotations of the Ingress Controller service. |  | ||||||
|     annotations: {} |  | ||||||
|  |  | ||||||
|     ## The extra labels of the service. |  | ||||||
|     extraLabels: {} |  | ||||||
|  |  | ||||||
|     ## The static IP address for the load balancer. Requires controller.service.type set to LoadBalancer. The cloud provider must support this feature. |  | ||||||
|     loadBalancerIP: "" |  | ||||||
|  |  | ||||||
|     ## The list of external IPs for the Ingress Controller service. |  | ||||||
|     externalIPs: [] |  | ||||||
|  |  | ||||||
|     ## The IP ranges (CIDR) that are allowed to access the load balancer. Requires controller.service.type set to LoadBalancer. The cloud provider must support this feature. |  | ||||||
|     loadBalancerSourceRanges: [] |  | ||||||
|  |  | ||||||
|     ## The name of the service |  | ||||||
|     ## Autogenerated if not set or set to "". |  | ||||||
|     # name: nginx-ingress |  | ||||||
|  |  | ||||||
|     httpPort: |  | ||||||
|       ## Enables the HTTP port for the Ingress Controller service. |  | ||||||
|       enable: true |  | ||||||
|  |  | ||||||
|       ## The HTTP port of the Ingress Controller service. |  | ||||||
|       port: 80 |  | ||||||
|  |  | ||||||
|       ## The custom NodePort for the HTTP port. Requires controller.service.type set to NodePort. |  | ||||||
|       nodePort: "" |  | ||||||
|  |  | ||||||
|       ## The HTTP port on the POD where the Ingress Controller service is running. |  | ||||||
|       targetPort: 80 |  | ||||||
|  |  | ||||||
|     httpsPort: |  | ||||||
|       ## Enables the HTTPS port for the Ingress Controller service. |  | ||||||
|       enable: true |  | ||||||
|  |  | ||||||
|       ## The HTTPS port of the Ingress Controller service. |  | ||||||
|       port: 443 |  | ||||||
|  |  | ||||||
|       ## The custom NodePort for the HTTPS port. Requires controller.service.type set to NodePort. |  | ||||||
|       nodePort: "" |  | ||||||
|  |  | ||||||
|       ## The HTTPS port on the POD where the Ingress Controller service is running. |  | ||||||
|       targetPort: 443 |  | ||||||
|  |  | ||||||
|     ## A list of custom ports to expose through the Ingress Controller service. Follows the conventional Kubernetes yaml syntax for service ports. |  | ||||||
|     customPorts: [] |  | ||||||
|  |  | ||||||
|   serviceAccount: |  | ||||||
|     ## The name of the service account of the Ingress Controller pods. Used for RBAC. |  | ||||||
|     ## Autogenerated if not set or set to "". |  | ||||||
|     # name: nginx-ingress |  | ||||||
|  |  | ||||||
|     ## The name of the secret containing docker registry credentials. |  | ||||||
|     ## Secret must exist in the same namespace as the helm release. |  | ||||||
|     imagePullSecretName: "" |  | ||||||
|  |  | ||||||
|   reportIngressStatus: |  | ||||||
|     ## Updates the address field in the status of Ingress resources with an external address of the Ingress Controller. |  | ||||||
|     ## You must also specify the source of the external address either through an external service via controller.reportIngressStatus.externalService, |  | ||||||
|     ## controller.reportIngressStatus.ingressLink or the external-status-address entry in the ConfigMap via controller.config.entries. |  | ||||||
|     ## Note: controller.config.entries.external-status-address takes precedence over the others. |  | ||||||
|     enable: true |  | ||||||
|  |  | ||||||
|     ## Specifies the name of the service with the type LoadBalancer through which the Ingress Controller is exposed externally. |  | ||||||
|     ## The external address of the service is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources. |  | ||||||
|     ## controller.reportIngressStatus.enable must be set to true. |  | ||||||
|     ## The default is autogenerated and matches the created service (see controller.service.create). |  | ||||||
|     # externalService: nginx-ingress |  | ||||||
|  |  | ||||||
|     ## Specifies the name of the IngressLink resource, which exposes the Ingress Controller pods via a BIG-IP system. |  | ||||||
|     ## The IP of the BIG-IP system is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources. |  | ||||||
|     ## controller.reportIngressStatus.enable must be set to true. |  | ||||||
|     ingressLink: "" |  | ||||||
|  |  | ||||||
|     ## Enable Leader election to avoid multiple replicas of the controller reporting the status of Ingress resources. controller.reportIngressStatus.enable must be set to true. |  | ||||||
|     enableLeaderElection: true |  | ||||||
|  |  | ||||||
|     ## Specifies the name of the ConfigMap, within the same namespace as the controller, used as the lock for leader election. controller.reportIngressStatus.enableLeaderElection must be set to true. |  | ||||||
|     ## Autogenerated if not set or set to "". |  | ||||||
|     # leaderElectionLockName: "nginx-ingress-leader-election" |  | ||||||
|  |  | ||||||
|     ## The annotations of the leader election configmap. |  | ||||||
|     annotations: {} |  | ||||||
|  |  | ||||||
|   pod: |  | ||||||
|     ## The annotations of the Ingress Controller pod. |  | ||||||
|     annotations: {} |  | ||||||
|  |  | ||||||
|     ## The additional extra labels of the Ingress Controller pod. |  | ||||||
|     extraLabels: {} |  | ||||||
|  |  | ||||||
|   ## The PriorityClass of the ingress controller pods. |  | ||||||
|   priorityClassName: |  | ||||||
|  |  | ||||||
|   readyStatus: |  | ||||||
|     ## Enables readiness endpoint "/nginx-ready". The endpoint returns a success code when NGINX has loaded all the config after startup. |  | ||||||
|     enable: true |  | ||||||
|  |  | ||||||
|     ## Set the port where the readiness endpoint is exposed. |  | ||||||
|     port: 8081 |  | ||||||
|  |  | ||||||
|   ## Enable collection of latency metrics for upstreams. Requires prometheus.create. |  | ||||||
|   enableLatencyMetrics: false |  | ||||||
|  |  | ||||||
| rbac: |  | ||||||
|   ## Configures RBAC. |  | ||||||
|   create: true |  | ||||||
|  |  | ||||||
| prometheus: |  | ||||||
|   ## Expose NGINX or NGINX Plus metrics in the Prometheus format. |  | ||||||
|   create: true |  | ||||||
|  |  | ||||||
|   ## Configures the port to scrape the metrics. |  | ||||||
|   port: 9113 |  | ||||||
|  |  | ||||||
|   ## Specifies the namespace/name of a Kubernetes TLS Secret which will be used to protect the Prometheus endpoint. |  | ||||||
|   secret: "" |  | ||||||
|  |  | ||||||
|   ## Configures the HTTP scheme used. |  | ||||||
|   scheme: http |  | ||||||
|  |  | ||||||
| nginxServiceMesh: |  | ||||||
|   ## Enables integration with NGINX Service Mesh. |  | ||||||
|   ## Requires controller.nginxplus |  | ||||||
|   enable: false |  | ||||||
|  |  | ||||||
|   ## Enables NGINX Service Mesh workload to route egress traffic through the Ingress Controller. |  | ||||||
|   ## Requires nginxServiceMesh.enable |  | ||||||
|   enableEgress: false |  | ||||||
|  |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: nocodb |  | ||||||
|   labels: |  | ||||||
|     app: nocodb |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: nocodb |  | ||||||
|   namespace: nocodb |  | ||||||
|   labels: |  | ||||||
|     app: nocodb |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: nocodb |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: nocodb |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: nocodb |  | ||||||
|         image: nocodb/nocodb |  | ||||||
|         tty: true |  | ||||||
|         ports: |  | ||||||
|           - containerPort: 8080 |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: nocodb |  | ||||||
|   namespace: nocodb |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   type: ClusterIP |  | ||||||
|   ports: |  | ||||||
|     - name: http |  | ||||||
|       port: 8080 |  | ||||||
|   selector: |  | ||||||
|     app: nocodb |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: nocodb |  | ||||||
|   name: nocodb-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - nocodb.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: nocodb.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: nocodb |  | ||||||
|               port:  |  | ||||||
|                 number: 8080 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: pihole |  | ||||||
|   name: pihole-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|      |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - pihole.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: pihole.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: pihole-web |  | ||||||
|               port:  |  | ||||||
|                 number: 80 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: pihole |  | ||||||
|   name: pihole-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: pihole |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   capacity: |  | ||||||
|     storage: "500Mi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /pihole |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| ## pihole.persistentvolumeclaim.yml |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: pihole |  | ||||||
|   name: pihole-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "500Mi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: pihole |  | ||||||
| --- |  | ||||||
| @@ -1,397 +0,0 @@ | |||||||
| # Default values for pihole. |  | ||||||
| # This is a YAML-formatted file. |  | ||||||
| # Declare variables to be passed into your templates. |  | ||||||
|  |  | ||||||
| # -- The number of replicas |  | ||||||
| replicaCount: 1 |  | ||||||
|  |  | ||||||
| # -- The `spec.strategyTpye` for updates |  | ||||||
| strategyType: RollingUpdate |  | ||||||
|  |  | ||||||
| # -- The maximum number of Pods that can be created over the desired number of `ReplicaSet` during updating. |  | ||||||
| maxSurge: 1 |  | ||||||
|  |  | ||||||
| # -- The maximum number of Pods that can be unavailable during updating |  | ||||||
| maxUnavailable: 1 |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- the repostory to pull the image from |  | ||||||
|   repository: "pihole/pihole" |  | ||||||
|   # -- the docker tag, if left empty it will get it from the chart's appVersion |  | ||||||
|   tag: "" |  | ||||||
|   # -- the pull policy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| dualStack: |  | ||||||
|   # -- set this to true to enable creation of DualStack services or creation of separate IPv6 services if `serviceDns.type` is set to `"LoadBalancer"` |  | ||||||
|   enabled: false |  | ||||||
|  |  | ||||||
| dnsHostPort: |  | ||||||
|   # -- set this to true to enable dnsHostPort |  | ||||||
|   enabled: false |  | ||||||
|   # -- default port for this pod |  | ||||||
|   port: 53 |  | ||||||
|  |  | ||||||
| # -- Configuration for the DNS service on port 53 |  | ||||||
| serviceDns: |  | ||||||
|  |  | ||||||
|   # -- deploys a mixed (TCP + UDP) Service instead of separate ones |  | ||||||
|   mixedService: false |  | ||||||
|  |  | ||||||
|   # -- `spec.type` for the DNS Service |  | ||||||
|   type: LoadBalancer |  | ||||||
|  |  | ||||||
|   # -- The port of the DNS service |  | ||||||
|   port: 53 |  | ||||||
|  |  | ||||||
|   # -- Optional node port for the DNS service |  | ||||||
|   nodePort: "" |  | ||||||
|  |  | ||||||
|   # -- `spec.externalTrafficPolicy` for the DHCP Service |  | ||||||
|   externalTrafficPolicy: Local |  | ||||||
|  |  | ||||||
|   # -- A fixed `spec.loadBalancerIP` for the DNS Service |  | ||||||
|   loadBalancerIP: 192.168.1.3 |  | ||||||
|   # -- A fixed `spec.loadBalancerIP` for the IPv6 DNS Service |  | ||||||
|   loadBalancerIPv6: "" |  | ||||||
|  |  | ||||||
|   # -- Annotations for the DNS service |  | ||||||
|   annotations:  |  | ||||||
|     # metallb.universe.tf/address-pool: network-services |  | ||||||
|     metallb.universe.tf/allow-shared-ip: pihole-svc |  | ||||||
|  |  | ||||||
| # -- Configuration for the DHCP service on port 67 |  | ||||||
| serviceDhcp: |  | ||||||
|  |  | ||||||
|   # -- Generate a Service resource for DHCP traffic |  | ||||||
|   enabled: false |  | ||||||
|  |  | ||||||
|   # -- `spec.type` for the DHCP Service |  | ||||||
|   type: NodePort |  | ||||||
|  |  | ||||||
|   # -- `spec.externalTrafficPolicy` for the DHCP Service |  | ||||||
|   externalTrafficPolicy: Local |  | ||||||
|  |  | ||||||
|   # -- A fixed `spec.loadBalancerIP` for the DHCP Service |  | ||||||
|   loadBalancerIP: "" |  | ||||||
|   # -- A fixed `spec.loadBalancerIP` for the IPv6 DHCP Service |  | ||||||
|   loadBalancerIPv6: "" |  | ||||||
|  |  | ||||||
|   # -- Annotations for the DHCP service |  | ||||||
|   annotations: {} |  | ||||||
|     # metallb.universe.tf/address-pool: network-services |  | ||||||
|     # metallb.universe.tf/allow-shared-ip: pihole-svc |  | ||||||
|  |  | ||||||
| # -- Configuration for the web interface service |  | ||||||
| serviceWeb: |  | ||||||
|   # -- Configuration for the HTTP web interface listener |  | ||||||
|   http: |  | ||||||
|  |  | ||||||
|     # -- Generate a service for HTTP traffic |  | ||||||
|     enabled: true |  | ||||||
|  |  | ||||||
|     # -- The port of the web HTTP service |  | ||||||
|     port: 80 |  | ||||||
|  |  | ||||||
|   # -- Configuration for the HTTPS web interface listener |  | ||||||
|   https: |  | ||||||
|     # -- Generate a service for HTTPS traffic |  | ||||||
|     enabled: true |  | ||||||
|  |  | ||||||
|     # -- The port of the web HTTPS service |  | ||||||
|     port: 443 |  | ||||||
|  |  | ||||||
|   # -- `spec.type` for the web interface Service |  | ||||||
|   type: ClusterIP |  | ||||||
|  |  | ||||||
|   # -- `spec.externalTrafficPolicy` for the web interface Service |  | ||||||
|   externalTrafficPolicy: Local |  | ||||||
|  |  | ||||||
|   # -- A fixed `spec.loadBalancerIP` for the web interface Service |  | ||||||
|   loadBalancerIP: "" |  | ||||||
|   # -- A fixed `spec.loadBalancerIP` for the IPv6 web interface Service |  | ||||||
|   loadBalancerIPv6: "" |  | ||||||
|  |  | ||||||
|   # -- Annotations for the DHCP service |  | ||||||
|   annotations: {} |  | ||||||
|     # metallb.universe.tf/address-pool: network-services |  | ||||||
|     # metallb.universe.tf/allow-shared-ip: pihole-svc |  | ||||||
|  |  | ||||||
| virtualHost: pi.hole |  | ||||||
|  |  | ||||||
| # -- Configuration for the Ingress |  | ||||||
| ingress: |  | ||||||
|   # -- Generate a Ingress resource |  | ||||||
|   enabled: false # DONE EXTERNALLY |  | ||||||
|  |  | ||||||
|   # -- Specify an ingressClassName |  | ||||||
|   # ingressClassName: nginx |  | ||||||
|  |  | ||||||
|   # -- Annotations for the ingress |  | ||||||
|   annotations: {} |  | ||||||
|     # kubernetes.io/ingress.class: nginx |  | ||||||
|     # kubernetes.io/tls-acme: "true" |  | ||||||
|   path: / |  | ||||||
|   hosts: |  | ||||||
|     # virtualHost (default value is pi.hole) will be appended to the hosts |  | ||||||
|     - chart-example.local |  | ||||||
|   tls: [] |  | ||||||
|   #  - secretName: chart-example-tls |  | ||||||
|   #    hosts: |  | ||||||
|   #     #- virtualHost (default value is pi.hole) will be appended to the hosts |  | ||||||
|   #      - chart-example.local |  | ||||||
|  |  | ||||||
| # -- Probes configuration |  | ||||||
| probes: |  | ||||||
|   # -- probes.liveness -- Configure the healthcheck for the ingress controller |  | ||||||
|   liveness: |  | ||||||
|     # -- Generate a liveness probe |  | ||||||
|     enabled: true |  | ||||||
|     initialDelaySeconds: 60 |  | ||||||
|     failureThreshold: 10 |  | ||||||
|     timeoutSeconds: 5 |  | ||||||
|   readiness: |  | ||||||
|     # -- Generate a readiness probe |  | ||||||
|     enabled: true |  | ||||||
|     initialDelaySeconds: 60 |  | ||||||
|     failureThreshold: 3 |  | ||||||
|     timeoutSeconds: 5 |  | ||||||
|  |  | ||||||
| # -- 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:'. |  | ||||||
| resources: {} |  | ||||||
|   # limits: |  | ||||||
|   #  cpu: 100m |  | ||||||
|   #  memory: 128Mi |  | ||||||
|   # requests: |  | ||||||
|   #  cpu: 100m |  | ||||||
|   #  memory: 128Mi |  | ||||||
|  |  | ||||||
| # -- `spec.PersitentVolumeClaim` configuration |  | ||||||
| persistentVolumeClaim: |  | ||||||
|   # -- set to true to use pvc |  | ||||||
|   enabled: true |  | ||||||
|  |  | ||||||
|   # -- specify an existing `PersistentVolumeClaim` to use |  | ||||||
|   existingClaim: "pihole-nfs" |  | ||||||
|  |  | ||||||
|   # -- Annotations for the `PersitentVolumeClaim` |  | ||||||
|   annotations: {} |  | ||||||
|  |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|  |  | ||||||
|   size: "500Mi" |  | ||||||
|  |  | ||||||
|   ## If defined, storageClassName: <storageClass> |  | ||||||
|   ## If set to "-", storageClassName: "", which disables dynamic provisioning |  | ||||||
|   ## If undefined (the default) or set to null, no storageClassName spec is |  | ||||||
|   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on |  | ||||||
|   ##   GKE, AWS & OpenStack) |  | ||||||
|   ## |  | ||||||
|   # storageClass: "-" |  | ||||||
|  |  | ||||||
|   ## If subPath is set mount a sub folder of a volume instead of the root of the volume. |  | ||||||
|   ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs). |  | ||||||
|  |  | ||||||
|   ## subPath: "pihole" |  | ||||||
|  |  | ||||||
| nodeSelector: {} |  | ||||||
|  |  | ||||||
| tolerations: [] |  | ||||||
|  |  | ||||||
| # -- Specify a priorityClassName |  | ||||||
| # priorityClassName: "" |  | ||||||
|  |  | ||||||
| # Reference: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ |  | ||||||
| topologySpreadConstraints: [] |  | ||||||
| # - maxSkew: <integer> |  | ||||||
| #   topologyKey: <string> |  | ||||||
| #   whenUnsatisfiable: <string> |  | ||||||
| #   labelSelector: <object> |  | ||||||
|  |  | ||||||
| affinity: {} |  | ||||||
|  |  | ||||||
| # -- Administrator password when not using an existing secret (see below) |  | ||||||
| adminPassword: "admin" |  | ||||||
|  |  | ||||||
| # -- Use an existing secret for the admin password. |  | ||||||
| admin: |  | ||||||
|   # -- Specify an existing secret to use as admin password |  | ||||||
|   existingSecret: "" |  | ||||||
|   # -- Specify the key inside the secret to use |  | ||||||
|   passwordKey: "" |  | ||||||
|  |  | ||||||
| # -- extraEnvironmentVars is a list of extra enviroment variables to set for pihole to use |  | ||||||
| extraEnvVars: {} |  | ||||||
|   # TZ: UTC |  | ||||||
|  |  | ||||||
| # -- extraEnvVarsSecret is a list of secrets to load in as environment variables. |  | ||||||
| extraEnvVarsSecret: {} |  | ||||||
|   # env_var: |  | ||||||
|   #   name: secret-name |  | ||||||
|   #   key: secret-key |  | ||||||
|  |  | ||||||
| # -- default upstream DNS 1 server to use |  | ||||||
| DNS1: "8.8.8.8" |  | ||||||
| # -- default upstream DNS 2 server to use |  | ||||||
| DNS2: "8.8.4.4" |  | ||||||
|  |  | ||||||
| antiaff: |  | ||||||
|   # -- set to true to enable antiaffinity (example: 2 pihole DNS in the same cluster) |  | ||||||
|   enabled: false |  | ||||||
|   # -- Here you can set the pihole release (you set in `helm install <releasename> ...`) |  | ||||||
|   # you want to avoid |  | ||||||
|   avoidRelease: pihole1 |  | ||||||
|   # -- Here you can choose between preferred or required |  | ||||||
|   strict: true |  | ||||||
|  |  | ||||||
| doh: |  | ||||||
|   # -- set to true to enabled DNS over HTTPs via cloudflared |  | ||||||
|   enabled: false |  | ||||||
|   name: "cloudflared" |  | ||||||
|   repository: "crazymax/cloudflared" |  | ||||||
|   tag: latest |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|   # -- Here you can pass environment variables to the DoH container, for example: |  | ||||||
|   envVars: {} |  | ||||||
|     # TUNNEL_DNS_UPSTREAM: "https://1.1.1.2/dns-query,https://1.0.0.2/dns-query" |  | ||||||
|  |  | ||||||
|   # -- Probes configuration |  | ||||||
|   probes: |  | ||||||
|     # -- Configure the healthcheck for the doh container |  | ||||||
|     liveness: |  | ||||||
|       # -- set to true to enable liveness probe |  | ||||||
|       enabled: true |  | ||||||
|       # -- defines the initial delay for the liveness probe |  | ||||||
|       initialDelaySeconds: 60 |  | ||||||
|       # -- defines the failure threshold for the liveness probe |  | ||||||
|       failureThreshold: 10 |  | ||||||
|       # -- defines the timeout in secondes for the liveness probe |  | ||||||
|       timeoutSeconds: 5 |  | ||||||
|  |  | ||||||
| dnsmasq: |  | ||||||
|   # -- Add upstream dns servers. All lines will be added to the pihole dnsmasq configuration |  | ||||||
|   upstreamServers: [] |  | ||||||
|   # - server=/foo.bar/192.168.178.10 |  | ||||||
|   # - server=/bar.foo/192.168.178.11 |  | ||||||
|  |  | ||||||
|   # -- Add custom dns entries to override the dns resolution. All lines will be added to the pihole dnsmasq configuration. |  | ||||||
|   customDnsEntries: [] |  | ||||||
|   # - address=/foo.bar/192.168.178.10 |  | ||||||
|   # - address=/bar.foo/192.168.178.11 |  | ||||||
|  |  | ||||||
|   # -- Dnsmasq reads the /etc/hosts file to resolve ips. You can add additional entries if you like |  | ||||||
|   additionalHostsEntries: [] |  | ||||||
|   # - 192.168.0.3     host4 |  | ||||||
|   # - 192.168.0.4     host5 |  | ||||||
|  |  | ||||||
|   # -- Static DHCP config |  | ||||||
|   staticDhcpEntries: [] |  | ||||||
|   # staticDhcpEntries: |  | ||||||
|   # - dhcp-host=MAC_ADDRESS,IP_ADDRESS,HOSTNAME |  | ||||||
|  |  | ||||||
|   # -- Other options |  | ||||||
|   customSettings: |  | ||||||
|   # otherSettings: |  | ||||||
|   # - rebind-domain-ok=/plex.direct/ |  | ||||||
|  |  | ||||||
|   # -- Here we specify custom cname entries that should point to `A` records or |  | ||||||
|   # elements in customDnsEntries array. |  | ||||||
|   # The format should be: |  | ||||||
|   #  - cname=cname.foo.bar,foo.bar |  | ||||||
|   #  - cname=cname.bar.foo,bar.foo |  | ||||||
|   #  - cname=cname record,dns record |  | ||||||
|   customCnameEntries: [] |  | ||||||
|   # Here we specify custom cname entries that should point to `A` records or |  | ||||||
|   # elements in customDnsEntries array. |  | ||||||
|   # The format should be: |  | ||||||
|   #   - cname=cname.foo.bar,foo.bar |  | ||||||
|   #   - cname=cname.bar.foo,bar.foo |  | ||||||
|   #   - cname=cname record,dns record |  | ||||||
|  |  | ||||||
| # -- list of adlists to import during initial start of the container |  | ||||||
| adlists: {} |  | ||||||
|   # If you want to provide blocklists, add them here. |  | ||||||
|   # - https://hosts-file.net/grm.txt |  | ||||||
|   # - https://reddestdream.github.io/Projects/MinimalHosts/etc/MinimalHostsBlocker/minimalhosts |  | ||||||
|  |  | ||||||
| # -- list of whitelisted domains to import during initial start of the container |  | ||||||
| whitelist: {} |  | ||||||
|   # If you want to provide whitelisted domains, add them here. |  | ||||||
|   # - clients4.google.com |  | ||||||
|  |  | ||||||
| # -- list of blacklisted domains to import during initial start of the container |  | ||||||
| blacklist: {} |  | ||||||
|   # If you want to have special domains blacklisted, add them here |  | ||||||
|   # - *.blackist.com |  | ||||||
|  |  | ||||||
| # -- list of blacklisted regex expressions to import during initial start of the container |  | ||||||
| regex: {} |  | ||||||
|   # Add regular expression blacklist items |  | ||||||
|   # - (^|\.)facebook\.com$ |  | ||||||
|  |  | ||||||
| # -- values that should be added to pihole-FTL.conf |  | ||||||
| ftl: {} |  | ||||||
|   # Add values for pihole-FTL.conf |  | ||||||
|   # MAXDBDAYS: 14 |  | ||||||
|  |  | ||||||
| # -- port the container should use to expose HTTP traffic |  | ||||||
| webHttp: "80" |  | ||||||
|  |  | ||||||
| # -- port the container should use to expose HTTPS traffic |  | ||||||
| webHttps: "443" |  | ||||||
|  |  | ||||||
| # -- hostname of pod |  | ||||||
| hostname: "" |  | ||||||
|  |  | ||||||
| # -- should the container use host network |  | ||||||
| hostNetwork: "false" |  | ||||||
|  |  | ||||||
| # -- should container run in privileged mode |  | ||||||
| privileged: "false" |  | ||||||
|  |  | ||||||
| customVolumes: |  | ||||||
|   # -- set this to true to enable custom volumes |  | ||||||
|   enabled: false |  | ||||||
|   # -- any volume type can be used here |  | ||||||
|   config: {} |  | ||||||
|     # hostPath: |  | ||||||
|     #   path: "/mnt/data" |  | ||||||
|  |  | ||||||
| # -- Additional annotations for pods |  | ||||||
| podAnnotations: {} |  | ||||||
|   # Example below allows Prometheus to scape on metric port (requires pihole-exporter sidecar enabled) |  | ||||||
|   # prometheus.io/port: '9617' |  | ||||||
|   # prometheus.io/scrape: 'true' |  | ||||||
|  |  | ||||||
| monitoring: |  | ||||||
|   # -- Preferably adding prometheus scrape annotations rather than enabling podMonitor. |  | ||||||
|   podMonitor: |  | ||||||
|     # -- set this to true to enable podMonitor |  | ||||||
|     enabled: false |  | ||||||
|   # -- Sidecar configuration |  | ||||||
|   sidecar: |  | ||||||
|     # -- set this to true to enable podMonitor as sidecar |  | ||||||
|     enabled: false |  | ||||||
|     port: 9617 |  | ||||||
|     image: |  | ||||||
|       repository: ekofr/pihole-exporter |  | ||||||
|       tag: 0.0.10 |  | ||||||
|       pullPolicy: IfNotPresent |  | ||||||
|     resources: |  | ||||||
|       limits: |  | ||||||
|         memory: 128Mi |  | ||||||
|       # requests: |  | ||||||
|       #  cpu: 100m |  | ||||||
|       #  memory: 128Mi |  | ||||||
|  |  | ||||||
| podDnsConfig: |  | ||||||
|   enabled: true |  | ||||||
|   policy: "None" |  | ||||||
|   nameservers: |  | ||||||
|   - 127.0.0.1 |  | ||||||
|   - 8.8.8.8 |  | ||||||
|  |  | ||||||
| @@ -1,68 +0,0 @@ | |||||||
| # Default values for portainer. |  | ||||||
| # This is a YAML-formatted file. |  | ||||||
| # Declare variables to be passed into your templates. |  | ||||||
|  |  | ||||||
| replicaCount: 1 |  | ||||||
|  |  | ||||||
| # If enterpriseEdition is enabled, then use the values below _instead_ of those in .image |  | ||||||
| enterpriseEdition:  |  | ||||||
|   enabled: false |  | ||||||
|   image: |  | ||||||
|     repository: portainer/portainer-ee |  | ||||||
|     tag: 2.12.2 |  | ||||||
|     pullPolicy: Always |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   repository: portainer/portainer-ce |  | ||||||
|   tag: latest |  | ||||||
|   pullPolicy: Always |  | ||||||
|  |  | ||||||
| imagePullSecrets: [] |  | ||||||
|  |  | ||||||
| nodeSelector: {} |  | ||||||
|  |  | ||||||
| serviceAccount: |  | ||||||
|   annotations: {} |  | ||||||
|   name: portainer-sa-clusteradmin |  | ||||||
|  |  | ||||||
| service: |  | ||||||
|   # Set the httpNodePort and edgeNodePort only if the type is NodePort |  | ||||||
|   # For Ingress, set the type to be ClusterIP and set ingress.enabled to true |  | ||||||
|   # For Cloud Providers, set the type to be LoadBalancer |  | ||||||
|   type: ClusterIP |  | ||||||
|   httpPort: 9000 |  | ||||||
|   httpsPort: 9443 |  | ||||||
|   httpNodePort: 30777 |  | ||||||
|   httpsNodePort: 30779 |  | ||||||
|   edgePort: 8000 |  | ||||||
|   edgeNodePort: 30776 |  | ||||||
|   annotations: {} |  | ||||||
|  |  | ||||||
| tls: |  | ||||||
|   # If set, Portainer will be configured to use TLS only |  | ||||||
|   force: false |  | ||||||
|   # If set, will mount the existing secret into the pod |  | ||||||
|   existingSecret: "" |  | ||||||
|  |  | ||||||
| feature: |  | ||||||
|   flags: "" |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   enabled: false |  | ||||||
|   ingressClassName: "" |  | ||||||
|   annotations: {} |  | ||||||
|     # kubernetes.io/ingress.class: nginx |  | ||||||
|     # Only use below if tls.force=true |  | ||||||
|     # nginx.ingress.kubernetes.io/backend-protocol: HTTPS |  | ||||||
|   # Note: Hosts and paths are of type array |  | ||||||
|   hosts: |  | ||||||
|     - host: |  | ||||||
|       paths: [] |  | ||||||
|       # - path: "/" |  | ||||||
|   tls: [] |  | ||||||
|  |  | ||||||
| resources: {} |  | ||||||
|  |  | ||||||
| persistence: |  | ||||||
|   existingClaim: portainer-data	 |  | ||||||
|  |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: IngressRoute |  | ||||||
| metadata: |  | ||||||
|   namespace: portainer |  | ||||||
|   name: portainer-ingressroute |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   entryPoints: |  | ||||||
|     - websecure |  | ||||||
|   routes: |  | ||||||
|   - match: Host(`portainer.kluster.moll.re`) |  | ||||||
|     kind: Rule |  | ||||||
|     services: |  | ||||||
|     - name: portainer |  | ||||||
|       port: 9000 |  | ||||||
|   tls: |  | ||||||
|     certResolver: default-tls  |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: portainer |  | ||||||
|   name: portainer-data |  | ||||||
|   labels: |  | ||||||
|     directory: portainer |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "10Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /portainer |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: portainer |  | ||||||
|   name: portainer-data |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "10Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: portainer |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,19 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: monitoring |  | ||||||
|   name: prometheus-data-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: prometheus |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   capacity: |  | ||||||
|     storage: "50Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /prometheus |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,79 +0,0 @@ | |||||||
| # mkdir -p /var/lib/pufferpanel |  | ||||||
| # docker volume create pufferpanel-config |  | ||||||
| # docker create --name pufferpanel -p 8080:8080 -p 5657:5657 -v pufferpanel-config:/etc/pufferpanel -v /var/lib/pufferpanel:/var/lib/pufferpanel --restart=on-failure  |  | ||||||
| # docker start pufferpanel |  | ||||||
| # docker exec -it pufferpanel /pufferpanel/pufferpanel user add |  | ||||||
|  |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: pufferpanel |  | ||||||
|   namespace: pufferpanel |  | ||||||
|   labels: |  | ||||||
|     app: pufferpanel |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: pufferpanel |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: pufferpanel |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: pufferpanel |  | ||||||
|         image: karyeet/pufferpanel:devel |  | ||||||
|         tty: true |  | ||||||
|         ports: |  | ||||||
|             - containerPort: 8080 |  | ||||||
|             - containerPort: 5657 |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /var/lib/pufferpanel |  | ||||||
|           name: pufferpanel-nfs |  | ||||||
|         - mountPath: /etc/pufferpanel |  | ||||||
|           name: pufferpanel-config-nfs |  | ||||||
|         resources: |  | ||||||
|           requests: |  | ||||||
|             memory: "2Gi" |  | ||||||
|             cpu: 1 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: pufferpanel-nfs |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: pufferpanel-nfs |  | ||||||
|       - name: pufferpanel-config-nfs |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: pufferpanel-config-nfs |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: pufferpanel |  | ||||||
|   namespace: pufferpanel |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   ports: |  | ||||||
|     - name: http |  | ||||||
|       port: 8080 |  | ||||||
|   selector: |  | ||||||
|     app: pufferpanel |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: pufferpanel-mc |  | ||||||
|   namespace: pufferpanel |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   # -- `spec.type` for the DNS Service |  | ||||||
|   type: LoadBalancer |  | ||||||
|  |  | ||||||
|   # -- The port of the DNS service |  | ||||||
|   ports:  |  | ||||||
|   - name: mc-port |  | ||||||
|     port: 25565 |  | ||||||
|     nodePort: 30005 |  | ||||||
|     protocol: TCP |  | ||||||
| @@ -1,28 +0,0 @@ | |||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: pufferpanel |  | ||||||
|   name: pufferpanel-ingress |  | ||||||
|   annotations: |  | ||||||
|    |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     # traefik.ingress.kubernetes.io/router.middlewares: default-redirect@kubernetescrd |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|  |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - game.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: game.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: pufferpanel |  | ||||||
|               port:  |  | ||||||
|                 number: 8080 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: pufferpanel |  | ||||||
|   name: pufferpanel-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: pufferpanel |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "20Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /pufferpanel/data |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: pufferpanel |  | ||||||
|   name: pufferpanel-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "20Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: pufferpanel |  | ||||||
| --- |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: pufferpanel |  | ||||||
|   name: pufferpanel-config-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: pufferpanel |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "1Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /pufferpanel/config |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: pufferpanel |  | ||||||
|   name: pufferpanel-config-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "1Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: pufferpanel |  | ||||||
| --- |  | ||||||
| @@ -1,130 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: raspap |  | ||||||
|   labels: |  | ||||||
|     app: raspap |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: raspap |  | ||||||
|   name: raspap-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: raspap |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "2Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /raspap |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: raspap |  | ||||||
|   name: raspap-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "2Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: raspap |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: raspap |  | ||||||
|   namespace: raspap |  | ||||||
|   labels: |  | ||||||
|     app: raspap |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: raspap |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: raspap |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: raspap |  | ||||||
|         image: jrcichra/raspap-docker |  | ||||||
|         tty: true |  | ||||||
|         networkMode: "host" |  | ||||||
|         securityContext: |  | ||||||
|           capabilities: |  | ||||||
|             add: |  | ||||||
|               - SYS_ADMIN |  | ||||||
|         ports: |  | ||||||
|           - containerPort: 8000 |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /data |  | ||||||
|           name: raspap-nfs |  | ||||||
|         - mountPath: /sys/fs/cgroup |  | ||||||
|           name: cgroup |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: cgroup |  | ||||||
|         hostPath: |  | ||||||
|           path: /sys/fs/cgroup |  | ||||||
|           readOnly: true |  | ||||||
|       - name: raspap-nfs |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: raspap-nfs |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: archive |  | ||||||
|   namespace: archive |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   type: ClusterIP |  | ||||||
|   ports: |  | ||||||
|     - name: http |  | ||||||
|       port: 8000 |  | ||||||
|   selector: |  | ||||||
|     app: archive |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: archive |  | ||||||
|   name: archive-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - archive.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: archive.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: archive |  | ||||||
|               port:  |  | ||||||
|                 number: 8000 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: rocketchat |  | ||||||
|   name: rocketchat-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|      |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - chat.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: chat.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: rocketchat-rocketchat |  | ||||||
|               port:  |  | ||||||
|                 number: 80 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: rocketchat |  | ||||||
|   name: rocketchat-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: rocketchat |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   capacity: |  | ||||||
|     storage: "8Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /rocketchat |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| ## pihole.persistentvolumeclaim.yml |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: rocketchat |  | ||||||
|   name: rocketchat-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "8Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: rocketchat |  | ||||||
| --- |  | ||||||
| @@ -1,247 +0,0 @@ | |||||||
| ## Rocket Chat image version |  | ||||||
| ## ref: https://hub.docker.com/r/rocketchat/rocket.chat/tags |  | ||||||
| ## |  | ||||||
| image: |  | ||||||
|   ## NOTE: for microsservices, those two itens get ignored,  |  | ||||||
|   ## for now.  |  | ||||||
|   repository: rs1977rs/rocketchat |  | ||||||
|   tag: arm64-4.3.3 |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| imagePullSecrets: [] |  | ||||||
|  |  | ||||||
| ## Host for the application |  | ||||||
| ## set it to a domain pointing to your loadbalancer |  | ||||||
| # host: |  | ||||||
|  |  | ||||||
| replicaCount: 1 |  | ||||||
| minAvailable: 1 |  | ||||||
|  |  | ||||||
| smtp: |  | ||||||
|   enabled: false |  | ||||||
|   username: |  | ||||||
|   password: |  | ||||||
|   host: |  | ||||||
|   port: 587 |  | ||||||
|  |  | ||||||
| # Extra env vars for Rocket.Chat: |  | ||||||
| extraEnv: |  | ||||||
|   # - name: MONGO_OPTIONS |  | ||||||
|   #   value: '{"ssl": "true"}' |  | ||||||
|   # - name: MONGO_OPLOG_URL |  | ||||||
|   #   value: mongodb://oploguser:password@rocket-1:27017/local&replicaSet=rs0 |  | ||||||
|  |  | ||||||
| ## Specifies a Registration Token (obtainable at https://cloud.rocket.chat) |  | ||||||
| #registrationToken: "" |  | ||||||
|  |  | ||||||
| ## Specifies an Enterprise License |  | ||||||
| # license: "" |  | ||||||
|  |  | ||||||
| ## Pod anti-affinity can prevent the scheduler from placing RocketChat replicas on the same node. |  | ||||||
| ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided. |  | ||||||
| ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node. |  | ||||||
| ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured. |  | ||||||
| ## |  | ||||||
| podAntiAffinity: '' |  | ||||||
|  |  | ||||||
| ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity. |  | ||||||
| ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone |  | ||||||
| ## |  | ||||||
| podAntiAffinityTopologyKey: kubernetes.io/hostname |  | ||||||
|  |  | ||||||
| ## Assign custom affinity rules to the RocketChat instance |  | ||||||
| ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |  | ||||||
| ## |  | ||||||
| affinity: {} |  | ||||||
| # nodeAffinity: |  | ||||||
| #   requiredDuringSchedulingIgnoredDuringExecution: |  | ||||||
| #     nodeSelectorTerms: |  | ||||||
| #     - matchExpressions: |  | ||||||
| #       - key: kubernetes.io/e2e-az-name |  | ||||||
| #         operator: In |  | ||||||
| #         values: |  | ||||||
| #         - e2e-az1 |  | ||||||
| #         - e2e-az2 |  | ||||||
| # mongodb://user:password@localhost:27017/local?replicaSet=rs0&authSource=admin |  | ||||||
|  |  | ||||||
| ## |  | ||||||
| ## MongoDB chart configuration |  | ||||||
| ### ref https://github.com/helm/charts/tree/master/stable/mongodb#configuration |  | ||||||
| ## |  | ||||||
| mongodb: |  | ||||||
|   ## Enable or disable MongoDB dependency completely. |  | ||||||
|   enabled: true |  | ||||||
|  |  | ||||||
|   auth: |  | ||||||
|     rootPassword: blablabla |  | ||||||
|     username: rocketchat |  | ||||||
|     password: blablabla |  | ||||||
|     database: rocketchat |  | ||||||
|    |  | ||||||
|   architecture: replicaset |  | ||||||
|   replicaCount: 1 |  | ||||||
|   arbiter: |  | ||||||
|     enabled: false |  | ||||||
|     pdb: |  | ||||||
|       minAvailable: 0 |  | ||||||
|   pdb: |  | ||||||
|     minAvailable: 0 |  | ||||||
|  |  | ||||||
|     # key: |  | ||||||
|  |  | ||||||
|   persistence: |  | ||||||
|     enabled: false |  | ||||||
|     ## mongodb data Persistent Volume Storage Class |  | ||||||
|     ## If defined, storageClassName: <storageClass> |  | ||||||
|     ## If set to "-", storageClassName: "", which disables dynamic provisioning |  | ||||||
|     ## If undefined (the default) or set to null, no storageClassName spec is |  | ||||||
|     ##   set, choosing the default provisioner.  (gp2 on AWS, standard on |  | ||||||
|     ##   GKE, AWS & OpenStack) |  | ||||||
|     ## |  | ||||||
|     # storageClass: "-" |  | ||||||
|     accessMode: ReadWriteOnce |  | ||||||
|     size: 8Gi |  | ||||||
|    |  | ||||||
|   volumePermissions: {enabled: true} |  | ||||||
|  |  | ||||||
| ## Enable persistence using Persistent Volume Claims |  | ||||||
| ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ |  | ||||||
| ## |  | ||||||
| persistence: |  | ||||||
|   enabled: true |  | ||||||
|   existingClaim: rocketchat-nfs |  | ||||||
|   ## rocketchat data Persistent Volume Storage Class |  | ||||||
|   ## If defined, storageClassName: <storageClass> |  | ||||||
|   ## If set to "-", storageClassName: "", which disables dynamic provisioning |  | ||||||
|   ## If undefined (the default) or set to null, no storageClassName spec is |  | ||||||
|   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on |  | ||||||
|   ##   GKE, AWS & OpenStack) |  | ||||||
|   ## |  | ||||||
|   # storageClass: "-" |  | ||||||
|   accessMode: ReadWriteOnce |  | ||||||
|   size: 8Gi |  | ||||||
|  |  | ||||||
| ## Configure resource requests and limits |  | ||||||
| ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ |  | ||||||
| ## |  | ||||||
| # resources: |  | ||||||
| #   requests: |  | ||||||
| #     memory: 512Mi |  | ||||||
| #     cpu: 300m |  | ||||||
|  |  | ||||||
| securityContext: |  | ||||||
|   enabled: true |  | ||||||
|   runAsUser: 999 |  | ||||||
|   fsGroup: 999 |  | ||||||
|  |  | ||||||
| serviceAccount: |  | ||||||
|   # Specifies whether a ServiceAccount should be created |  | ||||||
|   create: true |  | ||||||
|  |  | ||||||
|   # The name of the ServiceAccount to use. |  | ||||||
|   # If not set and create is true, a name is generated using the fullname template |  | ||||||
|   name: |  | ||||||
|  |  | ||||||
| ## Configure the ingress object to hook into existing infastructure |  | ||||||
| ### ref : http://kubernetes.io/docs/user-guide/ingress/ |  | ||||||
| ### |  | ||||||
| ingress: |  | ||||||
|   enabled: false |  | ||||||
|   pathType: Prefix |  | ||||||
|   annotations: |  | ||||||
|     {} |  | ||||||
|   # ingressClassName: "nxinx" |  | ||||||
|   annotations: {} |  | ||||||
|     # kubernetes.io/ingress.class: "nginx" |  | ||||||
|   path: / |  | ||||||
|   tls: {} |  | ||||||
|   #  - secretName: chart-example-tls |  | ||||||
|   #    hosts: |  | ||||||
|   #      - chart-example.local |  | ||||||
|  |  | ||||||
| service: |  | ||||||
|   annotations: {} |  | ||||||
|   # service.beta.kubernetes.io/aws-load-balancer-internal: "0.0.0.0/0" |  | ||||||
|  |  | ||||||
|   labels: {} |  | ||||||
|   # key: value |  | ||||||
|  |  | ||||||
|   ## ServiceType |  | ||||||
|   ## ref: https://kubernetes.io/docs/user-guide/services/#publishing-services---service-types |  | ||||||
|   type: ClusterIP |  | ||||||
|  |  | ||||||
|   ## Optional static port assignment for service type NodePort. |  | ||||||
|   # nodePort: 30000 |  | ||||||
|  |  | ||||||
|   port: 80 |  | ||||||
|  |  | ||||||
| ## Optional custom labels for the deployment resource. |  | ||||||
| deploymentLabels: {} |  | ||||||
|  |  | ||||||
| ## Optional Pod Labels. |  | ||||||
| podLabels: {} |  | ||||||
|  |  | ||||||
| ## Optional Pod Annotations. |  | ||||||
| podAnnotations: |  | ||||||
|   {} |  | ||||||
|   # prometheus.io/port: "9458" |  | ||||||
|   # prometheus.io/path: "/metrics" |  | ||||||
|   # prometheus.io/scrape: "true" |  | ||||||
|  |  | ||||||
| ## Optional Prometheus scraping Settings |  | ||||||
| prometheusScraping: |  | ||||||
|   enabled: true |  | ||||||
|   port: 9458 |  | ||||||
|  |  | ||||||
| ## Liveness and readiness probe values |  | ||||||
| ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes |  | ||||||
| ## |  | ||||||
| livenessProbe: |  | ||||||
|   enabled: true |  | ||||||
|   initialDelaySeconds: 60 |  | ||||||
|   periodSeconds: 15 |  | ||||||
|   timeoutSeconds: 5 |  | ||||||
|   failureThreshold: 3 |  | ||||||
|   successThreshold: 1 |  | ||||||
|  |  | ||||||
| readinessProbe: |  | ||||||
|   enabled: true |  | ||||||
|   initialDelaySeconds: 10 |  | ||||||
|   periodSeconds: 15 |  | ||||||
|   timeoutSeconds: 5 |  | ||||||
|   failureThreshold: 3 |  | ||||||
|   successThreshold: 1 |  | ||||||
|  |  | ||||||
| # # # # # # # # # # # # # # # # # |  | ||||||
| #   M I C R O S E R V I C E S   # |  | ||||||
| #  Only available to E.E users  # |  | ||||||
| # # # # # # # # # # # # # # # # # |  | ||||||
|  |  | ||||||
| ## Deploy as microservices? |  | ||||||
| # Monolithic architecture, by default |  | ||||||
| microservices:  |  | ||||||
|   enabled: false |  | ||||||
|  |  | ||||||
|   ## Parameters for each deployment:  |  | ||||||
|   presence:  |  | ||||||
|     replicas: 1 |  | ||||||
|   ddpStreamer: |  | ||||||
|     replicas: 1  |  | ||||||
|   streamHub:  |  | ||||||
|     replicas: 1 |  | ||||||
|   accounts:  |  | ||||||
|     replicas: 1 |  | ||||||
|   authorization: |  | ||||||
|     replicas: 1  |  | ||||||
|   nats:  |  | ||||||
|     replicas: 1  |  | ||||||
|  |  | ||||||
|   ## Parameters for each Kubernetes service |  | ||||||
|   # NOTE: reserved for future usage still |  | ||||||
|   presenceService:  |  | ||||||
|   ddpStreamerService:  |  | ||||||
|   natsService:  |  | ||||||
|   streamHubService:  |  | ||||||
|   accountsService:  |  | ||||||
|   authorizationService:  |  | ||||||
|   natsService:  |  | ||||||
| @@ -1,131 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: searx |  | ||||||
|   labels: |  | ||||||
|     app: searx |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: searx |  | ||||||
|   name: searx-data-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: searx |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "5Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /searx |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: searx |  | ||||||
|   name: searx-data-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "5Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: searx |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: searx |  | ||||||
|   namespace: searx |  | ||||||
|   labels: |  | ||||||
|     app: searx |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: searx |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: searx |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: searx |  | ||||||
|         image: searxng/searxng |  | ||||||
|         tty: true |  | ||||||
|         ports: |  | ||||||
|           - containerPort: 8080 |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /etc/searxng |  | ||||||
|           name: searx-data |  | ||||||
|         env: |  | ||||||
|           - name: BASE_URL |  | ||||||
|             value: https://search.kluster.moll.re |  | ||||||
|           - name: INSTANCE_NAME |  | ||||||
|             value: searx |  | ||||||
|         resources: |  | ||||||
|             requests: |  | ||||||
|               cpu: "100m" |  | ||||||
|               memory: "100Mi" |  | ||||||
|             limits: |  | ||||||
|               cpu: "1" |  | ||||||
|               memory: "500Mi" |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: searx-data |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: searx-data-nfs |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: searx |  | ||||||
|   namespace: searx |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   type: ClusterIP |  | ||||||
|   ports: |  | ||||||
|     - name: http |  | ||||||
|       port: 8080 |  | ||||||
|   selector: |  | ||||||
|     app: searx |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   namespace: searx |  | ||||||
|   name: searx-ingress |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - search.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|     - host: search.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: searx |  | ||||||
|               port:  |  | ||||||
|                 number: 8080 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
| @@ -1,40 +0,0 @@ | |||||||
| kind: Deployment |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| metadata: |  | ||||||
|   name: skooner |  | ||||||
|   namespace: kube-system |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       k8s-app: skooner |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         k8s-app: skooner |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: skooner |  | ||||||
|         image: nerdinexile/skooner:latest |  | ||||||
|         ports: |  | ||||||
|         - containerPort: 4654 |  | ||||||
|         livenessProbe: |  | ||||||
|           httpGet: |  | ||||||
|             scheme: HTTP |  | ||||||
|             path: / |  | ||||||
|             port: 4654 |  | ||||||
|           initialDelaySeconds: 30 |  | ||||||
|           timeoutSeconds: 30 |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| kind: Service |  | ||||||
| apiVersion: v1 |  | ||||||
| metadata: |  | ||||||
|   name: skooner |  | ||||||
|   namespace: kube-system |  | ||||||
| spec: |  | ||||||
|   ports: |  | ||||||
|     - port: 80 |  | ||||||
|       targetPort: 4654 |  | ||||||
|   selector: |  | ||||||
|     k8s-app: skooner |  | ||||||
| @@ -1,28 +0,0 @@ | |||||||
| kind: Ingress |  | ||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| metadata: |  | ||||||
|   name: skooner |  | ||||||
|   namespace: kube-system |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|  |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: |  | ||||||
|     - dashboard.kluster.moll.re |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|  |  | ||||||
|   rules: |  | ||||||
|     - host: dashboard.kluster.moll.re |  | ||||||
|       http: |  | ||||||
|         paths: |  | ||||||
|         - backend: |  | ||||||
|             service: |  | ||||||
|               name: skooner |  | ||||||
|               port: |  | ||||||
|                 number:  80 |  | ||||||
|           path: / |  | ||||||
|           pathType: Prefix |  | ||||||
|    |  | ||||||
| @@ -1,115 +0,0 @@ | |||||||
| apiVersion: v1 |  | ||||||
| kind: Namespace |  | ||||||
| metadata: |  | ||||||
|   name: storage |  | ||||||
|   labels: |  | ||||||
|     app: storage |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   name: local-pv |  | ||||||
|   namespace: storage |  | ||||||
| spec: |  | ||||||
|   capacity: |  | ||||||
|     storage: 400Gi |  | ||||||
|   accessModes: |  | ||||||
|   - ReadWriteOnce |  | ||||||
|   persistentVolumeReclaimPolicy: Retain |  | ||||||
|   storageClassName: local-storage |  | ||||||
|   local: |  | ||||||
|     path: "/mnt/data/" |  | ||||||
|   nodeAffinity: |  | ||||||
|     required: |  | ||||||
|       nodeSelectorTerms: |  | ||||||
|       - matchExpressions: |  | ||||||
|         - key: hdd # only one node will have a drive attached to it! |  | ||||||
|           operator: In |  | ||||||
|           values: |  | ||||||
|           - enabled |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| apiVersion: v1 |  | ||||||
| metadata: |  | ||||||
|   name: local-claim |  | ||||||
|   namespace: storage |  | ||||||
| spec: |  | ||||||
|   accessModes: |  | ||||||
|   - ReadWriteOnce |  | ||||||
|   storageClassName: local-storage |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: 400Gi |  | ||||||
|        |  | ||||||
| --- |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: nfs-server |  | ||||||
|   namespace: storage |  | ||||||
|   labels: |  | ||||||
|     app: nfs-server |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: nfs-server |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: nfs-server |  | ||||||
|         name: nfs-server |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: nfs-server |  | ||||||
|         image: itsthenetwork/nfs-server-alpine:11-arm |  | ||||||
|         env: |  | ||||||
|           - name: SHARED_DIRECTORY |  | ||||||
|             value: /exports |  | ||||||
|           - name: PERMITTED |  | ||||||
|             value: 10.42.*.* |  | ||||||
|             # ,192.168.1.112 |  | ||||||
|         ports: |  | ||||||
|           - name: nfs |  | ||||||
|             containerPort: 2049 |  | ||||||
|           - name: mountd |  | ||||||
|             containerPort: 20048 |  | ||||||
|           - name: rpcbind |  | ||||||
|             containerPort: 111 |  | ||||||
|         securityContext: |  | ||||||
|           privileged: true |  | ||||||
|         volumeMounts: |  | ||||||
|           - mountPath: /exports |  | ||||||
|             name: mypvc |  | ||||||
|       volumes: |  | ||||||
|         - name: mypvc |  | ||||||
|           persistentVolumeClaim: |  | ||||||
|             claimName: local-claim |  | ||||||
|       nodeSelector: |  | ||||||
|         hdd: enabled |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| kind: Service |  | ||||||
| apiVersion: v1 |  | ||||||
| metadata: |  | ||||||
|   name: nfs-server |  | ||||||
|   namespace: storage |  | ||||||
| spec: |  | ||||||
|   type: LoadBalancer |  | ||||||
|   loadBalancerSourceRanges: |  | ||||||
|   - 192.168.1.112/31 |  | ||||||
|   #restricted to archspectres ip only! |  | ||||||
|   - 192.168.1.134/31 |  | ||||||
|   # and amd node |  | ||||||
|   - 192.168.1.150/24 |  | ||||||
|   # and more |  | ||||||
|   ports: |  | ||||||
|     - name: nfs |  | ||||||
|       port: 2049 |  | ||||||
|     - name: mountd |  | ||||||
|       port: 20048 |  | ||||||
|     - name: rpcbind |  | ||||||
|       port: 111 |  | ||||||
|   selector: |  | ||||||
|     app: nfs-server |  | ||||||
| @@ -1,59 +0,0 @@ | |||||||
| # apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| # kind: IngressRoute |  | ||||||
| # metadata: |  | ||||||
| #   name: syncthing-ingress |  | ||||||
| #   namespace: syncthing |  | ||||||
| # spec: |  | ||||||
| #   entryPoints: |  | ||||||
| #     - websecure |  | ||||||
| #   routes: |  | ||||||
| #     - match: Host(`syncthing.kluster.moll.re`) |  | ||||||
| #       kind: Rule |  | ||||||
| #       services: |  | ||||||
| #         - name: syncthing |  | ||||||
| #           port: 8384 |  | ||||||
| #   tls: |  | ||||||
| #     certResolver: default-tls |  | ||||||
|  |  | ||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: Middleware |  | ||||||
| metadata: |  | ||||||
|   name: authentik-auth |  | ||||||
|   namespace: syncthing |  | ||||||
| spec: |  | ||||||
|   forwardAuth: |  | ||||||
|     address: https://syncthing.kluster.moll.re/outpost.goauthentik.io/auth/traefik |  | ||||||
|     trustForwardHeader: true |  | ||||||
|     authResponseHeaders: |  | ||||||
|       - X-authentik-username |  | ||||||
|       - X-authentik-groups |  | ||||||
|       - X-authentik-email |  | ||||||
|       - X-authentik-name |  | ||||||
|       - X-authentik-uid |  | ||||||
|       - X-authentik-jwt |  | ||||||
|       - X-authentik-meta-jwks |  | ||||||
|       - X-authentik-meta-outpost |  | ||||||
|       - X-authentik-meta-provider |  | ||||||
|       - X-authentik-meta-app |  | ||||||
|       - X-authentik-meta-version |  | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| apiVersion: traefik.containo.us/v1alpha1 |  | ||||||
| kind: IngressRoute |  | ||||||
| metadata: |  | ||||||
|   name: syncthing-ingress |  | ||||||
|   namespace: syncthing |  | ||||||
| spec: |  | ||||||
|   entryPoints: |  | ||||||
|     - websecure |  | ||||||
|   routes: |  | ||||||
|     - match: Host(`syncthing.kluster.moll.re`) |  | ||||||
|       kind: Rule |  | ||||||
|       middlewares: |  | ||||||
|         - name: authentik-auth |  | ||||||
|       services: |  | ||||||
|         - name: syncthing |  | ||||||
|           port: 8384 |  | ||||||
|   tls: |  | ||||||
|     certResolver: default-tls |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: syncthing |  | ||||||
|   name: syncthing-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: syncthing |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "100Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /data-sync |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: syncthing |  | ||||||
|   name: syncthing-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "100Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: syncthing |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,56 +0,0 @@ | |||||||
| # |  | ||||||
| # IMPORTANT NOTE |  | ||||||
| # |  | ||||||
| # This chart inherits from our common library chart. You can check the default values/options here: |  | ||||||
| # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |  | ||||||
| # |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   # -- image repository |  | ||||||
|   repository: syncthing/syncthing |  | ||||||
|   # -- image tag |  | ||||||
|   tag: 1.18.2 |  | ||||||
|   # -- image pull policy |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| # -- Configures service settings for the chart. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| service: |  | ||||||
|   main: |  | ||||||
|     ports: |  | ||||||
|       http: |  | ||||||
|         port: 8384 |  | ||||||
|   listen: |  | ||||||
|     enabled: true |  | ||||||
|     type: NodePort |  | ||||||
|     externalTrafficPolicy: Local |  | ||||||
|     ports: |  | ||||||
|       listen: |  | ||||||
|         enabled: true |  | ||||||
|         port: 22000 |  | ||||||
|         protocol: TCP |  | ||||||
|         targetPort: 22000 |  | ||||||
|   discovery: |  | ||||||
|     enabled: true |  | ||||||
|     type: NodePort |  | ||||||
|     externalTrafficPolicy: Local |  | ||||||
|     ports: |  | ||||||
|       discovery: |  | ||||||
|         enabled: true |  | ||||||
|         port: 21027 |  | ||||||
|         protocol: UDP |  | ||||||
|         targetPort: 21027 |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   # -- Enable and configure ingress settings for the chart under this key. |  | ||||||
|   # @default -- See values.yaml |  | ||||||
|   main: |  | ||||||
|     enabled: false |  | ||||||
|  |  | ||||||
| # -- Configure persistence settings for the chart under this key. |  | ||||||
| # @default -- See values.yaml |  | ||||||
| persistence: |  | ||||||
|   data: |  | ||||||
|     enabled: true |  | ||||||
|     mountPath: /var/syncthing |  | ||||||
|     existingClaim: syncthing-nfs |  | ||||||
| @@ -1,116 +0,0 @@ | |||||||
| ## Default values.yaml for Telegraf |  | ||||||
| ## This is a YAML-formatted file. |  | ||||||
| ## ref: https://hub.docker.com/r/library/telegraf/tags/ |  | ||||||
|  |  | ||||||
| replicaCount: 1 |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   repo: "telegraf" |  | ||||||
|   tag: "1.23" |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| podAnnotations: {} |  | ||||||
|  |  | ||||||
| podLabels: {} |  | ||||||
|  |  | ||||||
| imagePullSecrets: [] |  | ||||||
|  |  | ||||||
| ## Configure args passed to Telegraf containers |  | ||||||
| args: [] |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # The name of a secret in the same kubernetes namespace which contains values to |  | ||||||
| # be added to the environment (must be manually created) |  | ||||||
| # This can be useful for auth tokens, etc. |  | ||||||
|  |  | ||||||
| # envFromSecret: "telegraf-tokens" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| env: |  | ||||||
|   - name: HOSTNAME |  | ||||||
|     value: "telegraf-polling-service" |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Configure resource requests and limits |  | ||||||
| ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ |  | ||||||
| resources: {} |  | ||||||
|   # requests: |  | ||||||
|   #   memory: 128Mi |  | ||||||
|   #   cpu: 100m |  | ||||||
|   # limits: |  | ||||||
|   #   memory: 128Mi |  | ||||||
|   #   cpu: 100m |  | ||||||
|  |  | ||||||
| ## Node labels for pod assignment |  | ||||||
| ## ref: https://kubernetes.io/docs/user-guide/node-selection/ |  | ||||||
| nodeSelector: {} |  | ||||||
|  |  | ||||||
| ## Affinity for pod assignment |  | ||||||
| ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity |  | ||||||
| ## |  | ||||||
| affinity: # launch on same node as nginx controller so that log file is readable |  | ||||||
|   podAffinity: |  | ||||||
|     requiredDuringSchedulingIgnoredDuringExecution: |  | ||||||
|     - labelSelector: |  | ||||||
|         matchExpressions: |  | ||||||
|         - key: app.kubernetes.io/instance |  | ||||||
|           operator: In |  | ||||||
|           values: |  | ||||||
|           - ingress-nginx |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Tolerations for pod assignment |  | ||||||
| ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |  | ||||||
| ## |  | ||||||
| tolerations: [] |  | ||||||
| # - key: "key" |  | ||||||
| #   operator: "Equal|Exists" |  | ||||||
| #   value: "value" |  | ||||||
| #   effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |  | ||||||
|  |  | ||||||
| service: |  | ||||||
|   enabled: false |  | ||||||
|   type: ClusterIP |  | ||||||
|   annotations: {} |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Exposed telegraf configuration |  | ||||||
| ## For full list of possible values see `/docs/all-config-values.yaml` and `/docs/all-config-values.toml` |  | ||||||
| ## ref: https://docs.influxdata.com/telegraf/v1.1/administration/configuration/ |  | ||||||
| config: |  | ||||||
|   agent: |  | ||||||
|     interval: "10s" |  | ||||||
|     round_interval: true |  | ||||||
|     metric_batch_size: 1000 |  | ||||||
|     metric_buffer_limit: 10000 |  | ||||||
|     collection_jitter: "0s" |  | ||||||
|     flush_interval: "10s" |  | ||||||
|     flush_jitter: "0s" |  | ||||||
|     precision: "" |  | ||||||
|     debug: false |  | ||||||
|     quiet: false |  | ||||||
|     logfile: "" |  | ||||||
|     hostname: "$HOSTNAME" |  | ||||||
|     omit_hostname: false |  | ||||||
|   processors: |  | ||||||
|     - enum: |  | ||||||
|         mapping: |  | ||||||
|           field: "status" |  | ||||||
|           dest: "status_code" |  | ||||||
|           value_mappings: |  | ||||||
|             healthy: 1 |  | ||||||
|             problem: 2 |  | ||||||
|             critical: 3 |  | ||||||
|   outputs: |  | ||||||
|     - influxdb_v2: |  | ||||||
|         urls: |  | ||||||
|           - "http://influxdb-influxdb2.monitoring:80" |  | ||||||
|         token: N_jNm1hZTfyhJneTJj2G357mQ7EJdNzdvebjSJX6JkbyaXNup_IAqeYowblMgV8EjLypNvauTl27ewJvI_rbqQ== |  | ||||||
|         organization: "influxdata" |  | ||||||
|         bucket: "kluster" |  | ||||||
|   inputs: |  | ||||||
|     - prometheus: |  | ||||||
|         urls: |  | ||||||
|           - "http://10.42.0.218:9113" |  | ||||||
| @@ -1,25 +0,0 @@ | |||||||
| apiVersion: networking.k8s.io/v1 |  | ||||||
| kind: Ingress |  | ||||||
| metadata: |  | ||||||
|   name: trilium-ingress |  | ||||||
|   namespace: trilium |  | ||||||
|   annotations: |  | ||||||
|     kubernetes.io/ingress.class: nginx |  | ||||||
|     cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   tls: |  | ||||||
|   - hosts: [ 'trilium.kluster.moll.re' ] |  | ||||||
|     secretName: cloudflare-letsencrypt-issuer-account-key |  | ||||||
|   rules: |  | ||||||
|  |  | ||||||
|   - host: trilium.kluster.moll.re |  | ||||||
|     http: |  | ||||||
|       paths: |  | ||||||
|       - pathType: Prefix |  | ||||||
|         path: / |  | ||||||
|         backend: |  | ||||||
|           service: |  | ||||||
|             name: trilium-trilium-notes |  | ||||||
|             port: |  | ||||||
|               number: 8080 |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: trilium |  | ||||||
|   name: trilium-data-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: trilium |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   capacity: |  | ||||||
|     storage: "2Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /trilium |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: trilium |  | ||||||
|   name: trilium-data-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: slow |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "2Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: trilium |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,78 +0,0 @@ | |||||||
| # Default values for trilium-notes. |  | ||||||
| # This is a YAML-formatted file. |  | ||||||
| # Declare variables to be passed into your templates. |  | ||||||
|  |  | ||||||
| replicaCount: 1 |  | ||||||
|  |  | ||||||
| image: |  | ||||||
|   repository: zadam/trilium |  | ||||||
|   tag: "latest" |  | ||||||
|   pullPolicy: IfNotPresent |  | ||||||
|  |  | ||||||
| imagePullSecrets: [] |  | ||||||
| nameOverride: "" |  | ||||||
| fullnameOverride: "" |  | ||||||
|  |  | ||||||
| serviceAccount: |  | ||||||
|   create: true |  | ||||||
|   annotations: {} |  | ||||||
|   # If not set and create is true, a name is generated using the fullname template |  | ||||||
|   name: |  | ||||||
|  |  | ||||||
| podSecurityContext: |  | ||||||
|   fsGroup: 10000 |  | ||||||
|  |  | ||||||
| securityContext: |  | ||||||
|   capabilities: |  | ||||||
|     drop: |  | ||||||
|       - ALL |  | ||||||
|   runAsNonRoot: true |  | ||||||
|   runAsUser: 10000 |  | ||||||
|   allowPrivilegeEscalation: false |  | ||||||
|  |  | ||||||
| service: |  | ||||||
|   type: ClusterIP |  | ||||||
|   port: 8080 |  | ||||||
|  |  | ||||||
| dataDir: /srv/trilium-data |  | ||||||
|  |  | ||||||
| persistentVolume: |  | ||||||
|   enabled: true |  | ||||||
|   existingClaim: trilium-data-nfs |  | ||||||
|  |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   annotations: {} |  | ||||||
|   size: 2Gi |  | ||||||
|  |  | ||||||
| ingress: |  | ||||||
|   enabled: false |  | ||||||
|   annotations: {} |  | ||||||
|     # kubernetes.io/ingress.class: nginx |  | ||||||
|     # kubernetes.io/tls-acme: "true" |  | ||||||
|   hosts: |  | ||||||
|     - host: chart-example.local |  | ||||||
|       paths: [] |  | ||||||
|   tls: [] |  | ||||||
|   #  - secretName: chart-example-tls |  | ||||||
|   #    hosts: |  | ||||||
|   #      - chart-example.local |  | ||||||
|  |  | ||||||
| resources: {} |  | ||||||
|   # We usually recommend not to specify default resources and to leave this as a conscious |  | ||||||
|   # choice for the user. This also increases chances charts run on environments with little |  | ||||||
|   # resources, such as Minikube. If you do want to specify resources, uncomment the following |  | ||||||
|   # lines, adjust them as necessary, and remove the curly braces after 'resources:'. |  | ||||||
|   # limits: |  | ||||||
|   #   cpu: 100m |  | ||||||
|   #   memory: 128Mi |  | ||||||
|   # requests: |  | ||||||
|   #   cpu: 100m |  | ||||||
|   #   memory: 128Mi |  | ||||||
|  |  | ||||||
| nodeSelector: {} |  | ||||||
|  |  | ||||||
| tolerations: [] |  | ||||||
|  |  | ||||||
| affinity: {} |  | ||||||
|  |  | ||||||
| @@ -1,95 +0,0 @@ | |||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolume |  | ||||||
| metadata: |  | ||||||
|   namespace: webtop |  | ||||||
|   name: webtop-data-nfs |  | ||||||
|   labels: |  | ||||||
|     directory: webtop |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   capacity: |  | ||||||
|     storage: "15Gi" |  | ||||||
|   volumeMode: Filesystem |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   nfs: |  | ||||||
|     path: /webtop |  | ||||||
|     server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: PersistentVolumeClaim |  | ||||||
| metadata: |  | ||||||
|   namespace: webtop |  | ||||||
|   name: webtop-data-nfs |  | ||||||
| spec: |  | ||||||
|   storageClassName: fast |  | ||||||
|   accessModes: |  | ||||||
|     - ReadWriteOnce |  | ||||||
|   resources: |  | ||||||
|     requests: |  | ||||||
|       storage: "15Gi" |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       directory: webtop |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: apps/v1 |  | ||||||
| kind: Deployment |  | ||||||
| metadata: |  | ||||||
|   name: webtop |  | ||||||
|   namespace: webtop |  | ||||||
|   labels: |  | ||||||
|     app: webtop |  | ||||||
| spec: |  | ||||||
|   replicas: 1 |  | ||||||
|   selector: |  | ||||||
|     matchLabels: |  | ||||||
|       app: webtop |  | ||||||
|   template: |  | ||||||
|     metadata: |  | ||||||
|       labels: |  | ||||||
|         app: webtop |  | ||||||
|     spec: |  | ||||||
|       containers: |  | ||||||
|       - name: webtop |  | ||||||
|         image: lscr.io/linuxserver/webtop:ubuntu-mate |  | ||||||
|         tty: true |  | ||||||
|         volumeMounts: |  | ||||||
|         - mountPath: /config |  | ||||||
|           name: webtop-data-nfs |  | ||||||
|         env: |  | ||||||
|           - name: PUID |  | ||||||
|             value: "1000" |  | ||||||
|           - name: PGID |  | ||||||
|             value: "1000" |  | ||||||
|           - name: TZ |  | ||||||
|             value: "Europe/Berlin" |  | ||||||
|  |  | ||||||
|         ports: |  | ||||||
|           - containerPort: 3000 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|       volumes: |  | ||||||
|       - name: webtop-data-nfs |  | ||||||
|         persistentVolumeClaim: |  | ||||||
|           claimName: webtop-data-nfs |  | ||||||
|  |  | ||||||
|  |  | ||||||
| --- |  | ||||||
| apiVersion: v1 |  | ||||||
| kind: Service |  | ||||||
| metadata: |  | ||||||
|   name: webtop |  | ||||||
|   namespace: webtop |  | ||||||
|  |  | ||||||
| spec: |  | ||||||
|   ports: |  | ||||||
|     - name: webtop |  | ||||||
|       port: 3000 |  | ||||||
|   selector: |  | ||||||
|     app: webtop |  | ||||||
		Reference in New Issue
	
	Block a user