chore(arr): stand up temporary torrent deployment
This commit is contained in:
parent
bb3362031d
commit
21a6942122
8 changed files with 187 additions and 0 deletions
89
apps/temp-arr/base/deployment.gluetun.yaml
Normal file
89
apps/temp-arr/base/deployment.gluetun.yaml
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: gluetun-deployment
|
||||||
|
labels:
|
||||||
|
app: gluetun
|
||||||
|
annotations:
|
||||||
|
checksum/secret-generator.yaml: ee04727f42edb84f45970dc517940686f4dadc241155b8df7cd253cec5d8309e
|
||||||
|
checksum/secret.mullvad.enc.yaml: 97c4a8210c9face06d08f8f73b8a71385a5dd072bb447cb05843907bef80dcae
|
||||||
|
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: gluetun
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: gluetun
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: gluetun
|
||||||
|
image: ghcr.io/qdm12/gluetun:v3.39.1
|
||||||
|
imagePullPolicy: Always
|
||||||
|
restartPolicy: Always
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- NET_ADMIN
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: gluetun-env
|
||||||
|
- secretRef:
|
||||||
|
name: mullvad-secret
|
||||||
|
volumeMounts:
|
||||||
|
- name: gluetun-config
|
||||||
|
mountPath: /gluetun
|
||||||
|
- name: test-connectivity
|
||||||
|
image: busybox
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- '-c'
|
||||||
|
- |
|
||||||
|
sleep 60
|
||||||
|
while ! ping -c 1 8.8.8.8; do
|
||||||
|
echo "Ping failed, retrying in 15"
|
||||||
|
sleep 15
|
||||||
|
done
|
||||||
|
echo "ping succesfull, exiting"
|
||||||
|
|
||||||
|
containers:
|
||||||
|
- name: qbittorrent
|
||||||
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 128Mi
|
||||||
|
cpu: 250m
|
||||||
|
limits:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 2000m
|
||||||
|
ports:
|
||||||
|
- name: qtorrent-http
|
||||||
|
containerPort: 8080
|
||||||
|
# containerPort: 9091
|
||||||
|
env:
|
||||||
|
- name: PUID
|
||||||
|
value: "1000"
|
||||||
|
- name: PGID
|
||||||
|
value: "1000"
|
||||||
|
# - name: WEBUI_PORT
|
||||||
|
# value: "9091"
|
||||||
|
volumeMounts:
|
||||||
|
- name: downloads
|
||||||
|
mountPath: /downloads
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: gluetun-config
|
||||||
|
emptyDir: {}
|
||||||
|
- name: downloads
|
||||||
|
emptyDir: {}
|
||||||
|
# - name: transmission-config
|
||||||
|
# emptyDir: {}
|
||||||
|
|
||||||
23
apps/temp-arr/base/kustomization.yaml
Normal file
23
apps/temp-arr/base/kustomization.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: arr
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- ./ns.yaml
|
||||||
|
- ./deployment.gluetun.yaml
|
||||||
|
- ./service.gluetun.yaml
|
||||||
|
|
||||||
|
configMapGenerator:
|
||||||
|
- name: gluetun-env
|
||||||
|
literals:
|
||||||
|
- TZ=America/New_York
|
||||||
|
- VPN_SERVICE_PROVIDER=mullvad
|
||||||
|
# - #VPN_TYPE=wireguard
|
||||||
|
- VPN_TYPE=openvpn
|
||||||
|
- SERVER_COUNTRIES=Switzerland
|
||||||
|
# - HTTPPROXY=on
|
||||||
|
# - SHADOWSOCKS=on
|
||||||
|
# - SHADOWSOCKS_PASSWORD=IOnx6nu5Bm7ZFVhN2
|
||||||
|
|
||||||
|
generators:
|
||||||
|
- secret-generator.yaml
|
||||||
4
apps/temp-arr/base/ns.yaml
Normal file
4
apps/temp-arr/base/ns.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: arr
|
||||||
15
apps/temp-arr/base/secret-generator.yaml
Normal file
15
apps/temp-arr/base/secret-generator.yaml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
apiVersion: viaduct.ai/v1
|
||||||
|
kind: ksops
|
||||||
|
metadata:
|
||||||
|
# Specify a name
|
||||||
|
name: arr-secrets
|
||||||
|
annotations:
|
||||||
|
config.kubernetes.io/function: |
|
||||||
|
exec:
|
||||||
|
# if the binary is in your PATH, you can do
|
||||||
|
path: ksops
|
||||||
|
# otherwise, path should be relative to manifest files, like
|
||||||
|
# path: ../../../ksops
|
||||||
|
files:
|
||||||
|
- ./secret.mullvad.enc.yaml
|
||||||
|
|
||||||
29
apps/temp-arr/base/secret.mullvad.enc.yaml
Normal file
29
apps/temp-arr/base/secret.mullvad.enc.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: mullvad-secret
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
OPENVPN_USER: ENC[AES256_GCM,data:yROISWuVZgA2EseHClb687L7RV0SA0Ot,iv:pr78VyGXp12SSRhkvpWBshnbSU/CPqUYnVokcWIyuII=,tag:dK08MXL5udYtszVARmlybg==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:OuDD4Ol2aFOCA3HIdhYufCH7ZoLQwl8sI6aoWbR9J94xqGl7mU0Yf5z5MgRsl9+jte/dZngNDEtpmtPSWlNCB4AwBunZqxCdoRhxakH4Xfg50+41,iv:g/RaILqnflJ7GJ3IK+XJ5Jj0kHc9FGamqjtkBBJ79Ao=,tag:6kVYwbEHJ1A2zMcS6hMdUQ==,type:comment]
|
||||||
|
#ENC[AES256_GCM,data:1jOTNv8/kxtSFpMF6AJMQggGJsIJ9GTR2hfvzaSRGwCmVHYEuXK30z5d,iv:HfrfMWPaU8FnXTLUejXi2ATCeyOsCS0A/Ymj+w3+SXE=,tag:21mfcuPDM7L4fkpuORdAaA==,type:comment]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1y26vr5qt6th3wu92rnsgkqcpxxah3pqkqa4khcjjycm3kg40aqyqjgfzx9
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPZjNlZFVoTGZlZVhmWUNr
|
||||||
|
UkUrak90UGV1UmF4Y0dNN1Axa0lMVWREWnhBCmxrK3NONEtkQXVlU1h4U2ZLNlhZ
|
||||||
|
UUlpV2VadkhoNEF4akRLbjU2K0lRWVUKLS0tIFpUK05zaEhSbEJZNDg1TDlGa2VF
|
||||||
|
Mjd3MXhrcWJab2V2VUl6UEJoT094OWcKh9eGQSYj+52pF8lsDtv3VRVNuG9QoMtj
|
||||||
|
4Ei64FjpDHnVEmIDbpSiqdLf0Qg1IQwNJX+jL4lCC46W/cCIxMtaAg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-03-02T03:22:56Z"
|
||||||
|
mac: ENC[AES256_GCM,data:rGM1uxBXLE/QhYavTU9ZRtjB928Chh3nLL1xAEJrm2FDz4qkf8DYARnx9jl8Du3gpc/MXe9BpWhigYImSv2OSjt+8XHUuR6Wfs/cNxelv5f7AmUThYlpsJ5rmYTLMb8CNYsL9hsqgYLjUXKxxSv3KT0GSCaa4IPghOjBZgLYRKk=,iv:GitsY70ExsEWGIKTw6rBBRZ48xu1tqxh08eHehc4ONY=,tag:tjqsoS1qXwHSGqqlzCUxVA==,type:str]
|
||||||
|
pgp: []
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
version: 3.9.2
|
||||||
12
apps/temp-arr/base/service.gluetun.yaml
Normal file
12
apps/temp-arr/base/service.gluetun.yaml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: qbittorrent
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
targetPort: qtorrent-http
|
||||||
|
selector:
|
||||||
|
app: gluetun
|
||||||
11
apps/temp-arr/overlays/media/config.json
Normal file
11
apps/temp-arr/overlays/media/config.json
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"appName": "temp-arr",
|
||||||
|
"userGivenName": "temp-arr",
|
||||||
|
"destNamespace": "arr",
|
||||||
|
"destServer": "https://kubernetes.default.svc",
|
||||||
|
"srcPath": "apps/temp-arr/overlays/media",
|
||||||
|
"srcRepoURL": "ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git",
|
||||||
|
"srcTargetRevision": "",
|
||||||
|
"labels": null,
|
||||||
|
"annotations": null
|
||||||
|
}
|
||||||
4
apps/temp-arr/overlays/media/kustomization.yaml
Normal file
4
apps/temp-arr/overlays/media/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../../base
|
||||||
Loading…
Add table
Add a link
Reference in a new issue