Skip to content

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

License

Notifications You must be signed in to change notification settings

TuxTechLab/TuxTechIaaC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
TuxTechLab Logo

Infrastructure as Code for Modern Cloud-Native Deployments/ HomeLab

License Commits-per-month Last Commit Contributors Stars Forks Issues Discord
Open PRs
Good First Issues Help Wanted Latest Release CI/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 project
cd 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

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

πŸ“š 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

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published