Files
infrastructure/clusters/cl01tl/manifests/movie-roulette/Deployment-movie-roulette.yaml

227 lines
6.3 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: movie-roulette
labels:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: movie-roulette
helm.sh/chart: movie-roulette-4.6.2
namespace: movie-roulette
spec:
revisionHistoryLimit: 3
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/controller: main
app.kubernetes.io/name: movie-roulette
app.kubernetes.io/instance: movie-roulette
template:
metadata:
labels:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/name: movie-roulette
spec:
enableServiceLinks: false
serviceAccountName: default
automountServiceAccountToken: true
hostIPC: false
hostNetwork: false
hostPID: false
dnsPolicy: ClusterFirst
containers:
- env:
- name: FLASK_SECRET_KEY
valueFrom:
secretKeyRef:
key: secret-key
name: movie-roulette-config-secret
- name: CORS_ALLOWED_ORIGINS
value: movie-roulette.alexlebens.net
- name: DISABLE_SETTINGS
value: "TRUE"
- name: AUTH_ENABLED
value: "TRUE"
- name: AUTH_SESSION_LIFETIME
value: "86400"
- name: JELLYFIN_URL
value: http://jellyfin.alexlebens.net
- name: JELLYFIN_API_KEY
valueFrom:
secretKeyRef:
key: jellyfin-key
name: movie-roulette-config-secret
- name: JELLYFIN_USER_ID
valueFrom:
secretKeyRef:
key: jellyfin-user
name: movie-roulette-config-secret
- name: LOGIN_BACKDROP_ENABLED
value: "TRUE"
- name: HOMEPAGE_MODE
value: "FALSE"
- name: USE_LINKS
value: "TRUE"
- name: USE_FILTER
value: "TRUE"
- name: USE_WATCH_BUTTON
value: "TRUE"
- name: USE_NEXT_BUTTON
value: "TRUE"
- name: USE_GRID_VIEW
value: "true"
- name: ENABLE_MOBILE_TRUNCATION
value: "TRUE"
- name: SHOW_NOW_WATCHING_CARD
value: "FALSE"
- name: USE_HEROUI_THEME
value: "FALSE"
- name: ENABLE_MOVIE_LOGOS
value: "TRUE"
- name: LOAD_MOVIE_ON_START
value: "FALSE"
- name: SEERR_URL
value: http://seerr.alexlebens.net
- name: SEERR_API_KEY
valueFrom:
secretKeyRef:
key: seerr-key
name: movie-roulette-config-secret
- name: REQUEST_SERVICE_DEFAULT
value: seerr
image: ghcr.io/sahara101/movie-roulette:v5.2.1
imagePullPolicy: IfNotPresent
name: main
resources:
requests:
cpu: 10m
memory: 128Mi
volumeMounts:
- mountPath: /config
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: movie-roulette-data
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: movie-roulette-config-secret
namespace: movie-roulette
labels:
app.kubernetes.io/name: movie-roulette-config-secret
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/part-of: movie-roulette
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: secret-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/movie-roulette/key
metadataPolicy: None
property: secret-key
- secretKey: jellyfin-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellyfin/movie-roulette
metadataPolicy: None
property: jellyfin-key
- secretKey: jellyfin-user
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellyfin/movie-roulette
metadataPolicy: None
property: user
- secretKey: seerr-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/seerr/key
metadataPolicy: None
property: key
---
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: HTTPRoute
metadata:
name: movie-roulette
labels:
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: movie-roulette
helm.sh/chart: movie-roulette-4.6.2
namespace: movie-roulette
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- "movie-roulette.alexlebens.net"
rules:
- backendRefs:
- group: ""
kind: Service
name: movie-roulette
namespace: movie-roulette
port: 80
weight: 100
matches:
- path:
type: PathPrefix
value: /
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: movie-roulette-data
labels:
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: movie-roulette
helm.sh/chart: movie-roulette-4.6.2
annotations:
helm.sh/resource-policy: keep
namespace: movie-roulette
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "1Gi"
storageClassName: "ceph-block"
---
apiVersion: v1
kind: Service
metadata:
name: movie-roulette
labels:
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: movie-roulette
app.kubernetes.io/service: movie-roulette
helm.sh/chart: movie-roulette-4.6.2
namespace: movie-roulette
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 4000
protocol: TCP
name: http
selector:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: movie-roulette
app.kubernetes.io/name: movie-roulette