Skip to content

This is my k8 cluster used to host services I run at home

Notifications You must be signed in to change notification settings

umizoom/homek8s

Repository files navigation

Home lab

Tools and Technologies

  • Talos Linux
  • Fluxcd
  • Helm
  • Kustomize
  • Task
  • Sops

Talos Linux

Dashboard

task talos:dash"

Scale up cluster

talosctl apply-config --insecure \
    --nodes [NODE IP] \
    --file controlplane.yaml | worker.yaml

Flux

Build apps manifest

flux build kustomization apps --path apps/local/ 

Build infra local manifest

flux build kustomization infra-controllers-local --path infrastructure/local

Build without connecting to cluster

flux build kustomization infra-dependencies --path infrastructure/dependencies \
--kustomization-file infrastructure/dependencies/kustomization.yaml \
--dry-run

Bootstrap staging and production

export GITHUB_TOKEN=<your-token>
export GITHUB_USER=umizoom
export GITHUB_REPO=https://github.com/umizoom/homek8s
flux bootstrap github \
    --context=kind-kind \
    --owner=${GITHUB_USER} \
    --repository=${GITHUB_REPO} \
    --branch=refactor \
    --personal \
    --path=clusters/local
flux bootstrap github \
    --owner=${GITHUB_USER} \
    --repository=${GITHUB_REPO} \
    --branch=main \
    --personal \
    --path=clusters/production

Secrets

https://fluxcd.io/flux/guides/mozilla-sops/

Encrypting secrets

task sops:encrypt

bootstrapping

flux create kustomization my-secrets \
--source=flux-system \
--path=./clusters/production \
--prune=true \
--interval=10m \
--decryption-provider=sops \
--decryption-secret=sops-gpg

Diagram

Home Network

About

This is my k8 cluster used to host services I run at home

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages