Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(media): move overseerr -> jellyseerr #3365

Merged
merged 1 commit into from
Jan 27, 2025
Merged

feat(media): move overseerr -> jellyseerr #3365

merged 1 commit into from
Jan 27, 2025

Conversation

buroa
Copy link
Owner

@buroa buroa commented Jan 27, 2025

No description provided.

@bot-blake bot-blake bot added the area/kubernetes Changes made in the kubernetes directory label Jan 27, 2025
@bot-blake
Copy link
Contributor

bot-blake bot commented Jan 27, 2025

--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: media/overseerr

+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: media/overseerr

@@ -1,37 +0,0 @@

----
-apiVersion: kustomize.toolkit.fluxcd.io/v1
-kind: Kustomization
-metadata:
-  labels:
-    kustomize.toolkit.fluxcd.io/name: cluster-apps
-    kustomize.toolkit.fluxcd.io/namespace: flux-system
-  name: overseerr
-  namespace: media
-spec:
-  commonMetadata:
-    labels:
-      app.kubernetes.io/name: overseerr
-  components:
-  - ../../../../flux/components/gatus
-  - ../../../../flux/components/volsync
-  dependsOn:
-  - name: rook-ceph-cluster
-    namespace: rook-ceph
-  - name: volsync
-    namespace: volsync-system
-  interval: 30m
-  path: ./kubernetes/apps/media/overseerr/app
-  postBuild:
-    substitute:
-      APP: overseerr
-      GATUS_PATH: /api/v1/status
-      VOLSYNC_CAPACITY: 5Gi
-  prune: true
-  sourceRef:
-    kind: GitRepository
-    name: flux-system
-    namespace: flux-system
-  targetNamespace: media
-  timeout: 5m
-  wait: true
-
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: media/jellyseerr

+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: media/jellyseerr

@@ -0,0 +1,37 @@

+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+  labels:
+    kustomize.toolkit.fluxcd.io/name: cluster-apps
+    kustomize.toolkit.fluxcd.io/namespace: flux-system
+  name: jellyseerr
+  namespace: media
+spec:
+  commonMetadata:
+    labels:
+      app.kubernetes.io/name: jellyseerr
+  components:
+  - ../../../../flux/components/gatus
+  - ../../../../flux/components/volsync
+  dependsOn:
+  - name: rook-ceph-cluster
+    namespace: rook-ceph
+  - name: volsync
+    namespace: volsync-system
+  interval: 30m
+  path: ./kubernetes/apps/media/jellyseerr/app
+  postBuild:
+    substitute:
+      APP: jellyseerr
+      GATUS_PATH: /api/v1/status
+      VOLSYNC_CAPACITY: 5Gi
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: flux-system
+    namespace: flux-system
+  targetNamespace: media
+  timeout: 5m
+  wait: true
+
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr HelmRelease: media/overseerr

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr HelmRelease: media/overseerr

@@ -1,119 +0,0 @@

----
-apiVersion: helm.toolkit.fluxcd.io/v2
-kind: HelmRelease
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr
-  namespace: media
-spec:
-  chart:
-    spec:
-      chart: app-template
-      sourceRef:
-        kind: HelmRepository
-        name: bjw-s
-        namespace: flux-system
-      version: 3.6.1
-  install:
-    remediation:
-      retries: 3
-  interval: 30m
-  upgrade:
-    cleanupOnFail: true
-    remediation:
-      retries: 3
-      strategy: rollback
-  values:
-    controllers:
-      overseerr:
-        containers:
-          app:
-            env:
-              LOG_LEVEL: info
-              PORT: 5055
-              TZ: America/Chicago
-            image:
-              repository: ghcr.io/sct/overseerr
-              tag: develop@sha256:bcd1ef5c2501c3210b3a8bbaf124f9f3b241f23a3f55038f80412f20e625bd17
-            probes:
-              liveness:
-                custom: true
-                enabled: true
-                spec:
-                  failureThreshold: 3
-                  httpGet:
-                    path: /api/v1/status
-                    port: 5055
-                  initialDelaySeconds: 0
-                  periodSeconds: 10
-                  timeoutSeconds: 1
-              readiness:
-                custom: true
-                enabled: true
-                spec:
-                  failureThreshold: 3
-                  httpGet:
-                    path: /api/v1/status
-                    port: 5055
-                  initialDelaySeconds: 0
-                  periodSeconds: 10
-                  timeoutSeconds: 1
-            resources:
-              limits:
-                memory: 2Gi
-              requests:
-                cpu: 10m
-            securityContext:
-              allowPrivilegeEscalation: false
-              capabilities:
-                drop:
-                - ALL
-              readOnlyRootFilesystem: true
-    defaultPodOptions:
-      securityContext:
-        fsGroup: 568
-        fsGroupChangePolicy: OnRootMismatch
-        runAsGroup: 568
-        runAsNonRoot: true
-        runAsUser: 568
-    ingress:
-      app:
-        className: external
-        hosts:
-        - host: '{{ .Release.Name }}.ktwo.io'
-          paths:
-          - path: /
-            service:
-              identifier: app
-              port: http
-        - host: requests.ktwo.io
-          paths:
-          - path: /
-            service:
-              identifier: app
-              port: http
-    persistence:
-      config:
-        existingClaim: overseerr
-        globalMounts:
-        - path: /app/config
-      config-cache:
-        existingClaim: overseerr-cache
-        globalMounts:
-        - path: /app/config/cache
-      config-logs:
-        globalMounts:
-        - path: /app/config/logs
-        type: emptyDir
-      tmp:
-        type: emptyDir
-    service:
-      app:
-        controller: overseerr
-        ports:
-          http:
-            port: 5055
-
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr PersistentVolumeClaim: media/overseerr-cache

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr PersistentVolumeClaim: media/overseerr-cache

@@ -1,18 +0,0 @@

----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr-cache
-  namespace: media
-spec:
-  accessModes:
-  - ReadWriteOnce
-  resources:
-    requests:
-      storage: 15Gi
-  storageClassName: ceph-block
-
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ConfigMap: media/overseerr-gatus-ep

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ConfigMap: media/overseerr-gatus-ep

@@ -1,25 +0,0 @@

----
-apiVersion: v1
-data:
-  config.yaml: |
-    ---
-    endpoints:
-      - name: "overseerr"
-        url: "https://overseerr.ktwo.io/api/v1/status"
-        interval: 1m
-        client:
-          dns-resolver: tcp://1.1.1.1:53
-        conditions:
-          - "[STATUS] == 200"
-        alerts:
-          - type: pushover
-kind: ConfigMap
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    gatus.io/enabled: 'true'
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr-gatus-ep
-  namespace: media
-
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr PersistentVolumeClaim: media/overseerr

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr PersistentVolumeClaim: media/overseerr

@@ -1,22 +0,0 @@

----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr
-  namespace: media
-spec:
-  accessModes:
-  - ReadWriteOnce
-  dataSourceRef:
-    apiGroup: volsync.backube
-    kind: ReplicationDestination
-    name: overseerr
-  resources:
-    requests:
-      storage: 5Gi
-  storageClassName: ceph-block
-
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ExternalSecret: media/overseerr-restic

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ExternalSecret: media/overseerr-restic

@@ -1,28 +0,0 @@

----
-apiVersion: external-secrets.io/v1beta1
-kind: ExternalSecret
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr-restic
-  namespace: media
-spec:
-  dataFrom:
-  - extract:
-      key: cloudflare
-  - extract:
-      key: volsync-restic-template
-  secretStoreRef:
-    kind: ClusterSecretStore
-    name: onepassword
-  target:
-    name: overseerr-restic-secret
-    template:
-      data:
-        AWS_ACCESS_KEY_ID: '{{ .AWS_ACCESS_KEY_ID }}'
-        AWS_SECRET_ACCESS_KEY: '{{ .AWS_SECRET_ACCESS_KEY }}'
-        RESTIC_PASSWORD: '{{ .RESTIC_PASSWORD }}'
-        RESTIC_REPOSITORY: '{{ .REPOSITORY_TEMPLATE }}/overseerr'
-
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ReplicationSource: media/overseerr

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ReplicationSource: media/overseerr

@@ -1,34 +0,0 @@

----
-apiVersion: volsync.backube/v1alpha1
-kind: ReplicationSource
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr
-  namespace: media
-spec:
-  restic:
-    accessModes:
-    - ReadWriteOnce
-    cacheAccessModes:
-    - ReadWriteOnce
-    cacheCapacity: 2Gi
-    cacheStorageClassName: openebs-hostpath
-    copyMethod: Snapshot
-    moverSecurityContext:
-      fsGroup: 568
-      runAsGroup: 568
-      runAsUser: 568
-    pruneIntervalDays: 14
-    repository: overseerr-restic-secret
-    retain:
-      daily: 7
-      hourly: 24
-    storageClassName: ceph-block
-    volumeSnapshotClassName: csi-ceph-block
-  sourcePVC: overseerr
-  trigger:
-    schedule: 15 */8 * * *
-
--- kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ReplicationDestination: media/overseerr

+++ kubernetes/apps/media/overseerr/app Kustomization: media/overseerr ReplicationDestination: media/overseerr

@@ -1,33 +0,0 @@

----
-apiVersion: volsync.backube/v1alpha1
-kind: ReplicationDestination
-metadata:
-  labels:
-    app.kubernetes.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/name: overseerr
-    kustomize.toolkit.fluxcd.io/namespace: media
-  name: overseerr
-  namespace: media
-spec:
-  restic:
-    accessModes:
-    - ReadWriteOnce
-    cacheAccessModes:
-    - ReadWriteOnce
-    cacheCapacity: 2Gi
-    cacheStorageClassName: openebs-hostpath
-    capacity: 5Gi
-    cleanupCachePVC: true
-    cleanupTempPVC: true
-    copyMethod: Snapshot
-    enableFileDeletion: true
-    moverSecurityContext:
-      fsGroup: 568
-      runAsGroup: 568
-      runAsUser: 568
-    repository: overseerr-restic-secret
-    storageClassName: ceph-block
-    volumeSnapshotClassName: csi-ceph-block
-  trigger:
-    manual: restore-once
-
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ExternalSecret: media/jellyseerr

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ExternalSecret: media/jellyseerr

@@ -0,0 +1,23 @@

+---
+apiVersion: external-secrets.io/v1beta1
+kind: ExternalSecret
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr
+  namespace: media
+spec:
+  dataFrom:
+  - extract:
+      key: jellyseerr
+  secretStoreRef:
+    kind: ClusterSecretStore
+    name: onepassword
+  target:
+    name: jellyseerr-secret
+    template:
+      data:
+        API_KEY: '{{ .JELLYSEERR_API_KEY }}'
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr HelmRelease: media/jellyseerr

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr HelmRelease: media/jellyseerr

@@ -0,0 +1,124 @@

