debugd/

directory
v2.15.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2024 License: AGPL-3.0

README

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 apply as usual.

Build cdbg

The cdbg tool is part of the //:devbuild target, if you follow the generic build instructions at build-develop-deploy.

If you need to build cdbg standalone for your current platform, you can run

bazel build //debugd/cmd/cdbg:cdbg_host

debugd & cdbg usage

Follow the debug-cluster workflow to deploy a bootstrapper with cdbg and debugd.

Logcollection to Opensearch

You can enable the logcollection of debugd to send logs to Opensearch.

On Azure, ensure your user assigned identity has the Key Vault Secrets User role assigned on the key vault opensearch-creds.

On AWS, attach the SecretManagerE2E policy to your control-plane and worker node role.

When deploying with cdbg, enable by setting the logcollect=true and your name logcollect.admin=yourname.

./cdbg deploy --info logcollect=true,logcollect.admin=yourname

# OR

./cdbg deploy --info logcollect=true --info logcollect.admin=yourname

Other available fields can be found in the filed list

For QEMU, the credentials for Opensearch must be parsed via the info flag as well:

./cdbg deploy \
    --info logcollect=true \
    --info logcollect.admin=yourname \
    --info qemu.opensearch-pw='xxxxxxx'

Remember to use single quotes for the password.

You will also need to increase the memory size of QEMU to 4GB.

Directories

Path Synopsis
cmd
internal
cdbg/cmd
Package cmd contains the cdbg CLI.
Package cmd contains the cdbg CLI.
debugd
Package debugd contains internal packages for the debugd.
Package debugd contains internal packages for the debugd.
debugd/deploy
Package deploy implements deployment of binaries and services to a Constellation instance.
Package deploy implements deployment of binaries and services to a Constellation instance.
debugd/info
Package info implements the info map that is used to distribute key–value pair between debugd instances.
Package info implements the info map that is used to distribute key–value pair between debugd instances.
debugd/metadata
Package metadata schedules the discovery of other debugd instances to exchange settings and binaries.
Package metadata schedules the discovery of other debugd instances to exchange settings and binaries.
debugd/metadata/cloudprovider
Package cloudprovider implements a metadata service for cloud providers.
Package cloudprovider implements a metadata service for cloud providers.
debugd/metadata/fallback
Package fallback implements a fake metadata backend.
Package fallback implements a fake metadata backend.
debugd/server
Package server implements the gRPC endpoint of Constellation's debugd.
Package server implements the gRPC endpoint of Constellation's debugd.
filetransfer
Package filetransfer implements the exchange of files between cdgb <-> debugd and between debugd <-> debugd pairs.
Package filetransfer implements the exchange of files between cdgb <-> debugd and between debugd <-> debugd pairs.
filetransfer/streamer
Package streamer implements streaming of files over gRPC.
Package streamer implements streaming of files over gRPC.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL