Skip to content

weaveworks/weaveworks-backstage

Repository files navigation

This repo contains the Backstage plugins created and maintained by Weaveworks.

The following plugins can be found within this repo:

Installation instructions for the plugins can be found in their individual README files.

Getting Started

To get up and running with this repository, you will need to set up:

  • a Github OAuth app and
  • a local kubernetes cluster.

Configure Github OAuth

Follow the Backstage instructions to create a Github OAuth app, relevant bit here:

To add GitHub authentication create an OAuth App from the GitHub developer settings. The Homepage URL should point to Backstage's frontend, while the Authorization callback URL will point to the auth backend.

Save the clientId and clientSecret that Github generates into a .env file or your ~/.bashrc / ~/.zshrc:

export AUTH_GITHUB_CLIENT_ID=abc123
export AUTH_GITHUB_CLIENT_SECRET=abc123

They're referenced in the app-config.kubernetes.yaml file.

Start a local kubernetes cluster

To start the app, run:

# create a cluster
kind create cluster

# install flux
flux install

# setup cluster auth and create an example podinfo helmrelease
kubectl apply -k ./demo

# install deps (node version 14 || >=16.14 required)
yarn install

# (Optional) Provide the base URL to the weave-gitops app to link through from resources displayed in Backstage.
export WEAVE_GITOPS_URL=http://localhost:9001

# start the app
./startup.sh

(optional) Install weave-gitops to demonstrate linking through to resources details

Backstage shows the important information about each resource, you can click through to the weave-gitops UI to see even more details. The URL is provided by the WEAVE_GITOPS_URL environment variable as shown above.

Follow the weave-gitops installation instructions.

In short:

brew tap weaveworks/tap
brew install weaveworks/tap/gitops
gitops create dashboard ww-gitops --password="some-password"
kubectl port-forward svc/ww-gitops-weave-gitops -n flux-system 9001:9001

Login to http://localhost:9001 with the username admin and the password you provided when creating the dashboard.

Community

For more details on how to contribute to the plugins, have a look at Contributing.