Skip to content

Latest commit

 

History

History
144 lines (119 loc) · 3.84 KB

CONTRIBUTING.md

File metadata and controls

144 lines (119 loc) · 3.84 KB

Contributing

Contributing encompasses repository specific requirements.

Install

Before developing you'll need to install:

Writing code

Running locally

Development for both "frontend" and "backend" can be done while running

$ npm run dev

Give your dev env access

To give your dev environment access to the ODH configuration, log in to the OpenShift cluster and set the project to the location of the ODH installation

$ oc login https://api.my-openshift-cluster.com:6443 -u kubeadmin -p my-password

or log in using the makefile and .env.local settings

OC_URL=https://specify.in.env:6443
OC_PROJECT=my-project
OC_USER=kubeadmin
OC_PASSWORD=my-password
$ make login

or

$ npm run make:login

Debugging and Testing

Basic testing

To run the bare-bones linting checks run

$ npm run test

You can apply lint auto-fixes with

$ npm run test:fix

Build

dotenv files

The current build leverages dotenv, or .env*, files to apply environment build configuration.

Applied dotenv files

dotenv files applied to the root of this project...

  • .env, basic settings, utilized by both "frontend" and "backend"
  • .env.local, gitignored settings, utilized by both "frontend" and "backend"
  • .env.development, utilized by both "frontend" and "backend". Its use can be seen with the NPM script $ npm run dev
  • .env.development.local, utilized by both "frontend" and "backend". Its use can be seen with the NPM script $ npm run dev
  • .env.production, is primarily used by the "frontend", minimally used by the "backend". Its use can be seen with the NPM script $ npm run start
  • .env.production.local, is primarily used by the "frontend", minimally used by the "backend". Its use can be seen with the NPM script $ npm run start
  • .env.test, is primarily used by the "frontend", minimally used by the "backend" during testing
  • .env.test.local, is primarily used by the "frontend", minimally used by the "backend" during testing

There are build processes in place that leverage the .env*.local files, these files are actively applied in our .gitignore in order to avoid build conflicts. They should continue to remain ignored, and not be added to the repository.

Available parameters

The dotenv files have access to default settings grouped by facet; frontend, backend, build

...

Deploy your version

Edit the opendatahub KfDef in your project, remove the section:

    - kustomizeConfig:
        repoRef:
          name: manifests
          path: odh-dashboard
      name: odh-dashboard

Remove the current deployment of the ODH Dashboard

$ make undeploy

or

$ npm run make:undeploy

Customize your env

Customize .env.local file to image and source information as desired. npm and the s2i command line tool is required.

CONTAINER_BUILDER=docker
IMAGE_REPOSITORY=quay.io/my-org/odh-dashboard:latest
SOURCE_REPOSITORY_URL=git@github.com:my-org/odh-dashboard.git
SOURCE_REPOSITORY_REF=my-branch

OC_URL=https://specify.in.env:6443
OC_PROJECT=specify_in_.env

# user and password login
OC_USER=specify_in_.env
OC_PASSWORD=specify_in_.env

# or token login
#OC_TOKEN=specify_in_.env

Build

Push your branch to your repo for it to be visible to the s2i build.

Then build:

$ make build

or

$ npm run make:build

Pushing the image

$ make push

or

$ npm run make:push

Deploying your image

Required: The OpenShift, oc, command line tool is required.

$ make deploy

or

$ npm run make:deploy