constellation/dev-docs/workflows/debug-cluster.md
Adrian Stobbe c39df2f7da
terraform: openstack node groups (#1966)
* openstack

* rename to base_name

* fix openstack boot vtpm

* add docs for accessing bootstrapper logs

* rename to initial count
2023-07-03 16:33:00 +02:00

58 lines
1.5 KiB
Markdown

# Debug cluster
A debug cluster allows quicker iteration cycles during development by being able to upload new bootstrapper binaries through the `cdbg` tool.
Furthermore, a debug cluster allows you to access the bootstrapper logs through the cloud providers serial console.
## Creating a debug cluster
After building (see [here](./build-develop-deploy.md#build)), you can find all CLIs and binaries in the `build` directory.
The cluster creation mostly follows the [official docs instructions](https://docs.edgeless.systems/constellation/getting-started/first-steps), but varies slightly in the following steps:
`./constellation config generate <CSP>`
by default uses the referenced nightly image.
To replace them with the latest debug image, run
```sh
bazel run //internal/api/versionsapi/cli -- latest --ref main --stream debug
```
to fetch the latest version and insert in the `image` field of the config file.
Before cluster creation you need to configure the cluster as debug.
Set `debugCluster: true` in the config:
```sh
yq eval -i '.debugCluster=true' constellation-conf.yaml
```
Fetch measurements for the debug image:
```sh
./constellation config fetch-measurements --insecure
```
Create the cluster and deploy the debug images:
```sh
./constellation create ...
```
```sh
./cdbg deploy
```
Finally run:
```sh
./constellation init
```
## Access bootstrapper logs
Once logged in to the control-plane machine, execute:
```sh
journalctl -fu constellation-bootstrapper
```