Skip to content

Commit 37222fb

Browse files
add documentation about cloudprovider (#16)
* add documentation about cloudprovider Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * Update docs/cloudprovider.md Co-authored-by: Maximilian Geberl <48486938+dergeberl@users.noreply.github.com> * fix documentation Signed-off-by: Felix Breuer <f.breuer94@gmail.com> --------- Signed-off-by: Felix Breuer <f.breuer94@gmail.com> Co-authored-by: Maximilian Geberl <48486938+dergeberl@users.noreply.github.com>
1 parent cb9393b commit 37222fb

File tree

6 files changed

+228
-124
lines changed

6 files changed

+228
-124
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ You can find all available make targets by running `make help`.
2323

2424
For information on our workflows, see:
2525

26+
* [Cloudprovider configuration guide](docs/cloudprovider.md)
2627
* [Development guide](docs/development.md)
2728
* [Testing guide](docs/testing.md)
2829
* [Release procedure](docs/releases.md)
@@ -32,4 +33,4 @@ For information on our workflows, see:
3233
Feedback and contributions are always welcome. Please report bugs or
3334
suggestions as GitHub issues.
3435

35-
Please report bugs or suggestions as GitHub issues or reach out on [Slack](https://gardener-cloud.slack.com/) in the `stackit` channel (join the workspace [here](https://gardener.cloud/community/)).
36+
Please report bugs or suggestions as GitHub issues or reach out on [Slack](https://gardener-cloud.slack.com/) in the `stackit` channel ([join](https://gardener.cloud/community/) the workspace).

docs/cloudprovider.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# CloudProvider Configuration
2+
3+
This document describes the CloudProvider configuration for the STACKIT Gardener Extension, including the cloudprovider secret and the `CloudProfileConfig`.
4+
5+
## CloudProvider Secret
6+
7+
The cloudprovider secret requires the following fields:
8+
9+
| Field | Key | Description | Required |
10+
| -------------------- | --------------------- | ------------------------------------------ | -------- |
11+
| Project ID | `project-id` | project identifier | Yes |
12+
| Service Account JSON | `serviceaccount.json` | service account credentials in JSON format | Yes |
13+
14+
**Example Secret:**
15+
16+
```yaml
17+
apiVersion: v1
18+
kind: Secret
19+
metadata:
20+
name: cloudprovider
21+
namespace: shoot--<project>--<cluster>
22+
type: Opaque
23+
stringData:
24+
project-id: <project-id>
25+
serviceaccount.json: <sa-json>
26+
```
27+
28+
The service account needs the following permissions:
29+
30+
| Permission | Purpose |
31+
| ------------------------------ | ------------------------------------------------ |
32+
| `nlb.admin` | CCM service-controller and network load balancer |
33+
| `blockstorage.admin` | CSI driver |
34+
| `compute.admin` | CCM node-controller and MCM |
35+
| `iaas.network.admin` | bastion and infrastructure controller |
36+
| `iaas.isoplated-network.admin` | infrastructure controller |
37+
38+
## CloudProfileConfig Fields
39+
40+
Example with comments:
41+
42+
```yaml
43+
providerConfig:
44+
# image mappings used for bastion and workers
45+
machineImages:
46+
- name: ubuntu
47+
versions:
48+
- version: "22.04"
49+
regions:
50+
- name: eu01
51+
# provider-specific image ID
52+
id: <image-id>
53+
architecture: amd64
54+
# rescan block devices after resize
55+
rescanBlockStorageOnResize: true
56+
# list of IPs of DNS servers used while creating subnets
57+
dnsServers:
58+
- 1.1.1.1
59+
# shoot storage classes
60+
storageClasses:
61+
- name: default
62+
default: true
63+
parameters:
64+
type: "storage_premium_perf4"
65+
provisioner: block-storage.csi.stackit.cloud
66+
```

0 commit comments

Comments
 (0)