Commit Graph

11 Commits

Author SHA1 Message Date
ea415ba584 docs: add Claude Code project instructions
Add CLAUDE.md with comprehensive guidance for Claude Code when working
with this Talos Kubernetes cluster repository.

Includes:
- Development environment setup (Nix shell)
- Cluster bootstrap procedures
- Storage provisioner installation
- Common commands for Talos and Kubernetes
- GitLab and Gitea deployment instructions
- Troubleshooting guides

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:52:49 +00:00
af0403d330 feat(apps): add Gitea Git service with container registry
Deploy Gitea 1.22 with integrated container registry and CI/CD runner.

Features:
- Git repository hosting
- Container registry on port 5000
- Gitea Act Runner for CI/CD (GitHub Actions compatible)
- LoadBalancer service at 10.0.1.10 (HTTP:80, SSH:22)
- NFS-backed persistent storage (50Gi data, 5Gi config)
- Automatic failover across control plane nodes

Access:
- Web UI: http://10.0.1.10
- SSH: ssh://10.0.1.10:22
- Registry: 10.0.1.10:5000

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:47:12 +00:00
09649579d0 feat(networking): add MetalLB load balancer
Deploy MetalLB v0.14.9 for bare-metal load balancing with L2 mode.

Configuration:
- IP address pool: 10.0.1.10-10.0.1.20
- L2 advertisement on ens18, eth0, enp* interfaces
- Runs on all control plane nodes with automatic failover
- Enables LoadBalancer service type support

This allows each service to have its own dedicated IP address
instead of using NodePort with random high ports.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:47:03 +00:00
7bc332188c feat(storage): add NFS storage provisioner
Configure nfs-subdir-external-provisioner for persistent storage
backed by NFS server at 10.0.0.57:/mnt/NAS/vmstorage.

Features:
- Dynamic provisioning of PersistentVolumes
- Set as default storage class
- Supports ReadWriteMany access mode
- Prepares cluster for diskless PXE boot nodes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:46:51 +00:00
7b11409201 fix(talos): enable MetalLB on control plane nodes
Remove node.kubernetes.io/exclude-from-external-load-balancers label
from control plane nodes to allow MetalLB speakers to announce
LoadBalancer IPs on all nodes. This enables proper L2 advertisement
and automatic failover for services.

Changed:
- Commented out nodeLabels section in all three controlplane configs
- Applied to nodes 10.0.1.3, 10.0.1.4, and 10.0.1.5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:46:41 +00:00
4d6f104a1f chore: nix shell is now showing a prefix 2025-11-24 01:04:48 +00:00
361d22cd12 chore: stale file removed 2025-11-23 21:14:56 +00:00
b97a9f6e8c chore: removed stale files 2025-11-23 21:14:11 +00:00
db6ffbbc56 feat: new cluster created, currently runs nginx 2025-11-23 21:13:27 +00:00
39f579d781 feat: new testing cluster with boilerplate code 2025-11-14 23:09:08 +00:00
a46c910e2e Initial commit 2025-11-13 02:57:03 +00:00