constellation/debugd
Paul Meyer 56beb05170 debugd: implement qemu log collection
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2022-11-30 16:26:25 +01:00
..
cmd debugd: add logcollector 2022-11-30 16:26:25 +01:00
internal debugd: implement qemu log collection 2022-11-30 16:26:25 +01:00
service debugd: sent info from cdbg to debugd 2022-11-30 16:26:25 +01:00
README.md Add hack script to locate latest debug image 2022-11-18 12:08:34 +01:00

debug daemon (debugd)

Debugd is a tool we built to allow for shorter iteration cycles during development. The debugd gets embedded into OS images at the place where the bootstrapper normally sits. Therefore, when a debug image is started, the debugd starts executing instead of the bootstrapper. The debugd will then wait for a request from the cdbg tool to upload a bootstrapper binary. Once the upload is finished debugd will start the bootstrapper. Subsequently you can initialize your cluster with constellation init as usual.

Build cdbg

mkdir -p build
cmake ..
make cdbg

debugd & cdbg usage

Before continuing, remeber to set up your cloud credentials for the CLI to work.

With cdbg and yq installed in your path:

  1. Run constellation config generate to create a new default configuration

  2. Locate the latest debugd images by running hack/find-image/find-image.sh

  3. Modify the constellation-conf.yaml to use an image with the debugd already included and add required firewall rules:

    # Set full reference of cloud provider image name
    export IMAGE_URI=
    
    yq -i \
        "(.provider | select(. | has(\"azure\")).azure.image) = \"${IMAGE_URI}\"" \
         constellation-conf.yaml
    yq -i \
        "(.provider | select(. | has(\"gcp\")).gcp.image) = \"${IMAGE_URI}\"" \
        constellation-conf.yaml
    
    yq -i \
        "(.debugCluster) = true" \
        constellation-conf.yaml
    
  4. Run constellation create […]

  5. Run ./cdbg deploy

    By default, cdbg searches for the bootstrapper in the current path (./bootstrapper). You can define a custom path by appending the argument --bootstrapper <path to bootstrapper> to cdbg deploy.

  6. Run constellation init […] as usual

debugd images

For a full list of image naming conventions and how to retreive them check image version documentation