Skip to content

AgentK9/homelab

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homelab

This is the companion configuration that goes with the video from Dreams of Autonomy.

This project is split into different directories depending on each service used.

Requirements

To use this, you'll need the following installed on your sysetm

  • nix
  • kubectl
  • helmfile
  • helm
  • git

Additionally, you'll also want to make changes to the user information found in the nixos/configuration.nix

nixos

This directory contains the nixos configuration for setting up each node with k3s.

The configuration makes use of nix flakes under the hood, with each node configuration being:

homelab-0
homelab-1
homelab-2

To set up a node from fresh, you can use nixos-anywhere. This requires loading the nixos installer and then booting the node into it. You can then install remotely once you've set the nodes password using the passwd command.

The command I use is as follows:

nix run github:nix-community/nixos-anywhere \
--extra-experimental-features "nix-command flakes" \
-- --flake '.#homelab-0' nixos@192.168.1.100

make sure to replace with your own ip.

helm

This directory is used to store the helm configuration of the node and is managed using helmfile, which is a declarative spec for defining helm charts.

To install this on your cluster, you can simply use the following command.

helmfile apply

kustomize

Kustomize allows you to manage multiple manifest files in a Kustomize.yaml, which also allows you to override values if you need to.

I don't use Kustomize that much in the video, but it's a tool I do often use and is available in kubectl.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nix 56.7%
  • Pkl 42.1%
  • Shell 1.2%