+---
+apiVersion: helm.toolkit.fluxcd.io/v2
+kind: HelmRelease
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr
+  namespace: media
+spec:
+  chart:
+    spec:
+      chart: app-template
+      sourceRef:
+        kind: HelmRepository
+        name: bjw-s
+        namespace: flux-system
+      version: 3.6.1
+  install:
+    remediation:
+      retries: 3
+  interval: 30m
+  upgrade:
+    cleanupOnFail: true
+    remediation:
+      retries: 3
+      strategy: rollback
+  values:
+    controllers:
+      jellyseerr:
+        annotations:
+          reloader.stakater.com/auto: 'true'
+        containers:
+          app:
+            env:
+              LOG_LEVEL: info
+              PORT: 5055
+              TZ: America/Chicago
+            envFrom:
+            - secretRef:
+                name: jellyseerr-secret
+            image:
+              repository: ghcr.io/fallenbagel/jellyseerr
+              tag: 2.3.0@sha256:df53a7b06006e9da117a7072a55cf5d8b2071a6272f6bb329d8ca62b6f5c08a6
+            probes:
+              liveness:
+                custom: true
+                enabled: true
+                spec:
+                  failureThreshold: 3
+                  httpGet:
+                    path: /api/v1/status
+                    port: 5055
+                  initialDelaySeconds: 0
+                  periodSeconds: 10
+                  timeoutSeconds: 1
+              readiness:
+                custom: true
+                enabled: true
+                spec:
+                  failureThreshold: 3
+                  httpGet:
+                    path: /api/v1/status
+                    port: 5055
+                  initialDelaySeconds: 0
+                  periodSeconds: 10
+                  timeoutSeconds: 1
+            resources:
+              limits:
+                memory: 2Gi
+              requests:
+                cpu: 10m
+            securityContext:
+              allowPrivilegeEscalation: false
+              capabilities:
+                drop:
+                - ALL
+              readOnlyRootFilesystem: true
+    defaultPodOptions:
+      securityContext:
+        fsGroup: 568
+        fsGroupChangePolicy: OnRootMismatch
+        runAsGroup: 568
+        runAsNonRoot: true
+        runAsUser: 568
+    ingress:
+      app:
+        className: external
+        hosts:
+        - host: '{{ .Release.Name }}.ktwo.io'
+          paths:
+          - path: /
+            service:
+              identifier: app
+              port: http
+        - host: requests.ktwo.io
+          paths:
+          - path: /
+            service:
+              identifier: app
+              port: http
+    persistence:
+      config:
+        existingClaim: jellyseerr
+        globalMounts:
+        - path: /app/config
+      config-cache:
+        existingClaim: jellyseerr-cache
+        globalMounts:
+        - path: /app/config/cache
+      config-logs:
+        globalMounts:
+        - path: /app/config/logs
+        type: emptyDir
+      tmp:
+        type: emptyDir
+    service:
+      app:
+        controller: jellyseerr
+        ports:
+          http:
+            port: 5055
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr PersistentVolumeClaim: media/jellyseerr-cache

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr PersistentVolumeClaim: media/jellyseerr-cache

@@ -0,0 +1,18 @@

+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr-cache
+  namespace: media
+spec:
+  accessModes:
+  - ReadWriteOnce
+  resources:
+    requests:
+      storage: 15Gi
+  storageClassName: ceph-block
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ConfigMap: media/jellyseerr-gatus-ep

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ConfigMap: media/jellyseerr-gatus-ep

@@ -0,0 +1,25 @@

+---
+apiVersion: v1
+data:
+  config.yaml: |
+    ---
+    endpoints:
+      - name: "jellyseerr"
+        url: "https://jellyseerr.ktwo.io/api/v1/status"
+        interval: 1m
+        client:
+          dns-resolver: tcp://1.1.1.1:53
+        conditions:
+          - "[STATUS] == 200"
+        alerts:
+          - type: pushover
+kind: ConfigMap
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    gatus.io/enabled: 'true'
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr-gatus-ep
+  namespace: media
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr PersistentVolumeClaim: media/jellyseerr

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr PersistentVolumeClaim: media/jellyseerr

@@ -0,0 +1,22 @@

+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr
+  namespace: media
+spec:
+  accessModes:
+  - ReadWriteOnce
+  dataSourceRef:
+    apiGroup: volsync.backube
+    kind: ReplicationDestination
+    name: jellyseerr
+  resources:
+    requests:
+      storage: 5Gi
+  storageClassName: ceph-block
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ExternalSecret: media/jellyseerr-restic

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ExternalSecret: media/jellyseerr-restic

@@ -0,0 +1,28 @@

