this repo has no description

Update README to reflect current cluster and storage state

+5 -2
+5 -2
README.md
··· 1 1 # infrastructure 2 2 3 - Single-tenant AT Protocol infrastructure on Hetzner Cloud. Runs a [PDS](https://github.com/bluesky-social/pds) (sans-self.org) and a [Tangled knot](https://tangled.sh) (knot.sans-self.org) on a k3s cluster. 3 + Single-tenant AT Protocol infrastructure on Hetzner Cloud. Runs a [PDS](https://github.com/bluesky-social/pds) (sans-self.org) and a [Tangled knot](https://tangled.org) (knot.sans-self.org) on a k3s cluster. 4 4 5 5 ## Stack 6 6 7 7 - **Infra**: OpenTofu (kube-hetzner module v2.18.5) + Hetzner Cloud 8 - - **Cluster**: k3s with 3x CAX11 ARM nodes (HA embedded etcd) 8 + - **Cluster**: k3s with 3× CAX21 ARM nodes (HA embedded etcd, nbg1) 9 9 - **Storage**: JuiceFS CSI backed by Hetzner Object Storage (S3), Redis metadata 10 + - **Blobs**: PDS blob storage on S3 (native, not filesystem) 11 + - **State**: OpenTofu remote backend on S3 10 12 - **Secrets**: git-crypt 11 13 - **Manifests**: Kustomize 14 + - **DNS**: Hetzner DNS (sans-self.org apex + wildcard → Traefik LB) 12 15 13 16 ## Secrets 14 17