Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 2.15 KB

LIFECYCLE.adoc

File metadata and controls

35 lines (26 loc) · 2.15 KB

Lifecycle of this Operator

Configuration

CI uses the following Actions Secrets in this repository:

  • OCP_SERVER

  • OCP_USERNAME

  • OCP_PASSWORD

  • QUAY_USERNAME

  • QUAY_PASSWORD

Testing

Changes to this operator should be accompanied by a version increment in hack/operate.conf. To request a change, open a PR against the main branch. This will trigger a unit test (GH Actions) that performs the following:

  1. Ansible Lint

  2. Build the operator image from this Dockerfile, and push it to quay.io with the tag quay.io/redhatgov/ploigos-operator:test.

  3. Deploy CRDs, RBAC, and operator deployment from the config directory into the cluster in the ploigos-operator-system namespace using kustomize.

  4. Create a PloigosPlatform with default configuration (Jenkins for Continuous Integration, Nexus for a Container Registry, and SSO disabled), and ensure that the object reconciles successfully.

  5. Delete the PloigosPlatform, operator objects, and associated namespace.

In future, it would be great to expand this to do things like:

  • Create a PloigosPipeline, and verify that the pipeline completes successfully

  • Test an SSO-enabled environment

  • Test alternative tool chains (using Quay or Tekton) in different combinations

  • Test external services

Release

Once PRs are merged into main, the release workflow is initiated, which does the following:

  1. Build the operator image with the name and tag indicated by hack/operate.conf (e.g. quay.io/redhatgov/ploigos-operator:0.21.0), and push it to quay

  2. Construct the operator bundle image (quay.io/redhatgov/ploigos-operator-bundle:0.21.0), and push it to quay

Packaging

Once the release workflow has completed, open a PR against the RedHatGov Operator Catalog so that the release bundle can be installed through OLM as indicated in the Quick Start Guide.