This repository contains modules for deploying and managing a complete Kubernetes platform. It provides both foundational infrastructure capabilities and end-user applications, using a modular approach that enables consistent deployment and management through GitOps practices.
What This Project Provides
This platform enables you to:
Deploy and manage infrastructure capabilities:
Secure service communication with automated TLS certificate management
Provide distributed storage with automated backup and replication
Configure networking with automated DNS and load balancing
Monitor system health with metrics, logs, and alerts
Manage databases with automated failover and backups
Run end-user applications:
Secure password management with Bitwarden
Remote development environments with Coder
Container image registry with Harbor
Home automation through Home Assistant
Media management with Plex, Jellyfin, and automated content organization
• Filters DNS and blocks ads • Provides secure VPN access • Manages network devices comprehensively • Maps wireless clients to VLANs based on MAC addresses
Kubernetes Platform Modules
This repository contains modules for deploying and managing a complete Kubernetes platform. It provides both foundational infrastructure capabilities and end-user applications, using a modular approach that enables consistent deployment and management through GitOps practices.
What This Project Provides
This platform enables you to:
Deploy and manage infrastructure capabilities:
Run end-user applications:
• Enables secure secret management with external providers
• Facilitates certificate distribution across namespaces
• Enforces Kubernetes security policies
• Provides policy reporting and visualization
• Provides S3-compatible object storage
• Enables dynamic provisioning from NFS shares
• Manages DNS records automatically
• Controls ingress with TLS and middleware support
Goldilocks
• Aggregates logs with retention policies
• Provides unified visualization dashboards
• Visualizes resource optimization
• Enables high availability with failover
• Configures backup with retention policies
• Provides secure API access
• Supports custom DNS zones• Discovers and labels node hardware
• Optimizes resource allocation
• Automates component upgrades
• Automates pod restarts on config changes
• Implements policy-based access control
• Secures service ingress with identity headers
• Provides secure VPN access
• Manages network devices comprehensively
• Maps wireless clients to VLANs based on MAC addresses
• Collects metrics from network devices
• Detects node problems with custom definitions
• Provides web-based chat interface
• Enables model selection and configuration
• Enables credential autofill in browsers
• Supports two-factor authentication
• Provides server-grade compute resources
• Enables consistent environment configuration
• Handles movies with automated organization
• Provides unified indexer management
• Performs vulnerability scanning on images
• Enables image signing and content trust
• Provides automation engine for device control
• Enables custom monitoring dashboards
• Enables privacy-focused YouTube viewing
• Monitors Plex statistics and usage
• Provides SMTP relay services
•
• Secures ingress with authentication middleware
• Provides consistent login experience
• Manages backup credentials securely
• Applies consistent backup policies
• Enables secure authentication flows
• Provides consistent identity integration
Project Structure & Concepts
The platform organizes functionality into module types with clear responsibilities:
classDiagram class Module { +kustomization.yaml +CHANGELOG.md +namespace.yaml +deploy() +configure() } class InfrastructureModule { +core services +platform capabilities +core/extra pattern +provideCapability() } class ApplicationModule { +user services +specific use case +useInfrastructure() } class ComponentModule { +cross-cutting config +kustomize components +applyConfiguration() } Module <|-- InfrastructureModule Module <|-- ApplicationModule Module <|-- ComponentModule• Uses core/extra pattern
• Focuses on platform features
• Other modules depend on it
• Security (certs, secrets)
• Storage (block, object)
• Networking (DNS, ingress)
• Focuses on use cases
• Uses infrastructure capabilities
• Independent deployment
• Password management
• Development environments
• Media streaming
• Uses Kustomize components
• Applies to other modules
• Flexible application
• Single sign-on
• Backup policies
• Monitoring templates
Finding Your Way
• Core/Extra pattern
• Module boundaries
• Configuration flexibility
• Dependency management
• Automated updates
• Release process
• Storage (Longhorn, MinIO)
• Networking (MetalLB, Traefik)
• Development environments (Coder)
• Media streaming (Plex)
• Backup configurations
• Monitoring templates
• Post-build variables
• Component overlays
• Core/Extra pattern
• Dependency cycles
• Secret handling
• Monitoring setup