Homelab 3 - ArgoCD

ArgoCD

So, with cdk8s I have an execellent way to author my Kubernetes manifests. How do I deploy them?

ArgoCD!

The workflow is actually quite simple. I store my Kubernetes manifests in a GitHub repo and I point ArgoCD to it.

How do I configure ArgoCD? With cdk8s, of course:

import { import ChartChart } from "https://esm.sh/[email protected]";
import { import ApplicationApplication } from "../../imports/argoproj.io.ts";

export function function createLamportApp(chart: Chart): anycreateLamportApp(chart: Chartchart: import ChartChart) {
  return new import ApplicationApplication(chart: Chartchart, "lamport-app", {
    
metadata: {
    name: string;
}
metadata
: {
name: stringname: "lamport", },
spec: {
    project: string;
    source: {
        repoUrl: string;
        path: string;
        targetRevision: string;
    };
    destination: {
        server: string;
        namespace: string;
    };
    syncPolicy: {
        automated: {};
        syncOptions: string[];
    };
}
spec
: {
project: stringproject: "default",
source: {
    repoUrl: string;
    path: string;
    targetRevision: string;
}
source
: {
repoUrl: stringrepoUrl: "https://github.com/shepherdjerred/homelab", path: stringpath: "cdk8s/dist/", targetRevision: stringtargetRevision: "main", },
destination: {
    server: string;
    namespace: string;
}
destination
: {
server: stringserver: "https://kubernetes.default.svc", namespace: stringnamespace: "lamport", },
syncPolicy: {
    automated: {};
    syncOptions: string[];
}
syncPolicy
: {
automated: {}automated: {}, syncOptions: string[]syncOptions: ["CreateNamespace=true"], }, }, }); }

Ingress and HTTPS with Tailscale

Direct connections and local networks

Persistant volumes

Backups

Monitoring

GPUs

Helm, Kustomize, and operators

Keeping things up-to-date

Recent posts from blogs that I like

Compiling Scheme to WebAssembly

One of my oldest open-source projects - Bob - has celebrated 15 a couple of months ago. Bob is a suite of implementations of the Scheme programming language in Python, including an interpreter, a compiler and a VM. Back then I was doing some hacking on CPython internals and was very curious about ho...

via Eli Bendersky

A painted weekend in the Alhambra 1767-1883

Exquisite Arabic Muslim art and architecture in Granada, painted in topographic views, and by Franz von Lenbach, Henri Regnault, Martín Rico, Childe Hassam, Tom Roberts and others.

via The Eclectic Light Company

On the preparations before writing an essay

Shooting raw footage

via Henrik Karlsson