From 18a7b43a236c356b73ef02edd71ea60a1e51066d Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Sun, 19 Jan 2025 18:05:04 +0100 Subject: [PATCH] kitchenowl + code server --- apps/code-server/deployment.yaml | 41 ++++++++++++++++++ apps/code-server/ingress.yaml | 17 ++++++++ apps/code-server/kustomization.yaml | 15 +++++++ apps/code-server/namespace.yaml | 4 ++ apps/code-server/pvc.yaml | 11 +++++ apps/code-server/service.yaml | 11 +++++ apps/kitchenowl/deployment.yaml | 42 +++++++++++++++++++ apps/kitchenowl/ingress.yaml | 17 ++++++++ .../kitchenowl-config.configmap.yaml | 7 ++++ .../kitchenowl-oauth.sealedsecret.yaml | 18 ++++++++ apps/kitchenowl/kustomization.yaml | 17 ++++++++ apps/kitchenowl/namespace.yaml | 4 ++ apps/kitchenowl/pvc.yaml | 11 +++++ apps/kitchenowl/service.yaml | 10 +++++ infrastructure/authelia/README.md | 10 +++++ .../authelia/authelia-oidc.sealedsecret.yaml | 15 +++---- infrastructure/authelia/authelia.values.yaml | 15 ++++++- .../kitchenowl/application.yaml | 18 ++++++++ .../kitchenowl/kustomization.yaml | 4 ++ kluster-deployments/kustomization.yaml | 5 ++- 20 files changed, 282 insertions(+), 10 deletions(-) create mode 100644 apps/code-server/deployment.yaml create mode 100644 apps/code-server/ingress.yaml create mode 100644 apps/code-server/kustomization.yaml create mode 100644 apps/code-server/namespace.yaml create mode 100644 apps/code-server/pvc.yaml create mode 100644 apps/code-server/service.yaml create mode 100644 apps/kitchenowl/deployment.yaml create mode 100644 apps/kitchenowl/ingress.yaml create mode 100644 apps/kitchenowl/kitchenowl-config.configmap.yaml create mode 100644 apps/kitchenowl/kitchenowl-oauth.sealedsecret.yaml create mode 100644 apps/kitchenowl/kustomization.yaml create mode 100644 apps/kitchenowl/namespace.yaml create mode 100644 apps/kitchenowl/pvc.yaml create mode 100644 apps/kitchenowl/service.yaml create mode 100644 infrastructure/authelia/README.md create mode 100644 kluster-deployments/kitchenowl/application.yaml create mode 100644 kluster-deployments/kitchenowl/kustomization.yaml diff --git a/apps/code-server/deployment.yaml b/apps/code-server/deployment.yaml new file mode 100644 index 0000000..d13c237 --- /dev/null +++ b/apps/code-server/deployment.yaml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: code-server +spec: + replicas: 1 + selector: + matchLabels: + app: code-server + template: + metadata: + labels: + app: code-server + spec: + containers: + - name: code-server + image: code-server + ports: + - containerPort: 8080 + env: + - name: TZ + value: Europe/Berlin + - name: CONFIG_PATH + value: /data/config + - name: METADATA_PATH + value: /data/metadata + volumeMounts: + - name: data + mountPath: /home/coder + resources: + requests: + cpu: "50m" + memory: "100Mi" + limits: + cpu: "6" + memory: "16Gi" + volumes: + - name: data + persistentVolumeClaim: + claimName: code-server-data + diff --git a/apps/code-server/ingress.yaml b/apps/code-server/ingress.yaml new file mode 100644 index 0000000..4b01ac8 --- /dev/null +++ b/apps/code-server/ingress.yaml @@ -0,0 +1,17 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: audiobookshelf-ingressroute + +spec: + entryPoints: + - websecure + routes: + - match: Host(`code.kluster.moll.re`) + kind: Rule + services: + - name: code-server-web + port: 8080 + + tls: + certResolver: default-tls diff --git a/apps/code-server/kustomization.yaml b/apps/code-server/kustomization.yaml new file mode 100644 index 0000000..b1801da --- /dev/null +++ b/apps/code-server/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - pvc.yaml + - deployment.yaml + - service.yaml + - ingress.yaml + +namespace: code-server + +images: + - name: code-server + newName: ghcr.io/coder/code-server + newTag: 4.96.2-fedora diff --git a/apps/code-server/namespace.yaml b/apps/code-server/namespace.yaml new file mode 100644 index 0000000..0a074bd --- /dev/null +++ b/apps/code-server/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: placeholder diff --git a/apps/code-server/pvc.yaml b/apps/code-server/pvc.yaml new file mode 100644 index 0000000..9ec8397 --- /dev/null +++ b/apps/code-server/pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: code-server-data +spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/apps/code-server/service.yaml b/apps/code-server/service.yaml new file mode 100644 index 0000000..affaeac --- /dev/null +++ b/apps/code-server/service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: code-server-web +spec: + selector: + app: code-server + ports: + - port: 8080 + targetPort: 8080 + type: LoadBalancer diff --git a/apps/kitchenowl/deployment.yaml b/apps/kitchenowl/deployment.yaml new file mode 100644 index 0000000..1f12c31 --- /dev/null +++ b/apps/kitchenowl/deployment.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kitchenowl +spec: + replicas: 1 + selector: + matchLabels: + app: kitchenowl + template: + metadata: + labels: + app: kitchenowl + spec: + containers: + - name: kitchenowl + image: kitchenowl + ports: + - containerPort: 8080 + env: + - name: TZ + value: Europe/Berlin + envFrom: + - configMapRef: + name: kitchenowl-config + - secretRef: + name: kitchenowl-oauth + volumeMounts: + - name: data + mountPath: /data + resources: + requests: + cpu: "50m" + memory: "100Mi" + limits: + cpu: "100m" + memory: "300Mi" + volumes: + - name: data + persistentVolumeClaim: + claimName: kitchenowl-data + diff --git a/apps/kitchenowl/ingress.yaml b/apps/kitchenowl/ingress.yaml new file mode 100644 index 0000000..b03b41e --- /dev/null +++ b/apps/kitchenowl/ingress.yaml @@ -0,0 +1,17 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: kitchenowl-ingressroute + +spec: + entryPoints: + - websecure + routes: + - match: Host(`kitchen.kluster.moll.re`) + kind: Rule + services: + - name: kitchenowl-web + port: 8080 + + tls: + certResolver: default-tls diff --git a/apps/kitchenowl/kitchenowl-config.configmap.yaml b/apps/kitchenowl/kitchenowl-config.configmap.yaml new file mode 100644 index 0000000..bec7550 --- /dev/null +++ b/apps/kitchenowl/kitchenowl-config.configmap.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kitchenowl-config +data: + FRONT_URL: https://kitchen.kluster.moll.re + DISABLE_USERNAME_PASSWORD_LOGIN: "true" diff --git a/apps/kitchenowl/kitchenowl-oauth.sealedsecret.yaml b/apps/kitchenowl/kitchenowl-oauth.sealedsecret.yaml new file mode 100644 index 0000000..2aa9ee9 --- /dev/null +++ b/apps/kitchenowl/kitchenowl-oauth.sealedsecret.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: kitchenowl-oauth + namespace: kitchenowl +spec: + encryptedData: + OIDC_CLIENT_ID: AgDJJcjAXNDtWf0tRG44mCHVZWh0JZzhZB7dgmARbmF1Sdq9YM6/dZd5y78unS2hk/qHL8jzFp0mopxXJ/C8PFr0DWy7jMQHmwQUpxrDEFNqia6ffoX2tsfOELcCILbI6f5X7W0ogG60oovCs0DR6QaldM8G9i6xbDfbuj2IVnIQ1lODYsZPq9im4Mf5BRXqq8gDAkh954ZtSbNJs6J12WUn4NkBvSQGpk1+Gg834iAXq8HzOYSMhmp3oR2fxcPoziQqsuCC+HfeWZ7bBuqrwHj8umtuDnu/FVAG4sGSdZESeLPdq0WmGh7RwlQa8XmiMQdjgRoWgWBMKyfAPmkyFLvL63eXYwFPiGtFky3A3JxbRLbXa2dRbS1rYiezO5YIhgSsfgtHXosK6cNLhKcjkgd8X/hH4D89pquwGn6RUV6sJbzjjPzat9LyxaC5qcbaOhLqHHs1P0322v12o1djvBj0ldzBn+KRcFMpW4QbIvvNJuKY6ntT5SxCTeqQ9uFoUFx3s0B0sQFlPjbY3h81ouzBbmthW2xt4iaf32Kt0m4mfLX86dw9ILFzSU7pQJGW+dLO06Jyi1kGVhagHQy/uVEG+S2zZv6rwGY9UECXbN7h5hammTxYStZaxwPF38AkULHjvlFcMAu7o9o3lM6eW+gnYyRgF2Ym3J6d5ogr9FqBlrhqZaRNqEwh1mC+mDeJ1/uzAUUfCNARizbk + OIDC_CLIENT_SECRET: AgAiikce7qT2pY/zQu40Lm23iztHvzYfofO5DO/TUbYkzV0r2Yi7nN091C6MqocpA3DX0NXFvGzb6kMh+mRwf+SXaith4qNv7iC21oBCXqftHBaE+RBJRfUnKjyVi1dS7jEoD+636yYmRZubs3c0jrak3XSKRVciLvL3vmpLuLAVJJFweS4mI4mU69M/Q8Sn0Kas6odBcpBCBW0HRWDazY3cooi6k4ZaLtsNx4tqqCIc4VvcLZ76NHmhIGVZuRPh/KLq/+LYyOqu7uXBfwBVKUvrapuLj5aeGlvxnfehxMViRDFbT/b1sHOOJ89dtVzLjhHyJUbTIrhyWpCDo/B7pVVg1Vb0IdxzwBeAUgk6MHqp5bGLzAIN09far815nvhoBTxD5L8Qnucc783JpN2YppVk/AArsXjI1KyIllwVmt70447051fp28ZAwzcsQNGniYgoKDl+s1SfEGQ4I9InYZX2SigA4qkVKVnF19Zw5/C2BW3CFLKZaRQr//UkvlcjaEZObwqNRq+RJlZoMy2m0sxnQym9Fzawg1lLJGCqbz0b6HJVz3q2DGDTevukd6o/Y4f9YOXKFiaIqBFuhrV9kFoASCPmazOfTmkwgTHxjdwcbDn9p4AbdfCHjo6JECFnuehA6YN46agSDNaMqsEoI+frNhETmY0hDV+2yWtPnlQQQ3rNzD0vYos1aWhVnMwUdrYLTccjKIJxzoDa6XN836A2/tqqSz8WevpVdUNmO2/Z + OIDC_ISSUER: AgCdcPd+2GoUMebdJVIPNSGYq9JIcVqnby2xHMkj0gkKCaXLbDoaQDTg0hVeEP1VaJTdP4NButgBrJkMoxRKdkp3B240CLMJQtNN8mKA2X3W3ZWzvGmT88fOiXW7mi26PxRpylcKGG6Zd4tnD8UbalReo4I4tEmNQER2iHLGePu8spHs7ZObjfF3oV2JfSmUUYbXQegevvcqmW1lUn8wnI2jgaG7l07OT+VkW8VIHt/OnttOU3mu+wvt/V+dX2ZhrdVlkZRDy2J7KTLNoh3urLFvyaYFpEv70+SuL5q7qQGn7IBGFKs2rcjrf1+vKPe26T0CW9rU54HAUXvOmqhtG+Fv1Rk2gV0ZpOmXmf7nutqTzLh7rDshDjiw5lPoirfhAjc3aw1X7lbO5EQK16GnfAo7++Pcs0s8OutoaCNOFgy/UZmeDO8B8WG98vBErfqdIQga0SwS6rUbn/fICT5XJg/llZQDke69lHPGBvE4lLsEnG7xiB+N4HKlUStuvF1drUwXl4+P4ul250rxbBwMSj43VifefK3VOjBbEOX3GXDxXpBkUcBqLukFZz6DPgF+/p9ohJEZlRn8A2zm6XpybXy+BMc/ojDHb8rbEV0vHNbRVuqM705QG+Tyja9RxQp5OY2rIPXqSs/OmhJ2uO9VDIjf/gJ5yfyIOB+gDnqEfAmlZO+56OdWQKsZnIAatGMR5ygSBTmulacE/O+KPSdUzsgqL2pdFV3tDFsj71/uxg== + template: + metadata: + creationTimestamp: null + name: kitchenowl-oauth + namespace: kitchenowl + type: Opaque diff --git a/apps/kitchenowl/kustomization.yaml b/apps/kitchenowl/kustomization.yaml new file mode 100644 index 0000000..530b433 --- /dev/null +++ b/apps/kitchenowl/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - pvc.yaml + - kitchenowl-oauth.sealedsecret.yaml + - kitchenowl-config.configmap.yaml + - deployment.yaml + - service.yaml + - ingress.yaml + +namespace: kitchenowl + +images: + - name: kitchenowl + newName: tombursch/kitchenowl + newTag: v0.6.8 diff --git a/apps/kitchenowl/namespace.yaml b/apps/kitchenowl/namespace.yaml new file mode 100644 index 0000000..0a074bd --- /dev/null +++ b/apps/kitchenowl/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: placeholder diff --git a/apps/kitchenowl/pvc.yaml b/apps/kitchenowl/pvc.yaml new file mode 100644 index 0000000..a0a4169 --- /dev/null +++ b/apps/kitchenowl/pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: kitchenowl-data +spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi diff --git a/apps/kitchenowl/service.yaml b/apps/kitchenowl/service.yaml new file mode 100644 index 0000000..126f784 --- /dev/null +++ b/apps/kitchenowl/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: kitchenowl-web +spec: + selector: + app: kitchenowl + ports: + - port: 8080 + targetPort: 8080 diff --git a/infrastructure/authelia/README.md b/infrastructure/authelia/README.md new file mode 100644 index 0000000..52827f4 --- /dev/null +++ b/infrastructure/authelia/README.md @@ -0,0 +1,10 @@ +### Adding clients + +Generate a new secret + hash: +``` +k exec -it -n authelia deployments/authelia -- authelia crypto hash generate pbkdf2 +``` + +give the client the hash, store the secret in `authelia-oidc.secret.yaml` and seal it. + +}cnnhzH|Mf/yLn(v4rF#>KnGMgUS+TY \ No newline at end of file diff --git a/infrastructure/authelia/authelia-oidc.sealedsecret.yaml b/infrastructure/authelia/authelia-oidc.sealedsecret.yaml index 8a31199..1c1d14a 100644 --- a/infrastructure/authelia/authelia-oidc.sealedsecret.yaml +++ b/infrastructure/authelia/authelia-oidc.sealedsecret.yaml @@ -7,13 +7,14 @@ metadata: namespace: authelia spec: encryptedData: - client.argocd: AgAO/s+1K/QyLFsj44qAsgj+qS0qE7Q1De6cjc8UpsXDTQ7Y1SrP+NP8K7mZwGgQ1ItJN7bsIo79CFi4wLVEUOmAhu9dFwot665F0iwA8aUrcohk9xfqxqcv0A80i6mbchd60/GTaOTiQ6IFbeKBsxdv37NhvExHia9zdPFBVZoor5gmfZi1l8Aujge0dHqN0Qtg6R73b+abiJZS/h24HmETPJnRARK9aX1HSO8syBv2cxOuX3oYpVT8qvw+J2pgF7pD7YF8ZXG5v8VkXLn9vZ/EznTRNPguGC7YZgEXB9dvSJMcQ7KXNqtreKtSJk9V6EuhHHteHAlrCMdJ/UILUx+S1MLdSlnmoXHLU4oXITI688ZiGxtp0MyhknKPk/rRHV8To/lbEswy16j39ES4+vV7UgBVIvl4Ds51C39VC5G3gKL4xuEWbSuXv3oNbIPQzNZXGPkn77f4A7NQy2Wnp9G8RKtJSQqoWaOCNoytngyIkEy/Z6tbNFmafRvEKSSNLMVeH8nChpbqCwVBTrk1jASYFPW8sIlVh9zia2uihiHzIxdKOQXsvWMSGLdFSSiG0vlC+yeBb5PhWBA+0nAsKGO88a916E9B011w9qK/92GOcYaU/Kgyo6CnseVyJgSjv6d2IHxKTHnQtWpEQEHO2VEVfuqiISDz8rSCFbM5U91Qly947bRMCXXY8GuFnmlNJpqq7QPp6HRZBt4ZfRmkI/E5y7Nb/L/SfXDJsjSd0z4U0vJi1tYxIs0XnprhxjkuS88ZuqdEZaHxG8PMrACSltKzZhwBnjImb2LuOF3mUitngF2YQ5L4q5S7AcOU4fVHwoK+wONNCEjI63RiGo7DTm1AwM9lA5gM0pQSU9T1JqWtYcPZVg== - client.gitea: AgAbX2GgysUuAg3TLLK7Puhtl+L8x4cQOGo+3TP60DPms42Tw6oihHQpSTzIEetdaqJ/QWrdB2FQfzhKQVM0hQji2uVH34SyzvP5TepJJSURUZAHGRiwhb/E7S8ag/ybBWQ9OIQzMZBiOOyDULrhmjbtr/CbozwmvdTIKiXIBLxQbXA9PjcM76UyYZAr69wP9a6xOzwOZgQ2/aJbWEFnItreUaqY76FHzKwkcPkzwPPryD7jvpVoLC2ZsbFLCptKbaCpRuHNQgHblWB2dj5wkFRGmNyHH7mglq9A2FbB9uiAD+2K2tgYgSc4yGaeGIvu/Qbnioc4F9nTT4ZceEtMu+sn1gVWy3kKkUDOvCcGUALo759/FuyTQ8JKKJ/zLYHhCJ8IAYXFhALe+aQMZbcycbD9KU8Iepq1DCTsyjpbM9K5w0D5ZnBf3V9IemjtMNaCllDq1Io5mPQaxlyjsWIDgvXIP2KEGekSlnh5O2yNCQl0gLAKM245B0lxyRgr22lTH9AJacbIVevwdBq0B+iSm/JGJvWjwLzfL5D41HY0Z6ZLOLUFKnTHQGiRp2+g9ysg+38aOQ1PUAXlloXM6UVnEHdahyvuPmAfo34f8vSaSrT1b3Xp0MzxUwxzl0bXO9wQ/As41qpI/DKC45CFDl1yQ3/+LOggAF///peSyzUNYUvbqB2u5KWNrLulXO11IKffHYeiwfeINxB0B3Rzxpl2ZBm4k8cauArTneYYcic+DbweY3WjcFQPCtfQiiS56S1wQeF9xgZfL2WNQA3qnnsB4mYyCLxH/oJ2JiiKrISPUmEcERnU8rdUelZ+idiT4s4PDpOo34QK756nzTtyWGjU0pIm6PIpz35i4djMkUoNpLq7bcVcKw== - client.grafana: AgAtsKa6TPkGYqT3BcmbKnOnKG4xNd4N7tv7Vt81rh10KupR5z9c12y78uyKQZMyWb7PDDi58nIeWzTmtVmoSl06D8NCOfYrlbZQEl+NJsePX/kiwmlOnOrLBQ89uHHdlU7MCBPVDZNPY88xzkZg0pPnWYlKuvtNpV0Uq03gUosM5kV6zF10LRM4Twhpw9su5mDkwzyrALB0eALkmcktDpbayr0b0ZnK1X1HYuG9/GRTfa4uE5Jqbl+h3wV8cqUHt5drCVu3yGEP8palqTWh3LZoVFddDZ6EjX98FNGorpgvXzQrSwR3DHEovhER77MFgJu5vvVecgygPMHpQETb7VPpCoiY8WwjcJMElcFbVFgeih3mMxe0vgkf4AmyNmHvV52QT01+a2UJfwb2l7J+BJQS2qRLWX22eUJ3jWthFZp1bHxrgrizaqLmuR0WCabiWClS6+w5ecuuEnjZKhnNgGViUTZEo9r4Y+Hq34DbpSbQCPD+KFwjSy38cu585wHnMJHbmP4tVH0+zAA4sNzlcO+Dt2bqNZ5bIl+pq1y8qP6sABiRIxvHOhnXSHFhRQzUqrO7D/0WEHzsHNR/FyuJJ8gsE/ZS3gmMq1qaYAdLWanNPtJtcZxk03ZTGRmx+TRnoeTdGniyROACL2e78MX6gszjCpjIQWJOh/gDmMtO/r/0wu+OFUlKm6ynpm9hwjTfVXIAxVGQZP0GNzhxWekkB31og/XUHDDSARhfqozor5Og9vznx6t0wtOOzMXt0M6P7w7+kIEfLHSroKgY0D8QlXNmBQf1Aub7j6NjyF8xdQtxMhGmwbQ6AC4H8jUdzRy+zPCck70dA3hSwS9aaxDy+xD4zWAmZAzjAQS2lRbbdxpxh8L97A== - client.linkding: AgCUlf4WAphijd9Oy2x+WRZv28o5alDpfF9hiro8y/99jZb79HbODkS+Z48mFRypMmu6nsAp4NJmaM5Tc0kOXCfoqAkcw6AQ+noalSCzGpH+laPYRnvD4ccVbJlePIeQlnQZTipSTcNgoCvocIfi/5sgKFv22VKEyYuOEmZ3VfQ96CIbyitbyApw0JHi5x1kanw2QFE3dmumnNG075zQ/aJYucM4lrpDY8P2YhAbLNaJx5dB7SCeGoVvviDtuZFHskLFIIzV0fjBIhX6b6vfRgT4IQpaBTpEZcQ+tLLrEcL4jAPWzooDmpgCU0l1wg0Xf3FmV8aBpzs9oicvQauLVgKF8ouBMoECjB82sLAuI1pBUbOKOjxCnFTnL6kGbOZm77maddJ837Bd5BOO2spAhUYfQCuPg98ZyiNFSCKzf1XX7mDY1xeV3S6KizpULc1fimKoQL4EImKYWLI7GVnKUGvS2V8WVTQu/ZuPCTfpg+OSO0YOc3eZPqQ5immSK0Azt/PvHcoxiNYHajI7Jy3OvF6Fhv7HN/prHZJZMARRnMTgpPjvp5ZE+xA+F2FURllLtmNF3c3i8s4pM6xi0GSBsYWc03WNIk7aY1oENg4aEufOHnknuX8GiGQqdnKPPUuhiTK4k5iyqk7Lo9ntdu+WJQllUoNe6s9kSRua78wyYb684nKNfAFbyYXUW6oiWD6eYCSgyCj8xAGdBv41/Lz1jpUgSetvoHcDPjh/mDjGWRAgg1hqaIr++DRuFW7mEaXthoGsu3pM6JxVzge/mEfs/DM/vn5GEIFvSGuC3Nn9IGcyqeVWcTtlRh5AfTe1tNlohkYkNr96Fe+j/7MJLWgc59th8FEH2F5ygbPg9ay6c1rGjSYD2Q== - client.paperless: AgBJXjDVqEubR+5He9KVfmfHV4cH5DLtiLmBil5srrUTTlJpjBtD0OBA0Rj4qpZjrOHal/p0nfGQkgtvOmj5NWbplktEjmX4z7uRT8zjatK6zTjDHW2x2x9T7V0LCBQwkPtboBuxQ6tSc9yQQr15Ru6rT0BgvgDd5rOubnQQjK9AjxUe0VKeW0nGnZI0Zh9zIOiW+Yt6AFzheYgAfF4dsbBe1hTq7N4L2JK147YLI50GqFCL+vGYpz7MxcU3AzDi4eEP1ZmLga79eGvMelUSR4d1l3k6fjFQ8mCPPQ+PkMoWuu8FZ8pT0F+qdb2jB7GCqPedBmuzJNT127mqWMJN929n5j/towZjI9IDd+q3YXlfMEWSY74r8x/GUGSq8mB0/kS+iLyC+p6Rmu/aaW7GNkwZNtcuQkI346JBOnUSa0bT/ElXDNnRxxHGPCNQshrv3wTVoKgN7wxkVVXbX/MdXPE9NqWNRQK42TdROXpjWa/FVklraQ30XPy/SHBENbhXvmqlzrbMWmK9/auBKDB1tmLASUcO4iObOSFPUdQrj+pJ4oQFN1nlyX06i/X8ECENov2jwfpf5tW0sWoYVSPWuZOIOk2wEF3HXnzCtv/f41vMixtqhpWPRvasJ4UejsuatHaYNRj7uD2FjbpYItvT4QA0xepIR97jVWqc6bsN23AFUJIHJ+twOYpNIQJqJ+mx/g6Yzt7YOTM7X2VJO6dKwBhuXx3cRigU4nadZoTELT+Wh8i6n1lA/kD0+A3OuMjwuTrvutDTOHH5RjDwRWRw3m6LohWfdQIVvEkAM0RwwvcC9Yu9W0PH5ZpUGw3zpiqzgydtxTXEwi1IGS2rUKkdhkoShKJ/ODMZjjRxRX0H4zkelPUDGg== - client.recipes: AgCK/GYJr88kUCQ00YtksasTKChbCvSxxaIAa+08Xzgn2eRLmw0quTgqHS5yQrdj6SHNsI+tZifmUkfHXjDSP7SShhg4fe6T+r/AzZmYb6xFwvZGHF5nSmX5Xy94Lla/x0rOOTuk42kV6g6KJYD91VTLOYGMD0IjdZkI2NMFwXN0UIqOZD6SGhKav4WwZRk0GxjFwwW32NZH3+O1aqTCdBYsMzNFAJyur/Wj7ZpeFXZ0fdBHF+gk/RYOhIzGuoUJN9qeh1m/miT032jcapF2/bYGakufAl6gGtA13ssYcXqRZxqrOTHzvIo+/TULlXL5KJxA8cyTj696YsIc2svugvyrvJmHghZ3y1uVU7V7OjxRLTni8pO4boq11TTkiWdkDdSWmXm9lyXrTrHYstHs/KfdOxgshOXNktME0HOFsXdCJCD/dBRd8+Csqb+Xo4hy+m5ROIP1QP0lJeMId+yWL15xEb0CiEBw6LVLhtO3aZ1mYxJBwcjvBTllLhU1y3z8Ah0fOvcOdBx8ncRIn+tmVCgjJXwm5eBIku/74ubvR1avAB/C0qX1zQnWRWvmaE6/k58RlUrQHFWFI9OvJUSNushlUus6roEux7suZ6uhXJFfB8hM8okbIMuNJA99HdA9BHRr0ieoZALbQ5HZf/zFbKhGYYX3HcyExUgv6lxvwxlYJJfXtMPic3p4iPq3f3aLMyco8pDECKvoVlyAgU6RoCp2RDZeJ/bwaL2farGTy3HXHpw0jy6/6dZuQCD457v6a3f+eLBDbubaGXJsGF1msRyChdcc0JU2niKwKd454WJoWBLn3LVIsthtCLT5ZBY3yfttdjLUmocyPcYFy03LA1ogOztKjvXf0FjcofdcpIrfWenV3w== - client.todos: AgBSbi/vsGzl/L2/BAWefZZNySo9TEHHUlf/ilCgcQcPm53wmd5gFJUyVhjOheN1AUdiLw5UpeITig/A8UID4B/4UOfDeSfwLYUvPgTP/5OxtxjoonWkrR2YGjPmtdBd9WZJVZcjb1YABuXew3SoVfuObw4F8uAn3iojxrScaO7J+vUZSNUE2fbd8kJ0064v/Huoan0PheFbRFqSVcDKVg62byh5LIGVtmcwdcWz1v3aYIRRB04TyyHAlmihv8/N3ppTrz5HR98Q8WHOrORIF4liS1c80swAUeFNFuDHjxbN9yphF3Z7taoBSwSdqNgEWjAr5tnFVRO7A3VmbuMsM5y9ryitbPqPijB1GIqqwLz1Ucn+KF7eK8kdhyZWidrBVWCQ8E2EEQELcJnotZd49M7y505LDsZgl8drqPoXoUW2HdPXcZzNqaGrc1DNhEK1aUHtuE4jBwPNVjEV8D2cQ1mm/rzF1YPyUPQ+TvqXgLvPQx0tZU7vSVBEQDAK+bj3hkgivPPM67iiSt3rrX8Egp53Hg11jzIE1al/Zlfja14broOL9yCc0dUVMpOXrT71t7RjYiPNg8CsK4GM2nopGN4IzMhP/sFzSSlwq5YoDxV/mysAGLRBzL615Gv3QRNAubQocnPj4iOCMvpIZdDuBTmCrUzPEzppwbb+JHnNoFOYQBdJEImLicnsGAiAW4Jzns0kElCpCl7wp9b+GCoqmGpzkg6Vk/LU8UGVDCnhuXmtNA7EbT04jb9SxRXIUl4/fmpzQWAC5HGfoSoO1M4LKp46sS7es2Ts+ggXrGJhAYiDnX/EJxkl4OWzhJ4SFiLVbeqcIIIYslQkz4KP+haPvbjY419zEDDp1P/lBPtJp6Dj81B7xw== + client.argocd: AgBWKTgzqy1UjMClw8+9MKCZAM53ErvunxeIMkyPkOvioGN5+QuvtT3rSCNJentXEhIK3V1mt0kYNb0yLei+W8o2Vgr/wqvPfA+JbtgfPKuHg1eayTXDB7TPXG8MzONM75pPEq6nTSz7YOfu5AU0OjX/3D4E8lBD3hCfEteAA6tbxplD0P17yEzQTspPbXh+YNRY8/BmRr4xbp3aDdekeYfrZ8HQaYOCs6vl3JH4SvYoPGxrsSS2muZEPESmWBBC72NcFVnpNG4i106qxwvMlfOwKz4+FQsHMZAdRYmXayefwMWTxOC4MN1VUE3S6FDZlU5Zds52qOF1bO8w0cLyFaILtcPkjV0w+7eCUhrYx3CzyaCnVAHBBwvUt3VZ+g7RESI+Qc0CDV5IwTpj0R0Z4K8ieGMr/gEU83Wm5Hv66aneZppAJV5E8BixIdFTAoZlLNXg3Q6R6I8PrcnTlF9IzBbrWBrE1MuYgvzIIZm4+lohV+jhJcOPgRANxVkDwAz1Sk3AfHFwKtxtzwjvpOyr+R49+I14GGyKtUcZjHioSUSiTqV4JOYvFmSDXsy5CrzFdO4zCn5jMhkGRWztBJY9nN1Ui5yODag2S7TVsCgcYNF0tItaNMHmhkez/NoWFDUvcNwr/+hGC+DQN0xoZTO3vskyW0RGKjBSnoI5QUnuJqFJsRymh7VpRvMr2C+0Tvk1nEoOoRmA65aRJScgp/acZl4UXhwOjyIpSNzai9kvIj5PVVf6+78z11h5c9w+vF1IDKCDGGgjrnXBeHFGoty35UVGOGOXQoQbLXyYu9ZWN6i6garwl5ATwea8oaUB1h1xweoqSz6xrHcLmjqWLbm8Me4eSA3TjvsD8gtnhAfnVAETxBT3UQ== + client.gitea: AgBEIzadyU5+RT5nKUII3EPXfi4yl52FzvQQxEfX8T5845fAQh0/8ay/E3oXKjH/MvsnPWvIwBfAG3DZ6LBVt39SOA3+5csbcwgQn8ZSigfriowkGJKiSu/UhqloiCuIvzZwu7CrTUaAdrWdMOpYvVPts0TYUUdA5tcPGYyw4Sd4Z5hi22+NeMoCdMl67iag31I0PLEWl92WQcQ/V/sOKuLm0p8TEIZaPyCHLBwUPbD7Hvka6JhrkmkybnOJfmQLrHAblPptVlIOVwER3e3Wrzvh6YfOq3KUtFboeyLRRafOy4j5j0dWXj21WLznomH644ioUeysAG6gP/HZthuNMTUydz2dsWtIu5J82jP9bbjUibZeQIHjS1Y1eqPSd9lJWNjWBb69xuDIewLZ75rfOuTdVp83+iGkha2yhc8OEHBaXRFO3zDL/eYSuBGxLRtSR30WSHD6sgGmrGzSShAlM7MnuSU8tqeHtmLuKH85ls89HvVvgn6ZVj5+P6dmHctFM1tp8Q97nUeZZGbThT0DztKExNTdb1yCsb9m8lDxX7avGfBYvx7ntqBdxz5CurbFvEYi/9C98EYZycaurjUIRBjEgbT7vHkIIvJBy1JDVZYDFzNGkvZ0oOhehANvx9UNKeb32iCV3ypGE7oXF0/WFdFImSZWfTHVpqOUN+LJTnZylkwcyByp8Ut4R7xS5by/bBV846LK985fzCRWldHk0U7xli1FUvqHMvocOTsrwVjWtE0C9X+GDQMAJEP7z5xWlMCEePjEZq2/OPHXiRlDZ/rQfQS5zpkIZAK/vaiRCZ/arpN0RslwOzIDnnyFJB0jqhIsXf1JUDZUis7yLtnyaVh3I9a0EXrPu49ItBk7XdSNMYJ9Hg== + client.grafana: AgAuT9f75mVVegFb5kC7v0wq/myoG6JlN8DLvY2tBqqCJ3pDMaFkVSALustQvUxpQ3UDFndKk3vF3rL/ot2h4R5dQO82guqR5rnyi7dGgf4+guV31V+Pz+cMKMNGDzvP6gq1+ePuGgR8Q70OKKk28Neiv1zd0quzKNY+Fmi3nYVonnKt7SDRrMgHdrak1jTyyBCDCl3k1S/kCjSsBUOfZuPDWxbSyKi8UvizwEm7QmK4ifsdA4IyaO6R5u/B9aQP4/eeb9uXaoBZVDWsrqi0ZHBavCnyJ79rYwDx+6ThsEbwYYsJ00omGts/1EPZL+1EpdJ97biIzapXpvlTRQwcxOZ0sXnA+5ig0Bs25u+T012HNZndYLcqmRsgKk+Iz7YjPRddaIFFEhttgubxCk/dMvzcchkOFI36gEC2TQCX7B7EcBAi6lQG7I7BVV0UrqmNhrzYCeY8AyNd9k6dNj+NslHfxM9QFIJmK8UnX4tx3OSJQJLaXN2ZG7TcPxv+Hn5z6A+PTE8+iwJ4mZmjxoVbyN+PYwz0m+uDqS4iDrd689NjFNy2lUxoCTtoYHs/U+GNOFD67YjT7DE9PbuS5zWlHCYM/W+5Hfasqs3/NgpbX6P44ZIMUBSdcgD/TEKyjP/ttjXG3FKVO/RkrJCNyUSHQKRlMJrzwEfwze3YQ1XKw5xLzDN8dTb1fkeDSE0EuGCtqH2S7cZE/3/w16PJ/ba5WR3v3CC99WQMMdeXLGP6C8PGq7Z/WErXlNLLPCsQKIMqlhoupm/r65SEcgf+OBI1iUG2dFNdB4VwFIU9UwHm2t3gcnU9Lq3DGQaOQusIHJgVF7UuamogkTfmCt6vxxIxXyPodiebZ520TeGgKIxvwTftxl+miw== + client.kitchenowl: AgAb9vWFHkiFgsHs+1nrq65n+kT03igRLq3KWIvDg6EokA2TDXYb4KwYBZa1xcFwgT1iiLge71Y6spMRVkJdLAjRCaPCtSTGygzlZ7z9NFkn5O9YuWgkp+cPr62ElHpx9umKEx+Ug4vgyvrBk9eLWxdZZsiJZL6GcjUbMe/Mx2429mveg0kyfKg3XjraeU7xcHWwAj9PbjeRnhEewvr+9sdv3H1wA45E2+pZ9cZ+ETl9wXXNquUzUFSp8IOxzXwx34aDqjdnMbEgU3k2TEe3N9wU+r9vuzn4kesh0zEGkEfXhKtnGNSXFheU+aa/5cTfIp/GPfx3+dJ54LLWfVGU9X+COI70zvTEtAhgJptkWqJ7dVp6SLgQotvg3bTNohof1/6JDPKQvGvkQ3ALYMXYDd27NrmP3ZSJYdNGev0yDr6MXyNlv8SglnsRIpfMmPyl913/10DbvB5b0Tiy2xzmmODpG6Gk6EQquaJ2g+imaV8VPSdDOoRK+rDg2AH5KKRn8vxH7d/NRsmOmCxadqmyyWBbl9onu+TzSnjnPxyc2cl3EeqaaciXyh/eu3Ar27DVu1l6Iorv+N34Bttdti0TZgeeMD6/Y7eAXTry482ix26UOYmTH5+mGoGVAkh5BuWO2fR52vuEHV1T1VYVRK3+PX1OIeWEoEdPMvDokELc4W1Av4lVDKcacvNzuMZ1gpiXmdCNnYfDq9CbW00rS1/LPPUIdIyOfHg2q/OgxtkjiPUwWQCTc5NO8FPlQ2B4ZsJ51vfxl2zx19w9tgQVi7C7T7Iek/2Svz8QMiZtf9N3W8CoUp2RXktV+Z2yI3FWG55IzicRbVLWpeidRxuJTEdm8emgHSiMpDM9Uejv7pAs3QkLRX2+og== + client.linkding: AgChIcLDfhCZshqJgG+H5exbWt29ms882BkAgDAopvbhbXE/e+I0tVw2FNDZWmKbI+i/Hlrvj4Bputn7pUcoAZf5W8FUJ2nOMhJjtjwMF6O0QzBje0Xrzi9eK91XWA3PRxbPOzBZYWlmWvwelYw0hCgfp1XRn3aXkPcpsZFV8Bb2KSXDSk39+UqIm1I4rR9hCXPMkorTUZOa/NYpDr4ieenbRS8PeeWATPzSxn0hN+RnXHnoUrKdO03px/2mYS4SYJrgZ2DrkGN7uz3/ARwqxxKcMBQeQCe0S3Udsw0tvvJbjeHJIQ3fzIz+BZdbKLgVuJa0ZNQxmuDVBFY+60d89nR6wKsyoRgC8y/sEHRpztUjiJC7WBiiJ/g80luMuo/7ZTIvu6u1I/eugsopJKUONv23cowdqthyzlsnKCsBTgfdzXuFy5YYoL7GPcybdpUcOA8upr15dE8vsN3UJEYJCZkw1V4iedzHVGPpo6tts4sewnzplH93QpwbVywMcSl1k8oeHqbdmh0srJ54hBFboyNRr2eQT+b43oFJZtQb3hhuZyO/uXKx44jeBoVYkmKCVldBBDE0FdQpAk2m6dtvXae37Eu7xHiWxY/KDzVxBzJn4NWboQRiTM9HQ7pLuAKgG+Ec1+nwfBgq3G9jZrdIN4/tWNvuBRuPrUTt7pwGJ7RCbMgSz9xbVFCxwBx8GwaNRFOH3/RoMdVwlUntRELYN7+pU9S0FS/VPnbVxOZbJI3ZHFj9n8qZ3lBD3SiHB4rNnirQf34CuEfnLigpSdskKdOsekXQybxVq68T63Ntf/yn/t0+nV5VdqpW0stqRBQaUq3yEqfAn0/HQ7nTgSbHf4ZsTMsAU+CSAewnig6qKTcS7a7Lrw== + client.paperless: AgA4weCcn9z4H2WIqADKRpOMkCmA/6pci0SCKsTcS2nf6XuRG0pFufVqrVTe5jYIfAymKJs+Yzlf6V5ViE+3U/PhtBgHC1zifYBVkC0lSUUKx2YWkmrnSylAZZIYArC+kdNXU7pwIS4i8eCxeB8NhTtHBMXdfPig5kH/G6/FaL5RZ52Ly3jf3h2UP3JrWbk4dYijZbjvHsGNJMyDJ5cW2DtgMmFNMte2ScBuGpgF2tDiVKW7Zq2aEpVtVXvWjF2euuL39EFvLzPAIXeG4TaagBCnFfMVVxyrS8Dk63CiWQzTSaeBDbUhRuOGAYD0GELhSxpsKjOgm5AaOk/sJBjoAliFtSyejO30tP+5PBC+FE4RlJM5dMjHU8/9T/tBSOus3k7xWmExc5Eavf8yeXVmNeTJfC+Sji6QZxG5P9xisKXgn7EX+T4aKpeJ2FxAtL7NKgnrKeoztiHV2vJH6TepGjFejf5VJRjOP2QAJkX0ApnUVfhww4CjhBFo20zRYyI591ZMbw8PxlRFmAsXhL9XeaXQcl7nq2P2N0IdodtR9xMVlvpkuv11AZnzXjC8GfWgPE9vmDz5RW7Eo4WzWDaFVBL8Sjx+NZllV/qVHlJfbGgqgKmtzJWUZUATE9y9YwOG8PSKmw7fbIHccJ1o1HOG7BWIOQ/QIo94uQQWI0Z5ESRgaCsbf2oBX8HyYFdMA0s9sS9OdD1NWDTb1mVnhA8Pjq4XatA2PGlRPWBVD8YpjbeuNQXR4RuSuUvuKGOOO4Jsv0/ZXc4cUmPB3VWNzQO/0iNt8MOsZWjtQNiDBLZ3xVjRWo/p+Q7P+o1YCThuLxwdmyvAxkioRfR0DJY+ZrkErVnTv1CfLdS4ejf7ZYXcgsh5ZC8Kww== + client.recipes: AgC3w8qEgD9fru8tJRi3mYSDbJVq5oG++x8XfeRKAQPXFtMKdFYAvn3zGPc4viavPnvE1mkHWSn0ECC+YKEThiXlI9ok1CKnspLrzi6oQlReCUnyJdu9e49xgV7kb5/SQsZbDlVmtluTi8j8y9AIUows/HsMjXgoNrG6RodAsWp5cauCgLBrqMk9nPuQVH1jTNFm27rMrJahLTjr/z/5chdiU6sjPH9EIDnaLEP3o8/ACpPTtwF4PYQszUVT3Uhn4YlekqAYMfEolBYsPLSDQyiDr1fwO3/4YUHNSO/+bN+7vscS+x8zozb750Oi9c1ARc8ENn6AiM3ZEd32ZJKqfqJ3+CxsXsuG7VjfHu3+gc4uqLTbwZ+BVacSoA7JObsoQEbWdCGWTNo5FMXrhIv+BKDB59eLKXTOlBfVTLlbh0P7tSR57fhSpBomcvvnQ+MtfSS9hDFMNiPhb135c8hjJcbMZ6xdQz6HARVtP5nVuPyDafbez6A+VT9sUDt29+oNf5qpk25526Q4GI/YlyvXH+3RT5q8syYuSIZsmh92qD5ZltffW5kRooCeskAryiyWdgyqjMAekR1dZR9wqvzRraDpY/neLvrpUAPl7U6kdlzuIdaJFTnXmNKc1wK5NaeAEf4wwO6H/ibWEzIJKQJcTlmi+0J1SfHcCULYZ5ASeAkSRUxpdVk16LCTHWbyHYFOYmGsmeMmRTYylB/FdOuUEZWrO5B99xw5baSvLN842v2JnwR27Mha3RvS0teSgbuXgG5kWWGGZs9oibsNaaNz9p1MPw/HR4M6PmfEJRsaz+cX02bVUVzdaXhoTZ/D0DoNe8lB+Ofupjl7jAGzEJpGbwK7cB1gnITa4blqyszrKg1dg2L+ZA== + client.todos: AgBaZOU3D5ZEi2iZud0kLIgZVVNwWjreEDMiadtgZ99S236SOckGlqTes+6gcTcMUQe6CFcxatx8sXamGd9xtIwyZa/5jns4Ju0L4Tozf57uQS1CPY10wyLlPc/a/thn6dItfh5l0Fr+vQBmV0dlEJ12UM9iIH/w9raaf0VkDP/XbZw6PZ0lVoJp6u8LrjMIf5+pdlPOSytFNzB0EbWfQYGObD/zgt45V48+gE9jLolLIEz7QPMrUg0dj1RjWJE+dWXzv+4gCsRi/64gPUdkOZS4YWIlFP08jcDChzbqhVkqUXz3AOQOxF7+2NpD966dxWiYRQfDfFwb+V4vK8C4+DlQL8p22MxWt6iOhxpSoXVVlCInYxxhjpk/gpECqfu6gKlEexg+ekccAvkKVmBX9TbOjsurYFjL3JfuL057fjWIpvZhkQjJCQJiCgVGPtyVhoCzsKeyVDNJvXs6dYp8CMrRAcn/fdo4wI0/tva723ub++AsKSsXCRT+d+03FnBbjRrxSQdDiP4xYY6BqNfjwHGYSoULxtop5t2qt7PzFlpCxNjRe4NrkENCw8xDDSRrg4CLmazPi1Xs+MDeEP3cpi9sRzQx9u2JrvvHmsTeHjVY/MQHb072nLa6xAiUQoXQLMlzxJuwx0U5DmsMe6o8FfKaLikcS4CDKEAddLDI25z2XUBA9J7BTXdhtHB012S1COhouRqn333uKF/BnABI32/Afj9qsDy8VQ3iZyTKpLQUOrOzKKTenXy0b3VV9Vw3DoDPhEb9//fGrVoLdbXDpYaJScza9qg7QWmLqO8Cbk/83t1C28LWqZKWyMtq+QFQ1ANIbi53BopX8zBQargctEVielkpN5HqVCAIow0nQcGmZdZClg== template: metadata: creationTimestamp: null diff --git a/infrastructure/authelia/authelia.values.yaml b/infrastructure/authelia/authelia.values.yaml index 5a4200b..d1be232 100644 --- a/infrastructure/authelia/authelia.values.yaml +++ b/infrastructure/authelia/authelia.values.yaml @@ -227,7 +227,20 @@ configMap: userinfo_signed_response_alg: 'none' token_endpoint_auth_method: 'client_secret_basic' consent_mode: 'implicit' - + - client_id: 'kitchenowl' + client_name: 'KitchenOwl' + client_secret: + path: '/secrets/authelia-oidc/client.kitchenowl' + public: false + authorization_policy: 'one_factor' + redirect_uris: + - 'https://kitchenowl.kluster.moll.re/signin/redirect' + - kitchenowl:///signin/redirect + # mobile app as well + scopes: + - openid + - email + - profile persistence: enabled: true diff --git a/kluster-deployments/kitchenowl/application.yaml b/kluster-deployments/kitchenowl/application.yaml new file mode 100644 index 0000000..d728b49 --- /dev/null +++ b/kluster-deployments/kitchenowl/application.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kitchenowl-application + namespace: argocd +spec: + project: apps + source: + repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git + targetRevision: main + path: apps/kitchenowl/ + destination: + server: https://kubernetes.default.svc + namespace: kitchenowl + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/kluster-deployments/kitchenowl/kustomization.yaml b/kluster-deployments/kitchenowl/kustomization.yaml new file mode 100644 index 0000000..1f43d0d --- /dev/null +++ b/kluster-deployments/kitchenowl/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- application.yaml diff --git a/kluster-deployments/kustomization.yaml b/kluster-deployments/kustomization.yaml index 085a8e5..cdbe4f7 100644 --- a/kluster-deployments/kustomization.yaml +++ b/kluster-deployments/kustomization.yaml @@ -29,16 +29,17 @@ resources: - eth-physics/ - files/ - finance/ + - grafana/ - homeassistant/ - immich/ - journal/ + - kitchenowl/ - linkding/ - media/ - minecraft/application.yaml - - grafana/ - ntfy/ - paperless/ - recipes/ - rss/ - - whoami/ - todos/ + - whoami/