- π Introduction
- π Key Features
- π Quick Start
- π Project Structure
- π§ Utilities
- π€ Contributing
- π License
TuxTechIaaC is a comprehensive Infrastructure as Code (IaC) solution built on CNCF technologies, designed to streamline and automate the deployment of production-grade IT infrastructure/ hobby homelab. Our mission is to provide reliable, scalable, and maintainable infrastructure code for modern cloud-native applications.
- Cloud-Agnostic - Deploy on any cloud provider or on-premises
- GitOps Ready - Designed for seamless integration with ArgoCD/Flux ( WIP )
- Security First - Built-in security best practices and compliance
- Modular Design - Mix and match components as needed
- Automation Focused - CI/CD pipelines for infrastructure deployment
# Clone the repository
git clone https://github.com/TuxTechLab/TuxTechIaaC.git
# Access the project
cd TuxTechIaaCTuxTechIaaC/
β
βββ IaaC/ # Infrastructure as Code configurations
β βββ Templates/ # Reusable infrastructure templates
β βββ container/ # Container orchestration templates (Kubernetes, etc.)
β βββ docker/ # Docker Compose configurations
β β βββ gitea/ # Gitea - Self-hosted Git service
β β βββ homepage/ # Custom homepage/dashboard
β β β βββ config/ # Homepage configuration files
β β βββ jenkins/ # Jenkins CI/CD server
β β βββ n8n/ # n8n workflow automation
β β βββ portainer/ # Container management UI
β β βββ sonarqube/ # Code quality and security analysis
β βββ virtual_machine/ # VM templates and configurations
β βββ custom-configs/ # Custom VM configurations and scripts
β βββ ubuntu-22.04/ # Ubuntu 22.04 LTS template
β
βββ iso/ # ISO and image files
β βββ containerization/ # Container-related images
β β βββ k8s/ # Kubernetes-related images
β β βββ talos/ # Talos Linux - Kubernetes OS
β β βββ 1.11.3/ # Version-specific files
β βββ linux/ # Linux distribution images
β β βββ openwrt/ # OpenWRT router firmware
β β βββ backup/ # Router configuration backups
β βββ networking/ # Network-related images
β βββ router/ # Router firmware and tools
β βββ openwrt/ # OpenWRT router configurations
β βββ 24.10.0/ # Version-specific configurations
β
βββ scripts/ # Automation and utility scripts
βββ core/ # Core system scripts
β βββ gpg_manager/ # GPG key management
β β βββ static/ # Static files for GPG management
β β βββ templates/ # Configuration templates
β βββ iso_manager/ # ISO image management
β βββ config/ # Configuration files for ISO manager
βββ network/ # Network-related scripts
β βββ router/ # Router configuration scripts
βββ utils/ # General utility scripts
# Total: 37 directories
| Utility | Description | Documentation |
|---|---|---|
| GPG Manager | Manages GPG keys for secure communication and code signing. Helps in setting up and managing GPG keys for Git commits and other security needs. | README |
| ISO Manager | Handles downloading, verifying, and managing ISO images for various operating systems and tools. Automates the process of keeping your ISO library up-to-date. | README |
| Network Tools | Collection of network configuration and diagnostic scripts. Includes tools for router configuration and network troubleshooting. | README |
| Utility Scripts | General-purpose utility scripts for common tasks. Includes helper functions and automation scripts used throughout the project. | README |
Explore our comprehensive documentation to get started:
We welcome contributions from the community! Please read our Contributing Guide, if you are interested in contributing to this project.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- Thanks to all contributors who help make this project better
- Inspired by the CNCF ecosystem and open-source community
- Built with β€οΈ by the TuxTechLab team
Have questions or want to contribute? Reach out to us:
- As this repo helps to deploy CNCF application on multi-cloud. Hence there is a very urgent requirement of security and secret management.
- For Security We Want to use GPG signed commits in this repo. Currently still the setup GPG key is facing issues. Will put a documentation on how to setup GPG signed Git Commit for Windows, Mac, Linux environments.
- Also environment variables/ secrects for running application will be shared using demo secrects. And request anyone who plans to use this solution, to generate/ use their own unique strong password/ secrets. DO NOT USE DEMO ENV SECRETS in Production.