moikot / petite-cloud

☁️ A tiny GitOps based setup for your home cloud.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Petite Cloud

A Flux v2 setup for installing a set of services on a bare-metal Kubernetes cluster of Rock64s.

NOTE: The following services need to be adjusted if you want to clone this repository and use it for your setup:

  1. MetalLB is used as a layer 2 load balancer and manages IP addresses range 192.168.88.100-192.168.88.150 (see MetalLB HelmRelease).
  2. Domain cppcli.com with a wild card SSL certificate provided by Let's Encrypt (see Traefik HelmRelease) is used within a local network for accessing the following services:
  3. NFS server is available at 192.168.88.246, and the path for the root directory, where NFS sub-directory provisioner is going to create sub-folder, is /data/kubernetes (see NFS provisioner HelmRelease).

Installing

You will need a bare-metal Kubernetes cluster accessible via your current kubectl context.

Install Flux CLI - flux and set $GITHUB_USER and $GITHUB_TOKEN environment variables following Get started with Flux v2.

Bootstrap the cluster by connecting to the GitOps repository.

flux bootstrap github \
    --owner=$GITHUB_USER \
    --repository=petite-cloud \
    --branch=master \
    --personal \
    --arch arm64

Components

The setup is powered by Flux v2 and contains the following components:

About

☁️ A tiny GitOps based setup for your home cloud.

License:MIT License