+---
+apiVersion: external-secrets.io/v1beta1
+kind: ExternalSecret
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr-restic
+  namespace: media
+spec:
+  dataFrom:
+  - extract:
+      key: cloudflare
+  - extract:
+      key: volsync-restic-template
+  secretStoreRef:
+    kind: ClusterSecretStore
+    name: onepassword
+  target:
+    name: jellyseerr-restic-secret
+    template:
+      data:
+        AWS_ACCESS_KEY_ID: '{{ .AWS_ACCESS_KEY_ID }}'
+        AWS_SECRET_ACCESS_KEY: '{{ .AWS_SECRET_ACCESS_KEY }}'
+        RESTIC_PASSWORD: '{{ .RESTIC_PASSWORD }}'
+        RESTIC_REPOSITORY: '{{ .REPOSITORY_TEMPLATE }}/jellyseerr'
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ReplicationSource: media/jellyseerr

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ReplicationSource: media/jellyseerr

@@ -0,0 +1,34 @@

+---
+apiVersion: volsync.backube/v1alpha1
+kind: ReplicationSource
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr
+  namespace: media
+spec:
+  restic:
+    accessModes:
+    - ReadWriteOnce
+    cacheAccessModes:
+    - ReadWriteOnce
+    cacheCapacity: 2Gi
+    cacheStorageClassName: openebs-hostpath
+    copyMethod: Snapshot
+    moverSecurityContext:
+      fsGroup: 568
+      runAsGroup: 568
+      runAsUser: 568
+    pruneIntervalDays: 14
+    repository: jellyseerr-restic-secret
+    retain:
+      daily: 7
+      hourly: 24
+    storageClassName: ceph-block
+    volumeSnapshotClassName: csi-ceph-block
+  sourcePVC: jellyseerr
+  trigger:
+    schedule: 15 */8 * * *
+
--- kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ReplicationDestination: media/jellyseerr

+++ kubernetes/apps/media/jellyseerr/app Kustomization: media/jellyseerr ReplicationDestination: media/jellyseerr

@@ -0,0 +1,33 @@

+---
+apiVersion: volsync.backube/v1alpha1
+kind: ReplicationDestination
+metadata:
+  labels:
+    app.kubernetes.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/name: jellyseerr
+    kustomize.toolkit.fluxcd.io/namespace: media
+  name: jellyseerr
+  namespace: media
+spec:
+  restic:
+    accessModes:
+    - ReadWriteOnce
+    cacheAccessModes:
+    - ReadWriteOnce
+    cacheCapacity: 2Gi
+    cacheStorageClassName: openebs-hostpath
+    capacity: 5Gi
+    cleanupCachePVC: true
+    cleanupTempPVC: true
+    copyMethod: Snapshot
+    enableFileDeletion: true
+    moverSecurityContext:
+      fsGroup: 568
+      runAsGroup: 568
+      runAsUser: 568
+    repository: jellyseerr-restic-secret
+    storageClassName: ceph-block
+    volumeSnapshotClassName: csi-ceph-block
+  trigger:
+    manual: restore-once
+

@bot-blake
Copy link
Contributor

bot-blake bot commented Jan 27, 2025

--- HelmRelease: media/overseerr Service: media/overseerr

+++ HelmRelease: media/overseerr Service: media/overseerr

@@ -1,22 +0,0 @@

----
-apiVersion: v1
-kind: Service
-metadata:
-  name: overseerr
-  labels:
-    app.kubernetes.io/instance: overseerr
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/name: overseerr
-    app.kubernetes.io/service: overseerr
-spec:
-  type: ClusterIP
-  ports:
-  - port: 5055
-    targetPort: 5055
-    protocol: TCP
-    name: http
-  selector:
-    app.kubernetes.io/component: overseerr
-    app.kubernetes.io/instance: overseerr
-    app.kubernetes.io/name: overseerr
-
--- HelmRelease: media/overseerr Deployment: media/overseerr

+++ HelmRelease: media/overseerr Deployment: media/overseerr

@@ -1,98 +0,0 @@

----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: overseerr
-  labels:
-    app.kubernetes.io/component: overseerr
-    app.kubernetes.io/instance: overseerr
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/name: overseerr
-spec:
-  revisionHistoryLimit: 3
-  replicas: 1
-  strategy:
-    type: Recreate
-  selector:
-    matchLabels:
-      app.kubernetes.io/component: overseerr
-      app.kubernetes.io/name: overseerr
-      app.kubernetes.io/instance: overseerr
-  template:
-    metadata:
-      labels:
-        app.kubernetes.io/component: overseerr
-        app.kubernetes.io/instance: overseerr
-        app.kubernetes.io/name: overseerr
-    spec:
-      enableServiceLinks: false
-      serviceAccountName: default
-      automountServiceAccountToken: true
-      securityContext:
-        fsGroup: 568
-        fsGroupChangePolicy: OnRootMismatch
-        runAsGroup: 568
-        runAsNonRoot: true
-        runAsUser: 568
-      hostIPC: false
-      hostNetwork: false
-      hostPID: false
-      dnsPolicy: ClusterFirst
-      containers:
-      - env:
-        - name: LOG_LEVEL
-          value: info
-        - name: PORT
-          value: '5055'
-        - name: TZ
-          value: America/Chicago
-        image: ghcr.io/sct/overseerr:develop@sha256:bcd1ef5c2501c3210b3a8bbaf124f9f3b241f23a3f55038f80412f20e625bd17
-        livenessProbe:
-          failureThreshold: 3
-          httpGet:
-            path: /api/v1/status
-            port: 5055
-          initialDelaySeconds: 0
-          periodSeconds: 10
-          timeoutSeconds: 1
-        name: app
-        readinessProbe:
-          failureThreshold: 3
-          httpGet:
-            path: /api/v1/status
-            port: 5055
-          initialDelaySeconds: 0
-          periodSeconds: 10
-          timeoutSeconds: 1
-        resources:
-          limits:
-            memory: 2Gi
-          requests:
-            cpu: 10m
-        securityContext:
-          allowPrivilegeEscalation: false
-          capabilities:
-            drop:
-            - ALL
-          readOnlyRootFilesystem: true
-        volumeMounts:
-        - mountPath: /app/config
-          name: config
-        - mountPath: /app/config/cache
-          name: config-cache
-        - mountPath: /app/config/logs
-          name: config-logs
-        - mountPath: /tmp
-          name: tmp
-      volumes:
-      - name: config
-        persistentVolumeClaim:
-          claimName: overseerr
-      - name: config-cache
-        persistentVolumeClaim:
-          claimName: overseerr-cache
-      - emptyDir: {}
-        name: config-logs
-      - emptyDir: {}
-        name: tmp
-
--- HelmRelease: media/overseerr Ingress: media/overseerr

+++ HelmRelease: media/overseerr Ingress: media/overseerr

@@ -1,33 +0,0 @@

----
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
-  name: overseerr
-  labels:
-    app.kubernetes.io/instance: overseerr
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/name: overseerr
-spec:
-  ingressClassName: external
-  rules:
-  - host: overseerr.ktwo.io
-    http:
-      paths:
-      - path: /
-        pathType: Prefix
-        backend:
-          service:
-            name: overseerr
-            port:
-              number: 5055
-  - host: requests.ktwo.io
-    http:
-      paths:
-      - path: /
-        pathType: Prefix
-        backend:
-          service:
-            name: overseerr
-            port:
-              number: 5055
-
--- HelmRelease: media/jellyseerr Service: media/jellyseerr

+++ HelmRelease: media/jellyseerr Service: media/jellyseerr

@@ -0,0 +1,22 @@

+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: jellyseerr
+  labels:
+    app.kubernetes.io/instance: jellyseerr
+    app.kubernetes.io/managed-by: Helm
+    app.kubernetes.io/name: jellyseerr
+    app.kubernetes.io/service: jellyseerr
+spec:
+  type: ClusterIP
+  ports:
+  - port: 5055
+    targetPort: 5055
+    protocol: TCP
+    name: http
+  selector:
+    app.kubernetes.io/component: jellyseerr
+    app.kubernetes.io/instance: jellyseerr
+    app.kubernetes.io/name: jellyseerr
+
--- HelmRelease: media/jellyseerr Deployment: media/jellyseerr

+++ HelmRelease: media/jellyseerr Deployment: media/jellyseerr

