Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/danmanners/homelab-kube-cluster

Dan's Homelab Kubernetes Cluster - Operated through Kustomize & ArgoCD
https://github.com/danmanners/homelab-kube-cluster

ansible argocd devops homelab k3s k8s k8s-at-home kubernetes kubernetes-cluster turing-pi turingpi

Last synced: 12 days ago
JSON representation

Dan's Homelab Kubernetes Cluster - Operated through Kustomize & ArgoCD

Lists

README

        

= Dan Manners' Homelab

____
All of the readme's are in a state of flux at this moment.
I'm working on refactoring much of the repository, but I'm happy to answer any questions in the https://discord.gg/k8s-at-home[k8s@Home Discord server] or on Discord!
Feel free to reach me at `danmanners` with any questions or at link:mailto:[email protected][[email protected]]!
____

This homelab repository is aimed at applying widely-accepted tools and established practices within the DevOps/SRE world. Its primary objectives are to efficiently carry out the intended service functions while also serving as a valuable reference for individuals looking to enhance their own learning. This repository is not intended to be a "one-size-fits-all" solution, but rather a starting point for others to build upon and learn from.

== 🔍 Features

* [x] Make GitOps easy to learn
* [x] Modularity; make it easy to add/remove components
* [x] External DNS; declarative DNS management for public-facing services
* [x] Cert-Manager; Automagic cert management
* [x] Harbor; In-Cluster Container Registry
* [ ] Monitoring and alerting 🚧
* [ ] Hybrid Multi-Cloud 🚧

== 💡 Current Tech Stack

|===
| Name | Description

| https://argoproj.github.io/cd/[Argo CD]
| GitOps for Kubernetes

| https://argoproj.github.io/events/[Argo Events]
| Event based dependency management for Kubernetes

| https://argoproj.github.io/workflows/[Argo Workflows]
| Kubernetes-native workflow engine

| https://aws.amazon.com/[AWS]
| Cloud Provider

| https://github.com/0xERR0R/blocky[Blocky]
| Fast and lightweight DNS proxy as ad-blocker

| https://github.com/containers/buildah/[Buildah]
| Container Building

| https://cert-manager.io/docs/[Cert-Manager]
| Certificate Manager

| https://cilium.io/[Cilium]
| CNI utilizing eBPF for Observability and Security

| https://cloudnative-pg.io/[CloudNativePG]
| Kubernetes operator covering lifecycle of HA PostgreSQL Clusters

| https://github.com/kubernetes-csi/csi-driver-nfs[CSI-Driver-NFS]
| Kubernetes NFS Driver for persistent storage

| https://rook.io/[Rook Ceph]
| Cloud-Native File, Block, and Object Storage for Kubernetes

| https://dexidp.io/[Dex IDP]
| Federated OIDC

| https://github.com/kubernetes-sigs/external-dns[External-DNS]
| Configure and manage External DNS servers

| https://github.com/[GitHub]
| Popular Code Management through Git

| https://grafana.com/[Grafana]
| Metrics Visualization

| https://goharbor.io/[Harbor]
| Open Source Container Registry

| https://helm.sh/[Helm]
| Kubernetes Package Management

| https://www.jenkins.io/[Jenkins]
| Open-Source Automation Server

| https://kubernetes.io/[Kubernetes]
| Container Orchestration

| https://letsencrypt.org/[Let's Encrypt]
| Free TLS certificates

| https://github.com/foxcpp/maddy[Maddy]
| Composable all-in-one mail server

| https://metallb.universe.tf/[MetalLB]
| Kubernetes bare-metal Load Balancer

| https://github.com/getsops/sops[SOPS]
| Simple and flexible tool for managing secrets

| https://github.com/containers/podman/[Podman]
| Container and Pod management

| https://prometheus.io/[Prometheus]
| Metrics and Data Collection

| https://www.python.org/[Python]
| Python Programming Language

| https://www.raspberrypi.org/[Raspberry Pi]
| Baremetal ARM SoC Hardware!

| https://www.sonarqube.org/[SonarQube]
| Static code analysis

| https://www.sonatype.com/products/nexus-repository[Sonatype Nexus-OSS]
| Manage binaries and build artifacts

| https://tekton.dev/[Tekton]
| Cloud-Native CI/CD

| https://ubuntu.com/[Ubuntu]
| Operating System

| https://www.talos.dev/[Talos Linux]
| The Kubernetes Operating System

| https://github.com/budimanjojo/talhelper[Talhelper]
| A tool to help creating Talos Kubernetes cluster

| https://github.com/louislam/uptime-kuma[Uptime Kuma]
| Fancy self-hosted system monitoring

| https://js.wiki/[WikiJS]
| Open-Source Wiki/Documentation Service
|===

== Deployment Order of Operations

== To-Do Items

* Ensure that *ALL* services are tagged for the appropriate hardware (`arm64` or `amd64`) to ensure runtime success
** Alternatively, ensure that all containers are built for multi-architecture.
* Ensure that *ALL* application and service subdirectories have READMEs explaining what they're doing and what someone else may need to modify for their own environment

== Gratitude and Thanks

This README redesign was inspired by several other homelab repos, individuals, and communities.

=== Individuals

* https://github.com/zimmertr/TKS[zimmertr/TKS]
* https://github.com/onedr0p/home-ops/[onedr0p/home-ops]
* https://github.com/khuedoan/homelab[khuedoan/homelab]

=== Communities

'''

==== The DevOps Lounge

image::https://img.shields.io/discord/611083841792376843?style=for-the-badge&label=discord&logo=discord&logoColor=white[Discord,link=https://discord.gg/devopslounge]

==== K8s-at-Home

image::https://img.shields.io/discord/673534664354430999?style=for-the-badge&label=discord&logo=discord&logoColor=white[Discord,link=https://discord.gg/k8s-at-home]

Without the inspiration and help of these individuals and communities, I don't think my own project would be nearly as far.
Make sure to check out their projects as well!