chore(clustertool): update lots of docs

This commit is contained in:
Kjeld Schouten
2024-10-25 22:30:35 +02:00
parent 579667118a
commit 63f4f0217d
31 changed files with 105 additions and 201 deletions
+27
View File
@@ -12,6 +12,33 @@ import (
)
var applyLongHelp = strings.TrimSpace(`
The "apply" command applies your Talos System configuration to each node in the cluster, existing or new It also runs automated checking of your config file and health checks between each node it has processed, to ensure you don't accidentally take down your whole cluster.
## Bootstrapping
If the cluster has not been bootstrapped yet, Apply will automatically detect this and ask if you want to bootstrap the cluster
Bootstrapping will apply your config to the first (top) controlplane node in your "talconfig.yaml", it then "bootstraps" hence creating a new cluster with said node.
After this is done, we apply a number of helm-charts and manifests by default such as:
- Metallb
- Metallb-Config
- Cilium (CNI)
- Certificate-Approver
- Spegel
- Kubernetes-Dashboard
### Bootstrapping FluxCD
During Bootstrapping, if a "GITHUB_REPOSITORY" is set in "clusterenv.yaml", you will be asked if you also want to bootstrap FluxCD, checkout the getting-started guide for more info
## About Bootstrapping
While we load a lot of helm-charts during bootstrap, we will *never* manage them for you.
You're responsible for maintaining and configuring your cluster after bootstrapping.
Apply and *all other* commands, are just for maintaining Talos itself.
Not any contained helm-charts
`)
+3
View File
@@ -10,6 +10,9 @@ import (
)
var checkcyptLongHelp = strings.TrimSpace(`
It's imperative that you always ensure the config you send to the internet is thoroughly encrypted. Using "clustertool checkcrypt" you can easily check if all files that are due to being encrypted, as specified in ".sops.yaml", will actually be encrypted.
This tool can, for example, be used as a pre-commit check and will fail with a non-zero exit code if unencrypted files are detected that should've been encrypted in accordance with ".sops.yaml" configuration.
`)
+2
View File
@@ -9,6 +9,8 @@ import (
)
var decryptLongHelp = strings.TrimSpace(`
The decryption feature of ClusterTool goes over all config files and, if encrypted, checks if ".sops.yaml" specifies that they should be decrypted.
If so, they are decrypted using your "age.agekey" file as specified in ".sops.yaml".
`)
+2
View File
@@ -9,6 +9,8 @@ import (
)
var encryptLongHelp = strings.TrimSpace(`
The encryption feature of ClusterTool goes over all config files and, if not encrypted already, checks if ".sops.yaml" mandates that they should be encrypted.
Afterwards, they are encrypted using your "age.agekey" file as specified in ".sops.yaml".
`)
+4 -4
View File
@@ -12,12 +12,12 @@ import (
)
var genConfigLongHelp = strings.TrimSpace(`
ClusterTool after all your settings are entered into talconfig.yaml and talenv.yaml, Clustertool generates a complete clusterconfiguration using TalHelper and various other tools.
After all your settings are entered into talconfig.yaml and clusterenv.yaml, Clustertool generates a complete clusterconfiguration using TalHelper and various other tools.
Its important to note, that running clustertool genconfig, again after each settings change, is absolutely imperative to be able to deploy said settings to your cluster.
Powered by TalHelper (https://budimanjojo.github.io/talhelper/)
It's important to note that running clustertool genconfig, again after each settings change, is absolutely imperative to be able to deploy said settings to your cluster.
This does not only generate the Talos "Machine Config" files, but also ensures an updated configmap containing your "clusterenv.yaml" settings, is added to the /manifests/ directory, for consumption by FluxCD when added.
It also ensures the same configmap is always added by updating the patches.
`)
var genConfig = &cobra.Command{
+2 -4
View File
@@ -12,11 +12,9 @@ var initLongHelp = strings.TrimSpace(`
ClusterTool requires a specific directory layout to ensure smooth operators and standardised environments.
To ensure smooth deployment, the init function can pre-generate all required files in the right places.
Afterwards you can edit talconfig.yaml and clusterenv.yaml to reflect your personal settings.
When done, please run clustertool genconfig to generate all configarion based on your personal settings
Afterwards, you can edit talconfig.yaml and clusterenv.yaml to reflect your personal settings.
When done, please run clustertool genconfig to generate all configurations based on your personal settings.
`)
var initFiles = &cobra.Command{
+4
View File
@@ -11,6 +11,10 @@ import (
)
var upgradeLongHelp = strings.TrimSpace(`
The "upgrade" command updates Talos to the latest version specified in talconfig.yaml for all nodes.
It also applies any changed "extentions" and/or "overlays" specified there.
On top of this, after upgrading Talos on all nodes, it also executes kubernetes-upgrades for the whole cluster as well.
`)
@@ -5,6 +5,36 @@ title: apply
apply TalosConfig
### Synopsis
The "apply" command applies your Talos System configuration to each node in the cluster, existing or new It also runs automated checking of your config file and health checks between each node it has processed, to ensure you don't accidentally take down your whole cluster.
## Bootstrapping
If the cluster has not been bootstrapped yet, Apply will automatically detect this and ask if you want to bootstrap the cluster
Bootstrapping will apply your config to the first (top) controlplane node in your "talconfig.yaml", it then "bootstraps" hence creating a new cluster with said node.
After this is done, we apply a number of helm-charts and manifests by default such as:
- Metallb
- Metallb-Config
- Cilium (CNI)
- Certificate-Approver
- Spegel
- Kubernetes-Dashboard
### Bootstrapping FluxCD
During Bootstrapping, if a "GITHUB_REPOSITORY" is set in "clusterenv.yaml", you will be asked if you also want to bootstrap FluxCD, checkout the getting-started guide for more info
## About Bootstrapping
While we load a lot of helm-charts during bootstrap, we will *never* manage them for you.
You're responsible for maintaining and configuring your cluster after bootstrapping.
Apply and *all other* commands, are just for maintaining Talos itself.
Not any contained helm-charts
```
clustertool apply [flags]
```
@@ -5,6 +5,12 @@ title: checkcrypt
Checks if all files are encrypted correctly in accordance with .sops.yaml
### Synopsis
It's imperative that you always ensure the config you send to the internet is thoroughly encrypted. Using "clustertool checkcrypt" you can easily check if all files that are due to being encrypted, as specified in ".sops.yaml", will actually be encrypted.
This tool can, for example, be used as a pre-commit check and will fail with a non-zero exit code if unencrypted files are detected that should've been encrypted in accordance with ".sops.yaml" configuration.
```
clustertool checkcrypt [flags]
```
@@ -5,6 +5,11 @@ title: decrypt
Decrypt all high-risk data using sops
### Synopsis
The decryption feature of ClusterTool goes over all config files and, if encrypted, checks if ".sops.yaml" specifies that they should be decrypted.
If so, they are decrypted using your "age.agekey" file as specified in ".sops.yaml".
```
clustertool decrypt [flags]
```
@@ -5,6 +5,11 @@ title: encrypt
Encrypt all high-risk data using sops
### Synopsis
The encryption feature of ClusterTool goes over all config files and, if not encrypted already, checks if ".sops.yaml" mandates that they should be encrypted.
Afterwards, they are encrypted using your "age.agekey" file as specified in ".sops.yaml".
```
clustertool encrypt [flags]
```
@@ -7,11 +7,12 @@ generate Configuration files
### Synopsis
ClusterTool after all your settings are entered into talconfig.yaml and talenv.yaml, Clustertool generates a complete clusterconfiguration using TalHelper and various other tools.
After all your settings are entered into talconfig.yaml and clusterenv.yaml, Clustertool generates a complete clusterconfiguration using TalHelper and various other tools.
Its important to note, that running clustertool genconfig, again after each settings change, is absolutely imperative to be able to deploy said settings to your cluster.
It's important to note that running clustertool genconfig, again after each settings change, is absolutely imperative to be able to deploy said settings to your cluster.
Powered by TalHelper (https://budimanjojo.github.io/talhelper/)
This does not only generate the Talos "Machine Config" files, but also ensures an updated configmap containing your "clusterenv.yaml" settings, is added to the /manifests/ directory, for consumption by FluxCD when added.
It also ensures the same configmap is always added by updating the patches.
```
clustertool genconfig [flags]
@@ -10,9 +10,9 @@ generate Basic ClusterTool file-and-folder structure in current folder
ClusterTool requires a specific directory layout to ensure smooth operators and standardised environments.
To ensure smooth deployment, the init function can pre-generate all required files in the right places.
Afterwards you can edit talconfig.yaml and clusterenv.yaml to reflect your personal settings.
Afterwards, you can edit talconfig.yaml and clusterenv.yaml to reflect your personal settings.
When done, please run clustertool genconfig to generate all configarion based on your personal settings
When done, please run clustertool genconfig to generate all configurations based on your personal settings.
```
clustertool init [flags]
@@ -5,6 +5,13 @@ title: upgrade
Upgrade Talos Nodes and Kubernetes
### Synopsis
The "upgrade" command updates Talos to the latest version specified in talconfig.yaml for all nodes.
It also applies any changed "extentions" and/or "overlays" specified there.
On top of this, after upgrading Talos on all nodes, it also executes kubernetes-upgrades for the whole cluster as well.
```
clustertool upgrade [flags]
```
@@ -1,7 +1,5 @@
---
sidebar:
order: 4
title: Init
title: Files and Folders
---
:::caution[Work In Progress]
@@ -12,12 +10,7 @@ All code and docs are considered Pre-Beta drafts
:::
ClusterTool requires a specific directory layout to ensure smooth operators and standardised environments.
To ensure smooth deployment, the init function can pre-generate all required files in the right places.
Afterwards, you can edit talconfig.yaml and clusterenv.yaml to reflect your personal settings.
When done, please run clustertool genconfig to generate all configurations based on your personal settings.
File and Folder structure on init, is as follows
## Created Files and Folders
@@ -1,5 +0,0 @@
---
title: Bootstrap
---
# Bootstrap-Only
@@ -1,5 +0,0 @@
---
title: Health
---
# Health
@@ -1,5 +0,0 @@
---
title: Advanced
---
# Advanced
@@ -1,5 +0,0 @@
---
title: Reset
---
# Reset
@@ -1,42 +0,0 @@
---
sidebar:
order: 7
title: Apply
---
:::caution[Work In Progress]
This program, all its features and its general design, are all a Work-In-Progress. It is not done and not widely available.
All code and docs are considered Pre-Beta drafts
:::
The `apply` command applies your Talos System configuration to each node in the cluster, existing or new It also runs automated checking of your config file and health checks between each node it has processed, to ensure you don't accidentally take down your whole cluster.
## Bootstrapping
If the cluster has not been bootstrapped yet, Apply will automatically detect this and ask if you want to bootstrap the cluster
Bootstrapping will apply your config to the first (top) controlplane node in your `talconfig.yaml`, it then "bootstraps" hence creating a new cluster with said node.
After this is done, we apply a number of helm-charts and manifests by default such as:
- Metallb
- Metallb-Config
- Cilium (CNI)
- Certificate-Approver
- Spegel
- KubeApps
- Kubernetes-Dashboard
### Bootstrapping FluxCD
During Bootstrapping, if a `GITHUB_REPOSITORY` is set in `clusterenv.yaml`, you will be asked if you also want to bootstrap FluxCD, checkout the getting-started guide for more info
## About Bootstrapping
While we load a lot of helm-charts during bootstrap, we will *never* manage them for you.
You're responsible for maintaining and configuring your cluster after bootstrapping.
Apply and *all other* commands, are just for maintaining Talos itself.
Not any contained helm-charts
@@ -1,7 +0,0 @@
---
title: CI Charts
---
# Charts(-CI)
These are CI functions used to build and test TrueCharts Helm Charts
@@ -1,17 +0,0 @@
---
sidebar:
order: 3
title: checkcrypt
---
:::caution[Work In Progress]
This program, all its features and its general design, are all a Work-In-Progress. It is not done and not widely available.
All code and docs are considered Pre-Beta drafts
:::
It's imperative that you always ensure the config you send to the internet is thoroughly encrypted. Using `clustertool checkcrypt` you can easily check if all files that are due to being encrypted, as specified in `.sops.yaml`, will actually be encrypted.
This tool can, for example, be used as a pre-commit check and will fail with a non-zero exit code if unencrypted files are detected that should've been encrypted in accordance with `.sops.yaml` configuration.
@@ -1,16 +0,0 @@
---
sidebar:
order: 5
title: decrypt
---
:::caution[Work In Progress]
This program, all its features and its general design, are all a Work-In-Progress. It is not done and not widely available.
All code and docs are considered Pre-Beta drafts
:::
The decryption feature of ClusterTool goes over all config files and, if encrypted, checks if `.sops.yaml` specifies that they should be decrypted.
If so, they are decrypted using your `age.agekey` file as specified in `.sops.yaml`.
@@ -1,16 +0,0 @@
---
sidebar:
order: 4
title: encrypt
---
:::caution[Work In Progress]
This program, all its features and its general design, are all a Work-In-Progress. It is not done and not widely available.
All code and docs are considered Pre-Beta drafts
:::
The encryption feature of ClusterTool goes over all config files and, if not encrypted already, checks if `.sops.yaml` mandates that they should be encrypted.
Afterwards, they are encrypted using your `age.agekey` file as specified in `.sops.yaml`.
@@ -1,20 +0,0 @@
---
sidebar:
order: 2
title: genconfig
---
:::caution[Work In Progress]
This program, all its features and its general design, are all a Work-In-Progress. It is not done and not widely available.
All code and docs are considered Pre-Beta drafts
:::
After all your settings are entered into talconfig.yaml and clusterenv.yaml, Clustertool generates a complete clusterconfiguration using TalHelper and various other tools.
It's important to note that running `clustertool genconfig`, again after each settings change, is absolutely imperative to be able to deploy said settings to your cluster.
This does not only generate the Talos "Machine Config" files, but also ensures an updated configmap containing your "clusterenv.yaml" settings, is added to the /manifests/ directory, for consumption by FluxCD when added.
It also ensures the same configmap is always added by updating the patches.
@@ -1,5 +0,0 @@
---
title: HELM Release
---
# HelmRelease
@@ -1,4 +0,0 @@
---
title: HELM Install
---
# Install
@@ -1,4 +0,0 @@
---
title: HELM Upgrade
---
# Upgrade
@@ -1,5 +0,0 @@
---
title: SCALE Export
---
# SCALEExport
@@ -1,5 +0,0 @@
---
title: SCALE Migrate
---
# SCALEMigrate
@@ -1,18 +0,0 @@
---
sidebar:
order: 8
title: Upgrade
---
:::caution[Work In Progress]
This program, all its features and its general design, are all a Work-In-Progress. It is not done and not widely available.
All code and docs are considered Pre-Beta drafts
:::
The `upgrade` command updates Talos to the latest version specified in talconfig.yaml for all nodes.
It also applies any changed `extentions` and/or `overlays` specified there.
On top of this, after upgrading Talos on all nodes, it also executes kubernetes-upgrades for the whole cluster as well.