Compare commits

...

2 Commits

Author SHA1 Message Date
14dc5be114 Added README with some basic commands 2025-11-08 03:50:31 +01:00
f060080694 Added some basic talos config patches and secrets 2025-11-08 03:49:48 +01:00
9 changed files with 98 additions and 0 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
secrets.yaml filter=git-crypt diff=git-crypt

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
.ipxe/ .ipxe/
rendered/ rendered/
configs/

67
README.md Normal file
View File

@@ -0,0 +1,67 @@
# Talos
To decrypt the secrets file:
```
git-crypt unlock
```
Generate the config files:
```bash
talosctl gen config <cluster_name> https://<controlplane_ip>:6443 -f \
--with-secrets secrets.yaml \
--config-patch @<path_to_patch> \
--config-patch-control-plane @<path_to_controlplane_patch> \
--install-image factory.talos.dev/metal-installer/<schematic_id>:<version> \
-o configs
```
Set TALOSCONFIG:
```bash
export TALOSCONFIG=$(realpath configs/talosconfig)
```
Apply the configs for each node, use worker.yaml for worker nodes:
```bash
talosctl apply-config --insecure --nodes <node_id> --file configs/controlplane.yaml
```
Set endpoint to one of the nodes:
```bash
talosctl config endpoint <node_ip>
```
Bootstrap Kubernetes:
```bash
talosctl -n <node_id> bootstrap
```
Set endpoint to control plane:
```bash
talosctl config endpoint <controlplane_ip>
```
Get kubeconfig and set KUBECONFIG:
```bash
talosctl -n 192.168.1.100 kubeconfig $PWD/configs/kubeconfig
export KUBECONFIG=$(realpath configs/kubeconfig)
```
For applying updated config to node:
```bash
talosctl apply-config --nodes <node_id> --file configs/controlplane.yaml
```
Upgrading talos or changing the schematic:
```bash
talosctl upgrade --nodes <node_id> --image factory.talos.dev/metal-installer/<schematic_id>:<version>
```

View File

@@ -0,0 +1,3 @@
---
cluster:
allowSchedulingOnControlPlanes: true

4
patches/hostname.yaml Normal file
View File

@@ -0,0 +1,4 @@
---
machine:
network:
hostname: talos-vm

View File

@@ -0,0 +1,4 @@
---
machine:
install:
disk: /dev/vda

11
patches/network.yaml Normal file
View File

@@ -0,0 +1,11 @@
---
machine:
network:
interfaces:
- interface: eth0
dhcp: false
addresses:
- 192.168.1.2
routes:
- network: 0.0.0.0/0
gateway: 192.168.1.1

7
patches/vip.yaml Normal file
View File

@@ -0,0 +1,7 @@
---
machine:
network:
interfaces:
- interface: eth0
vip:
ip: 192.168.1.100

BIN
secrets.yaml Normal file

Binary file not shown.