Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-5777

Support Argo Resources in Kubectl Graph project

XMLWordPrintable

    • 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

              rh-ee-mmeetei Mangaal Meetei
              rh-ee-anjoseph Anand Francis Joseph
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: