generated from onedr0p/cluster-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
helmrelease.yaml
149 lines (149 loc) · 4.23 KB
/
helmrelease.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: qbtools
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.1.0
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
dependsOn:
- name: qbittorrent
namespace: media
values:
controllers:
tagging:
type: cronjob
cronjob: &cronJobSpec
schedule: "@hourly"
timeZone: &timeZone America/New_York
concurrencyPolicy: Forbid
successfulJobsHistory: 1
failedJobsHistory: 1
initContainers:
tagging:
image: &image
repository: ghcr.io/buroa/qbtools
tag: v0.15.2@sha256:6bf689ff6269e27293e1bf1cec03a965cd0c3d89d9c193e4b0b9275687fc9d63
env: &env
TZ: *timeZone
args: [
"tagging",
"--added-on",
"--expired",
"--last-activity",
"--sites",
"--unregistered",
"--server", "qbittorrent.media.svc.cluster.local",
"--port", "80",
"--config", "/config/config.yaml"
]
resources: &resources
requests:
cpu: 25m
limits:
memory: 256M
containers:
unregistered:
image: *image
env: *env
args: [
"prune",
"--exclude-category", "manual",
"--exclude-category", "music",
"--exclude-category", "music.import",
"--include-tag", "unregistered",
# "--dry-run",
"--server", "qbittorrent.media.svc.cluster.local",
"--port", "80"
]
resources: *resources
expired:
image: *image
env: *env
args: [
"prune",
"--exclude-category", "manual",
"--exclude-category", "music",
"--exclude-category", "music.import",
"--exclude-category", "overlord",
"--include-tag", "expired", # defined in config.yaml
"--include-tag", "added:7d",
# "--dry-run",
"--server", "qbittorrent.media.svc.cluster.local",
"--port", "80"
]
resources: *resources
pod:
restartPolicy: OnFailure
securityContext: &securityContext
runAsUser: 568
runAsGroup: 568
runAsNonRoot: true
orphaned:
type: cronjob
cronjob:
<<: *cronJobSpec
schedule: "@daily"
containers:
app:
image: *image
env: *env
args: [
"orphaned",
"--exclude-pattern", "*_unpackerred*",
"--exclude-pattern", "*/manual/*",
"--exclude-pattern", "*/music.import/*",
# "--dry-run",
"--server", "qbittorrent.media.svc.cluster.local",
"--port", "80"
]
resources: *resources
pod:
restartPolicy: OnFailure
securityContext: *securityContext
reannounce:
containers:
app:
image: *image
env: *env
args: [
"reannounce",
"--process-seeding",
"--server", "qbittorrent.media.svc.cluster.local",
"--port", "80"
]
resources: *resources
pod:
securityContext: *securityContext
persistence:
secret-file:
type: secret
name: qbtools-secret
globalMounts:
- path: /config/config.yaml
subPath: config.yaml
readOnly: true
media:
type: nfs
server: osiris.286k.co
path: /pluto/media
advancedMounts:
orphaned:
app:
- path: /media