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] 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
+