Skip to content

project-koku/koku-ui-mfe

Repository files navigation

Koku microfrontend (MFE) with Module Federation

Apache 2.0 CI Status codecov

React.js app for Cost Management.

User interface is based on Patternfly.

Submit issues in Jira.

Requirements

Setup hosts entries (do this once)

Edit the /etc/hosts file and add the following entries

127.0.0.1 prod.foo.redhat.com
127.0.0.1 stage.foo.redhat.com

Alternatively, run the patch-etc-hosts.sh script from the insights-proxy repo

sudo bash scripts/patch-etc-hosts.sh

Getting Started

  1. Install requirements listed above.
  2. Setup /etc/hosts entries listed above.
  3. Clone the repository, and open a terminal in the base of this project.
  4. Run the command npm install to install all the dependencies.

Building

npm build

Testing

npm test

Running Koku MFE against a hosted Koku API, using webpack proxy

Note that this approach currently supports the Insights stage-beta, stage-stable, prod-beta, and prod-stable environments.

  1. Start development server
npm start

Follow the prompts that follow.

  • Do you want to use local api? no
  • Which platform environment you want to use stage
  • Which Chrome environment you want to use? beta
  1. Open the following URL
https://stage.foo.redhat.com:1337/beta/staging/cost-management

Running Koku MFE with local Cloud Services Backend

Refer to the serving files locally section of cloud services config for more details

  1. Serve files locally from Cloud Services Backend repo
make dev-static-node
  1. Start development server in Koku MFE repo
npm start:csb

Running Koku MFE with local Koku UI

Refer to the koku-ui README for more details

  1. Start development server in Koku MFE repo
npm start:static
  1. Start development server in Koku UI repo
npm start:mfe

Running Koku MFE with local Koku UI and Cloud Services Backend

Refer to the serving files locally section of cloud services config and the koku-ui README for more details

  1. Serve files locally from Cloud Services Backend repo
make dev-static-node
  1. Start development server in Koku MFE repo
npm start:static
  1. Start development server in Koku UI repo
npm start:csb:mfe

Releasing Koku MFE

This RELEASE doc describes how to release Koku MFE to each staging environment.