diff --git a/hosts/k8s/README.md b/hosts/k8s/README.md index 54d7c0c7..ca83f371 100644 --- a/hosts/k8s/README.md +++ b/hosts/k8s/README.md @@ -23,5 +23,9 @@ I prefer to use [k3s] as the Kubernetes distribution, because it's lightweight, 3. `k3s-test-1-worker-2` 4. `k3s-test-1-worker-3` +## Kubernetes Resources + +Kubernetes resouces are deployed and managed separately through [nix-config/pulumi/k8s/](../../pulumi/k8s/). + [k3s]: https://github.com/k3s-io/k3s/ [what-have-k3s-removed-from-upstream-kubernetes]: https://github.com/k3s-io/k3s/?tab=readme-ov-file#what-have-you-removed-from-upstream-kubernetes diff --git a/pulumi/README.md b/pulumi/README.md new file mode 100644 index 00000000..cc8e8b48 --- /dev/null +++ b/pulumi/README.md @@ -0,0 +1,4 @@ +# Pulumi - Infrastructure as Code + +TODO + diff --git a/pulumi/k8s/README.md b/pulumi/k8s/README.md new file mode 100644 index 00000000..f20b6cf1 --- /dev/null +++ b/pulumi/k8s/README.md @@ -0,0 +1,20 @@ +# Kubernetes + + +## Why Pulumi for Kubernetes? + +1. Deploying Helm charts declaratively. + - Helm CLI supports only imperative commands, you need to add a repository, update the repository, + and install the chart with a single command, + it's really hard to manage the lifecycle of the Helm chart in this way. + - Pulumi can deploy Helm charts declaratively, you can manage the lifecycle of the Helm chart easily. +1. Deal with secrets in a secure way. +1. Deploying Kubernetes resources in a unified way, instead of running a bunch of commands like `kubectl apply`, `helm install`, `kustomize`, etc. + +## Why not ArgoCD or FluxCD? + +ArgoCD & FluxCD support only Kubernetes, and it's too heavy for my use case. + +Pulumi supports not only Kubernetes but also other cloud providers like Proxmox, Libvirt, AWS, Azure, GCP, etc. +It's a unified way to manage the lifecycle of all my infrastructure resources. +