diff --git a/bootstrap/kustomizations/kustomization-media.yaml b/bootstrap/kustomizations/kustomization-media.yaml new file mode 100644 index 0000000..953b198 --- /dev/null +++ b/bootstrap/kustomizations/kustomization-media.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: media + namespace: flux-system +spec: + interval: 15m + path: ./media + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: prowlarr + namespace: media + - apiVersion: apps/v1 + kind: Deployment + name: transmission + namespace: media diff --git a/bootstrap/namespaces/namespace-media.yaml b/bootstrap/namespaces/namespace-media.yaml new file mode 100644 index 0000000..d592f0d --- /dev/null +++ b/bootstrap/namespaces/namespace-media.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: media diff --git a/prowlarr/deployment.yaml b/media/prowlarr/deployment.yaml similarity index 96% rename from prowlarr/deployment.yaml rename to media/prowlarr/deployment.yaml index 5980f44..a9eb265 100644 --- a/prowlarr/deployment.yaml +++ b/media/prowlarr/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: prowlarr - namespace: prowlarr + namespace: media spec: selector: matchLabels: diff --git a/prowlarr/dns-endpoint.yaml b/media/prowlarr/dns-endpoint.yaml similarity index 91% rename from prowlarr/dns-endpoint.yaml rename to media/prowlarr/dns-endpoint.yaml index 0c1e514..87958f8 100644 --- a/prowlarr/dns-endpoint.yaml +++ b/media/prowlarr/dns-endpoint.yaml @@ -2,7 +2,7 @@ apiVersion: externaldns.k8s.io/v1alpha1 kind: DNSEndpoint metadata: name: prowlarr.michaelthomson.dev - namespace: prowlarr + namespace: media spec: endpoints: - dnsName: prowlarr.michaelthomson.dev diff --git a/prowlarr/ingress.yaml b/media/prowlarr/ingress.yaml similarity index 96% rename from prowlarr/ingress.yaml rename to media/prowlarr/ingress.yaml index c99e02d..6f7e6d2 100644 --- a/prowlarr/ingress.yaml +++ b/media/prowlarr/ingress.yaml @@ -2,7 +2,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: prowlarr - namespace: prowlarr + namespace: media annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd diff --git a/prowlarr/pvc-config.yaml b/media/prowlarr/pvc-config.yaml similarity index 89% rename from prowlarr/pvc-config.yaml rename to media/prowlarr/pvc-config.yaml index c384a17..827d911 100644 --- a/prowlarr/pvc-config.yaml +++ b/media/prowlarr/pvc-config.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: prowlarr-config - namespace: prowlarr + namespace: media spec: resources: requests: diff --git a/prowlarr/service.yaml b/media/prowlarr/service.yaml similarity index 87% rename from prowlarr/service.yaml rename to media/prowlarr/service.yaml index 0d04540..a29cfbd 100644 --- a/prowlarr/service.yaml +++ b/media/prowlarr/service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: prowlarr - namespace: prowlarr + namespace: media spec: selector: app: prowlarr diff --git a/transmission/pvc-data.yaml b/media/pvc-data.yaml similarity index 58% rename from transmission/pvc-data.yaml rename to media/pvc-data.yaml index 190e097..4680eb2 100644 --- a/transmission/pvc-data.yaml +++ b/media/pvc-data.yaml @@ -1,12 +1,12 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: transmission-data - namespace: transmission + name: media-data + namespace: media spec: accessModes: - - ReadWriteOnce + - ReadWriteMany storageClassName: longhorn resources: requests: - storage: 150Gi + storage: 300Gi diff --git a/transmission/config.yaml b/media/transmission/config.yaml similarity index 93% rename from transmission/config.yaml rename to media/transmission/config.yaml index 25c7340..874d19a 100644 --- a/transmission/config.yaml +++ b/media/transmission/config.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: transmission-config - namespace: transmission + namespace: media data: OPENVPN_PROVIDER: PROTONVPN OPENVPN_CONFIG: node-ca-13.protonvpn.net.tcp diff --git a/transmission/deployment.yaml b/media/transmission/deployment.yaml similarity index 90% rename from transmission/deployment.yaml rename to media/transmission/deployment.yaml index 4c82fe9..45621f7 100644 --- a/transmission/deployment.yaml +++ b/media/transmission/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: transmission - namespace: transmission + namespace: media spec: replicas: 1 selector: @@ -48,8 +48,9 @@ spec: - NET_ADMIN privileged: true volumeMounts: - - mountPath: /data + - mountPath: /data/downloads name: data + subPath: downloads - mountPath: /config name: config initContainers: @@ -62,9 +63,11 @@ spec: - /data/downloads/movies - /data/downloads/tv - /data/downloads/books + - /data/downloads/audiobooks - /data/media/movies - /data/media/tv - /data/media/books + - /data/media/audiobooks volumeMounts: - mountPath: /data name: data @@ -73,7 +76,7 @@ spec: volumes: - name: data persistentVolumeClaim: - claimName: transmission-data + claimName: media-data - name: config persistentVolumeClaim: claimName: transmission-config diff --git a/transmission/dns-endpoint.yaml b/media/transmission/dns-endpoint.yaml similarity index 58% rename from transmission/dns-endpoint.yaml rename to media/transmission/dns-endpoint.yaml index 06b4c38..d4781c7 100644 --- a/transmission/dns-endpoint.yaml +++ b/media/transmission/dns-endpoint.yaml @@ -1,11 +1,11 @@ apiVersion: externaldns.k8s.io/v1alpha1 kind: DNSEndpoint metadata: - name: transmission-test.michaelthomson.dev - namespace: transmission + name: transmission.michaelthomson.dev + namespace: media spec: endpoints: - - dnsName: transmission-test.michaelthomson.dev + - dnsName: transmission.michaelthomson.dev recordTTL: 180 recordType: CNAME targets: diff --git a/transmission/ingress.yaml b/media/transmission/ingress.yaml similarity index 83% rename from transmission/ingress.yaml rename to media/transmission/ingress.yaml index ba5364b..dcf6de4 100644 --- a/transmission/ingress.yaml +++ b/media/transmission/ingress.yaml @@ -2,7 +2,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: transmission - namespace: transmission + namespace: media annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd @@ -10,7 +10,7 @@ metadata: spec: ingressClassName: traefik rules: - - host: transmission-test.michaelthomson.dev + - host: transmission.michaelthomson.dev http: paths: - backend: @@ -22,5 +22,5 @@ spec: pathType: ImplementationSpecific tls: - hosts: - - transmission-test.michaelthomson.dev + - transmission.michaelthomson.dev secretName: letsencrypt-wildcard-cert-michaelthomson.dev diff --git a/transmission/pvc-config.yaml b/media/transmission/pvc-config.yaml similarity index 88% rename from transmission/pvc-config.yaml rename to media/transmission/pvc-config.yaml index 93abc18..7073a05 100644 --- a/transmission/pvc-config.yaml +++ b/media/transmission/pvc-config.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: transmission-config - namespace: transmission + namespace: media spec: accessModes: - ReadWriteOnce diff --git a/transmission/sealed-secret.yaml b/media/transmission/sealed-secret.yaml similarity index 96% rename from transmission/sealed-secret.yaml rename to media/transmission/sealed-secret.yaml index 2b818e1..a882c5a 100644 --- a/transmission/sealed-secret.yaml +++ b/media/transmission/sealed-secret.yaml @@ -3,7 +3,7 @@ kind: SealedSecret metadata: creationTimestamp: null name: transmission-secret - namespace: transmission + namespace: media spec: encryptedData: OPENVPN_PASSWORD: AgDL/UEcrP9Vi49S7kwCuJFUqV7eXwMiXq7I+qDr0tWlzSwYQeEAhbpGIOUoDzR/dPWt8Z/cgvUtMjzJoFT0LJvLmAVApENWw58y54dQJUHM+aXc4C6C3gWaq/+Y2MFvOop8HWT1ZzP5vt2fyGq/kFbU/jnpofB3Uyv5tZVLKGMGtGfbcbiJC2id5I+fGDyS3lYtmZ08Jqbgs/1T7FSBve5H75gIDSKvSJgINHi73Mzk5rhQJFjat1Jgp2Ag+JryjrZGqgL1+9A07+68F35oYleEvHqHNHkdgeY4lihhp6puqNX58rA4sd++QQGi87nIzMKjTQBTTwyo/a8k/yWJQIFC6CbBZJqmsyACH2qg07mHP0Jz9UN9yiiqG+aU2OLdfYRQXpCbFRoANdRIJjlh3udPqkNknY6CY5VIa4eWGcjkPfKqo+xm9SfmAulgpDWNOi1PHh3gbnfBCN+EDDFnB8QGYtBmOftpAMItfzr3xvXmBNp7yjw7NYwxNe4tvvNWPXn5V4YnB7yvpMrAR88jnQSE2GamrcwRG2hTJDp/6L3iAlbRGoAsZsY0o+jWef07DlkIahLtSwlALCIhZYF8N9Y6Qbi8Q5VRcw8V25qmo4rYSYvbS6NS6CbnXLLb3o898/raASu9dcjajuNLZS8flLXJPLRVcI/U5dvSpkRwWp5988b+yBXz1AylK4jr+r5Td4tRbcHhbAJrE8pvdJUGnL78l8nJggCZ3xBbHXP/XFan9A== @@ -12,5 +12,5 @@ spec: metadata: creationTimestamp: null name: transmission-secret - namespace: transmission + namespace: media diff --git a/transmission/service.yaml b/media/transmission/service.yaml similarity index 93% rename from transmission/service.yaml rename to media/transmission/service.yaml index 21e2ff9..765d7be 100644 --- a/transmission/service.yaml +++ b/media/transmission/service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: transmission - namespace: transmission + namespace: media spec: selector: app: transmission