whole bunch of fixes
This commit is contained in:
parent
7fc04f8d43
commit
45aa9c96dc
@ -2,7 +2,6 @@ apiVersion: v1
|
|||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: adguard-home-config
|
name: adguard-home-config
|
||||||
namespace: adguard
|
|
||||||
data:
|
data:
|
||||||
AdGuardHome.yaml: |-
|
AdGuardHome.yaml: |-
|
||||||
bind_host: 0.0.0.0
|
bind_host: 0.0.0.0
|
||||||
|
@ -2,7 +2,6 @@ apiVersion: apps/v1
|
|||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: adguard-home
|
name: adguard-home
|
||||||
namespace: adguard
|
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
revisionHistoryLimit: 3
|
revisionHistoryLimit: 3
|
||||||
|
@ -2,7 +2,6 @@ apiVersion: traefik.containo.us/v1alpha1
|
|||||||
kind: IngressRouteTCP
|
kind: IngressRouteTCP
|
||||||
metadata:
|
metadata:
|
||||||
name: adguard-tls-ingress
|
name: adguard-tls-ingress
|
||||||
namespace: adguard
|
|
||||||
spec:
|
spec:
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- dnsovertls
|
- dnsovertls
|
||||||
|
11
apps/adguard/kustomization.yaml
Normal file
11
apps/adguard/kustomization.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- configmap.yaml
|
||||||
|
- ingress.yaml
|
||||||
|
- service.yaml
|
||||||
|
- deployment.yaml
|
||||||
|
|
||||||
|
namespace: adguard
|
||||||
|
|
4
apps/adguard/namespace.yaml
Normal file
4
apps/adguard/namespace.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: placeholder
|
@ -1,8 +1,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: adguard-home
|
name: adguard-home-web
|
||||||
namespace: adguard
|
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
@ -22,7 +21,6 @@ metadata:
|
|||||||
metallb.universe.tf/allow-shared-ip: adguard-svc
|
metallb.universe.tf/allow-shared-ip: adguard-svc
|
||||||
|
|
||||||
name: adguard-home-dns-tcp
|
name: adguard-home-dns-tcp
|
||||||
namespace: adguard
|
|
||||||
spec:
|
spec:
|
||||||
allocateLoadBalancerNodePorts: true
|
allocateLoadBalancerNodePorts: true
|
||||||
loadBalancerIP: 192.168.3.2
|
loadBalancerIP: 192.168.3.2
|
||||||
@ -45,7 +43,6 @@ metadata:
|
|||||||
metallb.universe.tf/allow-shared-ip: adguard-svc
|
metallb.universe.tf/allow-shared-ip: adguard-svc
|
||||||
|
|
||||||
name: adguard-home-dns-udp
|
name: adguard-home-dns-udp
|
||||||
namespace: adguard
|
|
||||||
spec:
|
spec:
|
||||||
allocateLoadBalancerNodePorts: true
|
allocateLoadBalancerNodePorts: true
|
||||||
loadBalancerIP: 192.168.3.2
|
loadBalancerIP: 192.168.3.2
|
||||||
@ -58,4 +55,4 @@ spec:
|
|||||||
selector:
|
selector:
|
||||||
app.kubernetes.io/instance: adguard
|
app.kubernetes.io/instance: adguard
|
||||||
app.kubernetes.io/name: adguard-home
|
app.kubernetes.io/name: adguard-home
|
||||||
type: LoadBalancer
|
type: LoadBalancer
|
||||||
|
@ -12,8 +12,8 @@ spec:
|
|||||||
- name: jellyfin-websocket
|
- name: jellyfin-websocket
|
||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
- name: jellyfin
|
- name: jellyfin-web
|
||||||
port: 8096
|
port: 8080
|
||||||
tls:
|
tls:
|
||||||
certResolver: default-tls
|
certResolver: default-tls
|
||||||
|
|
12
apps/media/kustomization.yaml
Normal file
12
apps/media/kustomization.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
- server.deployment.yaml
|
||||||
|
- server.service.yaml
|
||||||
|
- web.deployment.yaml
|
||||||
|
- web.service.yaml
|
||||||
|
- ingress.yaml
|
||||||
|
|
||||||
|
namespace: media
|
4
apps/media/namespace.yaml
Normal file
4
apps/media/namespace.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: placeholder
|
@ -4,12 +4,9 @@ kind: PersistentVolume
|
|||||||
metadata:
|
metadata:
|
||||||
namespace: media
|
namespace: media
|
||||||
name: jellyfin-config-nfs
|
name: jellyfin-config-nfs
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
# storageClassName: slow
|
|
||||||
capacity:
|
capacity:
|
||||||
storage: "1Gi"
|
storage: "1Gi"
|
||||||
# volumeMode: Filesystem
|
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
nfs:
|
nfs:
|
||||||
@ -29,6 +26,7 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: "1Gi"
|
storage: "1Gi"
|
||||||
volumeName: jellyfin-config-nfs
|
volumeName: jellyfin-config-nfs
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@ -37,10 +35,8 @@ metadata:
|
|||||||
namespace: media
|
namespace: media
|
||||||
name: jellyfin-data-nfs
|
name: jellyfin-data-nfs
|
||||||
spec:
|
spec:
|
||||||
# storageClassName: slow
|
|
||||||
capacity:
|
capacity:
|
||||||
storage: "1Ti"
|
storage: "1Ti"
|
||||||
# volumeMode: Filesystem
|
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
nfs:
|
nfs:
|
||||||
@ -53,7 +49,7 @@ metadata:
|
|||||||
namespace: media
|
namespace: media
|
||||||
name: jellyfin-data-nfs
|
name: jellyfin-data-nfs
|
||||||
spec:
|
spec:
|
||||||
storageClassName: nfs-client
|
storageClassName: ""
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
44
apps/media/server.deployment.yaml
Normal file
44
apps/media/server.deployment.yaml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-server
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: jellyfin-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: jellyfin-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: jellyfin-server
|
||||||
|
image: jellyfin/jellyfin:10.8.9
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: "500Mi"
|
||||||
|
cpu: "2"
|
||||||
|
ports:
|
||||||
|
- containerPort: 8096
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: Europe/Berlin
|
||||||
|
volumeMounts:
|
||||||
|
- name: jellyfin-config
|
||||||
|
mountPath: /config
|
||||||
|
- name: jellyfin-data
|
||||||
|
mountPath: /media
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: 8096
|
||||||
|
initialDelaySeconds: 100
|
||||||
|
periodSeconds: 15
|
||||||
|
volumes:
|
||||||
|
- name: jellyfin-config
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: jellyfin-config-nfs
|
||||||
|
- name: jellyfin-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: jellyfin-data-nfs
|
||||||
|
|
12
apps/media/server.service.yaml
Normal file
12
apps/media/server.service.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-server
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: jellyfin-server
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8096
|
||||||
|
targetPort: 8096
|
27
apps/media/web.deployment.yaml
Normal file
27
apps/media/web.deployment.yaml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-web
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: jellyfin-web
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: jellyfin-web
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: jellyfin-web
|
||||||
|
image: ghcr.io/jellyfin/jellyfin-vue
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: "128Mi"
|
||||||
|
cpu: "30m"
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: Europe/Berlin
|
||||||
|
- name: DEFAULT_SERVERS
|
||||||
|
value: "jellyfin-server:8096"
|
12
apps/media/web.service.yaml
Normal file
12
apps/media/web.service.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-web
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: jellyfin-web
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
@ -92,13 +92,9 @@ apiVersion: v1
|
|||||||
kind: PersistentVolume
|
kind: PersistentVolume
|
||||||
metadata:
|
metadata:
|
||||||
name: drone-data-nfs
|
name: drone-data-nfs
|
||||||
labels:
|
|
||||||
directory: drone
|
|
||||||
spec:
|
spec:
|
||||||
# storageClassName: fast
|
|
||||||
capacity:
|
capacity:
|
||||||
storage: "1Gi"
|
storage: "1Gi"
|
||||||
# volumeMode: Filesystem
|
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
nfs:
|
nfs:
|
||||||
@ -110,15 +106,10 @@ kind: PersistentVolumeClaim
|
|||||||
metadata:
|
metadata:
|
||||||
name: drone-data-nfs
|
name: drone-data-nfs
|
||||||
spec:
|
spec:
|
||||||
# storageClassName: fast
|
storageClassName: ""
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: "1Gi"
|
storage: "1Gi"
|
||||||
selector:
|
volumeName: drone-data-nfs
|
||||||
matchLabels:
|
|
||||||
directory: drone
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,13 +39,12 @@ spec:
|
|||||||
server: 192.168.1.157
|
server: 192.168.1.157
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: gitea-postgresql-data-nfs
|
name: gitea-postgresql-data-nfs
|
||||||
spec:
|
spec:
|
||||||
storageClassName: nfs-client
|
storageClassName: ""
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
|
@ -68,26 +68,12 @@ resources:
|
|||||||
|
|
||||||
|
|
||||||
## @section Persistence
|
## @section Persistence
|
||||||
#
|
|
||||||
## @param persistence.enabled Enable persistent storage
|
|
||||||
## @param persistence.existingClaim Use an existing claim to store repository information
|
|
||||||
## @param persistence.size Size for persistence to store repo information
|
|
||||||
## @param persistence.accessModes AccessMode for persistence
|
|
||||||
## @param persistence.labels Labels for the persistence volume claim to be created
|
|
||||||
## @param persistence.annotations Annotations for the persistence volume claim to be created
|
|
||||||
## @param persistence.storageClass Name of the storage class to use
|
|
||||||
## @param persistence.subPath Subdirectory of the volume to mount at
|
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
existingClaim: gitea-data-nfs
|
create: false
|
||||||
|
mount: true
|
||||||
|
claimName: gitea-data-nfs
|
||||||
|
|
||||||
size: 10Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
labels: {}
|
|
||||||
annotations: {}
|
|
||||||
storageClass:
|
|
||||||
subPath:
|
|
||||||
|
|
||||||
|
|
||||||
# Configure commit/action signing prerequisites
|
# Configure commit/action signing prerequisites
|
||||||
@ -99,13 +85,6 @@ persistence:
|
|||||||
## @param signing.existingSecret Use an existing secret to store the value of `signing.privateKey`
|
## @param signing.existingSecret Use an existing secret to store the value of `signing.privateKey`
|
||||||
signing:
|
signing:
|
||||||
enabled: false
|
enabled: false
|
||||||
gpgHome: /data/git/.gnupg
|
|
||||||
privateKey: ""
|
|
||||||
# privateKey: |-
|
|
||||||
# -----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
||||||
# ...
|
|
||||||
# -----END PGP PRIVATE KEY BLOCK-----
|
|
||||||
existingSecret: ""
|
|
||||||
|
|
||||||
## @section Gitea
|
## @section Gitea
|
||||||
#
|
#
|
||||||
@ -135,6 +114,7 @@ gitea:
|
|||||||
DOMAIN: git.kluster.moll.re
|
DOMAIN: git.kluster.moll.re
|
||||||
ROOT_URL: https://git.kluster.moll.re
|
ROOT_URL: https://git.kluster.moll.re
|
||||||
SSH_LISTEN_PORT: 2222
|
SSH_LISTEN_PORT: 2222
|
||||||
|
SSH_PORT: 2222
|
||||||
actions:
|
actions:
|
||||||
ENABLED: true
|
ENABLED: true
|
||||||
|
|
||||||
@ -177,8 +157,8 @@ postgresql:
|
|||||||
tag: 11
|
tag: 11
|
||||||
# diagnosticMode:
|
# diagnosticMode:
|
||||||
# enabled: true
|
# enabled: true
|
||||||
# containerSecurityContext:
|
containerSecurityContext:
|
||||||
# runAsUser: 0
|
runAsUser: 0
|
||||||
global:
|
global:
|
||||||
postgresql:
|
postgresql:
|
||||||
auth:
|
auth:
|
||||||
@ -192,7 +172,16 @@ postgresql:
|
|||||||
persistence:
|
persistence:
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
existingClaim: gitea-postgresql-data-nfs
|
existingClaim: gitea-postgresql-data-nfs
|
||||||
mountPath: /bitnami/postgresql/data
|
# mountPath: /bitnami/postgresql/data
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
redis-cluster:
|
||||||
|
enabled: true
|
||||||
|
usePassword: false
|
||||||
|
cluster:
|
||||||
|
nodes: 3 # default: 6
|
||||||
|
replicas: 0 # default: 1
|
||||||
|
|
||||||
|
|
||||||
postgresql-ha:
|
postgresql-ha:
|
||||||
@ -206,12 +195,3 @@ postgresql-ha:
|
|||||||
## @param test.image.name Image name for the wget container used in the test-connection Pod.
|
## @param test.image.name Image name for the wget container used in the test-connection Pod.
|
||||||
## @param test.image.tag Image tag for the wget container used in the test-connection Pod.
|
## @param test.image.tag Image tag for the wget container used in the test-connection Pod.
|
||||||
checkDeprecation: true
|
checkDeprecation: true
|
||||||
test:
|
|
||||||
enabled: true
|
|
||||||
image:
|
|
||||||
name: busybox
|
|
||||||
tag: latest
|
|
||||||
|
|
||||||
## @param extraDeploy Array of extra objects to deploy with the release
|
|
||||||
##
|
|
||||||
extraDeploy: []
|
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- gitea.pvc.yaml
|
- gitea.pvc.yaml
|
||||||
- gitea.ingress.yaml
|
- gitea.ingress.yaml
|
||||||
- drone-kube-runner.deployment.yaml
|
- drone-kube-runner.deployment.yaml
|
||||||
- drone-server.deployment.yaml
|
- drone-server.deployment.yaml
|
||||||
- drone-server.sealedsecret.yaml
|
- drone-server.sealedsecret.yaml
|
||||||
|
|
||||||
namespace: gitea
|
namespace: gitea
|
||||||
|
|
||||||
|
|
||||||
helmCharts:
|
helmCharts:
|
||||||
- name: gitea
|
- name: gitea
|
||||||
|
namespace: gitea # needs to be set explicitly for svc to be referenced correctly
|
||||||
releaseName: gitea
|
releaseName: gitea
|
||||||
version: 9.6.1
|
version: 9.6.1
|
||||||
valuesFile: gitea.values.yaml
|
valuesFile: gitea.values.yaml
|
||||||
|
18
kluster-deployments/adguard/application.yaml
Normal file
18
kluster-deployments/adguard/application.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: adguard-application
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: apps
|
||||||
|
source:
|
||||||
|
repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
|
||||||
|
targetRevision: main
|
||||||
|
path: apps/adguard
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: adguard
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
4
kluster-deployments/adguard/kustomization.yaml
Normal file
4
kluster-deployments/adguard/kustomization.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- application.yaml
|
@ -24,3 +24,5 @@ resources:
|
|||||||
- homeassistant/
|
- homeassistant/
|
||||||
- ntfy/
|
- ntfy/
|
||||||
- rss/
|
- rss/
|
||||||
|
- adguard/
|
||||||
|
- media/
|
||||||
|
18
kluster-deployments/media/application.yaml
Normal file
18
kluster-deployments/media/application.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: media-application
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: apps
|
||||||
|
source:
|
||||||
|
repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
|
||||||
|
targetRevision: main
|
||||||
|
path: apps/media/
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: media
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
4
kluster-deployments/media/kustomization.yaml
Normal file
4
kluster-deployments/media/kustomization.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- application.yaml
|
Loading…
x
Reference in New Issue
Block a user