-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
13
-
False
-
None
-
False
-
SECFLOWOTL-172 - Improve performance and reduce footprint of OpenShift GitOps
-
-
-
GitOps Crimson - Sprint 3265, GitOps Crimson - Sprint 3266
Story (Required)
Kubectl Graph is an upstream project that can find dependencies between kubernetes objects and output it as a Graph object with Nodes and Relationships Between them. It does not support Argo Resources yet. The goal of this story is to make changes in the project to support Argo Resources
Sketch of work
- Fork the kubectl-graph project https://github.com/steveteuber/kubectl-graph
- Under pkg/graph directory, create a go file called argocd.go which contains functions for handling ArgoCD resources - AppProject, Application, ApplicationSets.
- Create a constructor function `NewApplicationV1alpha1Graph` which will construct a Graph for ArgoCD resources.
- Create a Discovery Client to loop through all available objects in the kubernetes cluster.
- For each object. Check the tracking id annotation or the label to see if this resource is a child of the given Application. If so then add it to a set of objects.
- Write Unit tests for testing the graph.NewGraph() function with ArgoCD resources.
- Create a PR and get the community acceptance for the change.
Acceptance Criteria (Mandatory)
- The PR is created and merged into the upstream project.
- Write a test code which can call the graph.NewGraph() function for an Argo Application and we are able to get the respective Nodes and Relationships.
Resources
- is cloned by
-
GITOPS-5778 Create a Dynamic Config controller that can update resource inclusions
- New