k

bram.gotink.be / knot

data server for tangled

0
v1.12.0-alpha MIT Source

Pull this image

docker pull atcr.io/bram.gotink.be/knot:latest

Overview

Macharian

This repository contains everything I’ve got running on my home servers.

Servers

My setup is currently as follows:

  • Drimor: an ASUS NUC 14 running Debian with several KVM guests:
    • Ayzinith: Alpine VM running pi-hole
    • Persepolis: Home Assistant OS VM (currently broken after an SSD failure)
    • Proteus Quartus: A Talos node
  • Proteus Secundus: an ASUS NUC 15 running a Talos node on bare metal
  • Paleon: A Scaleway VPS running an NGINX reverse proxy that exposes certain services over Tailscale to the outside world.

Kubernetes

Kubernetes cluster Proteus currently consists of two nodes, Proteus Secundus and Proteus Quartus, both running Talos.
The cluster is managed via Flux which uses the kubernetes folder in this repository as source. Renovate helps keep everything up to date.

The core components are:

  • cert-manager creates SSL certificates for everything running in the cluster
  • Istio manages the network & ingress with metallb as load balancer
  • Tailscale exposes certain services over VPN to the internet
  • Longhorn manages storage for k8s
  • authentik provides Single Sign-On either via OIDC or integrated via istio
  • sops keeps secrets commited in this repo actually secret

The applications running on kubernetes fall into several categories:

Hardware

  • 1x ASUS NUC14RVHU7000R0 Revel Canyon U7 155H
    • 64 GB RAM
    • 1x 2TB M.2 NVMe
    • 1x 4TB SATA SSD (warp)
  • 1x ASUS NUC 15 Pro Slim Kit RNUC15CRKU700002 barebone
    • 64 GB RAM
    • 1x 2TB M.2 NVMe

This hardware is currently situated next to our TV, which greatly hampers the options for expansion.
I would love to expand and add proper storage (a NAS) and maybe one other server—having two k8s nodes has downsides that a third node would solve—but that has to wait until after we’ve moved to a house that doesn’t only have network cables in the living room.

Gratitude

I had little to no experience with Kubernetes and DevOps when I bought my first NUC to use as server.
The home-ops repo of GitHub user onedr0p has been instrumental in getting me started with flux and renovate, and I use a lot of containers they have set up.

Tags

latest Multi-arch
sha256:3ef09f66e06a20369d00c3923222645fa52474a1f6df1251bef159e6e81b2221
linux/amd64 sha256:135c61b4ac51bfd7f96b7d6e4645c8cdb93defe48381cd52ecebb974bac6e4b9
linux/arm64 sha256:d63c6752ce29e64a9dc90bcd35927aeddb90b69b7841367431d377e2af46b5cb
docker pull atcr.io/bram.gotink.be/knot:latest
v1.12.0-alpha Multi-arch
sha256:3ef09f66e06a20369d00c3923222645fa52474a1f6df1251bef159e6e81b2221
linux/amd64 sha256:135c61b4ac51bfd7f96b7d6e4645c8cdb93defe48381cd52ecebb974bac6e4b9
linux/arm64 sha256:d63c6752ce29e64a9dc90bcd35927aeddb90b69b7841367431d377e2af46b5cb
docker pull atcr.io/bram.gotink.be/knot:v1.12.0-alpha

Manifests

Multi-arch
sha256:3ef09f66e06a20369d00c3923222645fa52474a1f6df1251bef159e6e81b2221
Tags: v1.12.0-alpha, latest
linux/amd64 linux/arm64