This repository contains the infrastructure as code and configuration for a Linx server setup. This has only been tested with a Linux Server 24 LTS.
100%, this is mostly for learning and fun.
/terragrunt: Contains Terragrunt configurations for infrastructure management/helm: Helm charts for application deployments
This setup includes:
- Linux Server running as a home server
- k3s for lightweight Kubernetes
- SSH access restricted to local network
- External access through Cloudflare Tunnel
- GitOps-style continuous deployment using FluxCD
- Helm charts for application management
- Mac target host (tested on mac mini)
- Local network access
- Cloudflare account
- Git repository for FluxCD
- Terragrunt installed
- Enable remote login over local network. Take note of the address of the machine. Make sure that you create a user with admin privilegies.
- Make sure you have
dockerandbrewinstalled on the Mac.
- Rename/copy the
.env.templatefile to.envand update the values. - We are now going to make sure to create the cluster (which will be running k3s), and install fluxcd this is done through terragrunt. Run
terragrunt run-all applyin/terragrunt/environments/mac_mini
You need to enable if you have problems with connecting to local network with kubectl:
https://blog.erikhorton.com/2025/01/18/kubectl-no-route-to-host.html