The DKAM stands for Dynamic Kit Adaptation Module is a component in the Edge Infrastructure Manager, responsible for onboarding edge nodes with curated sets of bare metal agents and software that can support deployment of other apps. It prepares artifacts like iPXE and HookOS used for onboarding.
- Secure Boot support: Generate signing keys to enroll inside UEFI BIOS Secure Boot Settings
- iPXE build support: Build iPXE binary, inject orchestrator certificate and sign the binary for secure boot.
- HookOS Configurations: Download prebuilt HookOS, inject certificates and required configurations and sign the image.
Instructions on how to install and set up the DKAM on your machine.
This code requires the following tools to be installed on your development machine:
- Go* programming language - check $GOVERSION_REQ
- golangci-lint - check $GOLINTVERSION_REQ
Build the project as follows:
# Build go binary
make buildThe binary is installed in the $OUT_DIR folder.
To learn how to contribute to the project, see the contributor's guide The project will accept contributions through Pull-Requests (PRs). PRs must be built successfully by the CI pipeline, pass linters verifications and the unit tests.
There are several convenience make targets to support developer activities,
you can use help to see a list of makefile targets.
The following is a list of makefile targets that support developer activities:
-
generateto generate the database schema, Go code, and the Python binding from the protobuf definition of the APIs -
lintto run a list of linting targets -
mdlintto run linting of this file. -
testto run the unit test -
go-tidyto update the Go dependencies and regenerate thego.sumfile -
buildto build the project and generate executable files -
docker-buildto build the Inventory Docker container -
For more information on how to onboard an edge node, refer to the user guide on onboarding an edge node.
-
To get started, check out the user guide.
-
For the infrastructure manager development guide, visit the infrastructure manager development guide.
-
If you are contributing, please read the contributors guide.
-
For troubleshooting, see the troubleshooting guide.
Last Updated Date: February 7, 2025