This sub-repository contains the Lenovo® Open Cloud Automation (LOC-A) Onboarding Manager implementation for Edge Infrastructure Manager. It ensures the syncronization of Host and Instances between LOC-A and the Edge Infrastructure Manager.
- Import Hosts and Instances from LOC-A Inventory into Edge Infrastructure Manager
- Offboard Hosts and Instances by translating User intents into command executed on LOC-A
- Flexible deployments that span from a standalone binary to container-based orchestrations
Instructions on how to install and set up the LOC-A Onboarding Manager on your development machine.
Firstly, please verify that all dependencies have been installed.
# Return errors if any dependency is missing
make dependency-checkThis code requires the following tools to be installed on your development machine:
- Go* programming language - check $GOVERSION_REQ
- golangci-lint - check $GOLINTVERSION_REQ
- go-junit-report - check $GOJUNITREPORTVERSION_REQ
- gocover-cobertura - check $GOCOBERTURAVERSION_REQ
- swagger - check $GOCOBERTURAVERSION_REQ
You can install Go dependencies by running make go-dependency.
Build the project as follows:
# Build go binary
make buildThe binary is installed in the $OUT_DIR folder.
NOTE: This guide shows how to deploy LOC-A Onboarding Manager for local development or testing. For production deployments use the Edge Infrastructure Manager charts.
make run
# Or
make go-runSee the documentation if you want to learn more about using Edge Orchestrator.
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:
lintto run a list of linting targetstestto run the LOC-A Onboarding Manager unit testgo-tidyto update the Go dependencies and regenerate thego.sumfilebuildto build the project and generate executable filesdocker-buildto build the LOC-A Onboarding Manager Docker container
See the docs for advanced development topics:
To learn more about internals and software architecture, see Edge Infrastructure Manager developer documentation.