-
Feature
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
BU Product Work
-
False
-
-
False
-
100% To Do, 0% In Progress, 0% Done
-
0
Feature Overview (aka. Goal Summary)
oc-mirror v2 allows users to specify the desired object name for the generated CatalogSource YAML manifest.
Goals (aka. expected user outcomes)
oc-mirror v2 allows users to customize the name of the CatalogSource object by providing a desired name in the configuration file.
The tool will then generate a CatalogSource YAML manifest with the specified object name, ready to be deployed to the cluster.
Background
Many customers rely on automation to set up image mirroring in disconnected environments. The naming convention of the CatalogSource object, introduced in OCPBUGS-13332, impacted some customers' automation flows using OpenShift GitOps. This is because the added "cs-" prefix to the generated CatalogSource object names disrupted their existing workflows for managing operator lifecycles, from mirroring operator catalogs to creating Subscription objects.
By allowing users to customize the CatalogSource object name in the configuration file, oc-mirror v2 enhances flexibility and simplifies automation. This enables customers to maintain their original GitOps workflows without additional modifications and helps accelerate the migration from oc-mirror v1 to v2.
Requirements (aka. Acceptance Criteria):
- CatalogSource naming configuration:
- Support specifying the desired CatalogSource object name with an optional new field in the ImageSetConfiguration file.
- Validate the provided name to ensure it adheres to Kubernetes naming conventions.
- CatalogSource YAML generation:
- Generate the CatalogSource YAML manifest with the specified object name.
- Ensure the generated manifest is valid and conforms to the Kubernetes API.
- Error handling:
- Provide error messages if the specified name is invalid or if there are issues generating the manifest.
Documentation Considerations
- CatalogSource naming configuration:
-
- Step-by-step guide on configuring the CatalogSource name with examples.
- Emphasize that the provided name must comply with Kubernetes naming conventions.