Skip to content

Gitops managing my homelab featuring K3s and ArgoCD

Notifications You must be signed in to change notification settings

antoncuranz/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anton's Homelab

Based on khuedoan/homelab with influence of onedr0p/flux-cluster-template.

📂 Repository structure

The Git repository contains the following directories under kubernetes and are ordered below by how Flux will apply them.

📁 homelab
├─📁 apps          # User facing applications (managed by argo)
├─📁 platform      # Essential components for services (managed by argo)
├─📁 system        # Critical system components (managed by argo)
├─📁 external      # Sets up initial secrets using Terraform
└─📁 bootstrap     # GitOps bootstrap with ArgoCD

Changes to khuedoan/homelab's architecture

  • followed instructions for single node operation
  • replaced metal/ with ansible/ from onedr0p's template
  • removed cloudflared, zerotier and terraform cloud dependencies
  • removed gitea and tekton
  • replaced vault with onepassword connect
  • changed external-dns labels to target (cname) a single a record
  • removed nix-shell stuff
  • removed longhorn
  • ...
  • added my own apps

Installation

(probably incomplete, but you'll figure it out!)

📄 Configuration

Run configure script to setup Ansible inventory and other things:

make configure

🚀 Bootstraping ArgoCD

This will install ArgoCD with a root application, referencing all other services in system/, platform/ and apps/:

make bootstrap

🤫 Setting up initial secrets

The following will ask you for Cloudflare and 1Password credentials and creates respective kubernetes secrets:

make external

About

Gitops managing my homelab featuring K3s and ArgoCD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published