Giter Site home page Giter Site logo

stan-dot / developer-portal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from diamondlightsource/developer-portal

0.0 0.0 0.0 7.1 MB

A deployment of backstage for use at Diamond Light Source

License: Apache License 2.0

Shell 1.48% JavaScript 0.47% TypeScript 89.39% HTML 2.23% Smarty 2.97% Dockerfile 3.46%

developer-portal's Introduction

Developer Portal

The Diamond Light Source developer portal, built with backstage for deployment on kubernetes.

Source Code https://github.com/DiamondLightSource/developer-portal
User Docs https://diamondlightsource.github.io/developer-portal/user/
Developer Docs https://diamondlightsource.github.io/developer-portal/developer/
Releases https://github.com/DiamondLightSource/developer-portal/releases

Developing Locally (VSCode)

  • Load the docker-compose module, or:
    • Install docker-compose,
    • Start the podman socket with systemctl --user start podman.socket
    • Use the podman socket as the compose host by adding export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock to your ~/.bashrc
  • Install ms-vscode-remote.remote-containers
  • Set remote.containers.dockerPath to podman
  • Set remote.containers.dockerComposePath to your docker-compose
  • Disable buildkit by adding export DOCKER_BUILDKIT=0 to your ~/.bashrc
  • Open Development Container
  • Create a .env file in the .devcontainer directory containing the necessary secrets
  • Install package dependencies with yarn --cwd backstage install
  • Start the app, with yarn --cwd backstage dev

Deploying on Kubernetes (Diamond Light Source)

  • Access the cluster with module load argus

  • Adjust configuration in charts/developer-portal/values.yaml as appropriate, you will need to ingress secrets by either:

    • Populating the necessary secrets in their respective fields in backend.auth
    • Pointing to an existing secret containing the necessary secrets with backend.auth.existingSecret (recommended)
  • Deploy the portal, with:

    cd charts/developer-portal
    helm install <deployment-name> .

Necessary secrets

In order to deploy this application, the following secrets are required

  • GITHUB_TOKEN - a GitHub personal access token used to retrieve organisation & repository data, with:
    • read:org
    • read:user
    • user:email
  • GITLAB_TOKEN - a GitLab personal access token used to retrieve organisation & repository data, with:
    • api
    • read_repository
    • write_repository
  • GITHUB_APP_CLIENT_ID - a GitHub OAuth App client ID used to provide user authentication
  • GITHUB_APP_SECRET - the corresponding GitHub OAuth App secret
  • AWS_ACCESS_KEY_ID - a AWS S3 bucket access key ID used to retrieve techdocs from the object store, with:
    • s3:ListBucket
    • s3:GetObject
  • AWS_SECRET_ACCESS_KEY - the corresponding AWS S3 bucket access key secret

developer-portal's People

Contributors

dependabot[bot] avatar garryod avatar aawdls avatar m-chan avatar

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.