mirror of
https://github.com/vhaudiquet/homeprod.git
synced 2026-10-15 19:56:15 +00:00
get-saggar(kube): deploy
The saggar-dist chart: a single-node Garage hosting the distribution bucket — public read-only website on get.saggar.dev (the host label is what Garage's vhost routing resolves the bucket from), S3 write surface staying cluster-internal for the publish workflow. Same edge path as the other saggar hosts: dns A record, cert-manager certificate, caddy route. Chart repo and packages auth carry over from the saggar release.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: get-saggar
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- packages-auth-secret.yaml
|
||||
- repository.yaml
|
||||
- release.yaml
|
||||
secretGenerator:
|
||||
- name: get-saggar-values
|
||||
files:
|
||||
- values.yaml=values.yaml
|
||||
configurations:
|
||||
- kustomizeconfig.yaml
|
||||
@@ -0,0 +1,6 @@
|
||||
nameReference:
|
||||
- kind: Secret
|
||||
version: v1
|
||||
fieldSpecs:
|
||||
- path: spec/valuesFrom/name
|
||||
kind: HelmRelease
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: get-saggar
|
||||
@@ -0,0 +1,38 @@
|
||||
# Basic auth for the private Gitea Helm repository (org `saggar`) —
|
||||
# same token as the saggar release's packages-auth-secret.yaml. The
|
||||
# pre-commit sops hook encrypts this file (name matches *secret.yaml).
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: saggar-packages-auth
|
||||
namespace: get-saggar
|
||||
type: Opaque
|
||||
stringData:
|
||||
username: ENC[AES256_GCM,data:bQ8HUwCqCEIWKQ==,iv:FFcNqBTrA2xJCD2EUf2k+8f1+8DZC9r7Z14Qns0TjH8=,tag:aKWUHSP+8yjbewr/vt3z8w==,type:str]
|
||||
password: ENC[AES256_GCM,data:bfiHI6tHwtK1qYf9UdAplb5qNE7fceQDjUim3KlWU/sb4Q5mvqK6CQ==,iv:ZtRNqfWZLT1lSd/N9MGwKrRiTtKDBUBZUR1LUy00G40=,tag:f55oMGmPHQB8zMNWtChp+w==,type:str]
|
||||
sops:
|
||||
lastmodified: "2026-10-04T21:14:09Z"
|
||||
mac: ENC[AES256_GCM,data:pbOlIPfHMwbwyBHlwkTYwWSeWD2jxud2zlNYMDyYJmKRpUuf0/erqRUusTrVGUnOG1t7omu+hQycPC3im6v8mi0vECBlkVG3knQa46bnVH9m1qa7lVChuP53TLYZogrOA8Ol9omrLsUsdcPNJfwXTYS/HHkY+ujECnjCWiVoXUs=,iv:Al2lU2xt1Hvv1BokoOx5e1gOlJhxzMJNyyCosmlGDV0=,tag:OxMxotEvYI06Fjjwst++gA==,type:str]
|
||||
pgp:
|
||||
- created_at: "2026-10-04T21:14:09Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA7uy4qQr71wiARAAgsXy5zMBbREVADgr2VVGgev6fHJUXq6DKCRhQdH1nsrI
|
||||
xbSN1HZ2UbQjCYCjZl8NdVo3KGhJJ1uQGABAq6ZE+C4ZaMWvfjEO0/CnHmui8LkL
|
||||
YXvJWWKvP/DDcmLXYxgwP8u/EWtn1bgXN7HeHxYb9JtGEf7XBlS9a6InWDmreabF
|
||||
lSGkl79NgWDIngNQwTvby76uVARSAj3TkIxO6f4cVx+2f/c7KvWvX9D5vjrz8dpk
|
||||
tPFdIhsCHdQS2wf2G3fEp4Yb8WnTEgu/HQ/amYwBAplhv3aaFQ0WVxCB91amnJyw
|
||||
4Hnkcim4e/ZTmlBms/iQMFo+NhcHebRYcganIid23U8j4RfptwbuxED/txDEAAbj
|
||||
lrgpknUXDG9RRRFTZfViYVJ4KWNduuUmVX4URYtn9d42BEXlXwx+Cd7FV40mlM8F
|
||||
aT87F8G3IVexcKqLV15RngswCaCNJOnIT1vNNz18hz6sz8qXCzDwKIsS02wzkchz
|
||||
1E8pi4grh2UkJT/F+mHUnze3ADOIZu6c2+SUwswVi+zAQg566dgFMYfKWc7icbvz
|
||||
AWJ0hatHKNC4utZ2C0sCrM/34M0J507UMjlGKY9FUQ7wnHubPMfrum/FBNH1X7jM
|
||||
F+iWsZ4N+kBnpY1Vf64S+97/Nqg5NZ3IBHWyqaSsWmR/h9628XDAa7kUpIsPK2LS
|
||||
XgEGwyBsqJOWaYa7pXhIuul+1iNTJJ5FhU9qFQci708gund3RSvGJLtUIGlwSLUn
|
||||
qzSSfl8vWujLNj9Pb0FcegVTYAq4eA59rJFILjyRZ64TaIfPBYxdFSD8t4zcWQQ=
|
||||
=oHWG
|
||||
-----END PGP MESSAGE-----
|
||||
fp: DC6910268E657FF70BA7EC289974494E76938DDC
|
||||
encrypted_regex: ^(data|stringData|.*key|.*crt)$
|
||||
version: 3.10.2
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: get-saggar
|
||||
namespace: get-saggar
|
||||
spec:
|
||||
interval: 1m
|
||||
chart:
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: saggar
|
||||
namespace: get-saggar
|
||||
chart: saggar-dist
|
||||
# Same CI scheme as the other saggar charts: timestamped
|
||||
# versions on main pushes, exact versions on v* tags.
|
||||
version: '>=0.1.0-0'
|
||||
interval: 1m
|
||||
valuesFrom:
|
||||
- kind: Secret
|
||||
name: get-saggar-values
|
||||
@@ -0,0 +1,13 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: saggar
|
||||
namespace: get-saggar
|
||||
spec:
|
||||
interval: 1m
|
||||
# The org-scoped chart repository CI publishes to — namespace-
|
||||
# scoped like every app, so this release carries its own copy of
|
||||
# the repo and its auth secret.
|
||||
url: https://git.vhaudiquet.fr/api/packages/saggar/helm
|
||||
secretRef:
|
||||
name: saggar-packages-auth
|
||||
@@ -0,0 +1,44 @@
|
||||
# Chart: https://git.vhaudiquet.fr/saggar/saggar (chart/saggar-dist).
|
||||
# One single-node Garage, one bucket: the S3 API stays cluster-
|
||||
# internal (chart default — the publish workflow uploads from the
|
||||
# in-cluster runners, s3.ingress.enabled=false) and the bucket serves
|
||||
# as a public read-only website. The host MUST be <bucket>.<root
|
||||
# domain> — Garage resolves the bucket from the Host's first label —
|
||||
# so bucket `get` on get.saggar.dev.
|
||||
bucket: get
|
||||
web:
|
||||
ingress:
|
||||
className: traefik
|
||||
host: get.saggar.dev
|
||||
# TLS terminates at Caddy with the cert-manager saggar.dev
|
||||
# certs; Caddy proxies to Traefik by host, so no tls block
|
||||
# here (same as the other saggar hosts).
|
||||
tls:
|
||||
enabled: false
|
||||
sops:
|
||||
lastmodified: "2026-10-04T21:14:10Z"
|
||||
mac: ENC[AES256_GCM,data:eiYi01TPIHeaCxGblY8k5RuBXacex96leJdmI0Ii3PI6GElJnmZ4elE8PYCBs+XsjwlixLQEEIEN7kTzf2mm2rmoa/2HXhgZW1xPGOW1k6Oh3T6b9fhIwHYVpFTcKikTJo5mcZHlIF8wjNf3AxysWLa94O5G11XVoZnquzoP2to=,iv:nn8jSbwgf75AuOQci2pB56dxB3QFUVdDrMLMqMUXD7U=,tag:jwAS38pKBYrD92KSFei4ew==,type:str]
|
||||
pgp:
|
||||
- created_at: "2026-10-04T21:14:10Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA7uy4qQr71wiAQ//aSdSsLiq0QPPhi7RxG87wsS4Q6yTW4htlkCBfAIJR+ky
|
||||
rNXO5ADj3Hhl3n9R90Cci0Txc2XJE7w3hWs/P70Q4Fu8LLDHEN/jvCUIn7ARywhQ
|
||||
NZUezluFFTeZVitwpiK+lSws7Nzy4eduPd3VDx02W9Ej2IXa9e41vWb7JMODBzSz
|
||||
p5wntTjPZJfcrscijPM5Q1rvv6SWtp4b5DZJzDTZWAYVuPhgW/JF0HZhh+EXcKSv
|
||||
Ea0UDXCXE+Qy3NUlFGNVKk+vXhzAUp+qrRi0Eno0uTfZ+9xNRdqARusdwLCO/uqm
|
||||
wwEZn+TiRt/Uc+qcXSjWUcgOHckLk1sXCLTh0TA3DrCWdEfMp+eMDXaA1eN6V2XU
|
||||
tSCK6Tx3eDvWKmm23CHPRgQB4cookcHbiPScjZicjp3w2iTQ6GZ7LsgDNE0IsdHg
|
||||
Ha1Cl2QNfxhHWPNPFFRedcLbAjj94CNLMRfBctf+sB7PZydeTUFGYKwTScFBsL0k
|
||||
8ll5qhEl/6qFWGOVrynF2dccYBXYSK6fs2A8pwBVqNvh7mtejd7D2/S2Mpc/lLCq
|
||||
VNdUlkAKpsCMyzIVqlgJ0TB1SdwR02jKBgOr9XOvA8tCb835On/tHlelz9uOq040
|
||||
OrQlLmiJwom2J7lP6WzJE28t3uVALZo4tIiiNivOFpdh91LLC3GAUVGaH3uT3ufS
|
||||
XgFFkDQToe1sS4pv/RdbjHEB1tSHqIgsKuTTnlsxwYF7ZzxwfxETwVlU1yMaEIIH
|
||||
enA5z0XVyRwoLqT36U54SZo0Rq0SHs6W0w6qr+sIDmoMP9Cxw0a5jJ1P0zb2PbM=
|
||||
=uIr+
|
||||
-----END PGP MESSAGE-----
|
||||
fp: DC6910268E657FF70BA7EC289974494E76938DDC
|
||||
encrypted_regex: ^(password|value|ssh-key|api-key|user|username|privateKey|clientSecret|clientId|apiKey|extraArgs.*|.*Secret.*|extraEnvVars|.*SECRET.*|.*secret.*|key|.*Password|.*PASS|.*SOCIALACCOUNT_PROVIDERS|.*\.ya?ml)$
|
||||
mac_only_encrypted: true
|
||||
version: 3.10.2
|
||||
Reference in New Issue
Block a user