Building from Source with buildall#

The Edge Manageability Framework repo includes a buildall automation that can perform a rebuild of all of the Helm* chart and Docker* container image artifacts required to deploy the Edge Orchestrator from source code found in the Open Edge Platform Git* repos.

This is useful in the following cases:

  • You want to build all charts and images from source, because you can’t or do not want to make use of pre-built artifacts or the output of the CI system. In this case, the buildall automation will recreate the build steps that are achieved by CI.

  • You want to test a changes in build tooling (for example, Helm or Docker) across the entire Edge Orchestrator.

For the following tasks, buildall is not the recommended process:

  • Performing development tasks within one or a few repos, with the intention of contributing those changes back to the project. Obtaining Code and Contributing Changes describes the process required to make changes to one or a few repos, and contributing them back.

Note

Only charts and images created from the open-edge-platform repos are built using buildall. Any artifacts provided by 3rd parties are pulled from the 3rd party chart and container registries during installation.

Requirements#

Please see the buildall README.md for requirements for running the buildall automation.

Deploying the Edge Orchestrator with buildall generated artifacts#

Once all the charts and container artifacts have been generated by running buildall, they must be pushed to a registry that follows the OCI distribution spec. As managing a registry within an organization is an involved process (managing access permissions, storage, maintenance, etc), this means interacting with a registry can differ greatly between organizations. Therefore, the steps required to push buildall artifacts to the registry are left as an exercise to the user.

Once the charts and containers are pushed, when installing the Edge Orchestrator, the registry address can be configured as a part of the ArgoCD configuration (see also Extensibility).

This is done by creating a YAML profile in the orch-configs/profiles/ . An example of the configuration can be found in the default profile (which points to the Intel artifact release service): artifact-rs-production-noauth.yaml

Performance#

For the 3.0 release, performing a buildall was measured to complete in the following times in VMs with the following resources:

  • 16-core, 64 GB of RAM on an Intel® Xeon® platform: 23 minutes

  • 8-core, 32 GB of RAM on an Intel® Xeon® platform: 44 minutes

  • 6-core, 12 GB of RAM on a Intel® Core™ i9 processor: 52 minutes