Prepare Asciinema GitOps application
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# Asciinema homelab values
|
||||
|
||||
The published `asciinema` chart owns the application Deployment, PostgreSQL
|
||||
StatefulSet, Services, Ingress, probes, and optional bucket-bootstrap Job.
|
||||
This directory supplies the homelab hostname, Traefik integration, local RGW
|
||||
endpoint, sizing/storage selection, and the existing Secret name.
|
||||
|
||||
`asciinema-secrets` remains cluster-managed because it contains the PostgreSQL,
|
||||
Phoenix, and Rook object-user credentials. Restore it before synchronizing a
|
||||
new cluster, then ensure its Rook access keys match the generated
|
||||
`rook-ceph-object-user-my-store-asciinema` Secret. The existing
|
||||
`data-postgresql-0` claim is deliberately preserved by the chart's
|
||||
StatefulSet volume-claim template; do not delete it during recovery.
|
||||
|
||||
The CephObjectStoreUser is a cluster-specific Rook integration. Its bucket is
|
||||
already initialized. The chart's optional bucket-bootstrap hook remains off so
|
||||
routine Argo synchronization never recreates a completed Job.
|
||||
@@ -0,0 +1,8 @@
|
||||
apiVersion: ceph.rook.io/v1
|
||||
kind: CephObjectStoreUser
|
||||
metadata:
|
||||
name: asciinema
|
||||
namespace: rook-ceph
|
||||
spec:
|
||||
store: my-store
|
||||
displayName: asciinema recordings
|
||||
@@ -0,0 +1,40 @@
|
||||
fullnameOverride: asciinema
|
||||
|
||||
secret:
|
||||
existingSecret: asciinema-secrets
|
||||
|
||||
config:
|
||||
urlHost: asciinema.brunner.ninja
|
||||
urlScheme: https
|
||||
timezone: Europe/Vienna
|
||||
dbPoolSize: "5"
|
||||
s3:
|
||||
bucket: asciinema
|
||||
endpoint: http://rook-ceph-rgw-my-store.rook-ceph.svc.cluster.local
|
||||
region: keller
|
||||
smtp:
|
||||
host: smtp-relay.gmail.com
|
||||
port: "587"
|
||||
tls: if_available
|
||||
fromAddress: asciinema@brunner.ninja
|
||||
replyToAddress: daniel@brunner.ninja
|
||||
contactEmailAddress: daniel@brunner.ninja
|
||||
adminPanelOnMainEndpoint: true
|
||||
adminBindAll: false
|
||||
uploadAuthRequired: true
|
||||
unregisteredUploadCountLimit: "0"
|
||||
defaultRecordingVisibility: unlisted
|
||||
defaultStreamVisibility: unlisted
|
||||
signUpDisabled: false
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
className: traefik
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
host: asciinema.brunner.ninja
|
||||
|
||||
postgresql:
|
||||
persistence:
|
||||
storageClass: rook-ceph-block-ec
|
||||
size: 8Gi
|
||||
@@ -0,0 +1,32 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: AppProject
|
||||
metadata:
|
||||
name: asciinema
|
||||
namespace: argocd
|
||||
spec:
|
||||
description: Asciinema server and its homelab Rook integration
|
||||
sourceRepos:
|
||||
- https://brunner.ninja/charts
|
||||
- https://code.brunner.ninja/feedc0de/homelab-gitops.git
|
||||
destinations:
|
||||
- namespace: asciinema
|
||||
server: https://kubernetes.default.svc
|
||||
- namespace: rook-ceph
|
||||
server: https://kubernetes.default.svc
|
||||
namespaceResourceWhitelist:
|
||||
- group: ""
|
||||
kind: ConfigMap
|
||||
- group: ""
|
||||
kind: PersistentVolumeClaim
|
||||
- group: ""
|
||||
kind: Service
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: apps
|
||||
kind: StatefulSet
|
||||
- group: batch
|
||||
kind: Job
|
||||
- group: ceph.rook.io
|
||||
kind: CephObjectStoreUser
|
||||
- group: networking.k8s.io
|
||||
kind: Ingress
|
||||
@@ -0,0 +1,31 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: asciinema
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: asciinema
|
||||
sources:
|
||||
- repoURL: https://brunner.ninja/charts
|
||||
chart: asciinema
|
||||
targetRevision: 1.0.0
|
||||
helm:
|
||||
releaseName: asciinema
|
||||
valueFiles:
|
||||
- $values/apps/asciinema/values.yaml
|
||||
- repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git
|
||||
targetRevision: main
|
||||
ref: values
|
||||
- repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git
|
||||
targetRevision: main
|
||||
path: apps/asciinema/resources
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: asciinema
|
||||
syncPolicy:
|
||||
automated:
|
||||
enabled: true
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
Reference in New Issue
Block a user