tech
Cloud-agnostic Kubernetes infrastructure with Terraform & Helm for homelabs, edge, and production clusters.
Install / Use
npx skills add gannino/tf-kube-any-computeInstalls into whichever agent you are using.
.clinerules
Cline rules
Quality Score
Category
OperationsSupported Platforms
Skill content
View source on GitHubTechnology Stack: tf-kube-any-compute
Core Technologies
Infrastructure as Code
- Terraform: >= 1.0
- Primary IaC tool for all deployments
- Module-based architecture
- State management with workspaces
- Native testing framework (tftest.hcl)
Kubernetes
- Supported Distributions:
- K3s (default, lightweight)
- MicroK8s (ARM64 optimized)
- EKS (AWS managed)
- GKE (Google managed)
- AKS (Azure managed)
- Standard Kubernetes (k8s)
Package Management
- Helm: ~> 3.0
- Chart-based service deployment
- Values templating with .tpl files
- Release lifecycle management
Terraform Providers
Required Providers
kubernetes = {
source = "hashicorp/kubernetes"
version = "~> 2.0"
}
helm = {
source = "hashicorp/helm"
version = "~> 3.0"
}
kubectl = {
source = "gavinbunney/kubectl"
version = "~> 1.0"
}
random = {
source = "hashicorp/random"
version = "~> 3.0"
}
Service Technologies
Ingress & Networking
- Traefik: v3.x (latest)
- Modern reverse proxy and load balancer
- Automatic SSL with Let's Encrypt
- Dynamic configuration
- Middleware support (auth, rate limiting)
- MetalLB: Latest stable
- Bare metal load balancer
- Layer 2 and BGP modes
Monitoring & Observability
- Prometheus: kube-prometheus-stack
- Metrics collection and alerting
- ServiceMonitor CRDs
- AlertManager integration
- Grafana: Latest stable
- Visualization dashboards
- Pre-configured Kubernetes dashboards
- Data source auto-configuration
- Kube-State-Metrics: Latest stable
- Kubernetes object metrics
- Deployment, Pod, Node metrics
- Loki: Latest stable (optional)
- Log aggregation
- Grafana integration
- Promtail: Latest stable (optional)
- Log collection agent
Storage
- NFS CSI Driver: Latest stable
- Dynamic NFS provisioning
- ReadWriteMany support
- Configurable mount options
- HostPath Provisioner: Latest stable
- Local storage provisioner
- Development and testing
Service Mesh & Security
- Consul: Latest stable (optional)
- Service discovery
- Service mesh capabilities
- Key-value store
- Vault: Latest stable (optional)
- Secrets management
- Auto-unsealing support
- Kubernetes authentication
- Gatekeeper: Latest stable (optional)
- OPA-based policy engine
- Admission control
- Constraint templates
Container Management
- Portainer: Latest stable
- Web-based container management
- Kubernetes dashboard
- Multi-cluster support
Automation & Workflow
- Home Assistant: Latest stable
- Python-based home automation
- 1000+ integrations
- Web UI configuration
- openHAB: Latest stable
- Java/OSGi runtime
- 400+ device bindings
- Rule engine
- Homebridge: Latest stable
- Node.js-based HomeKit bridge
- Plugin ecosystem
- Node-RED: Latest stable
- Node.js visual programming
- Flow-based development
- NPM package integration
- n8n: Latest stable
- Node.js workflow automation
- 200+ integrations
- Self-hosted alternative to Zapier
Node Discovery
- Node Feature Discovery: Latest stable
- Hardware feature detection
- Node labeling
- Storage detection (NVMe, SATA, USB)
Development Tools
Code Quality
- TFLint: Latest
- Terraform linting
- Optimized rules for fast pre-commit
- Module validation
- terraform-docs: Latest
- Automatic documentation generation
- Markdown output
- Variable and output documentation
Testing
- Terraform Test: Native framework
- Unit tests (tests.tftest.hcl)
- Scenario tests (test-scenarios.tftest.hcl)
- Architecture tests (tests-architecture.tftest.hcl)
- Shell Scripts: Bash
- Integration testing
- Performance testing (Node.js)
- Security scanning
CI/CD
- GitHub Actions: Workflow automation
- Consolidated CI pipeline
- Release automation
- GitLab CI: Alternative pipeline
- Same test coverage
- Optimized for GitLab
Pre-commit Hooks
- pre-commit framework: Python-based
- Terraform formatting (terraform fmt)
- TFLint validation
- terraform-docs generation
- Secrets detection
DNS Providers (SSL Automation)
Supported Providers
- Hurricane Electric (default)
- Cloudflare
- AWS Route53
- DigitalOcean
- Gandi
- Namecheap
- GoDaddy
- OVH
- Linode
- Vultr
- Hetzner
DNS Challenge Configuration
- ACME DNS-01 challenge
- Automatic certificate renewal
- Wildcard certificate support
Authentication Methods
Basic Authentication
- htpasswd format
- bcrypt password hashing
- Kubernetes Secret storage
LDAP Integration
- Supported Directories:
- JumpCloud
- Active Directory
- OpenLDAP
- Generic LDAP servers
- Methods:
- ForwardAuth (recommended)
- Traefik Plugin
Build System
Makefile Targets
# Initialization
make init # Terraform init
# Planning & Deployment
make plan # Terraform plan
make apply # Terraform apply
make destroy # Terraform destroy
# Testing
make test-quick # Fast validation
make test-all # Comprehensive tests
make test-safe # Non-destructive tests
make test-lint # Linting only
make test-validate # Validation only
make test-unit # Unit tests
make test-scenarios # Scenario tests
make test-integration # Integration tests
make test-performance # Performance tests
make test-security # Security scanning
# Linting
make lint # Optimized linting
make lint-full # Comprehensive linting
Configuration Management
Variable Types
- Primitive: string, number, bool
- Complex: object, list, map
- Optional: All service configurations
- Sensitive: Passwords, tokens, secrets
Configuration Files
- terraform.tfvars: User configuration
- terraform.tfvars.example: Template
- examples/*.tfvars: Use-case examples
- test-configs/*.tfvars: Test scenarios
Version Management
Semantic Versioning
- Major.Minor.Patch format
- Synchronized across modules
- Automated version updates
Version Files
.github/versions.yml: Central version registryscripts/version-manager.sh: Sync toolscripts/sync-versions.sh: Automation
Runtime Requirements
Local Development
terraform >= 1.0
kubectl >= 1.20
helm >= 3.0
make
bash >= 4.0
Kubernetes Cluster
Kubernetes >= 1.20
CoreDNS (DNS resolution)
Metrics Server (optional, for HPA)
Storage provisioner (NFS or HostPath)
Network Requirements
- Internet access (Helm charts, container images)
- DNS resolution
- Load balancer IP range (MetalLB)
- NFS server (if using NFS storage)
Container Registries
Default Registries
- Docker Hub (most images)
- Quay.io (some services)
- GitHub Container Registry (custom images)
Architecture Support
- amd64: Full support
- arm64: Full support with architecture detection
- Mixed clusters: Automatic service placement
Resource Requirements
Minimum (MicroK8s Mode)
- CPU: 2 cores
- Memory: 4GB RAM
- Storage: 20GB
Recommended (Full Stack)
- CPU: 4+ cores
- Memory: 8GB+ RAM
- Storage: 50GB+
Production (High Availability)
- CPU: 8+ cores
- Memory: 16GB+ RAM
- Storage: 100GB+
- Multiple nodes
Security Technologies
Encryption
- TLS/SSL for all external services
- Let's Encrypt certificates
- Secret encryption in Kubernetes
Access Control
- RBAC (Role-Based Access Control)
- Service accounts
- Role bindings
- Network policies (optional)
Secrets Management
- Kubernetes Secrets
- Vault (optional)
- Consul KV (optional)
Monitoring Technologies
Metrics Collection
- Prometheus: Time-series database
- Kube-State-Metrics: K8s object metrics
- Node Exporter: System metrics
- cAdvisor: Container metrics
Visualization
- Grafana: Dashboards and alerts
- Pre-configured panels
- Custom dashboard support
Alerting
- AlertManager: Alert routing
- Multiple notification channels
- Alert aggregation
Storage Technologies
Storage Classes
- NFS CSI: Network-attached storage
- HostPath: Local node storage
- Cloud: EBS, GPD, Azure Disk (auto-detected)
Storage Types
- ReadWriteOnce: Block storage
- ReadWriteMany: NFS shared storage
- ReadOnlyMany: Read-only shared access
Networking Technologies
Ingress
- Traefik: Layer 7 ingress
- Middleware: Auth, rate limiting, headers
- TLS Termination: Edge or passthrough
Load Balancing
- MetalLB: Bare metal LB
- Layer 2: ARP-based
- BGP: Protocol-based (optional)
Service Discovery
- DNS: CoreDNS integration
- Consul: Service mesh (optional)
- Kubernetes Services: Native service discovery
Automation Technologies
Scripting
- Bash: Shell scripts for automation
- Make: Build automation
- Python: LDAP auth middleware
CI/CD
- GitHub Actions: Workflow automation
- GitLab CI: Alternative pipeline
- Pre-commit: Git hooks
Testing
- Terraform Test: Native testing
- k6: Performance testing (JavaScript)
- ShellCheck: Script linting
Development Technologies
Version Control
- Git: Distributed version control
- GitHub: Code hosting and CI/CD
- GitLab: Alternative platform
Code Quality
- Terraform fmt: Formatting
- TFLint: Linting
- terraform-docs: Documentation
- Pre-commit: Automated checks
Documentation
- Markdown: Documentation format
- terraform-docs: Auto-generation
- GitHub Pages: Static hosting (optional)
Deployment Technologies
Package Management
- Helm Charts: Application packaging
- Helm Repositories: Chart distribution
- Chart Versioning: Semantic versioning
Configuration
- HCL: Terraform language
- YAML: Helm values
- Terraform Templates: Dynamic values
State Management
- Terraform State: Infrastructure state
- Workspaces: Environment isolation
- Backends: Local, remote (optional)
Troubleshooting Tools
Diagnostics
- debug.sh: Comprehensive diagnostics
- check-ingress.sh: Ingress testing
- check-vault.sh: Vault health
- kubectl: Cluster interaction
Debugging
- kubectl logs: Container logs
- kubectl describe: Resource details
- kubectl exec: Container access
- Terraform debug: TF_LOG debug output
Performance Optimization
Resource Limits
- CPU requests/limits
- Memory requests/limits
- QoS classes
- Priority classes
Helm Optimization
- Timeout configuration
- Wait for jobs
- Cleanup on fail
- Force updates
Caching
- Helm chart caching
- Terraform plugin cache
- Image pull policies
Integration Technologies
External Services
- LDAP/AD: Authentication
- DNS Providers: SSL certificates
- NFS Servers: Shared storage
- Cloud APIs: Integration
APIs
- Kubernetes API: Resource management
- Helm API: Chart operations
- Terraform Providers: Cloud APIs
Webhooks
- Kubernetes ValidatingWebhooks: Policy enforcement
- Kubernetes MutatingWebhooks: Configuration modification
- Webhook-based Auth: LDAP integration
Container Technologies
Runtimes
- containerd: Default runtime (K3s)
- Docker: Alternative runtime
- CRI-O: Lightweight runtime
Images
- Multi-architecture: amd64/arm64
- Official images: When available
- Custom images: For automation services
Orchestration
- Kubernetes: Container orchestration
- Helm: Package management
- Kustomize: Configuration management (optional)
Future Technology Additions
Planned
- ArgoCD: GitOps deployment
- Velero: Backup and restore
- Service Mesh: Consul Connect
- Distributed Tracing: Jaeger/Tempo
Experimental
- KEDA: Event-driven autoscaling
- Kyverno: Kubernetes policy m
Truncated for display — read the full file on GitHub.
Related Skills
Douyin_TikTok_Download_API
20.2k🚀 Self-hosted TikTok & Douyin scraper and no-watermark video downloader — async REST API, MCP server, CLI and web console for posts, profiles, comments and playlists. Self-healing identity pool, PostgreSQL archive, one docker compose up. 抖音、TikTok 数据采集与无水印视频下载 API,自托管,支持 MCP 调用与 Docker 一键部署。
worldmonitor
87.2kReal-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
nacos
33.4kan easy-to-use dynamic service discovery, configuration and service management platform for building AI cloud native applications.
dbx
20.3k25 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker.
Security Score
Audited on Invalid Date
