Compare commits
59 Commits
94ec6be3ac
...
lab-k8s
Author | SHA1 | Date | |
---|---|---|---|
367c30da54 | |||
07df06fb8f | |||
9e974b2508 | |||
8d645e1089 | |||
30ada6e0f2 | |||
a09a513977 | |||
d0fe364416 | |||
d1174c4ca7 | |||
cf6bc7bcce | |||
32a58b7a17 | |||
ffcc42f525 | |||
510504a3e9 | |||
19763bee7d | |||
c3107be5d0 | |||
e158fb6a7d | |||
64e626efdf | |||
e814402f23 | |||
8c5fc26f27 | |||
c8744d2ecc | |||
4ea33540bd | |||
bb790668dc | |||
92e0a08565 | |||
bb2d591898 | |||
be01b17266 | |||
17a557432f | |||
489033cf14 | |||
b43b848692 | |||
e5f5e27133 | |||
f18350d890 | |||
4a48c0469b | |||
0b252584f4 | |||
093252609e | |||
b123f1b824 | |||
146b032d61 | |||
97bb460333 | |||
f8abcb4129 | |||
5fa2bda698 | |||
ec4008740e | |||
0ffc5b13a2 | |||
9508ac4185 | |||
6d144ffa39 | |||
a7e9dcaeb0 | |||
8f874b09d7 | |||
818825f13c | |||
4d680ef046 | |||
fed1b92628 | |||
43bb1cae89 | |||
1819e45341 | |||
797089e868 | |||
21dafc8d59 | |||
1313409e85 | |||
c98ecd0d7a | |||
24431e3ce4 | |||
ef3d1bac57 | |||
36e4aa4ff1 | |||
73038ac019 | |||
e1c449c0c4 | |||
dc280c06ea | |||
0cf244959d |
35
README.md
35
README.md
@ -118,26 +118,6 @@ helm install longhorn longhorn/longhorn --namespace longhorn-system --create-nam
|
|||||||
|
|
||||||
Log on to the web interface and delete the default disks on each node (mounted at `/var/lib/longhorn`) and replace them with new disks mounted at `/mnt/blockstorage`.
|
Log on to the web interface and delete the default disks on each node (mounted at `/var/lib/longhorn`) and replace them with new disks mounted at `/mnt/blockstorage`.
|
||||||
|
|
||||||
Add additional `storageClass` with backup schedule:
|
|
||||||
***After** specifying a NFS backup target (syntax: `nfs://servername:/path/to/share`) through Longhorn's dashboard*
|
|
||||||
```yaml
|
|
||||||
kind: StorageClass
|
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
metadata:
|
|
||||||
name: longhorn-dailybackup
|
|
||||||
provisioner: driver.longhorn.io
|
|
||||||
allowVolumeExpansion: true
|
|
||||||
parameters:
|
|
||||||
numberOfReplicas: "3"
|
|
||||||
staleReplicaTimeout: "2880"
|
|
||||||
fromBackup: ""
|
|
||||||
recurringJobs: '[{"name":"backup", "task":"backup", "cron":"0 0 * * *", "retain":14}]'
|
|
||||||
```
|
|
||||||
Then make this the new default `storageClass`:
|
|
||||||
```shell
|
|
||||||
kubectl patch storageclass longhorn-dailybackup -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
|
|
||||||
#kubectl delete storageclass longhorn
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3) Ingress Controller
|
### 3) Ingress Controller
|
||||||
Reconfigure default Traefik configuration:
|
Reconfigure default Traefik configuration:
|
||||||
@ -161,10 +141,6 @@ kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.pas
|
|||||||
```
|
```
|
||||||
Login with username `admin` and the initial password, browse to `User Info` and `Update Password`.
|
Login with username `admin` and the initial password, browse to `User Info` and `Update Password`.
|
||||||
|
|
||||||
Create ArgoCD applicationset
|
|
||||||
```shell
|
|
||||||
kubectl apply -f system/ArgoCD/applicationset-homelab.yml
|
|
||||||
```
|
|
||||||
### 5) Services
|
### 5) Services
|
||||||
##### 5.1) [Argus]() <small>(release management)</small>
|
##### 5.1) [Argus]() <small>(release management)</small>
|
||||||
```shell
|
```shell
|
||||||
@ -261,15 +237,4 @@ kubectl apply -f services/PVR/deploy-Sonarr.yml
|
|||||||
or
|
or
|
||||||
|
|
||||||
kubectl run -it --rm busybox --restart=Never --image=busybox:1.28 -- nslookup api.github.com [-debug] [fqdn]
|
kubectl run -it --rm busybox --restart=Never --image=busybox:1.28 -- nslookup api.github.com [-debug] [fqdn]
|
||||||
* Delete namespaces stuck in `Terminating` state:
|
|
||||||
*First* check whether there are any resources still present; preventing the namespace from being deleted:
|
|
||||||
|
|
||||||
kubectl api-resources --verbs=list --namespaced -o name \
|
|
||||||
| xargs -n 1 kubectl get --show-kind --ignore-not-found -n <namespace>
|
|
||||||
|
|
||||||
Any resources returned should be deleted first (worth mentioning: if you get an error `error: unable to retrieve the complete list of server APIs`, you should check `kubectl get apiservice` for any apiservice with a status of `False`)
|
|
||||||
If there are no resources left in the namespace, and it is still stuck *terminating*, the following commands remove the blocking finalizer (this is a last resort, you are bypassing protections put in place to prevent zombie processes):
|
|
||||||
|
|
||||||
kubectl get namespace <namespace> -o json | jq -j '.spec.finalizers=null' > tmp.json
|
|
||||||
kubectl replace --raw "/api/v1/namespaces/<namespace>/finalize" -f ./tmp.json
|
|
||||||
rm ./tmp.json
|
|
||||||
|
@ -5,11 +5,14 @@ metadata:
|
|||||||
namespace: kube-system
|
namespace: kube-system
|
||||||
spec:
|
spec:
|
||||||
valuesContent: |-
|
valuesContent: |-
|
||||||
|
core:
|
||||||
|
defaultRuleSyntax: v2
|
||||||
additionalArguments:
|
additionalArguments:
|
||||||
- "--providers.file.directory=/etc/traefik/dynamic"
|
- "--providers.file.directory=/etc/traefik/dynamic"
|
||||||
- "--providers.file.watch=true"
|
- "--providers.file.watch=true"
|
||||||
certResolvers:
|
certificatesResolvers:
|
||||||
default:
|
default:
|
||||||
|
acme:
|
||||||
email: letsencrypt.org.danny@spamasaurus.com
|
email: letsencrypt.org.danny@spamasaurus.com
|
||||||
storage: /data/acme.json
|
storage: /data/acme.json
|
||||||
dnsChallenge:
|
dnsChallenge:
|
||||||
@ -66,8 +69,8 @@ spec:
|
|||||||
stsSeconds: 315360000
|
stsSeconds: 315360000
|
||||||
stsIncludeSubdomains: true
|
stsIncludeSubdomains: true
|
||||||
stsPreload: true
|
stsPreload: true
|
||||||
compression:
|
# compression:
|
||||||
compress: {}
|
# compress: {}
|
||||||
tls:
|
tls:
|
||||||
options:
|
options:
|
||||||
defaults:
|
defaults:
|
||||||
@ -76,6 +79,7 @@ spec:
|
|||||||
curvePreferences:
|
curvePreferences:
|
||||||
- secp521r1
|
- secp521r1
|
||||||
- secp384r1
|
- secp384r1
|
||||||
|
- secp256r1
|
||||||
cipherSuites:
|
cipherSuites:
|
||||||
- TLS_AES_128_GCM_SHA256
|
- TLS_AES_128_GCM_SHA256
|
||||||
- TLS_AES_256_GCM_SHA384
|
- TLS_AES_256_GCM_SHA384
|
||||||
@ -123,8 +127,11 @@ spec:
|
|||||||
storageClass: longhorn
|
storageClass: longhorn
|
||||||
ports:
|
ports:
|
||||||
web:
|
web:
|
||||||
redirectTo:
|
redirections:
|
||||||
port: websecure
|
entryPoint:
|
||||||
|
to: websecure
|
||||||
|
scheme: https
|
||||||
|
permanent: true
|
||||||
websecure:
|
websecure:
|
||||||
forwardedHeaders:
|
forwardedHeaders:
|
||||||
insecure: true
|
insecure: true
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: argus
|
name: argus
|
||||||
@ -15,4 +15,4 @@ spec:
|
|||||||
middlewares:
|
middlewares:
|
||||||
- name: 2fa-authentication@file
|
- name: 2fa-authentication@file
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/argus/config
|
share: /K3s.Volumes/argus/config
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/argus/data
|
share: /K3s.Volumes/argus/data
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: authelia
|
name: authelia
|
||||||
@ -14,4 +14,4 @@ spec:
|
|||||||
port: 9091
|
port: 9091
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -14,5 +14,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0600,dir_mode=0600,iocharset=utf8,nobrl
|
opts: file_mode=0600,dir_mode=0600,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/authelia/conf
|
share: /K3s.Volumes/authelia/conf
|
||||||
|
@ -14,5 +14,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0700,dir_mode=0700,uid=999,gid=1000,iocharset=utf8,nobrl
|
opts: file_mode=0700,dir_mode=0700,uid=999,gid=1000,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/authelia/redis
|
share: /K3s.Volumes/authelia/redis
|
||||||
|
@ -4,6 +4,7 @@ metadata:
|
|||||||
name: authelia
|
name: authelia
|
||||||
namespace: authelia
|
namespace: authelia
|
||||||
spec:
|
spec:
|
||||||
|
#externalTrafficPolicy: Local
|
||||||
ports:
|
ports:
|
||||||
- protocol: TCP
|
- protocol: TCP
|
||||||
name: web
|
name: web
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/ddclient/config
|
share: /K3s.Volumes/ddclient/config
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: dawarich
|
|
@ -1,116 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: dawarich
|
|
||||||
namespace: dawarich
|
|
||||||
labels:
|
|
||||||
app: dawarich
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: dawarich
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: dawarich
|
|
||||||
spec:
|
|
||||||
enableServiceLinks: false
|
|
||||||
containers:
|
|
||||||
- name: dawarich
|
|
||||||
image: freikin/dawarich:0.24.0
|
|
||||||
env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
value: redis://dawarich.dawarich.svc.cluster.local:6379/0
|
|
||||||
- name: DATABASE_HOST
|
|
||||||
value: dawarich.dawarich.svc.cluster.local
|
|
||||||
- name: DATABASE_USERNAME
|
|
||||||
value: dawarich
|
|
||||||
- name: DATABASE_PASSWORD
|
|
||||||
value: dawarich
|
|
||||||
- name: DATABASE_NAME
|
|
||||||
value: dawarich
|
|
||||||
- name: DISABLE_TELEMETRY
|
|
||||||
value: "true"
|
|
||||||
- name: APPLICATION_HOST
|
|
||||||
value: timeline.spamasaurus.com
|
|
||||||
- name: APPLICATION_HOSTS
|
|
||||||
value: timeline.spamasaurus.com
|
|
||||||
- name: TIME_ZONE
|
|
||||||
value: Australia/Melbourne
|
|
||||||
- name: REVERSE_GEOCODING_ENABLED
|
|
||||||
value: "true"
|
|
||||||
- name: MIN_MINUTES_SPENT_IN_CITY
|
|
||||||
value: "30"
|
|
||||||
- name: DISTANCE_UNIT
|
|
||||||
value: km
|
|
||||||
command:
|
|
||||||
- web-entrypoint.sh
|
|
||||||
args:
|
|
||||||
- 'bin/rails server -p 3000 -b ::'
|
|
||||||
ports:
|
|
||||||
- name: app
|
|
||||||
containerPort: 3000
|
|
||||||
volumeMounts:
|
|
||||||
- name: flexvolsmb-dawarich-data
|
|
||||||
mountPath: /var/app/public
|
|
||||||
- name: sidekiq
|
|
||||||
image: freikin/dawarich:0.24.0
|
|
||||||
env:
|
|
||||||
- name: REDIS_URL
|
|
||||||
value: redis://dawarich.dawarich.svc.cluster.local:6379/0
|
|
||||||
- name: DATABASE_HOST
|
|
||||||
value: dawarich.dawarich.svc.cluster.local
|
|
||||||
- name: DATABASE_USERNAME
|
|
||||||
value: dawarich
|
|
||||||
- name: DATABASE_PASSWORD
|
|
||||||
value: dawarich
|
|
||||||
- name: DATABASE_NAME
|
|
||||||
value: dawarich
|
|
||||||
command:
|
|
||||||
- sidekiq-entrypoint.sh
|
|
||||||
args:
|
|
||||||
- "bundle exec sidekiq"
|
|
||||||
volumeMounts:
|
|
||||||
- name: flexvolsmb-dawarich-data
|
|
||||||
mountPath: /var/app/public
|
|
||||||
- name: redis
|
|
||||||
image: redis:7-alpine
|
|
||||||
ports:
|
|
||||||
- name: redis
|
|
||||||
containerPort: 6379
|
|
||||||
volumeMounts:
|
|
||||||
- name: flexvolsmb-dawarich-redis
|
|
||||||
mountPath: /data
|
|
||||||
- name: db
|
|
||||||
image: postgis/postgis:16-3.5-alpine
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 70
|
|
||||||
runAsGroup: 70
|
|
||||||
env:
|
|
||||||
- name: PGDATA
|
|
||||||
value: /var/lib/postgresql/data/pgdata
|
|
||||||
- name: POSTGRES_DATABASE
|
|
||||||
value: dawarich
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
value: dawarich
|
|
||||||
- name: POSTGRES_USER
|
|
||||||
value: dawarich
|
|
||||||
volumeMounts:
|
|
||||||
- name: flexvolsmb-dawarich-db
|
|
||||||
mountPath: /var/lib/postgresql/data
|
|
||||||
ports:
|
|
||||||
- name: db
|
|
||||||
containerPort: 5432
|
|
||||||
volumes:
|
|
||||||
- name: flexvolsmb-dawarich-db
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: flexvolsmb-dawarich-db
|
|
||||||
- name: flexvolsmb-dawarich-redis
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: flexvolsmb-dawarich-redis
|
|
||||||
- name: flexvolsmb-dawarich-data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: flexvolsmb-dawarich-data
|
|
@ -1,17 +0,0 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
|
||||||
kind: IngressRoute
|
|
||||||
metadata:
|
|
||||||
name: dawarich
|
|
||||||
namespace: dawarich
|
|
||||||
spec:
|
|
||||||
entryPoints:
|
|
||||||
- websecure
|
|
||||||
routes:
|
|
||||||
- match: Host(`timeline.spamasaurus.com`)
|
|
||||||
kind: Rule
|
|
||||||
services:
|
|
||||||
- name: dawarich
|
|
||||||
port: 3000
|
|
||||||
middlewares:
|
|
||||||
- name: security-headers@file
|
|
||||||
- name: compression@file
|
|
@ -1,56 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-dawarich-db
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 1Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-dawarich-db
|
|
||||||
flexVolume:
|
|
||||||
driver: mount/smb
|
|
||||||
secretRef:
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
options:
|
|
||||||
opts: file_mode=0755,dir_mode=0700,uid=70,gid=70,iocharset=utf8,nobrl
|
|
||||||
server: 192.168.154.225
|
|
||||||
share: /K3s.Volumes/dawarich/db
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-dawarich-redis
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 1Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-dawarich-redis
|
|
||||||
flexVolume:
|
|
||||||
driver: mount/smb
|
|
||||||
secretRef:
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
options:
|
|
||||||
opts: file_mode=0700,dir_mode=0700,uid=999,gid=1000,iocharset=utf8,nobrl
|
|
||||||
server: 192.168.154.225
|
|
||||||
share: /K3s.Volumes/dawarich/redis
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-dawarich-data
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 1Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-dawarich-data
|
|
||||||
flexVolume:
|
|
||||||
driver: mount/smb
|
|
||||||
secretRef:
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
options:
|
|
||||||
opts: file_mode=0755,dir_mode=0755,iocharset=utf8
|
|
||||||
server: 192.168.154.225
|
|
||||||
share: /K3s.Volumes/dawarich/data
|
|
@ -1,38 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-dawarich-db
|
|
||||||
namespace: dawarich
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-dawarich-db
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-dawarich-redis
|
|
||||||
namespace: dawarich
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-dawarich-redis
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-dawarich-data
|
|
||||||
namespace: dawarich
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-dawarich-data
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
@ -1,16 +0,0 @@
|
|||||||
apiVersion: bitnami.com/v1alpha1
|
|
||||||
kind: SealedSecret
|
|
||||||
metadata:
|
|
||||||
creationTimestamp: null
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
namespace: dawarich
|
|
||||||
spec:
|
|
||||||
encryptedData:
|
|
||||||
password: AgDB1T2hBs8kf5sPcAQ1EQopYDsoHBS2a32V0C556RCOvZ9BR45Esx69L3Ug6LcSW3LlfsN0EYfxCEVJMhshfWvPEeyZpcrml1twP7EsnyEfkvBmWpCM2M4bDe6eD5A6gkqnIKt4vpNn87xT4WCnnXK77cal42E1EA4DDrHv5Np+4ju87FOV3UtClFwoRbNgs0wpKk/glVokSu62qHaXWqUULSGZbF13TLG1aFv3/FAnY7i7UwPQcEPbx1mHaBsWZ4JvWRze49gBb9s+6AFgLxTwd7oPQCjONvSKfz9xesjLaxAGjgEm3e8v5ramjSaTqOd4V5Tv96L5MJUIpHIw4fFCdi+++pR2ZAjNEkQrrL9Q+keF+TWhz/IH8T5bY7KST9TXVNPGAlHuvBduFklx/0bSU7UXA7X88E3t4Yjp1n5ggp0xgggene4pAZrly361v1LjzXtV6Cb6v0EUxgWn62Rf1ikRszc4ab+Y4JZZHPJuiSyBZGw0RUCf44iTVR2I0ScgTTSywElKGjGyzrP7FxZ5VK0kPqKkJIsBNm5shBigU1EbD3Gos5g61gzIRtvl3XsT4bDnqASDRVMPsM2biIdYr3ITZy/8uzFsqUH9EA+ZUFhDxHZUgIdRa0Jgx9wMs1ptKl/pRGo0MiZqev/m6aO/KDv1I/aGXQEG1wUtWvGAWJ87WdUVB/5Gz8u0hg9Z9IRHgkldhrgO1f6aZXxE6MwJ
|
|
||||||
username: AgCQYNKlpsSZ8PkkFkUJXKxCFK5Xl2Jr1AuokM7uXiAPYWHeNal+MrTBbJL6oWab53oBeHu1fou45aGYKKnXQN8yNHNoyrpDTEP65AUlUzLJshaB56vLrPAqPdHUpmHyMWZIQxHqlU7c7vZ4TgWkuFS7oXmuFptsDp36tpL6dANKKBIvMniWLiWouZgZSDiJdSwdOGoMqvKp1L9vbkcYstbMHOfAry1hYHxcBa/BYdjV9mvZqwa0GWJ0Zq+q5iwlSInrLa0xH08M1cuNRGjTXIuY+qV7pmVv6HuuhhUAUI8RJTs6g/0et/caFVKpMbj0LnmI7y8c6wMawexbqLD2t6lrBn1bQD4TBuuxk1hh9IiJ2ju18POv11eMPbYQRiNygytFsZ7iYTF4nxxeIExfb9OoYlkfdHl9855DmJHKWkRF1eSRkrtdxnT69BTPXi3wugf50LTUTIuXXEcXp6hdWeZLOytyQDeVoEZsknLuVemJ62iz/IhN+EHfhnibx0DwS2doPn3rzg4gt7zThRk+8I4g1yyqywoLMw+79Rk1ft+2XjZlWr6TPo8T6lCM/3aVNrtuNfrMWiQPKRxXdLX6syjkd8pb7yUMXVtvofGIhyHVXgQA5PJQRQzNcEU/Mm5oFdjpfEFQhtIef6u0urg+37dRb5liVYWmhnPozOvD52B3I99md9rzEwK20faK7XoiHENlsRFExwI=
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
creationTimestamp: null
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
namespace: dawarich
|
|
||||||
type: mount/smb
|
|
@ -1,18 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: dawarich
|
|
||||||
namespace: dawarich
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
name: app
|
|
||||||
port: 3000
|
|
||||||
- protocol: TCP
|
|
||||||
name: redis
|
|
||||||
port: 6379
|
|
||||||
- protocol: TCP
|
|
||||||
name: db
|
|
||||||
port: 5432
|
|
||||||
selector:
|
|
||||||
app: dawarich
|
|
@ -11,7 +11,8 @@ spec:
|
|||||||
sources:
|
sources:
|
||||||
- repoURL: https://dl.gitea.com/charts/
|
- repoURL: https://dl.gitea.com/charts/
|
||||||
chart: gitea
|
chart: gitea
|
||||||
targetRevision: 10.6.0
|
# targetRevision: 10.6.0
|
||||||
|
targetRevision: 11.0.0
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/services/Gitea/values.yaml
|
- $values/services/Gitea/values.yaml
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: gotify
|
name: gotify
|
||||||
@ -14,4 +14,4 @@ spec:
|
|||||||
port: 80
|
port: 80
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -14,5 +14,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/gotify/data
|
share: /K3s.Volumes/gotify/data
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: guacamole
|
name: guacamole
|
||||||
@ -15,4 +15,4 @@ spec:
|
|||||||
middlewares:
|
middlewares:
|
||||||
- name: prepend-path-guacamole
|
- name: prepend-path-guacamole
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
name: prepend-path-guacamole
|
name: prepend-path-guacamole
|
||||||
|
@ -14,7 +14,7 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0755,dir_mode=0700,uid=70,gid=70,iocharset=utf8,nobrl
|
opts: file_mode=0755,dir_mode=0700,uid=70,gid=70,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/guacamole/db
|
share: /K3s.Volumes/guacamole/db
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@ -33,5 +33,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0755,dir_mode=0755,iocharset=utf8
|
opts: file_mode=0755,dir_mode=0755,iocharset=utf8
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/guacamole/home
|
share: /K3s.Volumes/guacamole/home
|
||||||
|
@ -9,9 +9,9 @@ spec:
|
|||||||
namespace: headlamp
|
namespace: headlamp
|
||||||
project: default
|
project: default
|
||||||
sources:
|
sources:
|
||||||
- repoURL: https://headlamp-k8s.github.io/headlamp/
|
- repoURL: https://kubernetes-sigs.github.io/headlamp/
|
||||||
chart: headlamp
|
chart: headlamp
|
||||||
targetRevision: 0.28.0
|
targetRevision: 0.30.1
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/services/Headlamp/values.yaml
|
- $values/services/Headlamp/values.yaml
|
||||||
|
17
services/LdapWrapper/application-ldapwrapper.yaml
Normal file
17
services/LdapWrapper/application-ldapwrapper.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: ldapwrapper
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: ldapwrapper
|
||||||
|
project: default
|
||||||
|
sources:
|
||||||
|
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
path: services/LdapWrapper
|
||||||
|
targetRevision: HEAD
|
||||||
|
# - repoURL: https://github.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
# path: services/LdapWrapper
|
||||||
|
# targetRevision: master
|
@ -31,8 +31,8 @@ spec:
|
|||||||
name: ldap
|
name: ldap
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /app/.cache
|
- mountPath: /app/.cache
|
||||||
name: longhorn-ldapwrapper-cache
|
name: flexvolsmb-ldapwrapper-cache
|
||||||
volumes:
|
volumes:
|
||||||
- name: longhorn-ldapwrapper-cache
|
- name: flexvolsmb-ldapwrapper-cache
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: longhorn-ldapwrapper-cache
|
claimName: flexvolsmb-ldapwrapper-cache
|
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-ldapwrapper-cache
|
||||||
|
namespace: ldapwrapper
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-ldapwrapper-cache
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,cache=none,nobrl
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /K3s.Volumes/ldapwrapper/cache
|
@ -1,13 +1,12 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: longhorn-ldapwrapper-cache
|
name: flexvolsmb-ldapwrapper-cache
|
||||||
namespace: ldapwrapper
|
namespace: ldapwrapper
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteMany
|
||||||
storageClassName: longhorn
|
storageClassName: flexvolsmb-ldapwrapper-cache
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 1Gi
|
storage: 1Gi
|
17
services/Lighttpd/application-lighttpd.yaml
Normal file
17
services/Lighttpd/application-lighttpd.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: lighttpd
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: lighttpd
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: services/Lighttpd
|
||||||
|
repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
@ -30,8 +30,6 @@ spec:
|
|||||||
subPath: .htpasswd
|
subPath: .htpasswd
|
||||||
- name: configmap-lighttpd-vhosts
|
- name: configmap-lighttpd-vhosts
|
||||||
mountPath: /etc/lighttpd/vhosts.d
|
mountPath: /etc/lighttpd/vhosts.d
|
||||||
- name: flexvolsmb-lighttpd-data
|
|
||||||
mountPath: /data/scripts
|
|
||||||
- name: flexvolsmb-lighttpd-websites
|
- name: flexvolsmb-lighttpd-websites
|
||||||
mountPath: /var/www/
|
mountPath: /var/www/
|
||||||
volumes:
|
volumes:
|
||||||
@ -41,9 +39,6 @@ spec:
|
|||||||
- name: configmap-lighttpd-vhosts
|
- name: configmap-lighttpd-vhosts
|
||||||
configMap:
|
configMap:
|
||||||
name: configmap-lighttpd-vhosts
|
name: configmap-lighttpd-vhosts
|
||||||
- name: flexvolsmb-lighttpd-data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: flexvolsmb-lighttpd-data
|
|
||||||
- name: flexvolsmb-lighttpd-websites
|
- name: flexvolsmb-lighttpd-websites
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: flexvolsmb-lighttpd-websites
|
claimName: flexvolsmb-lighttpd-websites
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: lighttpd
|
name: lighttpd
|
||||||
@ -14,4 +14,4 @@ spec:
|
|||||||
port: 8080
|
port: 8080
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-lighttpd-data
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 1Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-lighttpd-data
|
|
||||||
flexVolume:
|
|
||||||
driver: mount/smb
|
|
||||||
secretRef:
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
options:
|
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8
|
|
||||||
server: 192.168.154.225
|
|
||||||
share: /K3s.Volumes/lighttpd/data
|
|
@ -14,5 +14,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/lighttpd/websites
|
share: /K3s.Volumes/lighttpd/websites
|
||||||
|
17
services/Memos/application-memos.yaml
Normal file
17
services/Memos/application-memos.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: memos
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: memos
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: services/Memos
|
||||||
|
repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
@ -18,6 +18,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: app
|
- name: app
|
||||||
image: neosmemo/memos:0.24
|
image: neosmemo/memos:0.24
|
||||||
|
imagePullPolicy: Always
|
||||||
env:
|
env:
|
||||||
- name: MEMOS_PORT
|
- name: MEMOS_PORT
|
||||||
value: '5230'
|
value: '5230'
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: memos
|
name: memos
|
||||||
@ -14,4 +14,4 @@ spec:
|
|||||||
port: 5230
|
port: 5230
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0600,dir_mode=0700,uid=1001,gid=1001,iocharset=utf8,nobrl
|
opts: file_mode=0600,dir_mode=0700,uid=1001,gid=1001,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/memos/data
|
share: /K3s.Volumes/memos/data
|
||||||
|
@ -11,7 +11,7 @@ spec:
|
|||||||
sources:
|
sources:
|
||||||
- repoURL: https://itzg.github.io/minecraft-server-charts/
|
- repoURL: https://itzg.github.io/minecraft-server-charts/
|
||||||
chart: minecraft-bedrock
|
chart: minecraft-bedrock
|
||||||
targetRevision: 2.8.2
|
targetRevision: 2.8.4
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/services/Minecraft/values.yaml
|
- $values/services/Minecraft/values.yaml
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
minecraftServer:
|
minecraftServer:
|
||||||
|
# version: 1.21.73.01
|
||||||
|
|
||||||
eula: "true"
|
eula: "true"
|
||||||
serverName: Clydebank Rd Survival
|
serverName: Clydebank Rd Survival
|
||||||
|
|
||||||
serviceType: LoadBalancer
|
serviceType: LoadBalancer
|
||||||
loadBalancerIP: 192.168.154.240
|
loadBalancerIP: 192.168.154.241
|
||||||
|
|
||||||
cheats: true
|
cheats: true
|
||||||
|
|
||||||
@ -17,6 +19,11 @@ persistence:
|
|||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 1024Mi
|
||||||
|
cpu: 500m
|
||||||
|
|
||||||
extraEnv:
|
extraEnv:
|
||||||
ENABLE_ROLLING_LOGS: true
|
ENABLE_ROLLING_LOGS: true
|
||||||
OVERRIDE_SERVER_PROPERTIES: true
|
OVERRIDE_SERVER_PROPERTIES: true
|
||||||
|
26
services/PVR/Jellyfin/application-jellyfin.yaml
Normal file
26
services/PVR/Jellyfin/application-jellyfin.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: jellyfin
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: jellyfin
|
||||||
|
project: default
|
||||||
|
sources:
|
||||||
|
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
path: services/PVR/Jellyfin/manifests
|
||||||
|
targetRevision: HEAD
|
||||||
|
- repoURL: https://jellyfin.github.io/jellyfin-helm
|
||||||
|
chart: jellyfin
|
||||||
|
targetRevision: 2.3.0
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- $values/services/PVR/Jellyfin/values.yaml
|
||||||
|
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
targetRevision: HEAD
|
||||||
|
ref: values
|
||||||
|
# - repoURL: https://github.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
# targetRevision: master
|
||||||
|
# ref: values
|
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyfin-config
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyfin-config
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /K3s.Volumes/jellyfin/config
|
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyfin-movies
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyfin-movies
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /Public/Video's/Films
|
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyfin-series
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyfin-series
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /Public/Video's/Series
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyfin-config
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyfin-config
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyfin-movies
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyfin-movies
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyfin-series
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyfin-series
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: bitnami.com/v1alpha1
|
||||||
|
kind: SealedSecret
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
namespace: jellyfin
|
||||||
|
spec:
|
||||||
|
encryptedData:
|
||||||
|
password: AgCSzsJlQR2jIMsm7R9goGzziFCEb9quF+tvfXN3dKqWo/zviB4eU5CZ243bEX71eygU+1K7NpcPMF3yD1OB/QBsEKL1Lr62IcHeAHEnsySa2twfLR2wIINXm2kR946HRlmMkroUiJMAdDYCuYnXPxWRewmotvNL1ODK7Yu4rtaZbMjYrV/PDz8I6xIWmpTlsOOI7oj25ZngxS0W8OPMNn83yDR4zgsX2CenNygOfCXdYzJJcMv2Ubue/LxUt3z+RLQznu3/2h8bElauxlJC6QCHXTbjzOX3iFVbFFzn65a8NJIaPysFu+Fi68VdFzwTSq+/ITlun20/zFlW4x177hSdYgUh7pMZpcOMqOPyeT/8Jonxx3wa9CUr1JGnlRukwrfrL6Doyh04FJiftUiLVYDsqCgrLRqaTQ1+90NRFZGhaKhYkSrKfWjNbupiPCTsRsRmVbrPaVCDK5q820l8Jyjhz6dBu0Fi0qXEL7ZbXF1+bdPwnIOgtPPUOJVtc0gYuLluHS6ODd7H8bKc0me5Vr5U0ME0iqhvbyJ6tpkJFpE9tMo4wIpYG3cKiIi1SgHZ7rOKRVfS72xbRhxnKmi1O64J2+jN94wEGIHX8LFppvtxi2WrsyHffQuawkGO4S4sSYVZjoCRMcs0P+jvPMorF7Q0/uecH6noaJIj4it8YoirO6LVUOQKwDg1OEOByeCI7rDFX740UZiX9aOH6osy0Z8e
|
||||||
|
username: AgDRZH7OydcXH1rw6/GAVv4qApl1klI1iTRVozT7OjNCAhTYTFUF5gPLmtfT/CCSY0ieywjhEC5bJkLZdilcayVfUyfVoPHOC9aLuajk48owwdVwWbe4sEWUT6ZncQrt6s4WuOp6PgWIegW9ycQHZE4pylbgUPh1H0vurDXGnLKQBn5n0zMiMGxAmnXYTTXn77pAuvTN/kim6JcqVylCUbWtetvR98ex33FsHsKS7SBhAS4IZ3vK0xh2iOPH5QfJLwPbIgaa1oYzhBrqAht1sdIY9rVW2WBFqqGDwwbSxnSuddWSXXUoeWY37Lo+qDL+Zqb4+Lk7MDuuTXK/St42BZtQToyihP4PPZjKbIpRFeBPHLDTs63CyPPy5u4ip+kR/aivwgOCbKv+SAqVXAFXk9T8h9drMSCr8oUMoIp5M27Pzs3Cqm68U2KaFPmt3nzbygYjr9H7tNjlpi5FWiCsgpRqNQ93/uJ7pTQZNGk5zjzf+RdJag3NbQejxzq8uDAc/dl01NLxdBfe+pK0x0qoi5o4V5/mPwM+X6u4aOyeFqbE9Uo/cSRxkBeRyO6aHMXRXsSyiYIobbReH0+L3OqiEPF2ddgYIN+dcM665qEWQ3iEy94+JhtL715k00z6UYE70aM4wuFksbkMl4NjPFW38uQM4UMLEOg87I4h+C8p2k94UK7tQ4x9ZSL2dgIFf/wkf5/Ob6HTIFM=
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
namespace: jellyfin
|
||||||
|
type: mount/smb
|
47
services/PVR/Jellyfin/values.yaml
Normal file
47
services/PVR/Jellyfin/values.yaml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: traefik
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.middlewares: security-headers@file
|
||||||
|
hosts:
|
||||||
|
- host: player.pvr.spamasaurus.com
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- "SYS_ADMIN"
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
privileged: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: flexvolsmb-jellyfin-movies
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: flexvolsmb-jellyfin-movies
|
||||||
|
- name: flexvolsmb-jellyfin-series
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: flexvolsmb-jellyfin-series
|
||||||
|
- name: igpu
|
||||||
|
hostPath:
|
||||||
|
path: /dev/dri
|
||||||
|
|
||||||
|
volumeMounts:
|
||||||
|
- name: flexvolsmb-jellyfin-movies
|
||||||
|
mountPath: "/movies"
|
||||||
|
- name: flexvolsmb-jellyfin-series
|
||||||
|
mountPath: "/series"
|
||||||
|
- name: igpu
|
||||||
|
mountPath: /dev/dri
|
||||||
|
|
||||||
|
# jellyfin: {}
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
size: 5Gi
|
||||||
|
existingClaim: flexvolsmb-jellyfin-config
|
||||||
|
media:
|
||||||
|
enabled: false
|
23
services/PVR/Jellyseerr/application-jellyseerr.yaml
Normal file
23
services/PVR/Jellyseerr/application-jellyseerr.yaml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: jellyseerr
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: jellyseerr
|
||||||
|
project: default
|
||||||
|
sources:
|
||||||
|
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
path: services/PVR/Jellyseerr/manifests
|
||||||
|
targetRevision: HEAD
|
||||||
|
- repoURL: ghcr.io/fallenbagel/jellyseerr
|
||||||
|
chart: jellyseerr-chart
|
||||||
|
targetRevision: 2.4.0
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- $values/services/PVR/Jellyseerr/values.yaml
|
||||||
|
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
|
targetRevision: HEAD
|
||||||
|
ref: values
|
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyseerr-config
|
||||||
|
namespace: jellyseerr
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyseerr-config
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none,nobrl
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /K3s.Volumes/jellyseerr/config
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-jellyseerr-config
|
||||||
|
namespace: jellyseerr
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-jellyseerr-config
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: bitnami.com/v1alpha1
|
||||||
|
kind: SealedSecret
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
namespace: jellyseerr
|
||||||
|
spec:
|
||||||
|
encryptedData:
|
||||||
|
password: AgAt3cqRtt1kYuX+F1XMrNpbSulwd+qyBQWsoPPgXQhRz3rWzemEqJwMXEYj0D9ow79p7W17ytePDnkgEZsVgXHdyiwYbMP9kfzDwoEanFyGeCwbcy90mp13xlX3dH/LpCNQcJcS5aVfaprMS6aHbVwmTCaeP2J0Kmr1eD/0o+poSAtsZn7ru2rfXIZz3bT5KqxWdR/op09ra8PvJpo3JC2h8RVV30UnXQ4+6J2wiZaIQ7vhqGjwKYKjOh6CAUzljFIflZ8a0kQSMPeuAmVQhG4cVqTe4BQ7JucB0eRdBumrYCxtbYW0wg/2YbTlAnPRm9jULpOo5UfKef0mlAW46uIHHABtQywu7RyZ0DUQ1R+4Qx/sp+qsYkeCgfwoYnh6jT/0O967D3CFFPtTrRnDr/R1vdB1h2BPRdmdo9kb90+25KFBlaX4aoA4lbQ1m6RrodU48OcAIVjqtREOXHruxQyS20LAamze3hEI16wT9pnuh+50T4ntCRF+WuuY6Oi+OLpNePWJTIICkFvc9fUCcx6eKz/KzvzqKGVSisQlPzoDJkdwOxTW4uvm2HgMCw8wBgzxkOPk6ru0jxphdSpQE2OSJr7w+15RIIf4O+ne0fBSg7KFxYsc8KvDjvFYnK/tGm00Sz3pHFdMmQPCAYAnUq5s8oimA5OF1EDhvWVgv4KNWr+pgzZPDaMjRxEQR+ZZhwsBDrEBBUQJlfe1msSs43Cn
|
||||||
|
username: AgCk+TrEHAVBFGuu3u7c+zNVagqYjcWj7mljnpSAhIibaFm8+/G44xbfiU5ks7hteWvJ6KInr8g+VAaot8ygICjI7jZoJW/rN8kwNZZVH6ddlQwczAxBukBVFQiZrjy3lN4OtfamKLCJsvBuw39OflVLjHqtfJuTTO5WLCeI9MiTkAP0ZQ/w8T2LrLRzqtmx7/Zxgw34zXYXsAfU+vsUA7QTiCCV6rvEO+P+TsK/opf7HRDqM2jIRRwPK5z9NwYV2MNEb+IO7fmDwwSbGHs135V8yST95VjkdU00m0AHq+Ry7VLjrUBwdqaj72Dn6of28vLtTNL84ck/I59j60Y0QEBQy+9oonP4Y18Bcsix2IbpYw7yklP8cD3dqbc+XufjpV3nwyF/QiJ3XpMtggSsnEvYgTsushLxxDHAS8n7MRufpxRsgZ2QdQIKNZXh+wnI8V3CXuQ9pIGK50QreO1o2BQ8CSfgsHLoyEbCxtPVvSY9/jaSxApOX9tRwyJyHUKadH5jc/EJeokQX7fWAPXwORAlWhU84hPyZtujI9iPLaxVT+2PdKMaE1qHjXZlpn5VySzmA6QOvOVjVHtbtYmI0XpMl/LdwMoLeJAOW2QgOqCLF8+4p/RiSRgUTZqdMzUkVYj3CeeDLfveq92m0nPtc12xc73y8nFf5S0Xhfvn/bu/0Jf9k0zp8jySdK7CCUWSk5/QjC2X/9g=
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
namespace: jellyseerr
|
||||||
|
type: mount/smb
|
15
services/PVR/Jellyseerr/values.yaml
Normal file
15
services/PVR/Jellyseerr/values.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
ingressClassName: traefik
|
||||||
|
hosts:
|
||||||
|
- host: requests.pvr.spamasaurus.com
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
|
||||||
|
config:
|
||||||
|
persistence:
|
||||||
|
name: flexvolsmb-jellyseerr-config
|
||||||
|
storageClass: flexvolsmb-jellyseerr-config
|
||||||
|
accessModes: ["ReadWriteMany"]
|
||||||
|
size: 1Gi
|
@ -1,34 +0,0 @@
|
|||||||
image:
|
|
||||||
pullPolicy: Always
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: true
|
|
||||||
ingressClassName: traefik
|
|
||||||
|
|
||||||
url: media.pvr.spamasaurus.com
|
|
||||||
|
|
||||||
pms:
|
|
||||||
configStorage: 20Gi
|
|
||||||
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
gpu.intel.com/i915: "1"
|
|
||||||
requests:
|
|
||||||
gpu.intel.com/i915: "1"
|
|
||||||
|
|
||||||
extraVolumeMounts:
|
|
||||||
- name: flexvolsmb-pvr-movies
|
|
||||||
mountPath: /movies
|
|
||||||
- name: flexvolsmb-pvr-series
|
|
||||||
mountPath: /series
|
|
||||||
|
|
||||||
extraVolumes:
|
|
||||||
- name: flexvolsmb-pvr-movies
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: flexvolsmb-pvr-movies
|
|
||||||
- name: flexvolsmb-pvr-series
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: flexvolsmb-pvr-series
|
|
||||||
|
|
||||||
# extraEnv:
|
|
||||||
# PLEX_CLAIM: "claim-EzKU3rNVbWtc3qY_y7wq"
|
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: prowlarr
|
name: prowlarr
|
||||||
@ -15,4 +15,4 @@ spec:
|
|||||||
middlewares:
|
middlewares:
|
||||||
- name: 2fa-authentication@file
|
- name: 2fa-authentication@file
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/prowlarr/config
|
share: /K3s.Volumes/prowlarr/config
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: radarr
|
name: radarr
|
||||||
@ -15,4 +15,4 @@ spec:
|
|||||||
middlewares:
|
middlewares:
|
||||||
- name: 2fa-authentication@file
|
- name: 2fa-authentication@file
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/radarr/config
|
share: /K3s.Volumes/radarr/config
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: sabnzbd
|
name: sabnzbd
|
||||||
@ -15,4 +15,4 @@ spec:
|
|||||||
middlewares:
|
middlewares:
|
||||||
- name: 2fa-authentication@file
|
- name: 2fa-authentication@file
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/sabnzbd/config
|
share: /K3s.Volumes/sabnzbd/config
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: sonarr
|
name: sonarr
|
||||||
@ -15,4 +15,4 @@ spec:
|
|||||||
middlewares:
|
middlewares:
|
||||||
- name: 2fa-authentication@file
|
- name: 2fa-authentication@file
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -15,5 +15,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/sonarr/config
|
share: /K3s.Volumes/sonarr/config
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: pvr-apikeys
|
name: pvr-apikeys
|
||||||
@ -7,35 +7,35 @@ spec:
|
|||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
routes:
|
routes:
|
||||||
- match: Host(`movies.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
|
- match: Host(`movies.pvr.spamasaurus.com`) && (Header(`X-Api-Key`, `<removed>`) || Query(`apikey`, `<removed>`))
|
||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
- name: radarr
|
- name: radarr
|
||||||
port: 7878
|
port: 7878
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
- match: Host(`index.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
|
- match: Host(`index.pvr.spamasaurus.com`) && (Header(`X-Api-Key`, `<removed>`) || Query(`apikey`, `<removed>`))
|
||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
- name: prowlarr
|
- name: prowlarr
|
||||||
port: 9696
|
port: 9696
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
- match: Host(`download.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
|
- match: Host(`download.pvr.spamasaurus.com`) && (Header(`X-Api-Key`, `<removed>`) || Query(`apikey`, `<removed>`))
|
||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
- name: sabnzbd
|
- name: sabnzbd
|
||||||
port: 8080
|
port: 8080
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
- match: Host(`series.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
|
- match: Host(`series.pvr.spamasaurus.com`) && (Header(`X-Api-Key`, `<removed>`) || Query(`apikey`, `<removed>`))
|
||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
- name: sonarr
|
- name: sonarr
|
||||||
port: 8989
|
port: 8989
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-pvr-movies
|
|
||||||
namespace: pvr
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 1Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-pvr-movies
|
|
||||||
flexVolume:
|
|
||||||
driver: mount/smb
|
|
||||||
secretRef:
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
options:
|
|
||||||
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
|
||||||
server: 192.168.154.225
|
|
||||||
share: /Public/Video's/Films
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-pvr-movies
|
|
||||||
namespace: pvr
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-pvr-movies
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-pvr-series
|
|
||||||
namespace: pvr
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 1Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-pvr-series
|
|
||||||
flexVolume:
|
|
||||||
driver: mount/smb
|
|
||||||
secretRef:
|
|
||||||
name: flexvolsmb-credentials
|
|
||||||
options:
|
|
||||||
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
|
||||||
server: 192.168.154.225
|
|
||||||
share: /Public/Video's/Series
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: flexvolsmb-pvr-series
|
|
||||||
namespace: pvr
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: flexvolsmb-pvr-series
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
19
services/PVR/persistentvolume-flexvolsmb-pvr-movies.yaml
Normal file
19
services/PVR/persistentvolume-flexvolsmb-pvr-movies.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-pvr-movies
|
||||||
|
namespace: pvr
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-pvr-movies
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /Public/Video's/Films
|
19
services/PVR/persistentvolume-flexvolsmb-pvr-series.yaml
Normal file
19
services/PVR/persistentvolume-flexvolsmb-pvr-series.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-pvr-series
|
||||||
|
namespace: pvr
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-pvr-series
|
||||||
|
flexVolume:
|
||||||
|
driver: mount/smb
|
||||||
|
secretRef:
|
||||||
|
name: flexvolsmb-credentials
|
||||||
|
options:
|
||||||
|
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
|
||||||
|
server: 192.168.154.195
|
||||||
|
share: /Public/Video's/Series
|
@ -1,12 +1,12 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: flexvolsmb-lighttpd-data
|
name: flexvolsmb-pvr-movies
|
||||||
namespace: lighttpd
|
namespace: pvr
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
storageClassName: flexvolsmb-lighttpd-data
|
storageClassName: flexvolsmb-pvr-movies
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 1Gi
|
storage: 1Gi
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: flexvolsmb-pvr-series
|
||||||
|
namespace: pvr
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: flexvolsmb-pvr-series
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
12
services/PVR/persistentvolumeclaim-smb-pvr-volatile.yaml
Normal file
12
services/PVR/persistentvolumeclaim-smb-pvr-volatile.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: smb-pvr-volatile
|
||||||
|
namespace: pvr
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: pvr
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Gi
|
@ -4,7 +4,7 @@ metadata:
|
|||||||
name: pvr
|
name: pvr
|
||||||
provisioner: smb.csi.k8s.io
|
provisioner: smb.csi.k8s.io
|
||||||
parameters:
|
parameters:
|
||||||
source: "//192.168.154.225/K3s.StorageClass/pvr"
|
source: "//192.168.154.195/K3s.StorageClass/pvr"
|
||||||
csi.storage.k8s.io/node-stage-secret-name: "smb-credentials"
|
csi.storage.k8s.io/node-stage-secret-name: "smb-credentials"
|
||||||
csi.storage.k8s.io/node-stage-secret-namespace: "pvr"
|
csi.storage.k8s.io/node-stage-secret-namespace: "pvr"
|
||||||
# createSubDir: "true" # optional: create a sub dir for new volume
|
# createSubDir: "true" # optional: create a sub dir for new volume
|
||||||
@ -17,16 +17,3 @@ mountOptions:
|
|||||||
- cache=none
|
- cache=none
|
||||||
- uid=911
|
- uid=911
|
||||||
- gid=911
|
- gid=911
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: smb-pvr-volatile
|
|
||||||
namespace: pvr
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
storageClassName: pvr
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 100Gi
|
|
@ -1,4 +1,4 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: vaultwarden
|
name: vaultwarden
|
||||||
@ -14,7 +14,7 @@ spec:
|
|||||||
port: 8080
|
port: 8080
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
- match: Host(`vault.spamasaurus.com`) && Path(`/notifications/hub`)
|
- match: Host(`vault.spamasaurus.com`) && Path(`/notifications/hub`)
|
||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
@ -22,4 +22,4 @@ spec:
|
|||||||
port: 3012
|
port: 3012
|
||||||
middlewares:
|
middlewares:
|
||||||
- name: security-headers@file
|
- name: security-headers@file
|
||||||
- name: compression@file
|
# - name: compression@file
|
||||||
|
@ -14,5 +14,5 @@ spec:
|
|||||||
name: flexvolsmb-credentials
|
name: flexvolsmb-credentials
|
||||||
options:
|
options:
|
||||||
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
opts: file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
|
||||||
server: 192.168.154.225
|
server: 192.168.154.195
|
||||||
share: /K3s.Volumes/vaultwarden/data
|
share: /K3s.Volumes/vaultwarden/data
|
||||||
|
@ -4,4 +4,5 @@ ingress:
|
|||||||
enabled: true
|
enabled: true
|
||||||
host: storage.spamasaurus.com
|
host: storage.spamasaurus.com
|
||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.middlewares: 2fa-authentication@file,security-headers@file,compression@file
|
# traefik.ingress.kubernetes.io/router.middlewares: 2fa-authentication@file,security-headers@file,compression@file
|
||||||
|
traefik.ingress.kubernetes.io/router.middlewares: 2fa-authentication@file,security-headers@file
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"kind": "SealedSecret",
|
|
||||||
"apiVersion": "bitnami.com/v1alpha1",
|
|
||||||
"metadata": {
|
|
||||||
"name": "smb-credentials",
|
|
||||||
"namespace": "default",
|
|
||||||
"creationTimestamp": null
|
|
||||||
},
|
|
||||||
"spec": {
|
|
||||||
"template": {
|
|
||||||
"metadata": {
|
|
||||||
"name": "smb-credentials",
|
|
||||||
"namespace": "default",
|
|
||||||
"creationTimestamp": null
|
|
||||||
},
|
|
||||||
"type": "Opaque",
|
|
||||||
"data": null
|
|
||||||
},
|
|
||||||
"encryptedData": {
|
|
||||||
"domain": "AgCFtOnYpGlu49+rxtdMcweWKvIOo+cRq2wbI+SkQft1cARN5msXCyepELkF79onzT6UtQg3ASNvzR81TZRPqLKibq/qeV3+TyeuTYQOsj8xahe0+pJmg3NZGa4CBhYSj5Es6UFBZ6m8EcOR08HTG3zkXRao5tdfUoKWzB5Ie9savYYUrCHBVCWW29oBoKMKujPxId51qB1yP1Rwa5rZE2+9mfscs+cp5WAyLFd5UjVIjSP13///U/VzFAYcMW/Sm+xmenxnYuzKD2xmAF7YLIsQaaKHv2gNcJuHluSna3YZrSebZoomXdpjWhB78a1pZvQSJkTrDX++E71Urqf9fsKUu6ekV/rfffRyzUFdnxwlJVB94c9ZRml82fJRdFtIYwvkSI/EFU18CjjJKfpuwG5HmL/1AKVSl5/NdaB+xGSlhi6QblIl/p97RZa3wt9l9LzhlCqT9EoDCNB45fOBSX5lpLPBDxOvlWrW4m3sKvwIdno8bKMPhO/m9yCooZZ8QX1zfakgfkCThsOQ1UCFWBiNqzFnTqPhz3Mg8GLTD4jREi10KONTGl+aFFSJ8Y51Ufen8YLA9DcgLypdn4UBelwBsu6qmg/CZbxb5QIPjE2NN5Ioz3R4Nyl2pX9EbyQGfw8umBn57sdFzbl58tbhp4YQn4vl0cFCwYxkJMqx4bd5Rz9Jvf1dCgKU5AXg60+LhZJMU8TLzAN6Qa5L",
|
|
||||||
"password": "AgA9rRVJ7uUGmwnla+Y7He2aFaAthEiLI72GyzLflzQCJWHtPukAon/1NseeJb0BqVqnc5APPgFeDZ7k0JQRlmlqWPLArKcrTcj0PdWaxrSioohZTMe5LoS7GlFpJrhfULMLKipaIMXaCXx/E8etkYOM6tcnjCxUh+KKdcpPfzH7U6i02tCA+IXcrBDO3jx78G1XAtbYYIgD7wsfXD5EeR5DcoPBOsaeYNiLvQQS5aiWaS0rqDUsv6EeL6dhUeBoAljisL8EMP6yb0XIvNXcYmYidSbbwrt2T6D0YtJ4ivsFuxvT7bkbnI3G7orAdw4EGYvhPBNII4T1QYBjCKP+F6fowDYoufUHR5lnD1wiaw6axrE8X//ekaVipVJbaTQhvtFtnMbKnjYtjL9F3K994HCIDlO6nzhCzm+UpQRk2lDqEL3xLmU6L6oUxpOI9VPunubNDY+CBK4dbzThDJ7ruW1fYv9jdn5h9LzkIoDTIebFy5hl5CSAT6YAjedeYi19cuUBRB9m8PhWMna6NUMeQSZila87SzagBAspCke5iufFFQxg6FyV7Kfm9+O9annY/PyvJXMQ87sto4d5qXyb5yIUpElrp2P1DzMuIHyhlKcjEQGG6TRbRHEmR9dquwsg8I7e0DZD8JcgPwRCqZDPJaS4f3loxyfqds5sp2Hgf2MusIZQn+8AgFLimR/EZ+zV3otGb3UdfDU8Zv5EoeFxBUxb",
|
|
||||||
"username": "AgCr48TUqDuqHyKLzZTrKqUawED+Ltb/NuA6nOSjb08TuVR7tOPzgga3IH+Y6fN16lzobcmylwh70kosXs0KKWFmpG7TsoNzWtB5hq1KJsvJNWAJNs6mO1n+40wyLE0aS/bo4dDFpFtUVe/n8DdDyH42FwsnnfNJbtEqzItOXaVO/TiDjFDy09SPblVSgFaK+i0A+jdIbqdBQH2bkPDM3WTn0iBLdXpaxAHqWyLDnLmg8dyU8kJfjUS17OylJZP2bm375exikKw+69h7hLbcuKhsFQnmY2Vffe+0D+ozpCO/8PBqv1dkA0FG8EuhqGCbX6dUxbOdhVzkHyK0a+N8bX45ORSlc+V49bzU7BrvzkmPz3j4Yg11ZZP9vXnRrUJgzD8Jp274dArb+3EF+JH5lNBl1RFbB6s0vrbHXOI5oNXxl+dv9ri+2JKE95DXbsN9uXeLnCh+UqBCmSWW4MfO8rHgM/HQL8k8IHwEBphsDjwthWzQz34b4yUSzh5hEJMMa74S2VFTJeITY8DsvNo+rvOjSxyc3XxkLNH6FmFmGgAfVcWHelm4JCY47Ua1IgztsQbeqXRQQVmxC/A9iqYamZuvkZBSYdN6EcRbFf/FXlmqWw4BQV1d4xHgakoY3O/zWAg/39nNH2bIm190EsLap4qAEShFGf5kvXqymXXpqWPIjIDTy11eGlF9N9OhuYbsP+U6XPwemhg="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
15
storage/csi-driver-smb/sealedsecret-smb-credentials.yaml
Normal file
15
storage/csi-driver-smb/sealedsecret-smb-credentials.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: bitnami.com/v1alpha1
|
||||||
|
kind: SealedSecret
|
||||||
|
metadata:
|
||||||
|
name: smb-credentials
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
encryptedData:
|
||||||
|
password: AgCkOReg8deCpkzUQj+J6XjMKcHUXwzg5AM2Y68CrC1gNgWSWhVKONX5UruNemJ773ZmgRDdDbIwQUBanLUByMbo4y3/kVnwgJCOADD+ERo30ysbdei+SNIIgg55J8R8nU/H31GFWYdq8Ck3FPNvBXo9uMHyUzqopZm8iOV2YVNA0kx9J1uArpzzc1bx3ZA2sV1Rcg9FtLvPErd7WEn5xdosC2Jtxl8NpMFEU32CiKJVM0h4GjmT5uyEOEYeVBURqRB73QfwS7rIRGGCfV8Px6ByF+ADZQ++0Vdla+kWLfsbTW6qcnDv6rqTc8MtXCfYDC3eWKnNvVgI7aNyyWNntQ1qlgW4o3kBNJm33HEU8lxWtgbt8L+g6l/x/ECRsb2EDJWa15VkEJr2WyghkM9WrgL+C0sVwxjOSPcbiZyk2VLfKL02NN4sJ8GQxVW1AvE6MM+YrPD/9o6YaQkOjI6IbZThpDnGGM3n+VQvUB3mSBR1cC9DNjssbzZOJiMm11OfW3Pfw2blyCzO8swM0RN+pO1+8/63uFh6y3hzYuW/6XkHY1bp2EqBRvpaCsjiJfLg+zhPGKz0Lv7L6GzCaXolxWGrdkTiPVpTKvQl1rW5HhWEYz5W+djRZTSX0Kimu3sawI0riPvJyD+6ANHGvHnW8ioONuv3/TXuCs5As2f9V8PikR8jeEGr5YJQOwnXTXaVd/5Yg7ulVXltLnFZ2fa3jYkW
|
||||||
|
username: AgAUu6XbTsHoS33fRV9N31CxHildp0XrnrDkT3UuJQKIx8c/GmUy6LZK1/yWD4hwco0DY6BmDMUUXdJQQDE5aYLBADRq5EobwlyuBgHP2pAhncV750e+u0VhWsCg0AREjLJA4P9xN61Qpbw7w1Yfi6OBjFhzKw4e0YyG3D7EoA2Q9+0dQrkPf3ooLJBx6SE/NuVs7uTuKWi2hC+kuKp3WhgrTU9IG+r1UFOO2jPR9ZFtsHaIArDzgbYZ03dFAXuTFjFLLx519/vCMXKKOglUsTzzaZUb798u3zG1xic+nZIvt6OmjyB86QZ+mjRAElVRINZRUJEMPbWkP2frbN1caQnPvX28LGcRiP0wFM+tgJG/3tAu9T1kaYnLFx+g8wex/kYqI0xktFJb2aisEb32Dhr4S883gpvvEouxuY/Y1g0ZuKxuS7tL8SE3i8x6GBFGaqLx+Wp60G2LsHDDn1PRqZ/GRlPci6QnAwScMPRuHbZOkyQem5w7n5t+LkoYq/gQ/hI+kiyEJOT7XqgR0iCsGGqsLQrVuP1M4XaZQEMlXl8q/iw4N7B28XMDAvWKF02jPM1XsCXMi5ins20KjzHwriMZA0CR7LWyBQsp88phQ/JNqTkEYa+AMdL2zVrhKYao7GvbYs15i3dcuZR08Lof2QIkeLe96DVKb3z6cqqRkbCxlErmD2M8BKhS3TXcNRhSgMReFUqTUAU=
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: smb-credentials
|
||||||
|
namespace: default
|
||||||
|
type: Opaque
|
@ -1,17 +0,0 @@
|
|||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: <name>
|
|
||||||
provisioner: smb.csi.k8s.io
|
|
||||||
parameters:
|
|
||||||
source: "//192.168.11.225/K3s.StorageClass/<name>"
|
|
||||||
csi.storage.k8s.io/node-stage-secret-name: "smb-credentials"
|
|
||||||
csi.storage.k8s.io/node-stage-secret-namespace: "default"
|
|
||||||
createSubDir: "true" # optional: create a sub dir for new volume
|
|
||||||
reclaimPolicy: Retain # only retain is supported
|
|
||||||
volumeBindingMode: Immediate
|
|
||||||
mountOptions:
|
|
||||||
- dir_mode=0700
|
|
||||||
- file_mode=0700
|
|
||||||
- uid=1001
|
|
||||||
- gid=1001
|
|
23
storage/csi-driver-smb/storageclass-smb-csi.yaml
Normal file
23
storage/csi-driver-smb/storageclass-smb-csi.yaml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: smb-csi
|
||||||
|
mountOptions:
|
||||||
|
- dir_mode=0777
|
||||||
|
- file_mode=0777
|
||||||
|
- uid=1001
|
||||||
|
- gid=1001
|
||||||
|
- nobrl
|
||||||
|
- noperm
|
||||||
|
- mfsymlinks
|
||||||
|
- cache=strict
|
||||||
|
- noserverino
|
||||||
|
parameters:
|
||||||
|
csi.storage.k8s.io/node-stage-secret-name: smb-credentials
|
||||||
|
csi.storage.k8s.io/node-stage-secret-namespace: default
|
||||||
|
csi.storage.k8s.io/provisioner-secret-name: smb-credentials
|
||||||
|
csi.storage.k8s.io/provisioner-secret-namespace: default
|
||||||
|
source: //192.168.154.195/K3s.StorageClass/smb-csi
|
||||||
|
provisioner: smb.csi.k8s.io
|
||||||
|
reclaimPolicy: Retain
|
||||||
|
volumeBindingMode: Immediate
|
@ -11,13 +11,15 @@ spec:
|
|||||||
sources:
|
sources:
|
||||||
- repoURL: https://argoproj.github.io/argo-helm
|
- repoURL: https://argoproj.github.io/argo-helm
|
||||||
chart: argo-cd
|
chart: argo-cd
|
||||||
targetRevision: 7.8.2
|
targetRevision: 8.1.2
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/system/ArgoCD/values.yaml
|
- $values/system/ArgoCD/values.yaml
|
||||||
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
targetRevision: master
|
targetRevision: lab-k8s
|
||||||
ref: values
|
ref: values
|
||||||
# - repoURL: https://github.com/djpbessems/Kubernetes.K3s.installLog
|
# - repoURL: https://github.com/djpbessems/Kubernetes.K3s.installLog
|
||||||
# targetRevision: master
|
# targetRevision: master
|
||||||
# ref: values
|
# ref: values
|
||||||
|
syncPolicy:
|
||||||
|
automated: {}
|
||||||
|
@ -2,9 +2,9 @@ configs:
|
|||||||
params:
|
params:
|
||||||
server.insecure: true
|
server.insecure: true
|
||||||
global:
|
global:
|
||||||
domain: gitops.spamasaurus.com
|
domain: gitops.lab.spamasaurus.com
|
||||||
server:
|
server:
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.middlewares: security-headers@file,compression@file
|
traefik.ingress.kubernetes.io/router.middlewares: security-headers@file
|
||||||
|
17
system/kube-vip/application-kube-vip.yaml
Normal file
17
system/kube-vip/application-kube-vip.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: kube-vip
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: kube-system
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: system/kube-vip
|
||||||
|
repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
87
system/kube-vip/daemonset-kube-vip-ds.yaml
Normal file
87
system/kube-vip/daemonset-kube-vip-ds.yaml
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: kube-vip-ds
|
||||||
|
app.kubernetes.io/version: v0.9.1
|
||||||
|
name: kube-vip-ds
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: kube-vip-ds
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: kube-vip-ds
|
||||||
|
app.kubernetes.io/version: v0.9.1
|
||||||
|
spec:
|
||||||
|
affinity:
|
||||||
|
nodeAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
operator: Exists
|
||||||
|
- matchExpressions:
|
||||||
|
- key: node-role.kubernetes.io/control-plane
|
||||||
|
operator: Exists
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- manager
|
||||||
|
env:
|
||||||
|
- name: vip_arp
|
||||||
|
value: "true"
|
||||||
|
- name: port
|
||||||
|
value: "6443"
|
||||||
|
- name: vip_nodename
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: spec.nodeName
|
||||||
|
- name: vip_interface
|
||||||
|
value: eth0
|
||||||
|
- name: vip_cidr
|
||||||
|
value: "32"
|
||||||
|
- name: dns_mode
|
||||||
|
value: first
|
||||||
|
- name: cp_enable
|
||||||
|
value: "true"
|
||||||
|
- name: cp_namespace
|
||||||
|
value: kube-system
|
||||||
|
- name: svc_enable
|
||||||
|
value: "true"
|
||||||
|
- name: svc_leasename
|
||||||
|
value: plndr-svcs-lock
|
||||||
|
- name: vip_leaderelection
|
||||||
|
value: "true"
|
||||||
|
- name: vip_leasename
|
||||||
|
value: plndr-cp-lock
|
||||||
|
- name: vip_leaseduration
|
||||||
|
value: "5"
|
||||||
|
- name: vip_renewdeadline
|
||||||
|
value: "3"
|
||||||
|
- name: vip_retryperiod
|
||||||
|
value: "1"
|
||||||
|
- name: address
|
||||||
|
value: 192.168.154.240
|
||||||
|
- name: prometheus_server
|
||||||
|
value: :2112
|
||||||
|
image: ghcr.io/kube-vip/kube-vip:v0.9.1
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
name: kube-vip
|
||||||
|
resources: {}
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
hostNetwork: true
|
||||||
|
serviceAccountName: kube-vip
|
||||||
|
tolerations:
|
||||||
|
- effect: NoSchedule
|
||||||
|
operator: Exists
|
||||||
|
- effect: NoExecute
|
||||||
|
operator: Exists
|
||||||
|
updateStrategy: {}
|
Reference in New Issue
Block a user