Overview
This section provides a high level overview of the project.
For further information, please see the documentation.
Hardware
- 4 × NEC SFF
PC-MK26ECZDR
(Japanese version of the ThinkCentre M700):
- CPU:
Intel Core i5-6600T @ 2.70GHz
- RAM:
16GB
- SSD:
128GB
- TP-Link
TL-SG108
switch:
Features
Project status: Alpha (see roadmap below)
Some demo videos and screenshots are shown here.
They can't capture all of the project's features, but they are sufficient to get a concept of it.
|
Deploy with a single command (after updating the config files of course) |
|
PXE boot |
|
Homepage with Ingress discovery powered by Hajimari |
|
Git server powered by Gitea |
|
Continuous integration with Tekton |
|
Continuous deployment with ArgoCD |
|
Monitoring dashboard powered by Grafana |
|
Cluster management using Lens (or you can just use kubectl ) |
|
Secret management with Vault |
Tech stack
Logo |
Name |
Description |
|
Ansible |
Automate bare metal provisioning and configuration |
|
ArgoCD |
GitOps tool built to deploy applications to Kubernetes |
|
cert-manager |
Cloud native certificate management |
|
Cloudflare |
DNS and Tunnel |
|
Docker |
Ephermeral PXE server and convenient tools container |
|
ExternalDNS |
Synchronizes exposed Kubernetes Services and Ingresses with DNS providers |
|
Gitea |
Self-hosted Git service |
|
Grafana |
Operational dashboards |
|
Helm |
The package manager for Kubernetes |
|
K3s |
Lightweight distribution of Kubernetes |
|
Kubernetes |
Container-orchestration system, the backbone of this project |
|
Loki |
Log aggregation system |
|
Longhorn |
Cloud native distributed block storage for Kubernetes |
|
MetalLB |
Bare metal load-balancer for Kubernetes |
|
NGINX |
Kubernetes Ingress Controller |
|
Prometheus |
Systems monitoring and alerting toolkit |
|
Renovate |
Automatically update dependencies |
|
Rocky Linux |
Base OS for Kubernetes nodes |
|
Tekton |
Cloud native solution for building CI/CD systems |
|
Trow |
Private container registry |
|
Vault |
Secrets and encryption management system |
Get Started
Roadmap
See roadmap and open issues for a list of proposed features and known issues.
Contributing
Any contributions you make, either big or small, are greatly appreciated.
License
Copyright (c) 2020, 2021, 2022 Khue Doan
Distributed under the GPLv3 License.
This project 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 project 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 project (LICENSE.md
).
If not, see https://www.gnu.org/licenses.
Acknowledgements
Stargazers over time