Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌱 fix readme links #1406

Merged
merged 2 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 20 additions & 19 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,32 @@ This is the official documentation of Cluster API Provider Hetzner. Before start
## Getting Started

- [Introduction](/docs/caph/01-getting-started/01-introduction.md)
- [Preparation](/docs/caph/01-getting-started/02-preparation)
- [Quickstart](/docs/caph/01-getting-started/03-quickstart)
- [Quickstart](/docs/caph/01-getting-started/02-quickstart)
- [Preparation](/docs/caph/01-getting-started/03-preparation.md)

## Topics

- [Managing SSH Keys](/docs/caph/02-topics/01-managing-ssh-keys)
- [Node Images](/docs/caph/02-topics/02-node-image)
- [Production Environment](/docs/caph/02-topics/03-production-environment)
- [Advanced CAPH](/docs/caph/02-topics/04-advanced-caph)
- [Upgrading CAPH](/docs/caph/02-topics/05-upgrading-caph)
- [Hetzner Baremetal](/docs/caph/02-topics/06-hetzner-baremetal)
- [Preparation](/docs/caph/02-topics/01-preparation.md)
- [Managing SSH Keys](/docs/caph/02-topics/02-managing-ssh-keys.md)
- [High Availability Setup](/docs/caph/02-topics/03-HA-setup.md)
- [Node Image](/docs/caph/02-topics/04-node-image.md)
- [Upgrading CAPH](/docs/caph/02-topics/05-upgrading-caph.md)
- [Hetzner Baremetal](/docs/caph/02-topics/06-baremetal)
- [Advanced CAPH](/docs/caph/02-topics/07-advanced)

## Reference

- [General](/docs/caph/03-reference/01-introduction)
- [HetznerCluster](/docs/caph/03-reference/02-hetzner-cluster)
- [HCloudMachineTemplate](/docs/caph/03-reference/03-hcloud-machine-template)
- [HCloudMachineTemplate](/docs/caph/03-reference/04-hcloud-remediation-template)
- [HetznerBareMetalHost](/docs/caph/03-reference/05-hetzner-bare-metal-host)
- [HetznerBareMetalMachineTemplate](/docs/caph/03-reference/06-hetzner-bare-metal-machine-template)
- [HetznerBareMetalRemediationTemplate](/docs/caph/03-reference/07-hetzner-bare-metal-remediation-template)
- [General](/docs/caph/03-reference/01-introduction.md)
- [HetznerCluster](/docs/caph/03-reference/02-hetzner-cluster.md)
- [HCloudMachineTemplate](/docs/caph/03-reference/03-hcloud-machine-template.md)
- [HCloudMachineTemplate](/docs/caph/03-reference/04-hcloud-remediation-template.md)
- [HetznerBareMetalHost](/docs/caph/03-reference/05-hetzner-bare-metal-host.md)
- [HetznerBareMetalMachineTemplate](/docs/caph/03-reference/06-hetzner-bare-metal-machine-template.md)
- [HetznerBareMetalRemediationTemplate](/docs/caph/03-reference/07-hetzner-bare-metal-remediation-template.md)

## Development

- [Development guide](/docs/caph/04-developers/01-development-guide)
- [Tilt](/docs/caph/04-developers/02-tilt)
- [Releasing](/docs/caph/04-developers/03-releasing)
- [Updating Kubernetes version](/docs/caph/04-developers/04-updating-kubernetes-version)
- [Development guide](/docs/caph/04-developers/01-development-guide.md)
- [Tilt](/docs/caph/04-developers/02-tilt.md)
- [Releasing](/docs/caph/04-developers/03-releasing.md)
- [Updating Kubernetes version](/docs/caph/04-developers/04-updating-kubernetes-version.md)
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ There are several tasks that have to be completed before a workload cluster can

