Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Topology - Evaluate connecting Topology (backstage plugin) with cluster #91

Closed
3 tasks done
Tracked by #58
invincibleJai opened this issue Jan 30, 2023 · 2 comments
Closed
3 tasks done
Tracked by #58
Assignees

Comments

@invincibleJai
Copy link
Member

invincibleJai commented Jan 30, 2023

Description
As a developer, I want to visualize resources of Deployment kind and Deployment Config Kind with pods ring demonstrating pod status and decorators for the route in a sample plugin for topology as Read-only. This will require connecting with the cluster and evaluating if we can list/watch k8s resources from the cluster, if not what is that needed to get to it?

Acceptance Criteria

  • evaluating if we can list/watch k8s resources from the cluster
  • Do we need to use k8s plugin?
  • Do we need Topology-backend for this?
@invincibleJai
Copy link
Member Author

Creating stories for #58

Feel free to update as needed

cc @serenamarie125 @rtaniwa @gorkem @spadgett

@divyanshiGupta
Copy link
Collaborator

divyanshiGupta commented Feb 9, 2023

K8s plugin can be used to get the entity's resources from a cluster for the topology plugin. Currently there is only support for listing the resources and instead of watching the resources for updates, polling is done at a set interval.

Currently there is no need of a separate backend as we can use the k8s plugin api to consume the cluster resources.

Steps to use k8s plugin api to get the service objects in a separate plugin:

Note:
K8s plugin identifies if the provided entity has k8s resources and if yes from which namespace it should get the resources based on the following annotations added to the entity's catalog-info.yaml
annotations: 'backstage.io/kubernetes-id': dice-roller 'backstage.io/kubernetes-namespace': dice-space
For k8s plugin to get the desired entity's k8s resources the following label should be added to the resources
'backstage.io/kubernetes-id': <BACKSTAGE_ENTITY_NAME>

A custom label selector can also be added which will then be used by Backstage to find the resources. The label selector takes precedence over the id annotation.
backstage.io/kubernetes-label-selector': 'app=my-app,component=front-end

In order to use k8s plugin to get the resources for Topology view, the above annotations/labels should be in place.

cc: @serenamarie125 @christophe-f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants