This sub-repository contains the Lenovo® Open Cloud Automation (LOC-A) Metadata Manager implementation for Edge Infrastructure Manager. It ensures the synchronization of locations metadata between LOC-A and the Edge Infrastructure Manager.
- Keep LOC-A and the Edge Infrastructure Manager in sync by adding and removing sites information in LOC-A
- Create/Update/Delete Orchestrator Cloud Service in 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 Metadata 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
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 the LOC-A Metadata 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 Metadata Manager unit testgo-tidyto update the Go dependencies and regenerate thego.sumfilebuildto build the project and generate executable filesdocker-buildto build the LOC-A Metadata Manager Docker container
To learn more about internals and software architecture, see Edge Infrastructure Manager developer documentation.