During the last months, I’ve been working with my colleagues on setting up a workflow that can be used to deploy Spoke clusters in an automated way.

More or less, the idea behind this is that a cluster is configured via a set of configuration files and templates so that the required components are installed:

  • Advanced Cluster Management (ACM)
  • Quay registry
  • OpenShift Data Foundation
  • OpenShift Pipelines (a.k.a. Tekton)
  • etc

Once the system was configured, it would become a ‘Hub’, and from it, several ‘Spokes’ could be deployed using ACM, getting them configured in the process to become a cluster suitable for fully-disconnected operation.

When we first started, the approach was to use GitHub Actions Runner on our local system(a beefed hypervisor) until we could get hands on physical hardware, but during part of the development, it was decided to use OpenShift Pipelines, to provide an integrated experience for the final users.

We’re working on this repo: https://github.com/rh-ecosystem-edge/ztp-pipeline-relocatable where we’re putting both the scripts, manifests and the documentation for the whole process.

At this point, we’re using the following technologies:

  • OpenShift
  • OpenShift Pipelines (Tekton)
  • Advanced Cluster Management (ACM)
  • Quay registry

This enables us to automate the deployment on top of an installed OpenShift with defined PVCs, all the required components are installed, and a mirror registry is created and configured, so that it’s used, via ICSPs as the source for any other image and Spokes installation.

With a new feature in ACM, those Spokes can become disconnected, and then, an as an individual entity, can later be ‘adopted’ by another ACM instance for doing maintenance, opening a whole range of usage.

You can learn more about the details in our repository.

Enjoy!