diff --git a/apps/base/bazarr/deployment.yaml b/apps/base/bazarr/deployment.yaml deleted file mode 100644 index 171c86b..0000000 --- a/apps/base/bazarr/deployment.yaml +++ /dev/null @@ -1,61 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: bazarr - namespace: media-apps -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: bazarr - template: - metadata: - labels: - app: bazarr - spec: - securityContext: - fsGroup: 1000 - containers: - - name: bazarr - image: ghcr.io/home-operations/bazarr:rolling - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 6767 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PUID - value: "1000" - - name: PGID - value: "1000" - resources: - requests: - cpu: 50m - memory: 256Mi - limits: - cpu: "1" - memory: 1Gi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - volumes: - - name: config - persistentVolumeClaim: - claimName: bazarr-config diff --git a/apps/base/bazarr/gateway.yaml b/apps/base/bazarr/gateway.yaml deleted file mode 100644 index 6adf69d..0000000 --- a/apps/base/bazarr/gateway.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: Gateway -metadata: - labels: - traefik.io/instance: internal - annotations: - cert-manager.io/cluster-issuer: vault-issuer - cert-manager.io/common-name: bazarr.k8s.syd1.au.unkin.net - cert-manager.io/private-key-size: "4096" - external-dns.alpha.kubernetes.io/hostname: bazarr.k8s.syd1.au.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 - name: bazarr - namespace: media-apps -spec: - gatewayClassName: traefik-internal - listeners: - - allowedRoutes: - namespaces: - from: Same - hostname: bazarr.k8s.syd1.au.unkin.net - name: http - port: 80 - protocol: HTTP - - allowedRoutes: - namespaces: - from: Same - hostname: bazarr.k8s.syd1.au.unkin.net - name: https - port: 443 - protocol: HTTPS - tls: - certificateRefs: - - group: "" - kind: Secret - name: bazarr-tls - mode: Terminate diff --git a/apps/base/bazarr/httproute.yaml b/apps/base/bazarr/httproute.yaml deleted file mode 100644 index 01de102..0000000 --- a/apps/base/bazarr/httproute.yaml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http-redirect - namespace: media-apps -spec: - hostnames: - - bazarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: bazarr - sectionName: http - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - matches: - - path: - type: PathPrefix - value: / ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: bazarr - namespace: media-apps -spec: - hostnames: - - bazarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: bazarr - sectionName: https - rules: - - backendRefs: - - group: "" - kind: Service - name: bazarr - port: 6767 - weight: 1 - matches: - - path: - type: PathPrefix - value: / diff --git a/apps/base/bazarr/kustomization.yaml b/apps/base/bazarr/kustomization.yaml deleted file mode 100644 index 75755b6..0000000 --- a/apps/base/bazarr/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - pvc.yaml - - deployment.yaml - - service.yaml - - gateway.yaml - - httproute.yaml diff --git a/apps/base/bazarr/pvc.yaml b/apps/base/bazarr/pvc.yaml deleted file mode 100644 index ac449c5..0000000 --- a/apps/base/bazarr/pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: bazarr-config - namespace: media-apps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - storageClassName: cephrbd-fast-delete - volumeMode: Filesystem diff --git a/apps/base/bazarr/service.yaml b/apps/base/bazarr/service.yaml deleted file mode 100644 index 2dfa0e4..0000000 --- a/apps/base/bazarr/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: bazarr - namespace: media-apps -spec: - type: ClusterIP - selector: - app: bazarr - ports: - - name: http - port: 6767 - targetPort: http - protocol: TCP diff --git a/apps/base/jellyfin/deployment.yaml b/apps/base/jellyfin/deployment.yaml index 2ac8c23..e139b0b 100644 --- a/apps/base/jellyfin/deployment.yaml +++ b/apps/base/jellyfin/deployment.yaml @@ -3,7 +3,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin - namespace: media-apps + namespace: jellyfin spec: # Single-replica for now. The jellyfin-ha fork adds the Redis transcode store # and RWX transcode scratch that make scaling to true HA a follow-up. diff --git a/apps/base/jellyfin/gateway.yaml b/apps/base/jellyfin/gateway.yaml index 1ed5c15..a491519 100644 --- a/apps/base/jellyfin/gateway.yaml +++ b/apps/base/jellyfin/gateway.yaml @@ -11,7 +11,7 @@ metadata: external-dns.alpha.kubernetes.io/hostname: jellyfin.k8s.syd1.au.unkin.net external-dns.alpha.kubernetes.io/target: 198.18.200.4 name: jellyfin - namespace: media-apps + namespace: jellyfin spec: gatewayClassName: traefik-internal listeners: diff --git a/apps/base/jellyfin/httproute.yaml b/apps/base/jellyfin/httproute.yaml index b6e98a8..538947d 100644 --- a/apps/base/jellyfin/httproute.yaml +++ b/apps/base/jellyfin/httproute.yaml @@ -3,7 +3,7 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: http-redirect - namespace: media-apps + namespace: jellyfin spec: hostnames: - jellyfin.k8s.syd1.au.unkin.net @@ -27,7 +27,7 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: jellyfin - namespace: media-apps + namespace: jellyfin spec: hostnames: - jellyfin.k8s.syd1.au.unkin.net diff --git a/apps/base/jellyfin/kustomization.yaml b/apps/base/jellyfin/kustomization.yaml index 219982c..ba9b0f8 100644 --- a/apps/base/jellyfin/kustomization.yaml +++ b/apps/base/jellyfin/kustomization.yaml @@ -3,6 +3,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: + - namespace.yaml + - pv_media-library.yaml + - pvc_media-library.yaml - pvc_config.yaml - pvc_cache.yaml - pvc_transcode.yaml diff --git a/apps/base/media-apps/namespace.yaml b/apps/base/jellyfin/namespace.yaml similarity index 70% rename from apps/base/media-apps/namespace.yaml rename to apps/base/jellyfin/namespace.yaml index f55cc8e..3122e11 100644 --- a/apps/base/media-apps/namespace.yaml +++ b/apps/base/jellyfin/namespace.yaml @@ -2,4 +2,4 @@ apiVersion: v1 kind: Namespace metadata: - name: media-apps + name: jellyfin diff --git a/apps/base/media-apps/pv_media-library.yaml b/apps/base/jellyfin/pv_media-library.yaml similarity index 92% rename from apps/base/media-apps/pv_media-library.yaml rename to apps/base/jellyfin/pv_media-library.yaml index 0243e24..463e5ab 100644 --- a/apps/base/media-apps/pv_media-library.yaml +++ b/apps/base/jellyfin/pv_media-library.yaml @@ -9,7 +9,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: media-apps-media-library + name: jellyfin-media-library spec: accessModes: - ReadWriteMany @@ -24,10 +24,10 @@ spec: apiVersion: v1 kind: PersistentVolumeClaim name: media-library - namespace: media-apps + namespace: jellyfin csi: driver: cephfs.csi.ceph.com - volumeHandle: media-apps-media-library-static + volumeHandle: jellyfin-media-library-static nodeStageSecretRef: name: csi-cephfs-secret namespace: csi-cephfs diff --git a/apps/base/jellyfin/pvc_cache.yaml b/apps/base/jellyfin/pvc_cache.yaml index c412c5d..26a78b8 100644 --- a/apps/base/jellyfin/pvc_cache.yaml +++ b/apps/base/jellyfin/pvc_cache.yaml @@ -4,7 +4,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-cache - namespace: media-apps + namespace: jellyfin spec: accessModes: - ReadWriteOnce diff --git a/apps/base/jellyfin/pvc_config.yaml b/apps/base/jellyfin/pvc_config.yaml index 0e23c33..71467d0 100644 --- a/apps/base/jellyfin/pvc_config.yaml +++ b/apps/base/jellyfin/pvc_config.yaml @@ -4,7 +4,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-config - namespace: media-apps + namespace: jellyfin spec: accessModes: - ReadWriteOnce diff --git a/apps/base/media-apps/pvc_media-library.yaml b/apps/base/jellyfin/pvc_media-library.yaml similarity index 87% rename from apps/base/media-apps/pvc_media-library.yaml rename to apps/base/jellyfin/pvc_media-library.yaml index 49d0652..2e100ce 100644 --- a/apps/base/media-apps/pvc_media-library.yaml +++ b/apps/base/jellyfin/pvc_media-library.yaml @@ -7,12 +7,12 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-library - namespace: media-apps + namespace: jellyfin spec: accessModes: - ReadWriteMany storageClassName: "" - volumeName: media-apps-media-library + volumeName: jellyfin-media-library resources: requests: storage: 10Ti diff --git a/apps/base/jellyfin/pvc_transcode.yaml b/apps/base/jellyfin/pvc_transcode.yaml index 7c25b61..4f8c891 100644 --- a/apps/base/jellyfin/pvc_transcode.yaml +++ b/apps/base/jellyfin/pvc_transcode.yaml @@ -6,7 +6,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-transcode - namespace: media-apps + namespace: jellyfin spec: accessModes: - ReadWriteMany diff --git a/apps/base/jellyfin/redis-deployment.yaml b/apps/base/jellyfin/redis-deployment.yaml index 141a95b..4a61e3c 100644 --- a/apps/base/jellyfin/redis-deployment.yaml +++ b/apps/base/jellyfin/redis-deployment.yaml @@ -3,7 +3,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin-redis - namespace: media-apps + namespace: jellyfin spec: replicas: 1 strategy: diff --git a/apps/base/jellyfin/redis-pvc.yaml b/apps/base/jellyfin/redis-pvc.yaml index 0916f96..36a4315 100644 --- a/apps/base/jellyfin/redis-pvc.yaml +++ b/apps/base/jellyfin/redis-pvc.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-redis-data - namespace: media-apps + namespace: jellyfin spec: accessModes: - ReadWriteOnce diff --git a/apps/base/jellyfin/redis-service.yaml b/apps/base/jellyfin/redis-service.yaml index d1e2181..2867750 100644 --- a/apps/base/jellyfin/redis-service.yaml +++ b/apps/base/jellyfin/redis-service.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: Service metadata: name: jellyfin-redis - namespace: media-apps + namespace: jellyfin spec: type: ClusterIP internalTrafficPolicy: Cluster diff --git a/apps/base/jellyfin/service.yaml b/apps/base/jellyfin/service.yaml index 2722963..65b86d4 100644 --- a/apps/base/jellyfin/service.yaml +++ b/apps/base/jellyfin/service.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: Service metadata: name: jellyfin - namespace: media-apps + namespace: jellyfin spec: type: ClusterIP internalTrafficPolicy: Cluster diff --git a/apps/base/jellyseerr/deployment.yaml b/apps/base/jellyseerr/deployment.yaml deleted file mode 100644 index 3ff94ad..0000000 --- a/apps/base/jellyseerr/deployment.yaml +++ /dev/null @@ -1,61 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: jellyseerr - namespace: media-apps -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: jellyseerr - template: - metadata: - labels: - app: jellyseerr - spec: - securityContext: - fsGroup: 1000 - containers: - - name: jellyseerr - image: ghcr.io/fallenbagel/jellyseerr:latest - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 5055 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: LOG_LEVEL - value: debug - - name: PORT - value: "5055" - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: "1" - memory: 1Gi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /app/config - volumes: - - name: config - persistentVolumeClaim: - claimName: jellyseerr-config diff --git a/apps/base/jellyseerr/gateway.yaml b/apps/base/jellyseerr/gateway.yaml deleted file mode 100644 index 01ea213..0000000 --- a/apps/base/jellyseerr/gateway.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: Gateway -metadata: - labels: - traefik.io/instance: internal - annotations: - cert-manager.io/cluster-issuer: vault-issuer - cert-manager.io/common-name: jellyseerr.k8s.syd1.au.unkin.net - cert-manager.io/private-key-size: "4096" - external-dns.alpha.kubernetes.io/hostname: jellyseerr.k8s.syd1.au.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 - name: jellyseerr - namespace: media-apps -spec: - gatewayClassName: traefik-internal - listeners: - - allowedRoutes: - namespaces: - from: Same - hostname: jellyseerr.k8s.syd1.au.unkin.net - name: http - port: 80 - protocol: HTTP - - allowedRoutes: - namespaces: - from: Same - hostname: jellyseerr.k8s.syd1.au.unkin.net - name: https - port: 443 - protocol: HTTPS - tls: - certificateRefs: - - group: "" - kind: Secret - name: jellyseerr-tls - mode: Terminate diff --git a/apps/base/jellyseerr/httproute.yaml b/apps/base/jellyseerr/httproute.yaml deleted file mode 100644 index 7f3d770..0000000 --- a/apps/base/jellyseerr/httproute.yaml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http-redirect - namespace: media-apps -spec: - hostnames: - - jellyseerr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: jellyseerr - sectionName: http - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - matches: - - path: - type: PathPrefix - value: / ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: jellyseerr - namespace: media-apps -spec: - hostnames: - - jellyseerr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: jellyseerr - sectionName: https - rules: - - backendRefs: - - group: "" - kind: Service - name: jellyseerr - port: 5055 - weight: 1 - matches: - - path: - type: PathPrefix - value: / diff --git a/apps/base/jellyseerr/kustomization.yaml b/apps/base/jellyseerr/kustomization.yaml deleted file mode 100644 index 75755b6..0000000 --- a/apps/base/jellyseerr/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - pvc.yaml - - deployment.yaml - - service.yaml - - gateway.yaml - - httproute.yaml diff --git a/apps/base/jellyseerr/pvc.yaml b/apps/base/jellyseerr/pvc.yaml deleted file mode 100644 index 8ad62e5..0000000 --- a/apps/base/jellyseerr/pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: jellyseerr-config - namespace: media-apps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - storageClassName: cephrbd-fast-delete - volumeMode: Filesystem diff --git a/apps/base/jellyseerr/service.yaml b/apps/base/jellyseerr/service.yaml deleted file mode 100644 index 5df32ae..0000000 --- a/apps/base/jellyseerr/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: jellyseerr - namespace: media-apps -spec: - type: ClusterIP - selector: - app: jellyseerr - ports: - - name: http - port: 5055 - targetPort: http - protocol: TCP diff --git a/apps/base/media-apps/kustomization.yaml b/apps/base/media-apps/kustomization.yaml deleted file mode 100644 index 0969cf0..0000000 --- a/apps/base/media-apps/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - namespace.yaml - - serviceaccount.yaml - - vaultauth.yaml - - pv_media-library.yaml - - pvc_media-library.yaml diff --git a/apps/base/media-apps/serviceaccount.yaml b/apps/base/media-apps/serviceaccount.yaml deleted file mode 100644 index 5713b6d..0000000 --- a/apps/base/media-apps/serviceaccount.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: media-apps-vault-reader - namespace: media-apps - labels: - app.kubernetes.io/name: vault-reader - app.kubernetes.io/component: service-account - annotations: - vault.hashicorp.com/auth-method: kubernetes -automountServiceAccountToken: true diff --git a/apps/base/media-apps/vaultauth.yaml b/apps/base/media-apps/vaultauth.yaml deleted file mode 100644 index 492e2f2..0000000 --- a/apps/base/media-apps/vaultauth.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultAuth -metadata: - name: default - namespace: media-apps -spec: - allowedNamespaces: - - media-apps - kubernetes: - audiences: - - vault - role: media-apps - serviceAccount: media-apps-vault-reader - tokenExpirationSeconds: 600 - method: kubernetes - mount: k8s/au/syd1 - vaultConnectionRef: vso-system/default diff --git a/apps/base/nzbget/deployment.yaml b/apps/base/nzbget/deployment.yaml deleted file mode 100644 index 46bffe9..0000000 --- a/apps/base/nzbget/deployment.yaml +++ /dev/null @@ -1,80 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nzbget - namespace: media-apps -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: nzbget - template: - metadata: - labels: - app: nzbget - spec: - securityContext: - fsGroup: 1000 - containers: - - name: nzbget - image: ghcr.io/home-operations/nzbget:rolling - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 6789 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: NZBGET_USER - valueFrom: - secretKeyRef: - name: nzbget-secrets - key: NZBGET_USER - - name: NZBGET_PASS - valueFrom: - secretKeyRef: - name: nzbget-secrets - key: NZBGET_PASS - resources: - requests: - cpu: 100m - memory: 512Mi - limits: - cpu: "4" - memory: 8Gi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - - name: media-library - mountPath: /mnt/movies - subPath: movies - - name: media-library - mountPath: /mnt/tvseries - subPath: tvseries - volumes: - - name: config - persistentVolumeClaim: - claimName: nzbget-config - - name: media-library - persistentVolumeClaim: - claimName: media-library diff --git a/apps/base/nzbget/gateway.yaml b/apps/base/nzbget/gateway.yaml deleted file mode 100644 index 0ce61ec..0000000 --- a/apps/base/nzbget/gateway.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: Gateway -metadata: - labels: - traefik.io/instance: internal - annotations: - cert-manager.io/cluster-issuer: vault-issuer - cert-manager.io/common-name: nzbget.k8s.syd1.au.unkin.net - cert-manager.io/private-key-size: "4096" - external-dns.alpha.kubernetes.io/hostname: nzbget.k8s.syd1.au.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 - name: nzbget - namespace: media-apps -spec: - gatewayClassName: traefik-internal - listeners: - - allowedRoutes: - namespaces: - from: Same - hostname: nzbget.k8s.syd1.au.unkin.net - name: http - port: 80 - protocol: HTTP - - allowedRoutes: - namespaces: - from: Same - hostname: nzbget.k8s.syd1.au.unkin.net - name: https - port: 443 - protocol: HTTPS - tls: - certificateRefs: - - group: "" - kind: Secret - name: nzbget-tls - mode: Terminate diff --git a/apps/base/nzbget/httproute.yaml b/apps/base/nzbget/httproute.yaml deleted file mode 100644 index 492d89d..0000000 --- a/apps/base/nzbget/httproute.yaml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http-redirect - namespace: media-apps -spec: - hostnames: - - nzbget.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: nzbget - sectionName: http - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - matches: - - path: - type: PathPrefix - value: / ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: nzbget - namespace: media-apps -spec: - hostnames: - - nzbget.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: nzbget - sectionName: https - rules: - - backendRefs: - - group: "" - kind: Service - name: nzbget - port: 6789 - weight: 1 - matches: - - path: - type: PathPrefix - value: / diff --git a/apps/base/nzbget/kustomization.yaml b/apps/base/nzbget/kustomization.yaml deleted file mode 100644 index 2e2d281..0000000 --- a/apps/base/nzbget/kustomization.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - pvc.yaml - - vaultstaticsecret.yaml - - deployment.yaml - - service.yaml - - gateway.yaml - - httproute.yaml diff --git a/apps/base/nzbget/pvc.yaml b/apps/base/nzbget/pvc.yaml deleted file mode 100644 index 5b48cc6..0000000 --- a/apps/base/nzbget/pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: nzbget-config - namespace: media-apps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - storageClassName: cephrbd-fast-delete - volumeMode: Filesystem diff --git a/apps/base/nzbget/service.yaml b/apps/base/nzbget/service.yaml deleted file mode 100644 index 405db96..0000000 --- a/apps/base/nzbget/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: nzbget - namespace: media-apps -spec: - type: ClusterIP - selector: - app: nzbget - ports: - - name: http - port: 6789 - targetPort: http - protocol: TCP diff --git a/apps/base/nzbget/vaultstaticsecret.yaml b/apps/base/nzbget/vaultstaticsecret.yaml deleted file mode 100644 index 495fd09..0000000 --- a/apps/base/nzbget/vaultstaticsecret.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultStaticSecret -metadata: - name: nzbget - namespace: media-apps -spec: - destination: - create: true - name: nzbget-secrets - mount: kv - path: service/media-apps/nzbget - refreshAfter: 30s - type: kv-v2 - vaultAuthRef: default - rolloutRestartTargets: - - kind: Deployment - name: nzbget diff --git a/apps/base/prowlarr/configmap.yaml b/apps/base/prowlarr/configmap.yaml deleted file mode 100644 index 49aa186..0000000 --- a/apps/base/prowlarr/configmap.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: prowlarr-config-xml - namespace: media-apps -data: - config.xml: | - - * - 9696 - 9898 - False - True - {{API_KEY}} - External - Enabled - info - - - - prowlarr - Docker - False - diff --git a/apps/base/prowlarr/deployment.yaml b/apps/base/prowlarr/deployment.yaml deleted file mode 100644 index 6f30cab..0000000 --- a/apps/base/prowlarr/deployment.yaml +++ /dev/null @@ -1,136 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: prowlarr - namespace: media-apps -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: prowlarr - template: - metadata: - labels: - app: prowlarr - spec: - securityContext: - fsGroup: 1000 - initContainers: - - name: config-template - image: busybox:latest - imagePullPolicy: IfNotPresent - command: ["/bin/sh"] - args: - - -c - - | - cp /config-template/config.xml /config/config.xml - sed -i "s/{{API_KEY}}/$API_KEY/g" /config/config.xml - env: - - name: API_KEY - valueFrom: - secretKeyRef: - name: prowlarr-secrets - key: apitoken - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - volumeMounts: - - name: config-template - mountPath: /config-template - - name: config - mountPath: /config - containers: - - name: prowlarr - image: ghcr.io/home-operations/prowlarr:rolling - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 9696 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PUID - value: "1000" - - name: PGID - value: "1000" - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: "1" - memory: 1Gi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - - name: exportarr - image: ghcr.io/onedr0p/exportarr:latest - imagePullPolicy: IfNotPresent - args: ["prowlarr"] - ports: - - name: metrics - containerPort: 9707 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PORT - value: "9707" - - name: URL - value: "http://localhost:9696" - - name: API_KEY - valueFrom: - secretKeyRef: - name: prowlarr-secrets - key: apitoken - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 250m - memory: 256Mi - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - livenessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - readOnly: true - volumes: - - name: config - persistentVolumeClaim: - claimName: prowlarr-config - - name: config-template - configMap: - name: prowlarr-config-xml diff --git a/apps/base/prowlarr/gateway.yaml b/apps/base/prowlarr/gateway.yaml deleted file mode 100644 index fcd558c..0000000 --- a/apps/base/prowlarr/gateway.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: Gateway -metadata: - labels: - traefik.io/instance: internal - annotations: - cert-manager.io/cluster-issuer: vault-issuer - cert-manager.io/common-name: prowlarr.k8s.syd1.au.unkin.net - cert-manager.io/private-key-size: "4096" - external-dns.alpha.kubernetes.io/hostname: prowlarr.k8s.syd1.au.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 - name: prowlarr - namespace: media-apps -spec: - gatewayClassName: traefik-internal - listeners: - - allowedRoutes: - namespaces: - from: Same - hostname: prowlarr.k8s.syd1.au.unkin.net - name: http - port: 80 - protocol: HTTP - - allowedRoutes: - namespaces: - from: Same - hostname: prowlarr.k8s.syd1.au.unkin.net - name: https - port: 443 - protocol: HTTPS - tls: - certificateRefs: - - group: "" - kind: Secret - name: prowlarr-tls - mode: Terminate diff --git a/apps/base/prowlarr/httproute.yaml b/apps/base/prowlarr/httproute.yaml deleted file mode 100644 index b93cf1c..0000000 --- a/apps/base/prowlarr/httproute.yaml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http-redirect - namespace: media-apps -spec: - hostnames: - - prowlarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: prowlarr - sectionName: http - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - matches: - - path: - type: PathPrefix - value: / ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: prowlarr - namespace: media-apps -spec: - hostnames: - - prowlarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: prowlarr - sectionName: https - rules: - - backendRefs: - - group: "" - kind: Service - name: prowlarr - port: 9696 - weight: 1 - matches: - - path: - type: PathPrefix - value: / diff --git a/apps/base/prowlarr/kustomization.yaml b/apps/base/prowlarr/kustomization.yaml deleted file mode 100644 index 7552699..0000000 --- a/apps/base/prowlarr/kustomization.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - pvc.yaml - - configmap.yaml - - vaultstaticsecret.yaml - - deployment.yaml - - service.yaml - - gateway.yaml - - httproute.yaml diff --git a/apps/base/prowlarr/pvc.yaml b/apps/base/prowlarr/pvc.yaml deleted file mode 100644 index 7e9f7c8..0000000 --- a/apps/base/prowlarr/pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: prowlarr-config - namespace: media-apps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - storageClassName: cephrbd-fast-delete - volumeMode: Filesystem diff --git a/apps/base/prowlarr/service.yaml b/apps/base/prowlarr/service.yaml deleted file mode 100644 index 6e41bd7..0000000 --- a/apps/base/prowlarr/service.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: prowlarr - namespace: media-apps -spec: - type: ClusterIP - selector: - app: prowlarr - ports: - - name: http - port: 9696 - targetPort: http - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - name: prowlarr-metrics - namespace: media-apps -spec: - type: ClusterIP - selector: - app: prowlarr - ports: - - name: metrics - port: 9707 - targetPort: metrics - protocol: TCP diff --git a/apps/base/prowlarr/vaultstaticsecret.yaml b/apps/base/prowlarr/vaultstaticsecret.yaml deleted file mode 100644 index e029fec..0000000 --- a/apps/base/prowlarr/vaultstaticsecret.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultStaticSecret -metadata: - name: prowlarr - namespace: media-apps -spec: - destination: - create: true - name: prowlarr-secrets - mount: kv - path: service/media-apps/prowlarr - refreshAfter: 30s - type: kv-v2 - vaultAuthRef: default - rolloutRestartTargets: - - kind: Deployment - name: prowlarr diff --git a/apps/base/radarr/configmap.yaml b/apps/base/radarr/configmap.yaml deleted file mode 100644 index 143e36f..0000000 --- a/apps/base/radarr/configmap.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: radarr-config-xml - namespace: media-apps -data: - config.xml: | - - * - 7878 - 9898 - False - True - {{API_KEY}} - External - Enabled - debug - - - - Radarr - Docker - False - diff --git a/apps/base/radarr/deployment.yaml b/apps/base/radarr/deployment.yaml deleted file mode 100644 index 9ee837c..0000000 --- a/apps/base/radarr/deployment.yaml +++ /dev/null @@ -1,140 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: radarr - namespace: media-apps -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: radarr - template: - metadata: - labels: - app: radarr - spec: - securityContext: - fsGroup: 1000 - initContainers: - - name: config-template - image: busybox:latest - imagePullPolicy: IfNotPresent - command: ["/bin/sh"] - args: - - -c - - | - cp /config-template/config.xml /config/config.xml - sed -i "s/{{API_KEY}}/$API_KEY/g" /config/config.xml - env: - - name: API_KEY - valueFrom: - secretKeyRef: - name: radarr-secrets - key: apitoken - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - volumeMounts: - - name: config-template - mountPath: /config-template - - name: config - mountPath: /config - containers: - - name: radarr - image: ghcr.io/home-operations/radarr:rolling - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 7878 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PORT - value: "7878" - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: "1" - memory: 1Gi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - - name: media-library - mountPath: /mnt/movies - subPath: movies - - name: exportarr - image: ghcr.io/onedr0p/exportarr:latest - imagePullPolicy: IfNotPresent - args: ["radarr"] - ports: - - name: metrics - containerPort: 9707 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PORT - value: "9707" - - name: URL - value: "http://localhost:7878" - - name: API_KEY - valueFrom: - secretKeyRef: - name: radarr-secrets - key: apitoken - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 250m - memory: 256Mi - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - livenessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - readOnly: true - volumes: - - name: config - persistentVolumeClaim: - claimName: radarr-config - - name: config-template - configMap: - name: radarr-config-xml - - name: media-library - persistentVolumeClaim: - claimName: media-library diff --git a/apps/base/radarr/gateway.yaml b/apps/base/radarr/gateway.yaml deleted file mode 100644 index 78b76a0..0000000 --- a/apps/base/radarr/gateway.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: Gateway -metadata: - labels: - traefik.io/instance: internal - annotations: - cert-manager.io/cluster-issuer: vault-issuer - cert-manager.io/common-name: radarr.k8s.syd1.au.unkin.net - cert-manager.io/private-key-size: "4096" - external-dns.alpha.kubernetes.io/hostname: radarr.k8s.syd1.au.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 - name: radarr - namespace: media-apps -spec: - gatewayClassName: traefik-internal - listeners: - - allowedRoutes: - namespaces: - from: Same - hostname: radarr.k8s.syd1.au.unkin.net - name: http - port: 80 - protocol: HTTP - - allowedRoutes: - namespaces: - from: Same - hostname: radarr.k8s.syd1.au.unkin.net - name: https - port: 443 - protocol: HTTPS - tls: - certificateRefs: - - group: "" - kind: Secret - name: radarr-tls - mode: Terminate diff --git a/apps/base/radarr/httproute.yaml b/apps/base/radarr/httproute.yaml deleted file mode 100644 index 684cfea..0000000 --- a/apps/base/radarr/httproute.yaml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http-redirect - namespace: media-apps -spec: - hostnames: - - radarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: radarr - sectionName: http - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - matches: - - path: - type: PathPrefix - value: / ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: radarr - namespace: media-apps -spec: - hostnames: - - radarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: radarr - sectionName: https - rules: - - backendRefs: - - group: "" - kind: Service - name: radarr - port: 7878 - weight: 1 - matches: - - path: - type: PathPrefix - value: / diff --git a/apps/base/radarr/kustomization.yaml b/apps/base/radarr/kustomization.yaml deleted file mode 100644 index 7552699..0000000 --- a/apps/base/radarr/kustomization.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - pvc.yaml - - configmap.yaml - - vaultstaticsecret.yaml - - deployment.yaml - - service.yaml - - gateway.yaml - - httproute.yaml diff --git a/apps/base/radarr/pvc.yaml b/apps/base/radarr/pvc.yaml deleted file mode 100644 index 557d93b..0000000 --- a/apps/base/radarr/pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: radarr-config - namespace: media-apps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - storageClassName: cephrbd-fast-delete - volumeMode: Filesystem diff --git a/apps/base/radarr/service.yaml b/apps/base/radarr/service.yaml deleted file mode 100644 index 86bc821..0000000 --- a/apps/base/radarr/service.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: radarr - namespace: media-apps -spec: - type: ClusterIP - selector: - app: radarr - ports: - - name: http - port: 7878 - targetPort: http - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - name: radarr-metrics - namespace: media-apps -spec: - type: ClusterIP - selector: - app: radarr - ports: - - name: metrics - port: 9707 - targetPort: metrics - protocol: TCP diff --git a/apps/base/radarr/vaultstaticsecret.yaml b/apps/base/radarr/vaultstaticsecret.yaml deleted file mode 100644 index 6b1cfc4..0000000 --- a/apps/base/radarr/vaultstaticsecret.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultStaticSecret -metadata: - name: radarr - namespace: media-apps -spec: - destination: - create: true - name: radarr-secrets - mount: kv - path: service/media-apps/radarr - refreshAfter: 30s - type: kv-v2 - vaultAuthRef: default - rolloutRestartTargets: - - kind: Deployment - name: radarr diff --git a/apps/base/sonarr/configmap.yaml b/apps/base/sonarr/configmap.yaml deleted file mode 100644 index 820b2fc..0000000 --- a/apps/base/sonarr/configmap.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: sonarr-config-xml - namespace: media-apps -data: - config.xml: | - - * - 8989 - 9898 - False - True - {{API_KEY}} - External - Enabled - info - - - - Sonarr - Docker - False - diff --git a/apps/base/sonarr/deployment.yaml b/apps/base/sonarr/deployment.yaml deleted file mode 100644 index 840fb34..0000000 --- a/apps/base/sonarr/deployment.yaml +++ /dev/null @@ -1,140 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: sonarr - namespace: media-apps -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: sonarr - template: - metadata: - labels: - app: sonarr - spec: - securityContext: - fsGroup: 1000 - initContainers: - - name: config-template - image: busybox:latest - imagePullPolicy: IfNotPresent - command: ["/bin/sh"] - args: - - -c - - | - cp /config-template/config.xml /config/config.xml - sed -i "s/{{API_KEY}}/$API_KEY/g" /config/config.xml - env: - - name: API_KEY - valueFrom: - secretKeyRef: - name: sonarr-secrets - key: apitoken - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - volumeMounts: - - name: config-template - mountPath: /config-template - - name: config - mountPath: /config - containers: - - name: sonarr - image: ghcr.io/home-operations/sonarr:rolling - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 8989 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PORT - value: "8989" - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: "1" - memory: 1Gi - livenessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - - name: media-library - mountPath: /mnt/tvseries - subPath: tvseries - - name: exportarr - image: ghcr.io/onedr0p/exportarr:latest - imagePullPolicy: IfNotPresent - args: ["sonarr"] - ports: - - name: metrics - containerPort: 9707 - protocol: TCP - env: - - name: TZ - value: Australia/Sydney - - name: PORT - value: "9707" - - name: URL - value: "http://localhost:8989" - - name: API_KEY - valueFrom: - secretKeyRef: - name: sonarr-secrets - key: apitoken - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 250m - memory: 256Mi - securityContext: - runAsUser: 1000 - runAsGroup: 1000 - runAsNonRoot: true - livenessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 30 - periodSeconds: 30 - readinessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: config - mountPath: /config - readOnly: true - volumes: - - name: config - persistentVolumeClaim: - claimName: sonarr-config - - name: config-template - configMap: - name: sonarr-config-xml - - name: media-library - persistentVolumeClaim: - claimName: media-library diff --git a/apps/base/sonarr/gateway.yaml b/apps/base/sonarr/gateway.yaml deleted file mode 100644 index 0a53e06..0000000 --- a/apps/base/sonarr/gateway.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: Gateway -metadata: - labels: - traefik.io/instance: internal - annotations: - cert-manager.io/cluster-issuer: vault-issuer - cert-manager.io/common-name: sonarr.k8s.syd1.au.unkin.net - cert-manager.io/private-key-size: "4096" - external-dns.alpha.kubernetes.io/hostname: sonarr.k8s.syd1.au.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 - name: sonarr - namespace: media-apps -spec: - gatewayClassName: traefik-internal - listeners: - - allowedRoutes: - namespaces: - from: Same - hostname: sonarr.k8s.syd1.au.unkin.net - name: http - port: 80 - protocol: HTTP - - allowedRoutes: - namespaces: - from: Same - hostname: sonarr.k8s.syd1.au.unkin.net - name: https - port: 443 - protocol: HTTPS - tls: - certificateRefs: - - group: "" - kind: Secret - name: sonarr-tls - mode: Terminate diff --git a/apps/base/sonarr/httproute.yaml b/apps/base/sonarr/httproute.yaml deleted file mode 100644 index 8ab7ddc..0000000 --- a/apps/base/sonarr/httproute.yaml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http-redirect - namespace: media-apps -spec: - hostnames: - - sonarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: sonarr - sectionName: http - rules: - - filters: - - type: RequestRedirect - requestRedirect: - scheme: https - statusCode: 301 - matches: - - path: - type: PathPrefix - value: / ---- -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: sonarr - namespace: media-apps -spec: - hostnames: - - sonarr.k8s.syd1.au.unkin.net - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: sonarr - sectionName: https - rules: - - backendRefs: - - group: "" - kind: Service - name: sonarr - port: 8989 - weight: 1 - matches: - - path: - type: PathPrefix - value: / diff --git a/apps/base/sonarr/kustomization.yaml b/apps/base/sonarr/kustomization.yaml deleted file mode 100644 index 7552699..0000000 --- a/apps/base/sonarr/kustomization.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - pvc.yaml - - configmap.yaml - - vaultstaticsecret.yaml - - deployment.yaml - - service.yaml - - gateway.yaml - - httproute.yaml diff --git a/apps/base/sonarr/pvc.yaml b/apps/base/sonarr/pvc.yaml deleted file mode 100644 index 2d6d1b5..0000000 --- a/apps/base/sonarr/pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: sonarr-config - namespace: media-apps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - storageClassName: cephrbd-fast-delete - volumeMode: Filesystem diff --git a/apps/base/sonarr/service.yaml b/apps/base/sonarr/service.yaml deleted file mode 100644 index e829137..0000000 --- a/apps/base/sonarr/service.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: sonarr - namespace: media-apps -spec: - type: ClusterIP - selector: - app: sonarr - ports: - - name: http - port: 8989 - targetPort: http - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - name: sonarr-metrics - namespace: media-apps -spec: - type: ClusterIP - selector: - app: sonarr - ports: - - name: metrics - port: 9707 - targetPort: metrics - protocol: TCP diff --git a/apps/base/sonarr/vaultstaticsecret.yaml b/apps/base/sonarr/vaultstaticsecret.yaml deleted file mode 100644 index 596f1c6..0000000 --- a/apps/base/sonarr/vaultstaticsecret.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultStaticSecret -metadata: - name: sonarr - namespace: media-apps -spec: - destination: - create: true - name: sonarr-secrets - mount: kv - path: service/media-apps/sonarr - refreshAfter: 30s - type: kv-v2 - vaultAuthRef: default - rolloutRestartTargets: - - kind: Deployment - name: sonarr diff --git a/apps/overlays/au-syd1/bazarr/kustomization.yaml b/apps/overlays/au-syd1/bazarr/kustomization.yaml deleted file mode 100644 index 7a4eb40..0000000 --- a/apps/overlays/au-syd1/bazarr/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/bazarr diff --git a/apps/overlays/au-syd1/jellyseerr/kustomization.yaml b/apps/overlays/au-syd1/jellyseerr/kustomization.yaml deleted file mode 100644 index daf1683..0000000 --- a/apps/overlays/au-syd1/jellyseerr/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/jellyseerr diff --git a/apps/overlays/au-syd1/media-apps/kustomization.yaml b/apps/overlays/au-syd1/media-apps/kustomization.yaml deleted file mode 100644 index 68cf968..0000000 --- a/apps/overlays/au-syd1/media-apps/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/media-apps diff --git a/apps/overlays/au-syd1/nzbget/kustomization.yaml b/apps/overlays/au-syd1/nzbget/kustomization.yaml deleted file mode 100644 index 8f2c9ae..0000000 --- a/apps/overlays/au-syd1/nzbget/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/nzbget diff --git a/apps/overlays/au-syd1/prowlarr/kustomization.yaml b/apps/overlays/au-syd1/prowlarr/kustomization.yaml deleted file mode 100644 index c2b0fc3..0000000 --- a/apps/overlays/au-syd1/prowlarr/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/prowlarr diff --git a/apps/overlays/au-syd1/radarr/kustomization.yaml b/apps/overlays/au-syd1/radarr/kustomization.yaml deleted file mode 100644 index be3218a..0000000 --- a/apps/overlays/au-syd1/radarr/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/radarr diff --git a/apps/overlays/au-syd1/sonarr/kustomization.yaml b/apps/overlays/au-syd1/sonarr/kustomization.yaml deleted file mode 100644 index 9e686f0..0000000 --- a/apps/overlays/au-syd1/sonarr/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../../base/sonarr diff --git a/argocd/applicationsets/media.yaml b/argocd/applicationsets/media.yaml index f1e5955..f600938 100644 --- a/argocd/applicationsets/media.yaml +++ b/argocd/applicationsets/media.yaml @@ -10,16 +10,8 @@ spec: repoURL: https://git.unkin.net/unkin/argocd-apps revision: HEAD directories: - # Shared foundation: media-apps namespace, vault-reader SA, VaultAuth, - # and the RWX movies/tvseries library PVCs the whole stack mounts. - - path: apps/overlays/*/media-apps + # jellyfin only for now; downloads/managers apps join in later PRs. - path: apps/overlays/*/jellyfin - - path: apps/overlays/*/sonarr - - path: apps/overlays/*/radarr - - path: apps/overlays/*/prowlarr - - path: apps/overlays/*/bazarr - - path: apps/overlays/*/nzbget - - path: apps/overlays/*/jellyseerr template: metadata: name: 'media-{{path[3]}}' @@ -31,8 +23,7 @@ spec: path: '{{path}}' destination: server: https://kubernetes.default.svc - # All media apps share the media-apps namespace (not the dir name). - namespace: media-apps + namespace: jellyfin syncPolicy: automated: prune: true diff --git a/argocd/projects/media.yaml b/argocd/projects/media.yaml index 3982035..4bb0421 100644 --- a/argocd/projects/media.yaml +++ b/argocd/projects/media.yaml @@ -5,11 +5,11 @@ metadata: name: media namespace: argocd spec: - description: Media services (jellyfin + *arr stack) + description: Media services (jellyfin; downloads/managers namespaces to follow) sourceRepos: - https://git.unkin.net/unkin/argocd-apps destinations: - - namespace: media-apps + - namespace: jellyfin server: https://kubernetes.default.svc clusterResourceWhitelist: - group: ''