In this repo you will find plugin wrappers built and tested for TAP 1.7 based on OSS backstage plugins.
Currently this repo contains 35 tested plugin wrappers.
An example TDP Config file is provided as well.
Annotations
Required annotations:
- github.com/project-slug
Optional annotations:
- github.com/project-readme-path
Annotations
Required annotations:
- github.com/project-slug
Optional annotations:
- roadie-backstage-pull-requests/default-filter
Annotations
Required annotations:
- github.com/project-slug
Annotations
Required annotations:
- github.com/project-slug
Annotations
Required annotations:
- github.com/project-slug
Required Configuration
This plugin requires configuring the backend plugin
Annotations
Required Annotations:
- dev.azure.com/project-repo
Optional Annotations:
- dev.azure.com/project
- dev.azure.com/build-definition
Required Configuration
This plugin requires a dedicated Azure DevOps stanza:
azureDevOps:
host: dev.azure.com
token: AZURE_TOKEN
organization: my-company
Configuration Details:
- host and token can be the same as the ones used for the integration section
- AZURE_TOKEN should be replaced with a Personal Access Token with read access to both Code and Build
- organization is your Azure DevOps Services (cloud) Organization name or for Azure DevOps Server (on-premise) this will be your Collection name
Required Configuration
This plugin has no extra dependencies
Annotations
Required Annotations:
- backstage.io/kubernetes-label-selector or backstage.io/kubernetes-id
- janus-idp.io/tekton
Optional Annotations:
- backstage.io/kubernetes-namespace
Required Configuration
This plugin requires configuring the backend plugin
Annotations
Required Annotations:
- jenkins.io/job-full-name
Required Configuration
This plugin needs a dedicated jenkins stanza which has multiple formats based on your use case:
jenkins:
baseUrl: https://jenkins.example.com
username: backstage-bot
apiKey: 123456789abcdef0123456789abcedf012
jenkins:
instances:
- name: default
baseUrl: https://jenkins.example.com
username: backstage-bot
apiKey: 123456789abcdef0123456789abcedf012
- name: departmentFoo
baseUrl: https://jenkins-foo.example.com
username: backstage-bot
apiKey: 123456789abcdef0123456789abcedf012
Configuration Details:
- when using multiple jenkins servers, the value of the component annotation when referencing a jenkins server which is not named default must be in the format <JENKINS CONFIG NAME>:<FOLDER>/<JOB>. if the name section is not added, the default jenkins server will be used.
Required Configuration
This plugin requires configuring the backend plugin
Annotations
Optional Annotations:
- backstage.io/source-location
Required Configuration
This plugin has no needed configuration.
Required Configuration
This plugin requires configuring the backend plugin
Annotations
Required Annotations:
- goharbor.io/repository-slug
Required Configuration
under app_config in TAP GUI section you must add the following:
harbor:
baseUrl: https://YOUR_HARBOR_FQDN #! Required
username: YOUR_HARBOR_USER #! Required
password: YOUR_HARBOR_USER #! Required
Required Configuration
This plugin has no extra dependencies
Annotations
Required Annotations:
- backstage.io/kubernetes-label-selector or backstage.io/kubernetes-id
Optional Annotations:
- backstage.io/kubernetes-namespace
Required Configuration
under app_config we must add values to the proxy section as well as a dedicated section for Grafana:
proxy:
'/grafana/api':
# May be a public or an internal DNS
target: https://YOUR_GRAFANA_FQDN
headers:
Authorization: Bearer YOUR_GRAFANA_TOKEN
grafana:
# Publicly accessible domain
domain: https://YOUR_GRAFANA_FQDN
# Is unified alerting enabled in Grafana?
# See: https://grafana.com/blog/2021/06/14/the-new-unified-alerting-system-for-grafana-everything-you-need-to-know/
# Optional. Default: false
unifiedAlerting: false
Annotations
Required Annotations:
- grafana/dashboard-selector
Required Configuration
under app_config we must add values to the proxy section as well as a dedicated section for prometheus:
proxy:
'/prometheus/api':
# url to the api and path of your hosted prometheus instance
target: http://YOUR_PROMETHEUS_FQDN_INCLUDING_PORT/api/v1/
changeOrigin: true
secure: false
# Defaults to /prometheus/api and can be omitted if proxy is configured for that url
prometheus:
proxyPath: /prometheus/api
uiUrl: http://YOUR_PROMETHEUS_FQDN_INCLUDING_PORT
Annotations
Required Annotations:
- prometheus.io/rule
Required Configuration
This plugin requires configuring the backend plugin
Required Configuration
This plugin requires configuring the backend plugin
Required Configuration
under app_config in TAP GUI section you must add the following:
openai:
apiKey: YOUR_OPENAI_API_KEY #! Required
baseURL: #! (OPTIONAL) - Defaults to https://api.openai.com/v1 which is the public OpenAI endpoint
Required Configuration
This plugin requires configuring the backend plugin
Required Configuration
This plugin requires configuring the backend plugin
Annotations
Required Annotations:
- vault.io/secrets-path
Required Configuration
under app_config we must add a dedicated section for our Vault configuration:
vault:
baseUrl: http://your-internal-vault-url.svc
publicUrl: https://your-vault-url.example.com
token: <VAULT_TOKEN>
secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets'. Can be overwritten by the annotation of the entity
kvVersion: <kv-version> # Optional. The K/V version that your instance is using. The available options are '1' or '2'
schedule: # Optional. If the token renewal is enabled this schedule will be used instead of the hourly one
frequency: { hours: 1 }
timeout: { hours: 1 }
Required Configuration
under app_config we must add values to the proxy section:
proxy:
'/newrelic/apm/api':
target: "https://api.newrelic.com/v2"
headers:
X-Api-Key: YOURN_NEWRELIC_USER_API_KEY
allowedHeaders:
- "link"
Annotations
This plugin has no needed annotations.
Required Configuration
under app_config we must add values to the proxy section:
proxy:
'/newrelic/api':
target: "https://api.newrelic.com/v2"
headers:
X-Api-Key: YOURN_NEWRELIC_USER_API_KEY
Annotations
Required annotations:
- newrelic.com/dashboard-guid
Required Configuration
This plugin requires the related backend plugin.
Annotations
Required annotations:
- kafka.apache.org/consumer-groups
Optional annotations:
- kafka.apache.org/dashboard-urls
Required Configuration
under app_config we must add a dedicated kafka section:
kafka:
clientId: YOUR_CLIUENT_ID
clusters:
- name: CLUSTER_NAME
brokers:
- BROKER_ADDRESS:BROKER_PORT
ssl: true # Optional
sasl: # Optional
mechanism: plain # or 'scram-sha-256' or 'scram-sha-512' # Optional
username: my-username # Optional
password: my-password # Optional
Required Configuration
No required configuration for this plugin.
Annotations
Required Annotations:
- datadoghq.com/dashboard-url
Optional annotations:
- datadoghq.com/graph-token
- datadoghq.com/site
Required Configuration
This plugin requires the related backend plugin. You must also set the following configuration in your TAP values under the app_config section:
mlbackstage:
clusterName: CLUSTER_NAME
imageRepoBaseUrl: IMAGE_REPO_BASE_URL