Reset git history for making manifests public

This commit is contained in:
2026-06-01 10:13:06 +02:00
commit 0ca56d9520
403 changed files with 41985 additions and 0 deletions

184
README.md Normal file
View File

@@ -0,0 +1,184 @@
# Kubernetes Manifests Repository
This repository contains Kubernetes manifest files for a comprehensive self-hosted platform running 40+ applications across various categories. This infrastructure was created for the migration from Docker to Kubernetes (K3S).
## Overview
This infrastructure provides a complete solution for:
- Media management and streaming
- AI/ML workloads
- Development and CI/CD workflows
- Productivity and collaboration tools
- Network and system administration
- Storage and backup solutions
All applications are managed using GitOps principles with ArgoCD and utilize cert-manager for automated TLS certificate management.
## Repository Structure
The repository is organized with one directory per application, containing all necessary Kubernetes resources:
```
├── argocd/ # GitOps continuous deployment
├── cert-manager/ # TLS certificate management
├── metallb/ # Load balancer
├── kubevip/ # High availability
├── longhorn/ # Distributed storage
├── cloud-native-postgres/ # PostgreSQL operator
├── envoy-gateway/ # Kubernetes Gateway API configuration
├── infisical/ # Secrets management
├── authentik/ # Identity provider and SSO
├── it-tools/ # IT utilities
├── jellyfin/ # Media server
├── seerr/ # Media request management
├── arrstack/ # Media automation (Radarr/Sonarr)
├── immich/ # Photo and video management
├── minecraft/ # Game servers
├── gitea/ # Git service
├── harbor/ # Container registry
├── jenkins/ # CI/CD automation
├── n8n/ # Workflow automation
├── react-resume/ # Resume builder application
├── passbolt/ # Password manager
├── wikijs/ # Documentation wiki
├── zipline/ # File sharing
├── gotify/ # Push notification server
├── ntfy/ # Push notifications
├── bentopdf/ # PDF conversion
├── excalidraw/ # Whiteboard / diagramming
├── searxng/ # Privacy-respecting search engine
├── uptime-kuma/ # Uptime monitoring
├── openwebui/ # Web UI for AI models
├── ollama/ # Local LLM runner
├── comfyui/ # Stable Diffusion workflow UI
├── stable-diffusion/ # Image generation
├── minio-aistor/ # S3-compatible object storage
├── databasus/ # Database management
├── netbootxyz/ # Network boot service
├── technitium/ # DNS server
├── azure-ddns-python/ # Dynamic DNS updater
├── victoria-metrics/ # Metrics and monitoring
├── proxmox/ # Virtualization platform
├── unifi/ # Network controller
└── truenas/ # Storage system
```
## Categories
### Core Infrastructure
- **ArgoCD**: GitOps continuous deployment and application management
- **cert-manager**: Automated TLS certificate provisioning using Azure DNS
- **MetalLB**: Bare-metal load balancer (IP pool: 10.8.11.100-10.8.11.150)
- **KubeVIP**: High-availability control plane
- **Longhorn**: Distributed block storage
- **Cloud Native Postgres**: PostgreSQL operator for database management
- **Envoy Gateway**: Kubernetes Gateway API implementation
- **Infisical**: Secrets management platform
- **Authentik**: Identity provider and SSO
### Media & Entertainment
- **Jellyfin**: Media streaming server
- **Seerr**: Media request and discovery
- **Arrstack**: Automated media management (Radarr for movies, Sonarr for TV)
- **Immich**: Self-hosted photo and video management
- **Minecraft**: Game servers (ATM-10 and Stacia 2 Expert modpacks)
### AI & Machine Learning
- **Ollama**: Local LLM runner
- **Open WebUI**: Web interface for AI models
- **ComfyUI**: Stable Diffusion workflow UI
- **Stable Diffusion**: AI image generation
### Development & CI/CD
- **Gitea**: Self-hosted Git service with container registry
- **Harbor**: Enterprise container registry
- **Jenkins**: Automation server for CI/CD pipelines
- **n8n**: Workflow automation platform
- **MinIO AIStor**: S3-compatible object storage
### Productivity & Collaboration
- **React-Resume**: Resume builder with MinIO and PostgreSQL
- **Passbolt**: Team password manager
- **Wiki.js**: Modern documentation platform
- **Zipline**: File sharing and screenshot service
- **Gotify**: Push notification server with REST API and WebSocket support
- **Ntfy**: Push notification service
- **BentoPDF**: PDF conversion service
- **Excalidraw**: Online whiteboard and diagramming tool
- **SearXNG**: Privacy-respecting metasearch engine
- **Databasus**: Database management UI
- **Uptime Kuma**: Uptime and status monitoring
### Administration & Monitoring
- **IT-Tools**: Collection of useful IT utilities
- **Technitium**: DNS server with web interface
- **Azure DDNS Python**: Dynamic DNS updater for Azure DNS
- **NetbootXYZ**: Network boot service for OS installation
- **VictoriaMetrics**: Metrics collection and monitoring stack
### External Service Integration
- **Proxmox**: Virtualization platform integration
- **UniFi**: Network controller integration
- **TrueNAS**: Storage system integration
## Common Patterns
### Networking
- **Ingress Controller**: Envoy Gateway (Kubernetes Gateway API)
- **TLS**: Automated certificate management via cert-manager
- **DNS**: Certificate validation through Azure DNS
- **Domain**: *.jsme.be
- **Load Balancer**: MetalLB for external access
### Storage
- **Persistent Storage**: Longhorn distributed storage
- **StatefulSets**: Used for applications requiring persistent state
- **PersistentVolumeClaims**: Separate PVCs for different data types (config, data, backups)
### Security
- **Secrets Management**: Kubernetes Secrets for sensitive data
- **Network Policies**: Application isolation where configured
- **RBAC**: Role-based access control for ArgoCD and service accounts
- **TLS**: All web interfaces secured with HTTPS
- **SSO**: Authentik for centralized authentication
### Application Architecture
- **Multi-tier Applications**: Separate deployments for apps and databases
- **Database Pattern**: PostgreSQL via Cloud Native Postgres operator as backend
- **Configuration Management**: ConfigMaps for application settings
- **Service Discovery**: ClusterIP services with internal DNS
## Deployment
This repository is designed for GitOps deployment using ArgoCD:
1. ArgoCD monitors this repository for changes
2. Changes are automatically synced to the cluster
3. Applications are deployed with declarative configurations
4. Rollbacks are possible through Git history
## Documentation
Each application directory contains a detailed README.md with:
- Application description and purpose
- Configuration details
- Resource specifications
- Setup instructions
- Integration notes
Refer to individual application READMEs for specific information.
## Infrastructure Requirements
- **Kubernetes Cluster**: K3S v1.33+
- **Storage**: Longhorn distributed storage
- **Load Balancer**: MetalLB configured
- **DNS**: Azure DNS for certificate validation
- **Domain**: jsme.be with wildcard DNS records
## Maintenance
- **GitOps**: All changes made through Git commits
- **Certificate Renewal**: Automated via cert-manager
- **Backups**: Application-specific backup strategies (see individual READMEs)
- **Updates**: Managed through image tag updates in manifests