1. Create a new [HCloud project](https://console.hetzner.cloud/projects).
1. Generate an API token with read and write access. You'll find this if you click on the project and go to "security".
1. If you want to use it, generate an SSH key, upload the public key to HCloud (also via "security"), and give it a name. Read more about [Managing SSH Keys](/docs/caph/02-topics/02-managing-ssh-keys).
1. If you want to use it, generate an SSH key, upload the public key to HCloud (also via "security"), and give it a name. Read more about [Managing SSH Keys](/docs/caph/02-topics/02-managing-ssh-keys.md).

## Bootstrap or Management Cluster Installation

Expand Down
6 changes: 3 additions & 3 deletions docs/caph/01-getting-started/03-preparation.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ There are several tasks that have to be completed before a workload cluster can

1. Create a new [HCloud project](https://console.hetzner.cloud/projects).
2. Generate an API token with read and write access. You'll find this if you click on the project and go to "security".
3. If you want to use it, generate an SSH key, upload the public key to HCloud (also via "security"), and give it a name. Read more about [Managing SSH Keys](/docs/caph/02-topics/01-managing-ssh-keys).
3. If you want to use it, generate an SSH key, upload the public key to HCloud (also via "security"), and give it a name. Read more about [Managing SSH Keys](/docs/caph/02-topics/02-managing-ssh-keys.md).

### Preparing Hetzner Robot

Expand All @@ -36,7 +36,7 @@ It is a common practice to create a temporary, local bootstrap cluster, which is

#### 1. Existing Management Cluster

For production use, a “real” Kubernetes cluster should be used with appropriate backup and Disaster Recovery policies and procedures in place. The Kubernetes cluster must be of a [supported version](/docs/caph/01-getting-started/01-introduction).
For production use, a “real” Kubernetes cluster should be used with appropriate backup and Disaster Recovery policies and procedures in place. The Kubernetes cluster must be of a [supported version](/docs/caph/01-getting-started/01-introduction.md).

#### 2. Kind

Expand Down Expand Up @@ -147,4 +147,4 @@ kubectl patch secret robot-ssh -p '{"metadata":{"labels":{"clusterctl.cluster.x-

The secret name and the tokens can also be customized in the cluster template.

See [node-image](/docs/caph/02-topics/02-node-image) for more information.
See [node-image](/docs/caph/02-topics/04-node-image.md) for more information.
6 changes: 3 additions & 3 deletions docs/caph/02-topics/01-preparation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ There are several tasks that have to be completed before a workload cluster can

1. Create a new [HCloud project](https://console.hetzner.cloud/projects).
2. Generate an API token with read and write access. You'll find this if you click on the project and go to "security".
3. If you want to use it, generate an SSH key, upload the public key to HCloud (also via "security"), and give it a name. Read more about [Managing SSH Keys](/docs/caph/02-topics/02-managing-ssh-keys).
3. If you want to use it, generate an SSH key, upload the public key to HCloud (also via "security"), and give it a name. Read more about [Managing SSH Keys](/docs/caph/02-topics/02-managing-ssh-keys.md).

## Preparing Hetzner Robot

Expand All @@ -34,7 +34,7 @@ It is a common practice to create a temporary, local bootstrap cluster, which is

#### 1. Existing Management Cluster

For production use, a “real” Kubernetes cluster should be used with appropriate backup and Disaster Recovery policies and procedures in place. The Kubernetes cluster must be of a [supported version](/docs/caph/01-getting-started/01-introduction).
For production use, a “real” Kubernetes cluster should be used with appropriate backup and Disaster Recovery policies and procedures in place. The Kubernetes cluster must be of a [supported version](/docs/caph/01-getting-started/01-introduction.md).

#### 2. Kind

Expand Down Expand Up @@ -145,4 +145,4 @@ kubectl patch secret robot-ssh -p '{"metadata":{"labels":{"clusterctl.cluster.x-

The secret name and the tokens can also be customized in the cluster template.

See [node-image](/docs/caph/02-topics/04-node-image) for more information.
See [node-image](/docs/caph/02-topics/04-node-image.md) for more information.
2 changes: 1 addition & 1 deletion docs/caph/02-topics/06-baremetal/01-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ These flavors are only for demonstration purposes and should not be used in prod

## Purchasing Bare Metal Servers

If you want to create a cluster with bare metal servers, you will also need to set up the robot credentials. For setting robot credentials, as described in the [reference](/docs/caph/03-reference/06-hetzner-bare-metal-machine-template), you need to purchase bare metal servers beforehand manually.
If you want to create a cluster with bare metal servers, you will also need to set up the robot credentials. For setting robot credentials, as described in the [reference](/docs/caph/03-reference/06-hetzner-bare-metal-machine-template.md), you need to purchase bare metal servers beforehand manually.
2 changes: 1 addition & 1 deletion docs/caph/02-topics/07-advanced/04-custom-templates-mhc.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Machine Health Checks with Custom Remediation Template

Cluster API allows to [configure Machine Health Checks](https://cluster-api.sigs.k8s.io/tasks/automated-machine-management/healthchecking.html) with custom remediation strategies. This is helpful for our bare metal servers. If the health checks give an outcome that one server cannot be reached, the default strategy would be to delete it. In that case, it would need to be provisioned again. This takes, of course, longer for bare metal servers than for virtual cloud servers. Therefore, we want to try to avoid this with the help of our `HetznerBareMetalRemediationController` and `HCloudRemediationController`. Instead of deleting the object and deprovisioning it, we first try to reboot it and see whether this helps. If it solves the problem, we save a lot of time that is required for re-provisioning it.

If the MHC is configured to be used with the `HetznerBareMetalRemediationTemplate` (also see the [reference of the object](/docs/caph/03-reference/07-hetzner-bare-metal-remediation-template)) and `HCloudRemediationTemplate` (also see the [reference of the object](/docs/caph/03-reference/04-hcloud-remediation-template)), then such an object is created every time the MHC finds an unhealthy machine.
If the MHC is configured to be used with the `HetznerBareMetalRemediationTemplate` (also see the [reference of the object](/docs/caph/03-reference/07-hetzner-bare-metal-remediation-template.md)) and `HCloudRemediationTemplate` (also see the [reference of the object](/docs/caph/03-reference/04-hcloud-remediation-template.md)), then such an object is created every time the MHC finds an unhealthy machine.

The `HetznerBareMetalRemediationController` reconciles this object and then sets an annotation in the relevant `HetznerBareMetalHost` object specifying the desired remediation strategy. At the moment, only "reboot" is supported.
The `HCloudRemediationController` reboots the HCloudMachine directly via the HCloud API. For HCloud servers, there is no other strategy than "reboot" either.
Expand Down
2 changes: 1 addition & 1 deletion docs/caph/03-reference/02-hetzner-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ In clusters with bare metal servers, you need to use [this CCM](https://github.c

{% /callout %}

[Here](/docs/caph/02-topics/02-managing-ssh-keys) you can find more information regarding the handling of SSH keys. Some of them are specified in `HetznerCluster` to have them cluster-wide, others are machine-scoped.
[Here](/docs/caph/02-topics/02-managing-ssh-keys.md) you can find more information regarding the handling of SSH keys. Some of them are specified in `HetznerCluster` to have them cluster-wide, others are machine-scoped.

## Usage without HCloud Load Balancer

Expand Down
2 changes: 1 addition & 1 deletion docs/caph/03-reference/03-hcloud-machine-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In `HCloudMachineTemplate` you can define all important properties for `HCloudMa
| ------------------------------------------ | ---------- | --------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `template.spec.providerID` | `string` | | no | ProviderID set by controller |
| `template.spec.type` | `string` | | yes | Desired server type of server in Hetzner's Cloud API. Example: cpx11 |
| `template.spec.imageName` | `string` | | yes | Specifies desired image of server. ImageName can reference an image uploaded to Hetzner API in two ways: either directly as name of an image, or as label of an image (see [here](/docs/caph/02-topics/04-node-image) for more details) |
| `template.spec.imageName` | `string` | | yes | Specifies desired image of server. ImageName can reference an image uploaded to Hetzner API in two ways: either directly as name of an image, or as label of an image (see [here](/docs/caph/02-topics/04-node-image.md) for more details) |
| `template.spec.sshKeys` | `object` | | no | SSHKeys that are scoped to this machine |
| `template.spec.sshKeys.hcloud` | `[]object` | | no | SSH keys for HCloud |
| `template.spec.sshKeys.hcloud.name` | `string` | | yes | Name of SSH key |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: HetznerBareMetalRemediationTemplate
---

In `HetznerBareMetalRemediationTemplate` you can define all important properties for `HetznerBareMetalRemediations`. With this remediation, you can define a custom method for the manner of how Machine Health Checks treat the unhealthy `object`s - `HetznerBareMetalMachines` in this case. For more information about how to use remediations, see [Advanced CAPH](/docs/caph/02-topics/07-advanced/04-custom-templates-mhc). `HetznerBareMetalRemediations` are reconciled by the `HetznerBareMetalRemediationController`, which reconciles the remediatons and triggers the requested type of remediation on the relevant `HetznerBareMetalMachine`.
In `HetznerBareMetalRemediationTemplate` you can define all important properties for `HetznerBareMetalRemediations`. With this remediation, you can define a custom method for the manner of how Machine Health Checks treat the unhealthy `object`s - `HetznerBareMetalMachines` in this case. For more information about how to use remediations, see [Advanced CAPH](/docs/caph/02-topics/07-advanced/04-custom-templates-mhc.md). `HetznerBareMetalRemediations` are reconciled by the `HetznerBareMetalRemediationController`, which reconciles the remediatons and triggers the requested type of remediation on the relevant `HetznerBareMetalMachine`.

## Overview of HetznerBareMetalRemediationTemplate.Spec

Expand Down
6 changes: 3 additions & 3 deletions docs/caph/04-developers/01-development-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: Developing Cluster API Provider Hetzner
Developing our provider is quite easy. Please follow the steps mentioned below:

1. You need to install some base requirements.
2. You need to follow the [preparation document](/docs/caph/02-topics/01-preparation) to set up everything related to Hetzner.
2. You need to follow the [preparation document](/docs/caph/02-topics/01-preparation.md) to set up everything related to Hetzner.

## Install Base requirements

Expand All @@ -26,13 +26,13 @@ This ensures the following:

## Preparing Hetzner project

For more information, please see [here](/docs/caph/02-topics/01-preparation).
For more information, please see [here](/docs/caph/02-topics/01-preparation.md).

## Setting Tilt up

You need to create a `.envrc` file and specify the values you need. After the `.envrc` is loaded, invoke `direnv allow` to load the environment variables in your current shell session.

The complete reference can be found [here](/docs/caph/04-developers/02-tilt).
The complete reference can be found [here](/docs/caph/04-developers/02-tilt.md).

## Developing with Tilt

Expand Down
2 changes: 1 addition & 1 deletion docs/caph/04-developers/04-updating-kubernetes-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ Please check the kubernetes version in the following files:
- `node-image` dependencies (cri-o, kubelet, kubeadm etc.).
- `cluster-template` (same as node-image but for cloud-init).
- quickstart Guide.
- [Supported Versions](/docs/caph/01-getting-started/01-introduction).
- [Supported Versions](/docs/caph/01-getting-started/01-introduction.md).