Commit Graph

21 Commits

Author SHA1 Message Date
a673a1c40b fix(gitea-runner): use act-compatible images with Docker support
Update Gitea Actions runner to use catthehacker/ubuntu images which
are specifically designed for GitHub Actions/Gitea Actions and include
Docker CLI and common tools pre-installed.

Changes:
- Replace node:20-bullseye labels with catthehacker/ubuntu:act-latest
- Add ubuntu-22.04 label pointing to act-22.04 image
- Configure DOCKER_* environment variables to be passed to jobs

These images are the standard for act (local GitHub Actions runner)
and Gitea Actions, providing better compatibility with workflows
that need Docker access.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 03:22:59 +00:00
6d280f6773 docs: add comprehensive Gitea container registry guide
Add detailed documentation for using Gitea's built-in container
registry with Gitea Actions for automated Docker image builds.

New documentation:
- GITEA_CONTAINER_REGISTRY.md: Complete guide covering:
  - Enabling and configuring container registry
  - Authentication for Docker CLI and CI/CD
  - Automated builds with Gitea Actions workflows
  - Using registry images in Kubernetes deployments
  - FluxCD integration with Gitea registry
  - Troubleshooting common issues
  - Best practices for tagging and security

Updates to CLAUDE.md:
- Added reference to GITEA_CONTAINER_REGISTRY.md in repo structure
- Added Container Registry section to Gitea deployment docs
- Included quick reference for registry login and usage

This enables complete GitOps CI/CD pipelines with Gitea similar
to GitLab Container Registry functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 02:59:05 +00:00
c58883a91f fix: updated site url 2026-03-04 02:27:26 +00:00
ee229aceb1 impl(runner): gitea runner url 2026-03-04 02:25:11 +00:00
f8870e59f4 docs: update all documentation to reflect Gitea and FluxCD
Replace all GitLab references with Gitea and add comprehensive
FluxCD GitOps workflow documentation.

Major changes:
- CLAUDE.md: Replace GitLab sections with Gitea management
- CLAUDE.md: Add FluxCD operations and troubleshooting
- CLAUDE.md: Update repository structure and GitOps workflow
- CLAUDE.md: Add Gitea Actions runner configuration guide
- APP_DEPLOYMENT.md: Replace GitLab examples with Gitea
- APP_DEPLOYMENT.md: Add FluxCD deployment workflow
- APP_DEPLOYMENT.md: Include Gitea Actions CI/CD examples
- README.md: Complete rewrite with project overview
- README.md: Add GitOps workflow explanation
- README.md: Include architecture and common commands

Removed:
- All GitLab-specific commands and examples
- References to removed scripts (redeploy-gitlab.sh)

Added:
- Gitea Actions runner setup and configuration
- FluxCD sync monitoring and troubleshooting
- GitOps best practices and workflow guides

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 02:20:10 +00:00
f8e5b20381 feat(flux): add FluxCD GitOps configuration
Add Flux GitRepository and Kustomization resources to enable
automated cluster synchronization from Gitea repository.

- GitRepository: monitors ssh://git@10.0.1.10/0xWheatyz/Talos
- Kustomization: syncs testing1/first-cluster/ to cluster
- Interval: 1m for git polling, 5m for reconciliation
- Prune enabled for automatic cleanup

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 02:11:29 +00:00
3ae15ffdfe feat(scripts): add GitLab cleanup and redeploy utility
Add script to cleanly remove and redeploy GitLab:

redeploy-gitlab.sh:
- Deletes existing GitLab deployment and resources
- Removes associated PVCs and data
- Reapplies GitLab manifests from scratch
- Useful for recovering from misconfiguration
- Displays new root password after deployment

Note: Repository now uses Gitea instead of GitLab, but this
script remains for reference or alternative deployments.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:53:20 +00:00
f6a3b57bcc feat(scripts): add storage provisioner utilities
Add helper scripts for storage management:

install-local-path-storage.sh:
- Installs Rancher local-path-provisioner
- Sets it as default storage class
- Useful for local testing and single-node scenarios
- Alternative to NFS for simpler setups

diagnose-storage.sh:
- Diagnoses storage-related issues
- Checks for provisioner installation
- Lists storage classes and PVC status
- Identifies pods stuck due to storage problems

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:53:12 +00:00
6c292da5f1 feat(scripts): add cluster bootstrap and status scripts
Add automated scripts for Talos cluster management:

bootstrap-cluster.sh:
- Automated cluster bootstrap from scratch
- Generates Talos secrets and machine configs
- Applies configs to all nodes (10.0.1.3-5)
- Bootstraps etcd and retrieves kubeconfig
- Verifies cluster health

check-cluster-status.sh:
- Comprehensive cluster health diagnostics
- Checks Talos services, etcd, and Kubernetes components
- Displays node status and running pods
- Useful for troubleshooting bootstrap issues

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:53:05 +00:00
2ed1e82953 docs: add comprehensive application deployment guide
Add APP_DEPLOYMENT.md with step-by-step guide for deploying applications
to the Talos Kubernetes cluster.

Covers:
- Directory structure and GitOps organization
- Creating namespaces and deployments
- Configuring services and ingress
- Storage with PersistentVolumeClaims
- Using Kustomize for manifest management
- Examples for common application types

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:52:56 +00:00
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