Skip to content
TuxTechLab Logo

Infrastructure as Code for Modern Cloud-Native Deployments/ HomeLab

LicenseCommits-per-monthLast CommitContributorsStarsForksIssuesDiscord
Open PRs
Good First IssuesHelp WantedLatest ReleaseCI/CD Status


📋 Table of Contents

🌟 Introduction

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.

🚀 Key Features

  • 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

🛠️ Quick Start

# Clone the repository
git clone https://github.com/TuxTechLab/TuxTechIaaC.git
# Access the projectcd TuxTechIaaC

📂 Project Structure

TuxTechIaaC/
│
├── 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

🔧 Utilities

UtilityDescriptionDocumentation
GPG ManagerManages 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 ManagerHandles 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 ToolsCollection of network configuration and diagnostic scripts. Includes tools for router configuration and network troubleshooting.README
Utility ScriptsGeneral-purpose utility scripts for common tasks. Includes helper functions and automation scripts used throughout the project.README

📚 Documentation

Explore our comprehensive documentation to get started:

🤝 Contributing

We welcome contributions from the community! Please read our Contributing Guide, if you are interested in contributing to this project.

📄 License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

🙏 Acknowledgments

  • 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

📬 Get in Touch

Have questions or want to contribute? Reach out to us:

Security

  1. As this repo helps to deploy CNCF application on multi-cloud. Hence there is a very urgent requirement of security and secret management.
  2. 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.
  3. 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

About

Infrastructure-As-A-Code For TuxTechLab Running CNCF And Open Source Software And Applications

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages