obsidian-generator-frontend

A frontend for a obsidian toaster microservices quick start generator

Usage no npm install needed!

<script type="module">
  import obsidianGeneratorFrontend from 'https://cdn.skypack.dev/obsidian-generator-frontend';
</script>

README

Obsidian Generator UI

If this is the first time you are starting the UI you need to run

$ npm install

If you trying to refresh your install you can run:

$ npm run reinstall

Start the app by executing the following.

$ npm start

Production Build

To generate production build, set the API URL (the host and port of where generator backend is deployed) and run npm command as give below:

export FORGE_URL="http://<host:port>/forge"
npm run build:prod

The build output will be under dist directory.

OpenShift

To deploy this project on OpenShift, verify that an OpenShift instance is available or setup one locally using minishift

minishift delete
minishift start --deploy-router=true --openshift-version=v1.3.1
oc login --username=admin --password=admin
eval $(minishift docker-env)

To create our Obsidian Front UI OpenShift application, we will deploy an OpenShift template which has been defined to created the required objects; service, route, BuildConfig with S2I source build & Deployment config

To install the template and create an ew application, use these commands where you will setup the DNS name of the Forge Backend

oc create -f templates/template_s2i_image.yml
oc process front-generator-s2i FORGE_URL=http://<FORGE-BACKEND-ROUTE-ADDRESS>/forge | oc create -f -
oc deploy front-generator --latest -n PROJECT_NAME

You can now access the backend using its route

curl http://$(oc get routes | grep front-generator | awk '{print $2}')/index.html

Remarks:

  • For every new commit about this project front-generator that you want to test after the initial installation of the template, launching a new build on OpenShift is just required oc start-build front-generator

  • If for any reasons, you would like to redeploy a new template, then you should first delete the template and the corresponding objects

oc delete is/node
oc delete is/front-generator
oc delete bc/front-generator
oc delete dc/front-generator
oc delete svc/front-generator
oc delete route/front-generator
oc delete template/front-generator
oc create -f templates/template_docker.yml

S2i Scripts

The S2I scripts, packaged within this project allow to override the scripts used within the S2I Build Image. They have been created as the build image will only execute the npm install during the assemby phase and npm start during the run phase.

As our process requires 2 installations instructions, the scripts have been customized

They can be tested locally using the s2i tool and this command

s2i build . ryanj/centos7-s2i-nodejs:current my-nodejs -c