-
Epic
-
Resolution: Done
-
Major
-
None
-
Argo CD Agent: Agent and principal should integrate with opentelemetry
-
XL
-
False
-
-
False
-
To Do
-
0% To Do, 0% In Progress, 100% Done
-
-
Epic Goal
- See https://github.com/argoproj-labs/argocd-agent/issues/119 for upstream description
- Slack thread containing my (jonathan) brief initial investigation: https://redhat-internal.slack.com/archives/C01RQH8KQ87/p1762189141681809?thread_ts=1762186008.219379&cid=C01RQH8KQ87
- High level sketch of the work required, would be:
- 1) Enabling opentelemetry in argo cd agent (probably by following upstream argo cd, see thread for links)
- 2) Determining what kind of data we want to generate from it. (I assume trace data, which is what Argo CD generates, but Jann seem non-committal?)
- 3) Generating that data (for example, Argo CD generates data by instrumenting grpc calls)
- 4) Manually test that the data is received as expected by opentelemetry (probably by sending it to red hat opentelemetry operator)
More Information on open telemetry:
- https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html-single/red_hat_build_of_opentelemetry/index#otel-collector-receivers
- https://www.youtube.com/watch?v=9kJbXXBvnrA
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 |
Definition of Ready
- The epic has been broken down into stories.
- Stories have been scoped.
- The epic has been stack ranked.
Definition of Done
- Code Complete:
- All code has been written, reviewed, and approved.
- Tested:
- Unit tests have been written and passed.
- Integration tests have been completed.
- System tests have been conducted, and all critical bugs have been fixed.
- Tested on OpenShift either upstream or downstream on a local build.
- Documentation:
- User documentation or release notes have been written.
- Build:
- Code has been successfully built and integrated into the main repository / project.
- Review:
- Code has been peer-reviewed and meets coding standards.
- All acceptance criteria defined in the user story have been met.
- Tested by reviewer on OpenShift.
- Deployment:
- The feature has been deployed on OpenShift cluster for testing.
- Acceptance:
- Product Manager or stakeholder has reviewed and accepted the work.