5ea193b957
Adds the mediamark app (Go single binary) to the media project: an oauth2-proxy-fronted service that reads the shared mediastore CephFS tree and talks to the adult-tier sonarr/radarr through arrproxy's hash routes. - Add apps/base/mediamark: namespace, VaultAuth, three VaultStaticSecrets, static mediastore PV/PVC, the app Deployment, oauth2-proxy ConfigMap/Deployment, two Services, and the internal + external Gateway/HTTPRoute pairs. - Run the app as 1000:1000 so it owns files on the shared media tree (hardlink/rename safe), with a read-only root filesystem, all caps dropped and no service-account token. - Project the sonarr/radarr API keys as one file per app under /etc/mediamark/keys, mirroring arrproxy's keys projection, with reloader annotations on both secrets. - Front both mediamark.unkin.net (traefik-external, reflected LE wildcard) and mediamark.k8s.syd1.au.unkin.net (traefik-internal, vault-issuer) with one oauth2-proxy using a relative redirect URL, gated on akP-mediamark-user and passing X-Forwarded-Groups to the app. - Append mediamark to the wildcard-unkin-net reflector namespace lists and register the app in the media ApplicationSet and AppProject.
36 lines
876 B
YAML
36 lines
876 B
YAML
---
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: ApplicationSet
|
|
metadata:
|
|
name: media-apps
|
|
namespace: argocd
|
|
spec:
|
|
generators:
|
|
- git:
|
|
repoURL: https://git.unkin.net/unkin/argocd-apps
|
|
revision: HEAD
|
|
directories:
|
|
- path: apps/overlays/*/fafflix
|
|
- path: apps/overlays/*/cheeztv
|
|
- path: apps/overlays/*/arrstack
|
|
- path: apps/overlays/*/watchstate
|
|
- path: apps/overlays/*/mediamark
|
|
template:
|
|
metadata:
|
|
name: 'media-{{path[3]}}'
|
|
spec:
|
|
project: media
|
|
source:
|
|
repoURL: https://git.unkin.net/unkin/argocd-apps
|
|
targetRevision: HEAD
|
|
path: '{{path}}'
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: '{{path[3]}}'
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- ServerSideApply=true
|