From 2d31e02b471837c35ab091f6ae2fdbe141a567f0 Mon Sep 17 00:00:00 2001 From: Max Pfeiffer Date: Thu, 18 Sep 2025 19:21:44 +0200 Subject: [PATCH] Updated docs --- README.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bc10158..58cdd55 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # proxmox-talos-opentofu -Proof of concept project using [OpenTofu](https://opentofu.org/) to install a Kubernetes cluster on a Proxmox +Proof of concept project using [OpenTofu](https://opentofu.org/) to install a Kubernetes cluster on a Proxmox VE hypervisor using [Talos Linux](https://www.talos.dev/). ## Requirements @@ -12,28 +12,44 @@ The project is grouped in two modules: * proxmox: provisioning of virtual machines, operating systems and Kubernetes cluster * kubernetes: provisioning of Kubernetes cluster resources -So you want first to provision the Proxmox part: create a `credentials.auto.tfvars` file based on the example. +### Proxmox VE +So you want first to provision the Proxmox part: create a `configuration.auto.tfvars` file based on the example and +edit it so it suits your needs: ```shell cd proxmox +cope configuration.auto.tfvars.example configuration.auto.tfvars +vim configuration.auto.tfvars +``` +Then apply the configuration using OpenTofu: +```shell tofu init tofu plan tofu apply ``` - You can then grab and move the kube config file for Kubernetes provisioning like so: ```shell tofu output kubeconfig -raw > ~/.kube/config chmod 600 ~/.kube/config ``` - Test if your cluster access works by listing the nodes: ```shell kubectl get nodes ``` +You might need to wait a bit until the cluster comes up. Proceed with the next step when all nodes are in the `ready` +state. -Secondly, you can provision the Resources inside the Kubernetes cluster: +### Kubernetes +Secondly, you can provision the Resources inside the Kubernetes cluster. Currently, this project just installs +ArgoCD in the `argocd` namespace in the cluster. You can then add on top of this by adding your own resources +using the GitOps approach. +You need to create a `configuration.auto.tfvars` file as well first: ```shell cd kubernetes +cope configuration.auto.tfvars.example configuration.auto.tfvars +vim configuration.auto.tfvars +``` +Then do the provisiong with OpenTofu: +```shell tofu init tofu plan tofu apply