pascaliske / infrastructure

Flux based GitOps repository for my home lab infrastructure.
https://k8s.pascaliske.dev
MIT License
54 stars 3 forks source link
ansible flux homelab infrastructure k3s k8s-at-home kubernetes monitoring network terraform traefik

Infrastructure

Flux based GitOps repository for my home lab infrastructure.

Branch checks Pipeline (linting) Pipeline (docs) GitHub commit activity GitHub Last Commit GitHub top language GitHub repo size License: MIT

Kubernetes Terraform Ansible

Requirements

Installation

The cluster can be set up using the following commands:

# clone the repo to your local machine
$ git clone https://github.com/pascaliske/infrastructure

# install needed dependencies
$ task install

# setup ansible vault file (one-time)
$ task vault:setup

# provision nodes using ansible (1)
$ task cluster:provision

# bootstrap flux cluster
$ task cluster:bootstrap -- \
    --owner=$GITHUB_USER \ # required flag (2)
    --repository=$GITHUB_REPO \ # required flag (3)
    --branch=main
  1. More information on the following command can be found in the provisioning section.
  2. Ensure you either fill in your GitHub username or you make it available as an environment variable.
  3. Name of the repository to hold the declarative cluster state. If it does not exists yet, it will automatically be created by Flux.

Updates

Most updates inside this project are automated. Take a look at the update section for detailed information on this topic.

Thanks

A big thank you goes to these awesome people and their projects who inspired me to do this project:

Also I want to thank you the awesome k8s-at-home community for all their work on their Helm Charts which helped me a lot.

License

MIT – © 2024 Pascal Iske