1.5 KiB
Home Infrastructure
An Ansible + OpenTofu project for installing a minimal Kubernetes installation to bare-metal and virtual machines.
Quick Start
Get started with a local Kubernetes cluster which can be used to design and test new configuration before pushing them to real machines.
-
Login with Proton Pass and start the SSH daemon.
pass-cli login pass-cli ssh-agent daemon start export SSH_AUTH_SOCK="$HOME/.ssh/proton-pass-agent.sock" -
Install the Proton Pass plugin for Ansible
just fetch-plugins -
Launch Incus virtual machines
just up -
Tear down the Incus virtual machines
just down
Setup
just fetch-plugins
Bare-metal provisioning
When creating a set of fresh machines, you must run the provisioning step to create the "Kolibri" automation user.
The Kolibri automation user is used for all other playbooks and has permissions to execute passwordless sudo.
ansible-playbook -i ansible/inventories/bare_metal/hosts.yaml ansible/playbooks/provision.yaml -K -e ansible_user=<your_interactive_user>
Local Testing with Incus
just up
just headlamp
The above command runs the Flatpak version of Headlamp which may not have permissions to access the Kubernetes config file copied from the instance.
You should run
flatpak override --user --filesystem=$(pwd) io.kinvolk.Headlampto ensure that Headlamp can access the directory contents.