A comprehensive development toolchain and environment setup for modern software development.
This repository provides a complete development toolchain with:
- Development Environment: Preconfigured devcontainer with essential tools
- Automation Scripts: Installation, configuration, and utility scripts
- Kubernetes Cluster Management: Bootstrap scripts for Kind, Minikube, and K0s
- Security Tools: Certificate generation and security utilities
- Hardware Tools: ESP32 flashing and embedded development support
- Quality Assurance: Comprehensive linting, formatting, and security scanning
- Open the repository in VS Code
- When prompted, click "Reopen in Container"
- The environment will be automatically configured
# Configure the environment
./scripts/configure.sh
# Install development tools
./scripts/install.shscripts/install.sh- Install development tools and binariesscripts/configure.sh- Configure development environmentscripts/environment.sh- Environment variable setupscripts/utils.sh- Utility functions for other scripts
scripts/install/go.sh- Go toolchain setupscripts/install/rust.sh- Rust toolchain setupscripts/install/swift.sh- Swift toolchain setup
tools/bootstrap/bootstrap-kind- Bootstrap Kind clustertools/bootstrap/bootstrap-minikube- Bootstrap Minikube clustertools/bootstrap/bootstrap-cluster- Bootstrap K0s cluster
tools/gencert- Generate SSL certificates with CFSSLscripts/gencert.sh- Certificate generation utilities
tools/flash-esp- Flash ESP32 devices
scripts/createvm.sh- Create and manage VMsscripts/genswaggerui.sh- Generate Swagger UI documentationscripts/pull-images.sh- Pull Docker images
- Devcontainer: Fully configured development environment with VS Code extensions
- Shell Setup: Oh My Zsh configuration with custom aliases and environment
- Tool Installation: Automated installation of development tools and binaries
- Multiple Distributions: Support for Kind, Minikube, and K0s clusters
- Gateway API: Automatic installation of Gateway API CRDs
- Volume Snapshots: External snapshotter support
- Certificate Management: Automated CA and intermediate certificate generation
- Security Scanning: Integrated security scanning with Trivy and other tools
- Secrets Management: Secure handling of sensitive data
- Linting: Comprehensive linting with Trunk.io
- Pre-commit Hooks: Automated code quality checks
- CI/CD: GitHub Actions workflows for continuous integration
The toolchain uses YAML configuration files for various components:
- Tool versions and installation settings
- Cluster configurations
- VM specifications
- Security policies
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
For security concerns, please see SECURITY.md.
Copyright (c) schubert@anselm.es
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.