-
Epic
-
Resolution: Unresolved
-
Major
-
None
-
None
-
Add native support for Argo CD 3.1 features in GitOps Operator
-
S
-
False
-
-
False
-
-
In Progress
-
GITOPS-9001 - Update Argo CD in OpenShift GitOps
-
-
Epic Goal
- Provide native support of latest features, improvements and bug fixes available in upstream Argo CD v3.1 version to be available as part of OpenShift GitOps product,
- newest features, bug fixes and enhancements added as part of Argo CD v3.1 must be made available for OpenShift GitOps customers.
Why is this important?
For every y-stream release of OpenShift GitOps, we uptake the latest version of upstream Argo CD. For 1.18.0 release, we expect to package the upstream Argo CD v3.1.0 which contains several new features like OCI support, promotor pattern, Bitbucket Mono repo support etc. which many OpenShift GitOps customers are interested as well. If any native support needs to be provided in Argo CD Operator in order to improve the user experience, those needs to be done as part of this epic too.
Some of the major features included as part of Argo CD v3.1 are as follows:
- Helm upgrade to 3.18.3
- Kustomize upgrade to 5.7.0
- OCI artifact support (Beta)
- Bitbucket support for mono-repos (RFE) (
GITOPS-5431) - Source Hydrator/Promotor feature.
- Field for explicitly setting automatedSync in Application. (RFE)
- Plugin support for Argo CD CLI
- UI changes for ApplicationSet progressive syncs
- Newly added Health Checks and resource customizations.
Scenarios
- Ensure that the build time dependencies like go toolset, 3rd party dependencies like helm, kustomize redis, dex etc required for building and running Argo CD is made available in the Konflux build systems.
- Ensure that the latest version of CRDs are packaged along with OpenShift GitOps product bundle.
- Identify any backwards incompatible changes between the previous release and the current release i.e Argo CD 3.0 and Argo CD 3.1 and prepare and an action plan to mitigate the impact. Add stories for each such backwards incompatible changes.
- E2E tests for upstream Argo CD v3.1 must pass with the downstream build of OpenShift GitOps 1.18.0
- Ensure that the documentation for the latest features are available as part of the OpenShift GitOps product documentation.
SDLC Questionnaire
| S.No | Questions | Yes/No | Sample JIRA Epic |
|---|---|---|---|
| 1 | Does this Epic address a change in way the product is being used? (eg: Adding support for OpenShift GitOps to be used in ROSA cluster with HCP) | Yes/No | GITOPS-5223 |
| 2 | Does this Epic require a change in the application's runtime - Upgrade of operator-sdk, OLM, client-go, go-toolset ? | Yes/No | GITOPS-8104 |
| 3 | Does this Epic primarily dealing with introducing a new security related feature (eg: Introduce SSO support) | Yes/No | GITOPS-437, GITOPS-547 |
| 4 | Does this Epic primarily dealing with the modification of an existing security feature ? (Eg: Supporting of External Authentication for SSO) | Yes/No | GITOPS-8017 |
| 5 | Does this Epic require changes to any cryptographic library ( Eg: FIPS support for OpenShift GitOps) | Yes/No | |
| 6 | Does this Epic require any new or change in the existing cryptographic algorithms used in the product (Eg: Using GPG verification for manifests, Upgrading from SHA256 to SHA512) | Yes/No | |
| 7 | Does this Epic require any change in existing authentication mechanisms (eg: Argo CD Auth integration with OpenShift, Kerberos to OAuth) | Yes/No | GITOPS-437 GITOPS-547 |
| 8 | Does this Epic require any change in authorisation mechanism (Eg: Using RBAC and service accounts impersonation for App Sync) | Yes/No | |
| 9 | Does this Epic require a change in the Communication protocol ( Eg: Using TLS to encrypt data traffic to/from Redis cache) | Yes/No | GITOPS-720 |
| 10 | Does this Epic require a change in how External Data is parsed and validated ? ( Eg: Change from JSON to Protobuf) | Yes/No | |
| 11 | Does this Epic require a change in core libraries or runtime (Eg: go compiler upgrade, Changing Operator SDK, controller-runtime, client-go versions) | Yes/No | |
| 12 | Does this Epic require exposing any internal service to internet (Eg: Allow exposing Argo CD Agent principal via Route, using ArgoCD CR) | Yes/No | |
| 13 | Does this Epic require a change in any existing gRPC service APIs | Yes/No | |
| 14 | Does this Epic require a change in any new external service (Eg: Support for OCI container registry for storing manifests) | Yes/No | |
| 15 | Does this Epic require a change in the tenancy model ? (Eg: Supporting Apps/Appsets in Any namespace, cluster and repo credentials in any namespace) | Yes/No | |
| 16 | Does this Epic require any addition/modification of RBAC resources (Service Account, Role, RoleBinding, ClusterRole, ClusterRoleBinding) ? | Yes/No | |
| 17 | Does this Epic require a feature that needs to be enabled only for cluster scoped Argo CD instances ? | Yes/No |
Acceptance Criteria (Mandatory)
- CI - MUST be running successfully with tests automated
- Release Technical Enablement - Provide necessary release enablement details and documents.
- ...
Dependencies (internal and external)
- ...
Previous Work (Optional):
- …
Open questions::
- …
Done Checklist
- Acceptance criteria are met
- Non-functional properties of the Feature have been validated (such as performance, resource, UX, security or privacy aspects)
- User Journey automation is delivered
- Support and SRE teams are provided with enough skills to support the feature in production environment