Skip to content

Commit bb14a62

Browse files
Adapt cluster-stack plugin based on changes made in target branch and update README
Signed-off-by: michal.gubricky <[email protected]>
1 parent 4248e03 commit bb14a62

File tree

4 files changed

+353
-294
lines changed

4 files changed

+353
-294
lines changed

Tests/kaas/plugin/README.md

Lines changed: 81 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
## Development environment
44

5-
### requirements
5+
### Requirements
66

77
* [docker](https://docs.docker.com/engine/install/)
88
* [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
99
* [sonobuoy](https://sonobuoy.io/docs/v0.57.1/#installation)
1010

11-
### setup for development
11+
### Setup for Development
1212

13-
1. Generate python 3.10 env
13+
1. **Generate python 3.10 env**
1414

1515
```bash
1616
sudo apt-get install python3.10-dev
@@ -23,17 +23,91 @@
2323

2424
```
2525

26-
2. Install dependencies:
26+
2. **Install dependencies:**
2727

2828
```bash
2929
(venv) pip install pip-tools
3030
(venv) pip-compile requirements.in
3131
(venv) pip-sync requirements.txt
3232
```
3333

34-
3. Set environment variables and launch the process:
34+
3. **Create a Cluster**
35+
36+
To create a cluster, run:
3537

3638
```bash
37-
(venv) export CLUSTER_PROVIDER="kind"
38-
(venv) python run.py
39+
(venv) python run_plugin.py create <plugin-name> ../clusterspec.yaml
3940
```
41+
42+
## Setting up and running the cluster-stacks plugin
43+
44+
This section covers how to configure and run the `cluster-stacks` plugin to provision Kubernetes clusters and perform conformance tests.
45+
46+
### Requirements for cluster-stacks plugin
47+
48+
In addition to the core requirements, ensure the following are set up:
49+
50+
* An **OpenStack** environment configured and accessible.
51+
* A `clouds.yaml` file defining OpenStack credentials and endpoints.
52+
* An installing the envsubst via this command:
53+
```bash
54+
GOBIN=/tmp go install github.com/drone/envsubst/v2/cmd/envsubst@latest
55+
```
56+
57+
### Environment Variables
58+
59+
Before running the `cluster-stacks` plugin, you need to set up the following environment variable:
60+
61+
- **GIT_ACCESS_TOKEN**: This token is required for Git operations, especially if your repository is private.
62+
63+
To set the `GIT_ACCESS_TOKEN`, run the following command in your terminal:
64+
65+
```bash
66+
export GIT_ACCESS_TOKEN=<your-github-token>
67+
```
68+
69+
### Configuring clusterspec.yaml file
70+
71+
The `clusterspec.yaml` file is used to set parameters for creating a Kubernetes cluster with the `cluster-stacks` plugin. This file allows you to specify details related to the cluster-stack, Git integration, and cluster configurations.
72+
73+
### Mandatory Parameter
74+
75+
The only mandatory parameter in `clusterspec.yaml` is `clouds_yaml_path` field, which points to the `clouds.yaml` file for OpenStack. If other parameters are omitted, the default values will be used.
76+
77+
### Optional Parameters
78+
79+
You can include additional parameters in `clusterspec.yaml` to customize the cluster setup. These optional parameters are grouped below by their category.
80+
81+
#### Cluster-Stack Related Parameters
82+
83+
These parameters configure specific settings for the cluster-stack:
84+
85+
```yaml
86+
cs_name: <cs_name> # Default: "scs"
87+
cs_k8s_version: <cs_k8s_version> # Default: "1.29"
88+
cs_version: <cs_version> # Default: "v1"
89+
cs_channel: <cs_channel> # Default: "stable"
90+
cs_cloudname: <cs_cloudname> # Default: "openstack"
91+
```
92+
93+
#### Git-Related Parameters
94+
95+
The [Cluster Stack Operator](https://github.com/sovereignCloudStack/cluster-stack-operator/) (CSO) utilizing the [Cluster Stack Provider OpenStack](https://github.com/SovereignCloudStack/cluster-stacks/tree/main/providers/openstack) (CSPO) must be directed to the Cluster Stacks repository housing releases for the OpenStack provider. Modify the following parameters if you wish to redirect CSO and CSPO to an alternative Git repository
96+
97+
```yaml
98+
git_provider: <git_provider> # Default: "github"
99+
git_org_name: <git_org_name> # Default: "SovereignCloudStack"
100+
git_repo_name: <git_repo_name> # Default: "cluster-stacks"
101+
```
102+
103+
#### Cluster Parameters
104+
105+
Set these parameters to customize the configuration for your cluster.
106+
107+
```yaml
108+
cs_cluster_name: <cs_cluster_name> # Default: "cs-cluster"
109+
cs_pod_cidr: <cs_pod_cidr> # Default: "192.168.0.0/16"
110+
cs_service_cidr: <cs_service_cidr> # Default: "10.96.0.0/12"
111+
cs_external_id: <cs_external_id> # Default: A generated UUID
112+
cs_k8s_patch_version: <cs_k8s_patch_version> # Default: "6"
113+
```

Tests/kaas/plugin/clusterstack.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ spec:
2626
spec:
2727
identityRef:
2828
kind: Secret
29-
name: ${CS_SECRETNAME}
29+
name: ${CS_SECRETNAME}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: v1
2+
clusters:
3+
- cluster:
4+
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2akNDQWRLZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1URXdOVEV6TURZd05Gb1hEVE0wTVRFd016RXpNVEV3TkZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS085Cjh4eUREYmVneXJzbnB5RUdic0V0aWF4SXk4QTh5ampkS2M0WEJtVllXdFdDTGhsUXJsUk03YTJYbXFSbzlqWUkKWjVJVlJSV2lINys3dExBYUdJT25jeExJTWRTTzNBcFE5UHZMMUx6OXJNcTdiNjBVVzlGa09qSm81MzM2SDhsagpuL25GWFhqU0lodnNINkRjeVROUTdIMlhJanU1eVVqZ1F0U1NEVmRwQzRtd01DVVBlNFZJcmE1d1N0ejllSWJuCk1WcWprY2ZJdGdGYmtpRzJiUEprRXFSWDNld3NlblRoTmtMNUk5ZVk0L0tkQ0dMRzJNbGVEb0tCUEFKWGM2TUMKcUs4YjA3cTBqVUxHQ05RNXlpOUpXMVZBR0MzS2htNk4wazlYSkVOWGhtSkJDcDgvWmtTalNmMUlNWk5aRjB1MApJTCtNbkRWeEhTeG9aTXdqbzJNQ0F3RUFBYU5GTUVNd0RnWURWUjBQQVFIL0JBUURBZ0trTUJJR0ExVWRFd0VCCi93UUlNQVlCQWY4Q0FRQXdIUVlEVlIwT0JCWUVGS3c4YUd0YlV1TVdBZmoyTkFSUTJwSWlDaE1sTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQkFRQ2V4MkJ4Z0VuNGxEem16LzR5Nis3VHJMZDBoaEhCVThaK01kN2ZXOFlaYldWSwpaVm5CRGh2N1o2akt3TFdrYVFhVGJabWJ6eG1GNjBYQ0hTUVZ2ZkJyVzlibFIyc1JuVlJySXQybHdKTUxhc2lYCkNxR21MOG40R0RObEdMemZySVVSSkFPZzB6YlFLZ0NRaTN3UGhoOHlrV1o0dTlrQnkvb29rUmFPbWxIeDUvNGkKQXgzeUprMERHNjYyTnppaGJoUDBjdm5qZ1hKRkxOby9kZUE0VEpLK2h1enliMEVER21kTTEzL3h5c24rY2xyVQowSmpzRHlxaUNZdklZWHVJcE1iYXlnL2UydmViNHh6cWFnNmxiMExzTWxYbjFrOVZmNUJVQ2lmMXhEc3dVUUd2CnRoRmdXWk5XWWpYYkdhdEg2UVplbVhtanYwSCt6SzR5b0Frd0h6WnQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
5+
server: https://213.131.230.24:6443
6+
name: cs-cluster
7+
contexts:
8+
- context:
9+
cluster: cs-cluster
10+
user: cs-cluster-admin
11+
name: cs-cluster-admin@cs-cluster
12+
current-context: cs-cluster-admin@cs-cluster
13+
kind: Config
14+
preferences: {}
15+
users:
16+
- name: cs-cluster-admin
17+
user:
18+
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJZTV5T2Z3c1FiRWd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRFeE1EVXhNekEyTURSYUZ3MHlOVEV4TURVeE16RXhNRFJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQThaRGdNdjlZazRjRXpQclgKRFhjYU53dmVEcFJMSFVwNDhGOFFKZFh6ZG5PckVmVi90QjhIOFQvcU5HUVJSSXFzZ2FtU3JzRHJHRWZtKzdxTwppdU9OcGxWOFJYVlBadmx5aU5TS3IybEJOMHJIMWlrdEU3S3lOemJkemhlMU1TazVyQzJSY2tOMEQvM29BSThFClRJTHh2cXRjRVdZQktzWGRoOXdiZUJLYzZkenYwczlkWVk1Vkxjd095ejdBQTExRVhabnZYZmYxQTgreVczT2gKMUxLWDVpMFRNSHN3ZDc5ZkFORGhQRE45NG83RGVoWHdqQ0lmZGpLeVdiNUFyUVRVM0VwRG1heDZvRFhOeWdHMwppM0FjSlpLSWs5Q0RUUDM2RFB3a1luSWIxTXlWMlVzSzVsVG85RG9GRGIwbHdrZUt4UTZsNDRTa3NiRS9McjB1CnFTUHA1d0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVyRHhvYTF0UzR4WUIrUFkwQkZEYWtpSUtFeVV3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFIekx5ZkZROFdzMExaalRwbXZHQmtrdk05bnNhNkZma0FkL2RabmhIVFV0Wll0WUkyNXUrMEFTCkVxVlBrZmxMaS92NlBNWlYrazlzbk4rRTJWTlliYmh4S2txdUJBM1NoVi9PYURSTHFITnlsZHBVMFlZSmZPSkwKZHZTRzhiMHBMcEo1VVA4T0owbmFJWHdiV2o3UTU4NEFqVkVDNXdSMHBMOXdleHFjOThXckRmNUR6ODVkRDhCUgpIZ2pITklPRThEVG1HZTQ0UGlxUktzY3B6SkxuQSs1MmFxenNFNmsvSmJiOUlWcVJ3eFdHY2ErVXprKzN0SjBpClg2SXhzdytsbENYU0VSRXMwWDdDQVA5YmNTT3IvWk1HMG9QTnNZK1BsVDlLcTI3ajUxQk5rcUQyVy8rbjdNemIKNDhHOWt1N0pvLzlld3E5RDlmd1VXbis0S1dYWHNSVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
19+
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBOFpEZ012OVlrNGNFelByWERYY2FOd3ZlRHBSTEhVcDQ4RjhRSmRYemRuT3JFZlYvCnRCOEg4VC9xTkdRUlJJcXNnYW1TcnNEckdFZm0rN3FPaXVPTnBsVjhSWFZQWnZseWlOU0tyMmxCTjBySDFpa3QKRTdLeU56YmR6aGUxTVNrNXJDMlJja04wRC8zb0FJOEVUSUx4dnF0Y0VXWUJLc1hkaDl3YmVCS2M2ZHp2MHM5ZApZWTVWTGN3T3l6N0FBMTFFWFpudlhmZjFBOCt5VzNPaDFMS1g1aTBUTUhzd2Q3OWZBTkRoUEROOTRvN0RlaFh3CmpDSWZkakt5V2I1QXJRVFUzRXBEbWF4Nm9EWE55Z0czaTNBY0paS0lrOUNEVFAzNkRQd2tZbkliMU15VjJVc0sKNWxUbzlEb0ZEYjBsd2tlS3hRNmw0NFNrc2JFL0xyMHVxU1BwNXdJREFRQUJBb0lCQUY4eGVraGVlNmRYVTdyNwpObmZsOFh5enZvUDhTRVY0cllQNzBqODJ1c1I0L0hjTlNZL1BrcSt0UWp2M0d4N3BqdVZoejUzeUJETURVckRzCmFYT3VESW41c2drbEcyODI2YjJtRkNqZno0VmNnTGVTYm1NT3psQVgzUHgwTjBEeVAvbnIweDgyR2F5Ym9DdG8KTUlkK0tvbTZ1WU5ac1NnTDVTcSt3RXhtK1ZMbXE4TWwwS2l6Y2ZqcDJ0cVE2NmwvV1dSQm9kSTdrdmI5cXN3MwpPbGp5bEJwUVFzMHNQRitiMldhcThLZjNHSllaSmNOS0piTzVxa3p6MCtXNklPYzVrbE9YSjU5Zy9PQ05LMEhyCmxqWEdSMDdOWFJSV2Nla3NJT1ZUSmVOb0hxaHFoTy93djhxd2lET1dMZkUvczdEeS9yQjVYdit1ajRQdXo3YXkKTXRta2VNRUNnWUVBLzFhUS9HTmJyOGtGNmlLWVhwS2UxZmFBYnVrV0pYc01kekxTZURMSXYzQTVSbDBjR1hLbQpRc1hyMExWWXZsQjdndTlCZDNSeXBFSmM5NFZlSmduOWdEU2NTa05VSGVkWHVlVlRLeDI4Tk1WeGJ4UGswQUJYCm1MT28xWVgvU2I2V2NtVTkra0IvTzhEWDE2ZXN5ei9Kc1NpazdhS3c1YWUrVVBrNitaUHJpdmNDZ1lFQThqRXIKcjVMMnBpUzRuL2RNUVFXOUNPSUdNUVRxcEFoWmxmcGx2ZGVoUnBSbVlLQmtJVVZlVkVBVjVuTCtDQVRpWW9tdQpWdm1ZOEtPNXpzdzZJZ20zbzRIYjBTKzRWUmdXSC9TMlBVWVJXUm5JbWlDTUpEbnZTNzYvNWJRMEp6clJDWmpVCldURm1PMFB1LzdVd1hKQ28zN1BZY283WHdrUDBINTRsVDk0MmJKRUNnWUFpUXlGdFhIKy9GTUJnYklmNW1MOEwKZ3VvMDk3M3JCWm5rbk1NMU1jdFNOT0xhbUQvZkFrMWhCR0hpUFpOTTVrdk1oQUpLM3l0SzgwUzZTZ0VhSlprSQpqUWF6eUZrUE1pM0pXZ1pROE1xQ1lrUVlYWmtFZUNkSTdFS3BkRE9QVjYya2FBVnJBU0NSaWd6c2VTbHNsSUNoCjd3eENmdVF4ek5KeTF4NmN3c2FHZlFLQmdFYTJvcG0xNER3c1ZwZW1QZVp5UlhwVmZCZE41ekNUbTR5VnVxVU8KVTNGbkhPa3ppMmpIZHo1RUkrRFFUR21NKzRobnlMWnVWQUJXM1lhS3pLSnBrZXUwbTdqZEpRWDdiV0pSTWZCOApCODZySDQ0WTJMSXZGRFphY0c4aUNXUTI0UmZiUG96NFJuQWhhcVBRaEZsU2gyd2hkNTRqSk0zOHgwZUFCa2JtCmk1OXhBb0dCQUxpZmh3T0xpYTBndVdad0FUQlVXOThucTFMUDlLbVVTbzFWTFNBY2RNeEhLVU9uRmU4MG1qd08KZTU3NGsrSnlUc3VFa2NLckl1dG5TQmRUdjIramQ1aWN3Tk1MdFdyN0c3RUUrV1JiRlVOT3phNkNYWUlFeVZ3bwpTeUZWaHA5eXZDcFhTSUthV2JPQ2EwSHMrRGZ0K25BNWNETzZXUFJ1cmphVm9tMmxvNXN5Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
20+

0 commit comments

Comments
 (0)