Compare commits

...

2 Commits

Author SHA1 Message Date
f36e06de46 Correct pathing 2025-01-22 19:31:30 +00:00
aa2242d3bd Add all the servarr bits 2025-01-22 19:24:48 +00:00
26 changed files with 339 additions and 102 deletions

View File

@@ -3,6 +3,8 @@ creation_rules:
encrypted_regex: ^(data|stringData)$
# tower
# k8s
# Little laptop
age: >-
age1ntfcrf5fz43da6k9h4um06u8mejjsqg005jm6rwmt9wff949s58qqwx8tv,
age1gnxrrychharz0cyapjhu3nnzzzhc38slwfpq5h5rsq7pphuk4q6shhx3ll
age1gnxrrychharz0cyapjhu3nnzzzhc38slwfpq5h5rsq7pphuk4q6shhx3ll,
age159065m47ffp6xveh8f4q0hwf4554wr902ecawyld7mnaa8dfnerq2q3220

View File

@@ -1,80 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: podinfo
spec:
minReadySeconds: 3
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
rollingUpdate:
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: podinfo
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9797"
labels:
app: podinfo
spec:
containers:
- name: podinfo
image: ghcr.io/stefanprodan/podinfo:6.7.0
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 9898
protocol: TCP
- name: http-metrics
containerPort: 9797
protocol: TCP
- name: grpc
containerPort: 9999
protocol: TCP
command:
- ./podinfo
- --port=9898
- --port-metrics=9797
- --grpc-port=9999
- --grpc-service-name=podinfo
- --level=info
- --random-delay=false
- --random-error=false
env:
- name: PODINFO_UI_COLOR
value: "#34577c"
livenessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/healthz
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/readyz
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 2000m
memory: 512Mi
requests:
cpu: 100m
memory: 64Mi
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
emptyDir: {}

View File

@@ -1,16 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: podinfo
spec:
type: ClusterIP
selector:
app: podinfo
ports:
- name: http
port: 9898
targetPort: 9898
- name: grpc
port: 9999
targetPort: 9999
protocol: TCP

View File

@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./gluetun
- ./prowlarr
- ./sonarr
# - ./radarr
# - ./lidarr

View File

@@ -0,0 +1,69 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: lidarr
spec:
minReadySeconds: 3
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
type: Recreate
selector:
matchLabels:
app: lidarr
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9797"
labels:
app: sonarr
spec:
containers:
- image: ghcr.io/qdm12/gluetun:latest
name: gluetun
imagePullPolicy: Always
securityContext:
capabilities:
add: ["NET_ADMIN"]
ports:
- containerPort: 8989
envFrom:
- secretRef:
name: gluetun-env
resources:
limits:
cpu: 250m
memory: 500Mi
requests:
cpu: 10m
memory: 64Mi
- name: lidarr
image: lscr.io/linuxserver/lidarr:4.0.8
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 10m
memory: 64Mi
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
persistentVolumeClaim:
claimName: lidarr

View File

@@ -1,16 +1,16 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: podinfo
name: lidarr
spec:
entryPoints:
- web
routes:
- match: Host(`podinfo.k3s`)
- match: Host(`lidarr.k3s`)
kind: Rule
services:
- name: podinfo
- name: lidarr
namespace: apps
nativeLB: true
kind: Service
port: 9898
port: 8989

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: lidarr
spec:
accessModes:
- ReadWriteOncePod
storageClassName: local-path
resources:
requests:
storage: 5Gi

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: lidarr
spec:
type: ClusterIP
selector:
app: lidarr
ports:
- name: http
port: 8989
targetPort: 8989

View File

@@ -0,0 +1,69 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: prowlarr
spec:
minReadySeconds: 3
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
type: Recreate
selector:
matchLabels:
app: prowlarr
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9797"
labels:
app: prowlarr
spec:
containers:
- image: ghcr.io/qdm12/gluetun:latest
name: gluetun
imagePullPolicy: Always
securityContext:
capabilities:
add: ["NET_ADMIN"]
ports:
- containerPort: 8989
envFrom:
- secretRef:
name: gluetun-env
resources:
limits:
cpu: 250m
memory: 500Mi
requests:
cpu: 10m
memory: 64Mi
- name: prowlarr
image: lscr.io/linuxserver/prowlarr:4.0.8
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 10m
memory: 64Mi
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
persistentVolumeClaim:
claimName: prowlarr

View File

@@ -0,0 +1,16 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: prowlarr
spec:
entryPoints:
- web
routes:
- match: Host(`prowlarr.k3s`)
kind: Rule
services:
- name: prowlarr
namespace: apps
nativeLB: true
kind: Service
port: 8989

View File

@@ -1,6 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- pvc.yaml
- deployment.yaml
- service.yaml
- ingress.yaml
- ingress.yaml

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: prowlarr
spec:
accessModes:
- ReadWriteOncePod
storageClassName: local-path
resources:
requests:
storage: 5Gi

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: prowlarr
spec:
type: ClusterIP
selector:
app: prowlarr
ports:
- name: http
port: 8989
targetPort: 8989

View File

@@ -0,0 +1,69 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: radarr
spec:
minReadySeconds: 3
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
type: Recreate
selector:
matchLabels:
app: radarr
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9797"
labels:
app: radarr
spec:
containers:
- image: ghcr.io/qdm12/gluetun:latest
name: gluetun
imagePullPolicy: Always
securityContext:
capabilities:
add: ["NET_ADMIN"]
ports:
- containerPort: 8989
envFrom:
- secretRef:
name: gluetun-env
resources:
limits:
cpu: 250m
memory: 500Mi
requests:
cpu: 10m
memory: 64Mi
- name: radarr
image: lscr.io/linuxserver/radarr:4.0.8
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 10m
memory: 64Mi
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
persistentVolumeClaim:
claimName: radarr

View File

@@ -0,0 +1,16 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: radarr
spec:
entryPoints:
- web
routes:
- match: Host(`radarr.k3s`)
kind: Rule
services:
- name: radarr
namespace: apps
nativeLB: true
kind: Service
port: 8989

View File

@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- pvc.yaml
- deployment.yaml
- service.yaml
- ingress.yaml

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr
spec:
accessModes:
- ReadWriteOncePod
storageClassName: local-path
resources:
requests:
storage: 5Gi

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: radarr
spec:
type: ClusterIP
selector:
app: radarr
ports:
- name: http
port: 8989
targetPort: 8989

View File

@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- pvc.yaml
- deployment.yaml
- service.yaml
- ingress.yaml