Giter Club home page Giter Club logo

stolostron-console's Introduction

@stolostron/console

License Build Coverage Maintainability Rating Security Rating Vulnerabilities

What is console?

The console provides the user interface for Red Hat Advanced Cluster Management (ACM) for Kubernetes and Red Hat MultiCluster Engine (MCE).

Go to the Contributing guide to learn how to get involved.

Prerequisites

Active Release Branches

The same codebase is used to build images for Red Hat Advanced Cluster Management for Kubernetes (from release-* branches) and multicluster engine for Kubernetes (from backplane-* branches). The build system fast-forwards between branches to keep the content in sync. Pull requests should only be opened against the first branch in each line listed below. The arrow represents an automatic fast-forwarding of commits from one branch to the next.

main → release-2.8 → backplane-2.3
release-2.7 → backplane-2.2
release-2.6 → backplane-2.1
release-2.5
backplane-2.0 // cherry-pick from PRs against release-2.5
release-2.4

Core Dependencies - Release Branch Mapping

A number of the core NPM package dependencies are published from other repositories. To allow development of new features in these projects, branches are created each time a new release is started.

console branch patternfly-labs/react-form-wizard stolostron/react-data-view stolostron/ui-components stolostron/temptifly
main
release-2.8
backplane-2.3
main main N/A N/A
release-2.7
backplane-2.2
v1.13.z v1.4.z N/A N/A
release-2.6
backplane-2.1
v1.8.z v1.0.z N/A N/A
release-2.5
backplane-2.0
v1.7.z N/A v1.69.z 2.5
release-2.4 N/A N/A v1.25.z 2.4
release-2.3 N/A N/A v0.180.z 2.3
release-2.2 N/A N/A No branch; uses 0.1.214 2.2

Running

  1. Clone repository

  2. Install dependencies

    npm ci
    
  3. Setup environment

    You need:

    • to be connected to a OpenShift 4.x.x cluster
    • to have Advanced Cluster Management installed on the cluster
    npm run setup
    

    This will create a .env file in the backend directory containing environment variables.

  4. Start the development services

    npm start
    

    This will start the frontend and the backend in parallel. (It may take up to 30 seconds for the UI to appear)

Running as an OpenShift console plugin-in

See Dynamic Plugins - Development

Architecture

See ARCHITECTURE.md

Chrome

To develop with self signed certificates goto chrome://flags/and enable

  • Allow invalid certificates for resources loaded from localhost.
  • Insecure origins treated as secure.

Authentication

Frontend has a cookie acm-access-token-cookie that contains the user's token.

If the backend responds with a 401 Unauthorized the frontend starts an OAuth flow to authorize with the cluster.

  1. Frontend redirects to the backend /login endpoint.
  2. Backend redirects to the cluster /authorize endpoint.
  3. Cluster OAuth redirects back to the backend /login/callback endpoint.
  4. Backend redirects to the frontend and sets the acm-access-token-cookie.

Optional Features

In some cases there are development preview (Dev Preview) features or technical preview (Tech Preview) features that can optionally be enabled and used in the product. These features are enabled by updating the console-config configmap in the installation namepsace (default: open-cluster-management). The following features are available:

Single node OpenShift

Enabling this feature will allow the user to create a cluster that only contains a single control plane node. This option is only available for providers AWS, Azure, GCP, OpenStack and VMware when the OpenShift release image is version 4.8 or higher.

References

console is an add-on for the open-cluster-management community. For more information, visit: open-cluster-management.io

stolostron-console's People

Contributors

ammont82 avatar batzionb avatar cameronmwall avatar chenz4027 avatar chrisahl avatar chunxialexluo avatar dhaiducek avatar dtthuynh avatar ellajuengst avatar fxiang1 avatar github-actions[bot] avatar jakobgray avatar jamestalton avatar jeswanke avatar justinkuli avatar kevinfcormier avatar leena-jawale avatar mareklibra avatar mark-nc avatar mprahl avatar nathanweatherly avatar o-farag avatar openshift-cherrypick-robot avatar randy424 avatar rawagner avatar robdolares avatar showeimer avatar willkutler avatar zkayyali812 avatar zlayne 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.