- 🌟 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.
Made with ❤️ by TuxTechLab