mirror of
https://github.com/zoriya/snow.git
synced 2026-08-05 13:57:26 +00:00
198 lines
6.2 KiB
YAML
198 lines
6.2 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: kyoo
|
|
namespace: argocd
|
|
spec:
|
|
project: default
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: kyoo
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
source:
|
|
repoURL: https://github.com/zoriya/Kyoo
|
|
path: chart
|
|
targetRevision: feat/volumes
|
|
helm:
|
|
valuesObject:
|
|
global:
|
|
image:
|
|
tag: edge
|
|
imagePullPolicy: Always
|
|
postgres:
|
|
shared:
|
|
host: postgres-cluster-rw.postgres
|
|
userOverride: kyoo
|
|
databaseOverride: kyoo
|
|
sslmodeOverride: verify-full
|
|
extraEnv:
|
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
|
value: "http://otel-collector.otel.svc:4317"
|
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
|
value: "grpc"
|
|
- name: PGSSLCERT
|
|
value: /var/postgres-ssl/tls.crt
|
|
- name: PGSSLKEY
|
|
value: /var/postgres-ssl/tls.key
|
|
- name: PGSSLROOTCERT
|
|
value: /var/postgres-ssl/ca.crt
|
|
extraVolumes:
|
|
- name: postgres-cert
|
|
secret:
|
|
secretName: postgres-kyoo
|
|
defaultMode: 0640
|
|
- name: media
|
|
persistentVolumeClaim:
|
|
claimName: media
|
|
extraVolumeMounts:
|
|
- name: postgres-cert
|
|
mountPath: /var/postgres-ssl
|
|
kyoo:
|
|
address: https://kyoo.sdg.moe
|
|
transcoderAcceleration: nvidia
|
|
auth:
|
|
guestClaims: '{"permissions": ["users.read", "apikeys.read", "core.read", "core.play"], "verified": true}'
|
|
apikeys:
|
|
extra:
|
|
- name: admin
|
|
existingSecret: admin-apikey
|
|
apikeyKey: uuid
|
|
claims: '{"permissions": ["users.read", "users.write", "apikeys.read", "apikeys.write", "users.delete", "core.read", "core.write", "core.play", "scanner.trigger"], "verified": true}'
|
|
# oidc_providers:
|
|
# - name: Authentik
|
|
# logo: https://avatars.githubusercontent.com/u/82976448?s=48&v=4
|
|
# existingSecret: sso
|
|
# clientIdKey: clientId
|
|
# clientSecretKey: clientSecret
|
|
# scope: "email openid profile"
|
|
# authMethod: ClientSecretBasic
|
|
# authorizationAddress: https://authentik.sdg.moe/application/o/authorize/
|
|
# tokenAddress: https://authentik.sdg.moe/application/o/token/
|
|
# profileAddress: https://authentik.sdg.moe/application/o/userinfo/
|
|
api:
|
|
persistence:
|
|
size: 32Gi
|
|
transcoder:
|
|
runtimeClass: nvidia
|
|
persistence:
|
|
size: 32Gi
|
|
auth:
|
|
securityContext:
|
|
fsGroup: 10001
|
|
kyoo_auth:
|
|
containerSecurityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsGroup: 10001
|
|
runAsNonRoot: true
|
|
runAsUser: 10001
|
|
ingress:
|
|
enabled: true
|
|
host: kyoo.sdg.moe
|
|
ingressClassName: cilium
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt
|
|
acme.cert-manager.io/http01-edit-in-place: "true"
|
|
tls: true
|
|
tlsSecret: kyoo-tls
|
|
extraObjects:
|
|
- apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: bigsecret
|
|
type: Opaque
|
|
stringData:
|
|
postgres_user: kyoo_all
|
|
postgres_password: watchSomething4me
|
|
scanner_apikey: scanner-triquarter4u
|
|
|
|
- apiVersion: postgresql.cnpg.io/v1
|
|
kind: Database
|
|
metadata:
|
|
name: kyoo-db
|
|
namespace: postgres
|
|
spec:
|
|
name: kyoo
|
|
owner: kyoo
|
|
cluster:
|
|
name: postgres-cluster
|
|
databaseReclaimPolicy: delete
|
|
|
|
- apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: postgres-kyoo
|
|
spec:
|
|
secretName: postgres-kyoo
|
|
usages:
|
|
- client auth
|
|
# same as pg user
|
|
commonName: kyoo
|
|
issuerRef:
|
|
name: postgres-ca
|
|
kind: ClusterIssuer
|
|
group: cert-manager.io
|
|
|
|
- apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: kyoo-medias
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
capacity:
|
|
storage: 200Ti
|
|
csi:
|
|
driver: zfs.csi.openebs.io
|
|
fsType: zfs
|
|
volumeAttributes:
|
|
openebs.io/poolname: ocean
|
|
volumeHandle: "medias"
|
|
persistentVolumeReclaimPolicy: Retain
|
|
- apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: media
|
|
spec:
|
|
storageClassName: ""
|
|
volumeName: kyoo-medias
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 200Ti
|
|
|
|
- apiVersion: external-secrets.io/v1
|
|
kind: ExternalSecret
|
|
metadata:
|
|
name: admin-apikey
|
|
spec:
|
|
refreshPolicy: CreatedOnce
|
|
dataFrom:
|
|
- sourceRef:
|
|
generatorRef:
|
|
apiVersion: generators.external-secrets.io/v1alpha1
|
|
kind: ClusterGenerator
|
|
name: uuid
|
|
|
|
- apiVersion: external-secrets.io/v1
|
|
kind: ExternalSecret
|
|
metadata:
|
|
name: sso
|
|
spec:
|
|
refreshInterval: 24h
|
|
secretStoreRef:
|
|
kind: ClusterSecretStore
|
|
name: bitwarden
|
|
dataFrom:
|
|
- extract:
|
|
key: kyoo-sso
|