The easiest way to bootstrap a self-hosted High Availability Kubernetes cluster. A fully automated HA k3s etcd install with kube-vip, MetalLB, and more. Build. Destroy. Repeat.
Go to file
Panopticon cbcd3e34ed
Revise disclaimer for playbook testing environments
Updated disclaimer to clarify testing environments.
2026-06-05 14:29:06 +02:00
.github cupre(repo): switching to personal repo (timothystewart6) 2025-08-24 15:50:44 -05:00
collections Add support for API servers on IPv6 addresses (#48) 2022-09-10 12:57:38 -05:00
example Add support for API servers on IPv6 addresses (#48) 2022-09-10 12:57:38 -05:00
inventory Update inventory/sample/group_vars/all.yml 2025-12-26 18:34:12 +01:00
molecule Change to FQCN with ansible-lint fixer (#553) 2024-08-12 22:59:59 -05:00
roles main.yml modification 2025-12-19 22:11:53 +01:00
templates Fix LXC container implementations (#231) 2023-03-03 11:28:14 -06:00
.ansible-lint Change to FQCN with ansible-lint fixer (#553) 2024-08-12 22:59:59 -05:00
.editorconfig add editorconfig and fix trailing whitespaces (#68) 2022-09-07 20:00:13 -05:00
.gitignore fetch kubeconfig from master after deployment (#431) 2024-01-27 16:30:13 -06:00
.pre-commit-config.yaml chore(deps) pre-commit updates (#438) 2024-01-30 11:54:28 -06:00
.yamllint Change to FQCN with ansible-lint fixer (#553) 2024-08-12 22:59:59 -05:00
LICENSE Pre commit fixes (#167) 2022-11-13 22:42:49 -06:00
README.md Revise disclaimer for playbook testing environments 2026-06-05 14:29:06 +02:00
ansible.example.cfg Override less Ansible settings (#224) 2023-02-05 21:52:44 -06:00
buildk3s.sh Add buildk3s.sh script to run Ansible playbook 2026-01-24 20:11:12 +01:00
deploy.sh Override less Ansible settings (#224) 2023-02-05 21:52:44 -06:00
galaxy.yml cupre(repo): switching to personal repo (timothystewart6) 2025-08-24 15:50:44 -05:00
reboot.sh Change reboot.sh to be executable (#344) 2023-08-07 11:29:03 -05:00
reboot.yml Change to FQCN with ansible-lint fixer (#553) 2024-08-12 22:59:59 -05:00
requirements.in Fix CI (#389) 2024-01-24 22:26:38 -06:00
requirements.txt chore(deps): bump ansible-core from 2.17.5 to 2.18.0 (#607) 2024-11-05 04:24:57 +00:00
reset.sh Update reset.sh to include inventory and prompt 2026-01-24 20:11:53 +01:00
reset.yml Change to FQCN with ansible-lint fixer (#553) 2024-08-12 22:59:59 -05:00
site.yml Change to FQCN with ansible-lint fixer (#553) 2024-08-12 22:59:59 -05:00

README.md

About this fork

See this issue for where this comes from. This updates a few versions:

  • k3s to v1.34.2+k3s1 (also tested with v1.35.0+k3s1)
  • Calico to v3.31.0
  • Cilium to v1.18.5 (also tested with 1.19.0)
  • All playbooks have been modified to reflect this and are working.
  • Small disclaimer: the original playbook was tested for Debian, Ubuntu and Rocky. I use Ubuntu 24.04 / 26.04 usually, but it works with Rocky 10, Alma 10 and Debian 13.

See the readme in the original repo for more information.

Branches

There is another branch with an added feature of deploying Longhorn in your cluster as part of the playbook, which can be convenient. You can check it out here.

Example deployments

If you're looking for some examples of stuff to run on K3S in a homelab setting, you can check out my other repo.

Thanks 🤝

This repo is really standing on the shoulders of giants. Thank you to all those who have contributed and thanks to these repos for code and ideas: