You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Out of tree (controller based) implementation for `STACKIT` as a provider for Gardener.
6
6
7
-
A Machine Controller Manager (MCM) external provider implementation for STACKIT cloud infrastructure. This provider enables Gardener to manage virtual machines on STACKIT using the declarative Kubernetes API.
7
+
A Machine Controller Manager (MCM) provider implementation for STACKIT cloud infrastructure. This provider enables Gardener to manage virtual machines on STACKIT using the declarative Kubernetes API.
8
8
9
9
The provider was built following the [MCM provider development guidelines](https://github.com/gardener/machine-controller-manager/blob/master/docs/development/cp_support_new.md) and bootstrapped from the [sample provider template](https://github.com/gardener/machine-controller-manager-provider-sampleprovider).
For detailed information on all available configuration fields, see the [MachineClass documentation](./docs/machine-class.md).
43
+
44
+
## Local Testing & Development
45
+
46
+
Local development runs the provider and MCM against a real Gardener shoot on STACKIT (local kind cluster is not suitable). Follow the steps in the [local development guide](./docs/development.md).
47
+
48
+
Use the Makefile targets for testing:
51
49
52
50
```sh
53
-
kubectl apply -f samples/secret.yaml
54
-
kubectl apply -f samples/machine-class.yaml
55
-
kubectl apply -f samples/machine.yaml
51
+
# Run tests
52
+
make test
53
+
54
+
# Verify code formatting and run all checks
55
+
make verify
56
+
57
+
# Format code
58
+
make fmt
59
+
60
+
# Build container image
61
+
make image
56
62
```
57
63
58
64
## STACKIT SDK Integration
@@ -65,13 +71,11 @@ Each provider instance is bound to a single STACKIT project via the service acco
65
71
66
72
The provider requires STACKIT credentials to be provided via a Kubernetes Secret. The Secret must contain the following fields:
|`serviceaccount.json`| Yes | STACKIT service account credentials (JSON format) |
78
+
|`userData`| No | Default cloud-init user data (can be overridden in ProviderSpec) |
75
79
76
80
The service account key should be obtained from the STACKIT Portal (Project Settings → Service Accounts → Create Key) and contains JWT credentials and a private key for secure authentication.
77
81
@@ -81,46 +85,14 @@ The service account key should be obtained from the STACKIT Portal (Project Sett
81
85
82
86
The provider supports the following environment variables for configuration:
|`STACKIT_NO_AUTH`|`false`| Skip authentication (for testing with mock servers, set to `true`) |
88
93
89
94
**Note:**`STACKIT_NO_AUTH=true` is only intended for testing environments with mock servers. It skips the authenticaiton step and communicates with the STACKIT API without authenticating itself. Do not use in production.
0 commit comments