This library is a collection of Go language packages that are used to build the Orchestrator.
The library includes common functionality that is used across many of the components of the Orchestrator, such as: Application Catalog, App Deployment Manager, Tenant Controller, and Cluster Manager.
Please see the go/pkg directory for the list of packages that are included in the library, and see the go/README document for more details.
To include the library in your project, import the required package as a Go module into your Go code:
import "github.com/open-edge-platform/orch-library/go/pkg/auth"
To add a new package to the library, create a new directory in the go/pkg
directory and add the Go code to the
directory. Add unit tests for your new Go code. Do not duplicate code that is already in the library.
If you wish to enhance an existing package, please open a pull request with your changes.
This code requires the following tools to be installed on your development machine:
- Go* programming language
- golangci-lint
- Python* programming language version 3.10 or later
- buf
- protoc-gen-doc
- protoc-gen-go-grpc
- protoc-gen-go
Below are some of important make targets which developer should be aware about.
Build the component binary as follows:
make build
Run unit tests are run for each PR and developer can run unit tests locally as follows:
make test
Linter checks are run for each PR and developer can run linter check locally as follows:
make lint
License checks are run for each PR and developer can run license check locally as follows:
make license
We welcome contributions from the community! To contribute, please open a pull request to have your changes reviewed
and merged into the main
branch. We encourage you to add appropriate unit tests and end-to-end tests if
your contribution introduces a new feature. See Contributor Guide for information on how to contribute to the project.
To learn more about the project, its community, and governance, visit the Edge Orchestrator Community. For support, start with Troubleshooting or contact us.
Orchestration Library is licensed under Apache 2.0 License.