@@ -0,0 +1,103 @@

+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: jellyseerr
+  labels:
+    app.kubernetes.io/component: jellyseerr
+    app.kubernetes.io/instance: jellyseerr
+    app.kubernetes.io/managed-by: Helm
+    app.kubernetes.io/name: jellyseerr
+  annotations:
+    reloader.stakater.com/auto: 'true'
+spec:
+  revisionHistoryLimit: 3
+  replicas: 1
+  strategy:
+    type: Recreate
+  selector:
+    matchLabels:
+      app.kubernetes.io/component: jellyseerr
+      app.kubernetes.io/name: jellyseerr
+      app.kubernetes.io/instance: jellyseerr
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/component: jellyseerr
+        app.kubernetes.io/instance: jellyseerr
+        app.kubernetes.io/name: jellyseerr
+    spec:
+      enableServiceLinks: false
+      serviceAccountName: default
+      automountServiceAccountToken: true
+      securityContext:
+        fsGroup: 568
+        fsGroupChangePolicy: OnRootMismatch
+        runAsGroup: 568
+        runAsNonRoot: true
+        runAsUser: 568
+      hostIPC: false
+      hostNetwork: false
+      hostPID: false
+      dnsPolicy: ClusterFirst
+      containers:
+      - env:
+        - name: LOG_LEVEL
+          value: info
+        - name: PORT
+          value: '5055'
+        - name: TZ
+          value: America/Chicago
+        envFrom:
+        - secretRef:
+            name: jellyseerr-secret
+        image: ghcr.io/fallenbagel/jellyseerr:2.3.0@sha256:df53a7b06006e9da117a7072a55cf5d8b2071a6272f6bb329d8ca62b6f5c08a6
+        livenessProbe:
+          failureThreshold: 3
+          httpGet:
+            path: /api/v1/status
+            port: 5055
+          initialDelaySeconds: 0
+          periodSeconds: 10
+          timeoutSeconds: 1
+        name: app
+        readinessProbe:
+          failureThreshold: 3
+          httpGet:
+            path: /api/v1/status
+            port: 5055
+          initialDelaySeconds: 0
+          periodSeconds: 10
+          timeoutSeconds: 1
+        resources:
+          limits:
+            memory: 2Gi
+          requests:
+            cpu: 10m
+        securityContext:
+          allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
+          readOnlyRootFilesystem: true
+        volumeMounts:
+        - mountPath: /app/config
+          name: config
+        - mountPath: /app/config/cache
+          name: config-cache
+        - mountPath: /app/config/logs
+          name: config-logs
+        - mountPath: /tmp
+          name: tmp
+      volumes:
+      - name: config
+        persistentVolumeClaim:
+          claimName: jellyseerr
+      - name: config-cache
+        persistentVolumeClaim:
+          claimName: jellyseerr-cache
+      - emptyDir: {}
+        name: config-logs
+      - emptyDir: {}
+        name: tmp
+
--- HelmRelease: media/jellyseerr Ingress: media/jellyseerr

+++ HelmRelease: media/jellyseerr Ingress: media/jellyseerr

@@ -0,0 +1,33 @@

+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: jellyseerr
+  labels:
+    app.kubernetes.io/instance: jellyseerr
+    app.kubernetes.io/managed-by: Helm
+    app.kubernetes.io/name: jellyseerr
+spec:
+  ingressClassName: external
+  rules:
+  - host: jellyseerr.ktwo.io
+    http:
+      paths:
+      - path: /
+        pathType: Prefix
+        backend:
+          service:
+            name: jellyseerr
+            port:
+              number: 5055
+  - host: requests.ktwo.io
+    http:
+      paths:
+      - path: /
+        pathType: Prefix
+        backend:
+          service:
+            name: jellyseerr
+            port:
+              number: 5055
+

@buroa buroa merged commit 3c96ff7 into master Jan 27, 2025
8 of 10 checks passed
@buroa buroa deleted the buroa/jellyseerr branch January 27, 2025 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kubernetes Changes made in the kubernetes directory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant