From 6465c82db8156b070d55c2e9fe1b263f47b1c1d0 Mon Sep 17 00:00:00 2001
From: Matt Reeves <admin@mafyuh.io>
Date: Tue, 25 Feb 2025 23:00:20 -0500
Subject: [PATCH 1/4] move flaresolverr to helmrelease

---
 README.md                                     |  2 +-
 .../staging/flaresolverr/helmrelease.yaml     | 85 +++++++++++++++++++
 kubernetes/apps/staging/kustomization.yaml    |  4 +
 .../production/flux-system/staging.yaml       | 26 ++++++
 4 files changed, 116 insertions(+), 1 deletion(-)
 create mode 100644 kubernetes/apps/staging/flaresolverr/helmrelease.yaml
 create mode 100644 kubernetes/apps/staging/kustomization.yaml
 create mode 100644 kubernetes/cluster/production/flux-system/staging.yaml

diff --git a/README.md b/README.md
index 12c06c2..a8b8bae 100644
--- a/README.md
+++ b/README.md
@@ -76,7 +76,7 @@ Some good references for how I learned this stuff (other than RTM)
 |-------------|----------------|-----------------|--------------|----------------------------------------------|-----------|----------------------------------|
 | Arc-Ripper  | Optiplex 3050  | Intel i5-6500   | 32 GB DDR4   | 1TB NVMe                                     | Arc A310      | Jellyfin Server, Blu-ray Ripper |
 | PVE Node 1  | Custom         | Intel i7-9700K  | 64 GB DDR4   | NVMe for boot and VMs, 4x4TB HDD RaidZ10     | Nvidia 1660 6GB      | Main node with most VMs, NAS    |
-| PVE Node 2  | Custom         | Intel i7-8700K  | 64 GB DDR4   | 1x2TB NVMe                                   | Nvidia 1060 GB      | More VMs                         |
+| PVE Node 2  | Custom         | Intel i7-8700K  | 64 GB DDR4   | 1x2TB NVMe                                   | Nvidia 1060 6GB      | More VMs                         |
 
 
 ## 📌 **To-Do**
diff --git a/kubernetes/apps/staging/flaresolverr/helmrelease.yaml b/kubernetes/apps/staging/flaresolverr/helmrelease.yaml
new file mode 100644
index 0000000..2edc903
--- /dev/null
+++ b/kubernetes/apps/staging/flaresolverr/helmrelease.yaml
@@ -0,0 +1,85 @@
+apiVersion: helm.toolkit.fluxcd.io/v2
+kind: HelmRelease
+metadata:
+  name: &app flaresolverr
+  namespace: arr
+spec:
+  interval: 15m
+  chart:
+    spec:
+      chart: app-template
+      version: 3.7.1
+      interval: 30m
+      sourceRef:
+        kind: HelmRepository
+        name: bjw-s
+        namespace: flux-system
+
+  install:
+    remediation:
+      retries: 3
+  upgrade:
+    remediation:
+      retries: 3
+
+  values:
+    global:
+      fullnameOverride: *app
+      namespace: arr
+
+    controllers:
+      flaresolverr:
+        enabled: true
+        type: statefulset
+        annotations:
+          reloader.stakater.com/auto: "true"
+
+        replicas: 1
+        
+        pod:
+          securityContext:
+            runAsUser: &context 1000
+            runAsGroup: *context
+            fsGroup: *context
+            fsGroupChangePolicy: "OnRootMismatch"
+          dnsPolicy: None
+          dnsConfig:
+            nameservers:
+              - 10.43.0.10
+              - 1.1.1.1
+              - 8.8.8.8
+
+        containers:
+          app:
+            image:
+              repository: ghcr.io/flaresolverr/flaresolverr
+              tag: 3.3.21
+              pullPolicy: IfNotPresent
+            env:
+              TZ: "${TZ}"
+              LOG_LEVEL: info
+
+            probes:
+              liveness:
+                enabled: false
+
+            securityContext:
+              allowPrivilegeEscalation: false
+              capabilities:
+                drop:
+                  - ALL
+
+            resources:
+              requests:
+                cpu: 90m
+                memory: 128Mi
+              limits:
+                memory: 256Mi
+
+    service:
+      app:
+        primary: true
+        controller: flaresolverr
+        ports:
+          http:
+            port: 8191
diff --git a/kubernetes/apps/staging/kustomization.yaml b/kubernetes/apps/staging/kustomization.yaml
new file mode 100644
index 0000000..965b5f5
--- /dev/null
+++ b/kubernetes/apps/staging/kustomization.yaml
@@ -0,0 +1,4 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - flaresolverr/
\ No newline at end of file
diff --git a/kubernetes/cluster/production/flux-system/staging.yaml b/kubernetes/cluster/production/flux-system/staging.yaml
new file mode 100644
index 0000000..78bc580
--- /dev/null
+++ b/kubernetes/cluster/production/flux-system/staging.yaml
@@ -0,0 +1,26 @@
+apiVersion: source.toolkit.fluxcd.io/v1
+kind: GitRepository
+metadata:
+  name: flux-staging
+  namespace: flux-system
+spec:
+  interval: 1m0s
+  ref:
+    branch: staging
+  secretRef:
+    name: flux-system
+  url: https://git.mafyuh.dev/mafyuh/iac
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+  name: flux-staging
+  namespace: flux-system
+spec:
+  interval: 10m0s
+  path: ./kubernetes/apps/staging
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: flux-staging
+
-- 
2.47.2


From c6ed29d289bfa729008b3102d29a151d3edb01cb Mon Sep 17 00:00:00 2001
From: Matt Reeves <admin@mafyuh.io>
Date: Tue, 25 Feb 2025 23:03:56 -0500
Subject: [PATCH 2/4] fix kustomization

---
 kubernetes/apps/staging/flaresolverr/kustomization.yaml | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 kubernetes/apps/staging/flaresolverr/kustomization.yaml

diff --git a/kubernetes/apps/staging/flaresolverr/kustomization.yaml b/kubernetes/apps/staging/flaresolverr/kustomization.yaml
new file mode 100644
index 0000000..4377f60
--- /dev/null
+++ b/kubernetes/apps/staging/flaresolverr/kustomization.yaml
@@ -0,0 +1,4 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - helmrelease.yaml
\ No newline at end of file
-- 
2.47.2


From 0e5f1120661aa32fcb0debda54e3664e3b47fb12 Mon Sep 17 00:00:00 2001
From: Matt Reeves <admin@mafyuh.io>
Date: Tue, 25 Feb 2025 23:04:43 -0500
Subject: [PATCH 3/4] update tag

---
 kubernetes/apps/staging/flaresolverr/helmrelease.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kubernetes/apps/staging/flaresolverr/helmrelease.yaml b/kubernetes/apps/staging/flaresolverr/helmrelease.yaml
index 2edc903..e00d494 100644
--- a/kubernetes/apps/staging/flaresolverr/helmrelease.yaml
+++ b/kubernetes/apps/staging/flaresolverr/helmrelease.yaml
@@ -53,7 +53,7 @@ spec:
           app:
             image:
               repository: ghcr.io/flaresolverr/flaresolverr
-              tag: 3.3.21
+              tag: v3.3.21
               pullPolicy: IfNotPresent
             env:
               TZ: "${TZ}"
-- 
2.47.2


From 5690cda91c6256b64194cf7473315ff438090f86 Mon Sep 17 00:00:00 2001
From: Matt Reeves <admin@mafyuh.io>
Date: Tue, 25 Feb 2025 23:08:39 -0500
Subject: [PATCH 4/4] migrate flaresolverr deployment to HelmRelease and update
 kustomization

---
 .../arr/flaresolverr/deployment.yaml          | 39 -------------------
 .../arr}/flaresolverr/helmrelease.yaml        |  0
 .../arr/flaresolverr/kustomization.yaml       |  3 +-
 .../production/arr/flaresolverr/service.yaml  | 12 ------
 .../staging/flaresolverr/kustomization.yaml   |  4 --
 5 files changed, 1 insertion(+), 57 deletions(-)
 delete mode 100644 kubernetes/apps/production/arr/flaresolverr/deployment.yaml
 rename kubernetes/apps/{staging => production/arr}/flaresolverr/helmrelease.yaml (100%)
 delete mode 100644 kubernetes/apps/production/arr/flaresolverr/service.yaml
 delete mode 100644 kubernetes/apps/staging/flaresolverr/kustomization.yaml

diff --git a/kubernetes/apps/production/arr/flaresolverr/deployment.yaml b/kubernetes/apps/production/arr/flaresolverr/deployment.yaml
deleted file mode 100644
index 94ada73..0000000
--- a/kubernetes/apps/production/arr/flaresolverr/deployment.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: flaresolverr
-  namespace: arr
-  labels:
-    app: flaresolverr
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: flaresolverr
-  template:
-    metadata:
-      labels:
-        app: flaresolverr
-    spec:
-      containers:
-        - name: flaresolverr
-          image: ghcr.io/flaresolverr/flaresolverr:v3.3.21
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 8191
-          env:
-            - name: LOG_LEVEL
-              value: "info"
-          resources:
-            requests:
-              memory: "100Mi"
-              cpu: "100m"
-            limits:
-              memory: "300Mi"
-              cpu: "200m"
-      dnsPolicy: None
-      dnsConfig:
-        nameservers:
-          - 10.43.0.10
-          - 1.1.1.1
-          - 8.8.8.8
\ No newline at end of file
diff --git a/kubernetes/apps/staging/flaresolverr/helmrelease.yaml b/kubernetes/apps/production/arr/flaresolverr/helmrelease.yaml
similarity index 100%
rename from kubernetes/apps/staging/flaresolverr/helmrelease.yaml
rename to kubernetes/apps/production/arr/flaresolverr/helmrelease.yaml
diff --git a/kubernetes/apps/production/arr/flaresolverr/kustomization.yaml b/kubernetes/apps/production/arr/flaresolverr/kustomization.yaml
index ca1d88e..4377f60 100644
--- a/kubernetes/apps/production/arr/flaresolverr/kustomization.yaml
+++ b/kubernetes/apps/production/arr/flaresolverr/kustomization.yaml
@@ -1,5 +1,4 @@
 apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 resources:
-  - deployment.yaml
-  - service.yaml
\ No newline at end of file
+  - helmrelease.yaml
\ No newline at end of file
diff --git a/kubernetes/apps/production/arr/flaresolverr/service.yaml b/kubernetes/apps/production/arr/flaresolverr/service.yaml
deleted file mode 100644
index a3c0d39..0000000
--- a/kubernetes/apps/production/arr/flaresolverr/service.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  name: flaresolverr
-  namespace: arr
-spec:
-  selector:
-    app: flaresolverr
-  ports:
-    - protocol: TCP
-      port: 8191
-      targetPort: 8191
\ No newline at end of file
diff --git a/kubernetes/apps/staging/flaresolverr/kustomization.yaml b/kubernetes/apps/staging/flaresolverr/kustomization.yaml
deleted file mode 100644
index 4377f60..0000000
--- a/kubernetes/apps/staging/flaresolverr/kustomization.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-resources:
-  - helmrelease.yaml
\ No newline at end of file
-- 
2.47.2