kitchenowl + code server

This commit is contained in:
2025-01-19 18:05:04 +01:00
parent 2aa7f0509b
commit 18a7b43a23
20 changed files with 282 additions and 10 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: placeholder

11
apps/code-server/pvc.yaml Normal file
View File

@@ -0,0 +1,11 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: code-server-data
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: placeholder

11
apps/kitchenowl/pvc.yaml Normal file
View File

@@ -0,0 +1,11 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: kitchenowl-data
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: Service
metadata:
name: kitchenowl-web
spec:
selector:
app: kitchenowl
ports:
- port: 8080
targetPort: 8080