No description
  • Python 49.2%
  • Shell 27.5%
  • HCL 16.8%
  • JavaScript 4.1%
  • Jinja 1%
  • Other 1.4%
Find a file
Mitch Mikusek 76fd1c2895
All checks were successful
Validate / Kubernetes manifests (push) Successful in 2m21s
Validate / Terraform format + validate (push) Successful in 3m9s
Validate / Ansible lint (push) Successful in 4m28s
conduit: serve real Matrix delegation instead of the chart placeholder
Validating the apex over HTTPS after the certificate fix showed both
.well-known documents still advertising the literal chart default:

  /.well-known/matrix/server  {"m.server":"your.server.name:443"}
  /.well-known/matrix/client  {"m.homeserver":{"base_url":"https://your.server.name/"}}

The content is rendered from wellknown.server and wellknown.client, which are
separate values from conduit.server_name -- setting server_name alone never
touched them, so the chart defaults had been served all along. Federation
delegation was therefore broken twice over: no certificate for the apex, and a
placeholder payload behind it. The certificate failure masked the second one,
because nothing could read the document over verified TLS to see it.

server_name stays coldcat.net, so user IDs remain @user:coldcat.net and the
delegation points at the host actually running Conduit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XbtmafSUNoK18sr2xnx11k
2026-09-01 00:37:11 -07:00
.forgejo/workflows Merge pull request 'chore(deps): update node.js to v24' (#40) from renovate/docker.io-node-24.x into main 2026-06-28 08:30:04 +00:00
apps/ab-torznab chore(deps): update all non-major updates 2026-06-13 06:01:29 +00:00
cloudflare/workers/email-ingest Add Cloudflare Email Worker and CoreDNS split-DNS script 2026-04-06 01:34:42 -07:00
coder-templates/node-workspace chore(deps): update all non-major updates 2026-06-05 00:03:52 +00:00
docs docs: document DNS architecture and the load-bearing wildcard 2026-08-03 01:19:49 -07:00
infrastructure feat(storage): add democratic-csi iSCSI storage class for database workloads 2026-07-16 02:59:22 -07:00
kubernetes conduit: serve real Matrix delegation instead of the chart placeholder 2026-09-01 00:37:11 -07:00
scripts Add idempotent *arr stack configuration script 2026-06-14 22:20:34 -07:00
tailscale Remove Caddy, replace Tailscale with Headscale, add MetalLB and new apps 2026-03-05 00:32:44 -08:00
.gitignore Remove Caddy, replace Tailscale with Headscale, add MetalLB and new apps 2026-03-05 00:32:44 -08:00
.kube-linter.yaml Comprehensive security, backup, observability, and CI hardening 2026-04-16 15:50:39 -07:00
.yamllint Comprehensive security, backup, observability, and CI hardening 2026-04-16 15:50:39 -07:00
CLAUDE.md docs: document DNS architecture and the load-bearing wildcard 2026-08-03 01:19:49 -07:00
flake.lock Fix bootstrap issues and add sealed secrets 2026-03-05 09:38:16 -08:00
flake.nix Add Nix flake dev shell 2026-03-04 20:09:48 -08:00
README.md Remove Caddy, replace Tailscale with Headscale, add MetalLB and new apps 2026-03-05 00:32:44 -08:00
renovate.json deps: unstick images Renovate could not see, and track Helm charts at all 2026-08-31 23:36:39 -07:00

Homelab

GitOps-driven Kubernetes homelab on a Dell R730 running Proxmox VE.

Stack

  • Proxmox VE — hypervisor
  • TrueNAS — storage (4x10TB WD Red Pro, IOMMU passthrough)
  • Talos Linux — immutable Kubernetes
  • ArgoCD — GitOps controller
  • Traefik — dual Kubernetes ingress (public + internal)
  • MetalLB — bare-metal load balancer
  • CloudNativePG — managed PostgreSQL
  • Headscale — self-hosted mesh VPN (Tailscale-compatible)

Services

Public (*.coldcat.net): Nextcloud, Immich, Forgejo, Conduit (Matrix), Stalwart (email), Prosody (XMPP), Excalidraw

Internal (*.internal.coldcat.net): Home Assistant, Obsidian LiveSync, ArgoCD, Grafana, Prometheus, Uptime Kuma

Media: Jellyfin, Sonarr, Radarr, Prowlarr, Bazarr, qBittorrent (VPN via Gluetun)

Quick Start

  1. Provision VMs: cd infrastructure/terraform && tofu apply
  2. Bootstrap Talos: talosctl gen config homelab https://10.10.10.20:6443
  3. Bootstrap cluster: ./scripts/bootstrap.sh
  4. ArgoCD syncs everything from kubernetes/apps/

Structure

infrastructure/     Terraform, Talos, Ansible
kubernetes/         K8s manifests (ArgoCD apps, base resources)
tailscale/          Headscale ACL policies
scripts/            Helper scripts
.forgejo/           CI workflows