backstage / backstage/community-plugins

🔌 Plugin: Toolbox Plugin (Tools Catalog)

Open
#237 23 comments 37 reactions 1 assignee Claimed by @christoph-jerolimov View on GitHub
do-not-stale help wanted plugin
Dominant language
TypeScript
Stars
422
Forks
697
Avg merge
2d 6h
Merged PRs (30d)
286

Description

## Summary

A page that lists the tools used in engineering so that all engineers can access them.

## Project website (if applicable)

We developed this plugin in [QuintoAndar](https://medium.com/quintoandar-tech-blog/how-we-are-improving-developer-experience-at-quintoandar-with-backstage-io-fa1ab70b75cb) and received a lot of feedback that would be useful for other companies.

![1__nKZ1RQ-2FcfSytVAY0YoA](https://user-images.githubusercontent.com/20074620/185428037-6b45fd8a-9d35-4aff-bf54-8aed13156bad.gif)

## Context

Basically, it's a frontend plugin that reads a data structure with tool links separated by environment and subject.

```yaml
categories:
- name: monitoring
tools:
- name: grafana
description: >-
Grafana is the open source analytics & monitoring solution for every
database.
environments:
- name: development
url: 'https://grafana.development.company.com.br'
- name: production
url: 'https://grafana.company.com.br'

- name: prometheus
description: 'Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database (allowing for high dimensionality) built using a HTTP pull model, with flexible queries and real-time alerting.'
environments:
- name: development
url: 'https://prometheus.development.company.com.br'
- name: production
url: 'https://prometheus.company.com.br'

- name: kibana
description: >-
Kibana is an free and open frontend application that sits on top of
the Elastic Stack, providing search and data visualization
capabilities for data indexed in Elasticsearch.
environments:
- name: development
url: 'https://kibana.development.company.com.br'
- name: production
url: 'https://kibana.company.com.br'

- name: CI/CD
tools:
- name: drone-ci
description: >-
Drone is a Continuous Delivery system built on container technology.
Drone uses a simple YAML configuration file, a superset of
docker-compose, to define and execute Pipelines inside Docker
containers.
environments:
- name: production
url: 'https://drone.company.com.br'

- name: argo-CD
description: >-
Argo CD is a declarative, GitOps continuous delivery tool for
Kubernetes.
environments:
- name: development
url: 'https://argocd.development.company.com.br'
- name: staging
url: 'https://argocd.development.company.com.br'
- name: production
url: 'https://argocd.production.company.com.br'

- name: argo-rollouts
description: >-
Argo Rollouts is a Kubernetes controller and set of CRDs which
provide advanced deployment capabilities such as blue-green, canary,
canary analysis, experimentation, and progressive delivery features
to Kubernetes.
environments:
- name: development
url: 'https://rollouts.development.company.com.br'

- name: data
tools:
- name: airflow
description: >-
Airflow is a platform created by the community to
programmatically author, schedule and monitor workflows.
environments:
- name: production
url: 'https://airflow.company.com.br/'
- name: development
url: 'https://airflow.development.company.com.br/'
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.