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

Two Duchesses: Paintings of the Duchess of Mantua

After an excellent education, she married the Duke of Mantua, and started collecting paintings, most commissioned in great detail for her private study.

via The Eclectic Light Company

Structured data extraction from unstructured content using LLM schemas

via Simon Willison

Ludic's Guide To Getting Software Engineering Jobs

The steps in this guide have generated A$979,000 in salary, measured as the sum of the highest annual salaries friends and readers have reached after following along, where they were willing to attribute their success actions in here. If it works for you, email me so I can bump the number up. I curr...

via Ludicity