Skip to content

Configs to bootstrap and manage a basic home infrastructure

Notifications You must be signed in to change notification settings

1aziz/klab-base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

klab-base

This repository contains configurations to bootstrap and manage a simple home infrastructure using k3s and Argo CD.

Stack

Tool Description
Ansible Bare metal provisioning and configuration
Argo CD GitOps operator for managing cluster
K3s A Kubernetes distribution
kube-prometheus-stack Prometheus Operator with Grafana dashboards for basic monitoring
MetalLB MetalLB is a load-balancer implementation for bare-metal clusters
ingress-nginx An Ingress controller for Kubernetes using NGINX
cert-manager X.509 certificate management

Getting Started

Configuring MetalLB

Before delving into the setup process, it is crucial to identify the available IP addresses within our network that can be assigned to MetalLB. To accomplish this, examine the IP address space of your router and utilize the Visual Subnet Calculator from Sargasso tool. This tool will assist you in determining the range of available IPs.

Once you have identified the range, subtract the range used by your router's DHCP server from the resulting range. This updated range can then be utilized by MetalLB and specified in `apps/core/metalb/configs.yaml``.

Bootstrapping

To initiate the setup, execute the make bootstrap command (refer to the example below). This command will manage the installation and configuration of Argo CD, along with the application of the `root`` Application (app of apps).

GITHUB_PRIVATE_KEY_PATH=./mykey.pem make bootstrap

After running the bootstrap command, the following tasks will be automatically performed:

  • Argo CD syncs the root app, triggering the synchronization of the core AppProject and ApplicationSet.
  • The ApplicationSet core initiates the sync process for all underlying Apps located in the apps/ directory.

Once all apps are successfully synchronized, you can access Argo CD through the specified domain name.

About

Configs to bootstrap and manage a basic home infrastructure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published