Homelab 3 - ArgoCD
ArgoCD
So, with cdk8s I have an execellent way to author my Kubernetes manifests. How do I deploy them?
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"],
},
},
});
}