Skip to content
This repository has been archived by the owner on Sep 13, 2024. It is now read-only.

PatrickLaabs/frigg

Repository files navigation

ARCHIVED

Frigg will be refactored and moves into a new home: eros

Frigg

Go Reference Go Report Card License: MIT

What is Frigg

Meaning of Frigg: Goddess of wisdom and crafts

Frigg

TL;DR:

With Frigg, you provision N-Kubernets Clusters, which are GitOps-enabled and have batteries included.

Frigg is a cli project, to easily create one to one hundred of Kubernetes clusters on different hyperscalers.

Since we relay heavenly on Cluster-API, we could implement any supported provider to Frigg
Check the supported Hyperscalers

No matter which hyperscaler you choose, your kubernetes clusters will be attached to one another, and are also GitOps enabled.

At the end, you will have N-amount of clusters, with a Github repository for each of them, where you are able to add more applications deployments.

Quick overview of Frigg()

Friggs Overview

Usage

Requirements:

  • Docker Desktop / Engine
    (Podman (is currently not yet fully supported))

Get the frigg cli:

Get the binary using go:

go install github.com/PatrickLaabs/frigg@1.1.2
curl -L -o frigg.tar.gz https://github.com/PatrickLaabs/frigg/releases/download/1.1.2/frigg_1.1.2_darwin_arm64.tar.gz
tar -xf frigg.tar.gz
chmod +x frigg
./frigg version

or download the binary at the releasepage:
Frigg - Github Release Page

Homebrew is on the way.

Start the deployment:

While everything gets bootstrapped and provisioned, the Frigg CLI
also creates a working directory inside your home directory at $HOME/.frigg

Inside this directory we will store every generated file, such as
the private and public ssh keypairs, various manifests, etc.

Set the environment variables:

export GITHUB_TOKEN=
export GITHUB_USERNAME=
export GITHUB_MAIL=

Running Frigg:

frigg provisions kubernetes cluster with capi and gitops in no-time

Usage:
  frigg [command]

Available Commands:
  bootstrap   bootstrap various clusters on different providers
  completion  Generate the autocompletion script for the specified shell
  delete      Deletes one of [cluster]
  help        Help about any command
  version     Prints the frigg CLI version

Provision your first management cluster:

frigg bootstrap capd cluster

or - to use the ClusterAPI Controllers - run:

frigg bootstrap capd-controller cluster

This might take a while, since we are doing some heavy lifting.

Provision your workload cluster ontop:

frigg bootstrap capd workloadcluster

or

frigg bootstrap capd-controller workloadcluster

After the provisioning of your management cluster is ready,
you can port-forward the argocd-server pod and login with:

User: admin
Password: frigg

Features

Supported Providers

  • vCluster
  • CAPD (Docker)

Providers under development

  • vSphere
  • Azure
  • Google
  • Harvester
  • Proxmox

Documentation

Further documentation is available in the /docs directory.

Relevant Repositories

Friggs Management-Cluster GitOps Repository Template

This Repository will the beating-heart for your management-cluster.
friggs-mgmt-repo-template

Friggs Workload-Clusters GitOps Repository Template

This Repository is used to provide a good foundation for your workload clusters with various deployments.
friggs-workload-repo-template

Frigg-Builder

This simple Tool will be used by ArgoCD Workflows to operate various things inside the pipeline.
Frigg-Builder

Sample-Application

An example application deployment for your workload clusters.
sample-application

Support

You like the project, and want to support further development? Glad to hear!

Buy Me A Coffee

Thank you very much, for supporting me 🚀