Giter Club home page Giter Club logo

insights-inventory-frontend's Introduction

Build Status semantic-release GitHub release codecov

Insights Inventory Frontend

This is the frontend application for Insights Inventory. It is based on the insights-frontend-starter-app.

First time setup

Quick start

  1. Make sure you have Node.js and npm installed
  2. Run script to patch your /etc/hosts
  3. Make sure you are using Red Hat proxy

Running locally

  1. Install dependencies with npm install
  2. Run development server with npm run start:proxy:beta
  3. Local version of the app will be available at https://stage.foo.redhat.com:1337/preview/insights/inventory/

Running with another app

If you want to see changes made in inventory table in another application you will have to run both inventory and desired application. We'll take for example insights-advisor-frontend application as app that uses system detail.

Open new terminal and navigate to desired application (for instance insights-advisor-frontend) and run it (make sure to run it on a different port):

npm run start:proxy -- --port=8003

Run the Inventory application with proxy enabled and list of additional applications:

LOCAL_API=advisor:8003~https npm run start:proxy

Or, if you want to run Advisor and, for instance, Vulnerability, then just add a new entry to LOCAL_API:

LOCAL_API=advisor:8003~https,vulnerability:8004

Testing

There is an npm script that runs the build, JS and CSS linters and unit tests. The script can be invoked by npm run verify

Mocking Inventory API

Inventory frontend has support for https://github.com/stoplightio/prism CLI. The CLI reads the OpenAPI schema, spins up a localhost server and serves dynamically generated responses for Inventory API endpoints (/hosts, /groups, etc.).

  1. Verify package.json config section for the correct URL to OpenAPI schema (contains remote URL by default).
  2. Verify dev.webpack.config.js customProxy settings. There you can specify which endpoints to proxy and modify request/response headers.
  3. Run npm run mock-server to start the mock server. The fist output must list the endpoints that are generated by the localhost server.
  4. In another terminal, run npm run start:mock or npm run start:mock:beta to start the webpack server either in stage-stable or stabe-beta environment. The scripts set the MOCK variable to true and the customProxy is enabled.

Inventory table and detail

We are serving inventory through federated modules, this means both inventory table and inventory detail is served to you in runtime. No need to install and rebuild when something changes in inventory.

Applications using InventoryTable

These applications import InventoryTable component through federated modules:

Documentation Links

insights-inventory-frontend's People

Contributors

karelhala avatar dependabot-preview[bot] avatar gkarat avatar rvsia avatar dependabot[bot] avatar ryelo avatar semantic-release-bot avatar mkholjuraev avatar kruai avatar jharting avatar bastilian avatar adonispuente avatar fewwy avatar hyperkid123 avatar allenbw avatar jiridostal avatar iphands avatar ryandillinfelton avatar dlobatog avatar blakeholifield avatar arivepr avatar lesamo avatar astonlele avatar gabipodolnikova avatar johnsonm325 avatar kgaikwad avatar bsquizz avatar epwinchell avatar adeliaferreira avatar jjaquish 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.