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

Folders and files

NameName
Last commit message
Last commit date
Jun 8, 2024
Feb 11, 2024
Feb 5, 2025
Jan 28, 2025
Jun 12, 2024
Jun 8, 2024
Jun 21, 2023
Jun 13, 2024
Jun 8, 2024
Nov 4, 2024
Feb 17, 2024

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