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
Copy file name to clipboardExpand all lines: docs/development/dev_setup.md
+48-21Lines changed: 48 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ graph TD
21
21
22
22
### Run the local test suite
23
23
24
-
The local test suite can be run via
24
+
The local test suite can be run via
25
25
26
26
```shell
27
27
make test
@@ -53,6 +53,7 @@ make tilt-up
53
53
```
54
54
55
55
This `Makefile` directive will:
56
+
56
57
- create a local Kind cluster with local registry
57
58
- install cert-manager
58
59
- install [boot-operator](https://github.com/ironcore-dev/boot-operator) to reconcile the `ServerBootConfiguration` CRD
@@ -78,7 +79,9 @@ By default, Tilt runs against a local Redfish mock server. To point the environm
78
79
79
80
#### Prerequisites: Claim the server on its origin cluster
80
81
81
-
Before pointing your local environment at a real BMC, ensure the server is not being reconciled by another metal-operator instance. On the cluster that originally owns the server, create a `ServerMaintenance` to claim it and power it off:
82
+
Before pointing your local environment at a real BMC, ensure the server is not in use in other deployments or being reconciled by another metal-operator instance as this may cause conflicts on controlling the server.
83
+
84
+
For metal-operator deployments, on the cluster that originally owns the server, create a `ServerMaintenance` to claim it and power it off:
The manager defaults to `--insecure=true`, which uses plain HTTP. For a real BMC on port 443, set `--insecure=false` in the `Tiltfile` to use HTTPS instead:
155
+
The manager defaults to `--insecure=true`, which uses plain HTTP. This is fine for the default mock server but may not work for real servers. Make sure to adapt this to the target if necessary. E.g. for a real BMC that uses HTTPS on port 443, set `--insecure=false` in the `Tiltfile`:
153
156
154
157
```python
155
158
settings = {
@@ -162,42 +165,66 @@ settings = {
162
165
}
163
166
```
164
167
165
-
#### 4. Claim the server with a ServerMaintenance
168
+
#### 4. Start Tilt and verify
169
+
170
+
Start the environment:
171
+
172
+
```shell
173
+
make tilt-up
174
+
```
175
+
176
+
Once the manager is running, apply the `BMCSecret` to the local Kind cluster (it is not part of the kustomize config and must be applied manually):
166
177
167
-
Once the `Server` resource has been discovered and is `Available`, create a `ServerMaintenance` to claim it for local development. This prevents the server from being allocated by other consumers and powers it off:
The metal-operator will pick up the `BMC` resource, connect to the remote hardware, and create a matching `Server` resource. Watch the resources come up:
198
+
199
+
```shell
200
+
kubectl get bmc -w
201
+
kubectl get server -w
202
+
```
203
+
204
+
You can monitor the manager logs to verify the connection succeeds:
To get a shell-accessible manager image with `curl` and `ca-certificates` (useful for diagnosing BMC connectivity), switch the Tilt build target to `manager-debug`:
0 commit comments