Minimal and Opinionated Helm Charts powered by a Norwegian 🐻
Find a file
2023-12-23 11:14:52 +01:00
.github/workflows Update build-and-publish.yml 2023-12-23 11:12:05 +01:00
charts Merge pull request #4 from tommy-skaug:foundationdb 2023-12-23 09:48:43 +01:00
docs feat(docs) improve documentation with examples of manual and automated deployment. Complete overview. 2023-12-23 09:54:31 +01:00
.gitignore Restructure 2023-10-20 13:29:42 +02:00
LICENSE Add back files 2023-10-20 14:09:45 +02:00
README.org Update README.org 2023-12-23 11:14:52 +01:00
renovate.json Add renovate.json 2023-12-20 01:03:09 +00:00
Taskfile.yaml feat(taskfile) add helm lint 2023-12-19 17:53:51 +01:00

<p> <div align="center"> <img src="https://helm.sh/img/helm.svg" align="center" width="144px" height="144px"/> <h3>Minimal and Opinionated Helm Charts</h3> <p><i>… powered by a Norwegian bear 🐻</i></p> </div>

<p>&nbsp;</p>

<div align="center"> <a href="https://github.com/tommy-skaug/charts/actions/workflows/build-and-publish.yml" class="badge"> <img src="https://github.com/tommy-skaug/charts/actions/workflows/build-and-publish.yml/badge.svg" alt="Relases building" /></a>

&nbsp;&nbsp;

<a href="https://github.com/tommy-skaug/charts/actions/workflows/pages/pages-build-deployment" class="badge"> <img src="https://github.com/tommy-skaug/charts/actions/workflows/pages/pages-build-deployment/badge.svg" alt="Index Updates" /> </a> </div> </p> <p>&nbsp;</p>

Backend-focused and UX optimized minmal charts built for use with deployments based on Flux. Generally contains Helm charts for infrastructure and some related to security operations.

This is a Helm Chart repository that provides packages for Helm, the Kubernetes package manager. The builds are made available on GitHub Releases and on GitHub Pages.

Some charts only have Docker images available somewhere else or built by me, and others have badly implemented Charts which I've chosen to simplify: opinionated and minimal. Opinionated means that they're adapted to FluxCD and uses best practices such as external-secrets.

As with everything Kubernetes it is a learning journey, so feel free to open an issue.

Below you'll find an overview of the charts and an intro to get you started.

📖 Overview

  • Conduit: An efficient and self-contained Matrix server using an embedded RocksDB database.
  • Attic: Nix Binary Cache server that reduces the time to compile and distribute builds (intro post)
  • Dispatch: A incident management and coordination system developed by Netflix.
  • FoundationDB: Distributed database with ACID transactions developed by Apple.
  • Hasura: Connects to databases and services to provide a realtime GraphQL API.
  • Netbox: Modeling and docs for IP address management (IPAM) and datacenter infrastructure management (DCIM).

🧑‍💻 Usage

Exploration

You can explore this repo by using the following commands if you have the Kubernetes package manager installed:

# add the package source
helm repo add 252 https://charts.252.no

# search for a specific chart
helm search repo dispatch
# or list all available charts
helm search repo 252 -l 

# show configuration options
helm show values 252/dispatch

# install a chart
helm install dispatch helm-charts/charts/dispatch --namespace=toolbox
As Code with FluxCD

First take care to setup the chart:

apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: 252-charts
  namespace: flux-system
spec:
  interval: 15m
  url: https://charts.252.no

You can reference e.g. the Dispatch chart like this:

---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
  name: &app dispatch
spec:
  interval: 30m
  chart:
    spec:
      chart: dispatch
      version: 0.3.2
      sourceRef:
        kind: HelmRepository
        name: 252-charts
        namespace: flux-system
  maxHistory: 2
  install:
    remediation:
      retries: 3
  upgrade:
    cleanupOnFail: true
    remediation:
      retries: 3
  uninstall:
    keepHistory: false
  values:
    envFromSecret: &secret dispatch-secret
[...]

Check out the ingress configuration in ingress.org

🤩 Licenses and Gratitude

Repo was inspired by ananace (some parts imported and rewritten).

The general license of this repo is DWTFYWTPB, but respect Apache v2 in some of the repos which were built on other's work. See the individual chart directory for details and these applies.