Skip to content

TeraSky-OSS/backstage-plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TeraSky's Backstage Plugins

These plugins are built and tested against Backstage version 1.38.1

Plugin overviews

There are 19 plugins currently:

  1. Kubernetes Ingestor - npm latest version - this plugin is a catalog entity provider which creates catalog entities directly from kubernetes resources. it has the ability to ingest by default all standard k8s workload types, allows supplying custom GVKs, and has the ability to auto-ingest all crossplane claims automatically as components. There are numerous annotations which can be put on the kubernetes workloads to influence the creation of the component in backstage. It also supports creating backstage templates and registers them in the catalog for every XRD in your cluster for the Claim resource type. currently this supports adding via a PR to a GitHub repo or providing a download link to the generated yaml without pushing to git.
  2. Crossplane Resource Frontend - npm latest version - this is a frontend plugin which provides visibility into the crossplane claim, composite resource and managed resources associated with a component. This relies heavily on system generated annotations from the Kubernetes Ingestor but technically does not require it if you add all the needed annotations manually. The plugin exposes general data, provides a YAML viewer for each resource including the ability to copy to clipboard the content or download the yaml file. It also supports viewing the events related to a specific resource. It also includes a graph view of the resources related to a claim.
  3. Crossplane Backend - npm latest version - This plugin implements the permission framework elements for the crossplane frontend plugin. This is needed as only backend plugins can add permissions in backstage. the plugin has no functionality beyond registering the permissions which are themselves configured in the common plugin as the definitions are also needed in the frontend where we enforce the permissions.
  4. Crossplane Common - npm latest version - This is a shared common library between the frontend and backend crossplane plugins where the permission definitions reside. This is not added into a backstage instance directly, rather it is a dependency of both of the other plugins.
  5. ScaleOps Frontend Plugin - npm latest version - this is a frontend plugin which displays basic data from scaleops regarding kubernetes entities on you component. it shows potential and realized savings, and can provide a link to the scaleops dashboard for more specific and broader data points. This plugin supports a single ScaleOps endpoint but does support multiCluster features in scaleops allowing for end to end visibility.
  6. Entity Scaffolder Plugin - npm latest version - This allows embedding a tab with scaffolder templates on a component. this can also populate the list of templates and data in the templates based on the context from which it is run.
  7. Devpod plugin - npm latest version - this plugin adds a grid item on the overview tab of components allowing for a "Open in Devpod" button. it supports allowing the user to choose the IDE it should open with, and also provides the CLI command the user could run to open it up from the command line.
  8. scaffolder actions - npm latest version - this is a package of multiple scaffolder actions:
  • terasky:claim-template - This action converts input parameters into a kubernetes yaml manifest for the crossplane claim and writes it to the filesystem of the action based on the format "<cluster>/<namespace>/<kind>/<name>.yaml"
  • terasky:crd-template - This action converts input parameters into a kubernetes yaml manifest for the Kubernetes Custom Resource and writes it to the filesystem of the action based on the format "<cluster>/<namespace>/<kind>/<name>.yaml"
  • terasky:catalog-info-cleaner - This action takes a backstage entity and cleans up runtime information and then outputs as a catalog-info.yaml file on the filesystem of the action the cleaned up manifest. This is usefull for auto ingested components that you want to enable a push to git of the manifest to allow for a full git based catalog management when needed.
  1. Kyverno Policy Reports - npm latest version - this is a frontend plugin which displays policy report results for kubernetes workloads related to a catalog entity
  2. Kyverno Permissions Backend - npm latest version - this is a backend plugin which registers the permissions for the kyverno policy reports plugin.
  3. Kyverno Common - npm latest version - this is a common library between the frontend and backend kyverno plugins where the permission definitions reside. This is not added into a backstage instance directly, rather it is a dependency of both of the other plugins.
  4. GitOps Manifest Updater (formerly Crossplane Claim Updater) - npm latest version - this is a frontend plugin which allows for updating the gitops manifest of a component residing in a git repository. It supports updating the manifest in the repository and creating a PR with the update. The manifest can be provided in an entity annotations (terasky.backstage.io/source-manifest-url) or by providing a URL to the manifest in the repository within the form. The plugin has support for crossplane based workloads as well as generic kubernetes CRD based workloads that are registered in the system via the Kubernetes Ingestor plugin.
  5. Kubernetes Resources Frontend - npm latest version - this plugin provides a visual graph representation of Kubernetes resources and their dependencies within your clusters. It shows the hierarchical relationships between resources, allows viewing YAML manifests and events for each resource, and supports downloading resource configurations.
  6. Kubernetes Resources Backend - npm latest version - this is a backend plugin which implements the permission framework elements for the kubernetes resources frontend plugin. It registers the permissions which are defined in the common plugin.
  7. Kubernetes Resources Common - npm latest version - this is a shared library between the frontend and backend kubernetes resources plugins where the permission definitions reside. This is not added into a backstage instance directly, rather it is a dependency of both of the other plugins.
  8. VCF Automation Frontend - npm latest version - this plugin provides visibility into VCF deployments, resources, and projects. It offers detailed views of deployment operations, resource states, and project configurations, with support for VSphere VM management, deployment operations tracking, and project administration.
  9. VCF Automation Backend - npm latest version - this backend plugin provides the API integration with VCF services, manages permissions, and processes deployment and resource operations for the VCF Automation frontend plugin.
  10. VCF Automation Common - npm latest version - this is a shared library between the frontend and backend VCF Automation plugins that provides permission definitions and shared functionalities. It is not added directly to a Backstage instance but serves as a dependency for the other VCF plugins.
  11. VCF Automation Ingestor - npm latest version - this plugin ingests VCF Automation deployments into the Backstage catalog, creating system entities from deployments, component entities from VSphere VMs, resource entities from other VCF resource types, and domain entities from VCF projects.