Skip to content

My home infrastructure written as code, adhering to GitOps practices

License

Notifications You must be signed in to change notification settings

carldanley/home-ops

Repository files navigation

home-ops

GitOps

Flux watches my kubernetes folder (see Directories below) and makes the changes to my cluster based on the YAML manifests.

Flux is setup to recursively search the kubernetes/apps folder until it finds the most top level kustomization.yaml per directory and then apply all the resources listed in it. That aforementioned kustomization.yaml will generally only have a namespace resource and one or many Flux kustomizations. Those Flux kustomizations will generally have a HelmRelease or other resources related to the application underneath it which will be applied.

Renovate watches my entire repository looking for dependency updates, when they are found a PR is automatically created. When some PRs are merged Flux applies the changes to my cluster.

Directories

This Git repository contains the following directories under kubernetes.

📁 k8s-home-ops
├── 📁 kubernetes                 # kubernetes configurations
│   ├── 📁 apps                   # applications
│   │   └─ 📁 networking          # namespace folder
│   │      └─ 📁 multus           # application folder
│   ├── 📁 bootstrap              # bootstrap procedures
│   ├── 📁 flux                   # core flux configuration
└── └── 📁 talos                  # talos configuration

Cleanup Tracker

You can most likely skip over this part of the README; I'm using it to track the progress of an audit across all of my apps. Lots of different fields and configurations have been applied as I've borrowed a lot of the manifests from various different places; as an effort to unify my approach, I'm auditing all apps to make sure they are properly configured the way I'd like them to be.

  • databases
    • cloudnative-pg
  • development
    • drone
    • drone-runner-docker
  • downloads
    • flaresolverr
    • prowlarr
    • rdt-client
  • home
    • ha-fpp-mqtt
    • home-assistant
    • mosquitto
    • weatherflow2mqtt
    • wyoming-piper
    • zigbee2mqtt
    • zwavejs2mqtt
  • ingress
  • media
    • bazarr
    • common
    • lidarr
    • radarr
    • sonarr
  • monitoring
  • networking
  • nvr
  • storage
  • system
  • web

Remaining Tasks

This is just a list of things that I'd like to accomplish when I have time to cleanup this repository.

  • Re-work grafana dashboards
  • Remove "common" folders
  • Determine if we want to support app.kubernetes.io/name and app.kubernetes.io/instance everywhere

About

My home infrastructure written as code, adhering to GitOps practices

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages