Giter VIP home page Giter VIP logo

weaveworks-backstage's Introduction

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.

weaveworks-backstage's People

Contributors

ahussein3 avatar alinagoaga avatar bigkevmcd avatar foot avatar ranatrk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

weaveworks-backstage's Issues

Backstage cannot be upgraded due flux plugin dependencies not met

I tried to upgrade backstage following the user guide:
https://backstage.io/docs/getting-started/keeping-backstage-updated/

yarn backstage-cli versions:check --fix
yarn run v1.22.19

The following packages must be deduplicated by updating dependencies in package.json

 @backstage/plugin-kubernetes **@ ^0.10.2 should be changed to ^0.11.2**

The following packages can be deduplicated by updating dependencies in package.json

  @backstage/plugin-kubernetes-common @ ^0.6.5 should be changed to ^0.7.1
  @backstage/plugin-kubernetes-common @ ^0.6.6 should be changed to ^0.7.1

For now running to make it work
yarn backstage-cli versions:bump --pattern '@{weaveworksoss}/*'

[flux-runtime] Show if a new version of flux is available

Probably checking github-releases

There might a backstage-github-* plugin with examples of querying the github releases api w/ a token etc.

  • Docs in the plugin guide, how to setup the BS proxy for the github api endpoint
  • Hit it and parse out latest version
  • Compare against versions in table
  • Add a new column "Update available" button / link / that links out to github releases page

Error sorting resources by data

There is a small issue trying to sort resources by Updated date it uses the textual output instead of the raw date value.

See the image attached
flux-plugin

Ensure all the cards are documented

Ensure that all the cards we provide are documented in the README.

Currently we have:

FluxEntityHelmReleasesCard
FluxEntityGitRepositoriesCard
FluxEntityOCIRepositoriesCard
FluxEntityHelmRepositoriesCard

We should update the Screenshot, we only need one screenshot, perhaps of the new Deployments card.

[backstage-plugin-flux] Getting Unauthorized in Backstage : 401

I am new to backstage, but i am able to authenticate myself and get Kubernetes resource, using service Account Token.

But when using Flux plugin, I am getting the below, Error.
Request failed with 401 Unauthorized, {"error":{"name":"AuthenticationError","message":"No Backstage token","stack":"AuthenticationError: No Backstage token\n at getEntityByReq

[Question]: Request failed with 401 Unauthorized

Hi,

I installed the plugin as described in the README.md but I get following text displayed in the UI:

Errors:

    Request failed with 401 Unauthorized, {"error":{"name":"AuthenticationError","message":"No Backstage token"},"request":{"method":"POST","url":"/api/kubernetes/resources/custom/query"},"response":{"statusCode":401}}

Errors:

    Request failed with 401 Unauthorized, {"error":{"name":"AuthenticationError","message":"No Backstage token"},"request":{"method":"POST","url":"/api/kubernetes/resources/custom/query"},"response":{"statusCode":401}}

Errors:

    Request failed with 401 Unauthorized, {"error":{"name":"AuthenticationError","message":"No Backstage token"},"request":{"method":"POST","url":"/api/kubernetes/resources/custom/query"},"response":{"statusCode":401}}

Errors:

    Request failed with 401 Unauthorized, {"error":{"name":"AuthenticationError","message":"No Backstage token"},"request":{"method":"POST","url":"/api/kubernetes/resources/custom/query"},"response":{"statusCode":401}}

The Kubernetes plugin is configured correctly and shows information of the cluster (ServiceAccount with Cluster admin rights is set)

I include the waveworks-plugin as this into the EntityPage.tsx

const overviewContent = (
  <Grid container spacing={3} alignItems="stretch">
    {entityWarningContent}
    <Grid item md={6}>
      <EntityAboutCard variant="gridItem" />
    </Grid>
    <Grid item md={6} xs={12}>
      <EntityCatalogGraphCard variant="gridItem" height={400} />
    </Grid>

    <Grid item md={4} xs={12}>
      <EntityLinksCard />
    </Grid>
    <Grid item md={8} xs={12}>
      <EntityHasSubcomponentsCard variant="gridItem" />
    </Grid>
    <Grid container spacing={3} alignItems="stretch">
      <Grid item md={12}>
          <EntityFluxHelmReleasesCard />
      </Grid>
      <Grid item md={12}>
          <EntityFluxHelmRepositoriesCard />
      </Grid>
      <Grid item md={12}>
          <EntityFluxGitRepositoriesCard />
      </Grid>
      <Grid item md={12}>
          <EntityFluxOCIRepositoriesCard />
      </Grid>
    </Grid>
  </Grid>
);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.