SEMAT - The Essence Kernel Manager
Live Demo on Red Hat OpenShift
See live demo running on a free OpenShift Online account at http://semat.ofbizian.com or direct URL (may be outdated) http://semat-semat.193b.starter-ca-central-1.openshiftapps.com/
- Manage multiple projects per tenant
- Manage project Alpha states
- Custom Essence Alpha state list per tenancy
- Custom Essence Checklist items per tenancy
- Alpha state spider/radar diagram
Apache Isis Features used
- Automatic Apache Wicket based UI generation from domain model
- Automatic REST API generation from the same domain model
- Self Signup/Registration
- Multi Tenancy
- LDAP integration
- Session logging
Build and Run
(option 1) Local: build and run with Maven
mvn clean install cd webapp mvn jetty:run
(option 2) Local: build and run with Docker
mvn clean install docker build --rm -t bibryam/semat . docker run -p 8080:8080 bibryam/semat
(option 3) Local: build and run with Maven and Docker plugin
mvn clean install cd webapp mvn clean install docker:build docker:start -Pdocker
http://localhost:8080/ user:user - a default tenant user with two example projects and configuration. admin:admin - admin user with full access but no part of any tenancy.
(option 4) OpenShift Online: Deploy existing Docker image to OpenShift
Create an OpenShift Online account. Notice, even the free tier account is enough to try out the application. Install OpenShift client locally (oc) and login to OpenShift. The following commands will run the latest SEMAT Docker image and expose its URL to outside world.
oc new-project semat oc new-app bibryam/semat:latest -e CATALINA_OPTS=“-Xmx300m” oc expose service semat
The process takes some time as it has to download the Docker images and there are not much free resources on a free tier account. Notice also we limit Tomcat heap size in order to run in a Docker container with 512MB memory. After few minutes, you should be able to access your SEMAT instance.
(option 5) OpenShift Online: Deploy to OpenShift from source code
If you do not trust Docker images build by others (you should not!) then you can build your own Docker image as shown above with options 2 and 3 and push it your own docker registry and create the app from it: oc new-app your_name/semat:latest -e CATALINA_OPTS=“-Xmx300m” Alternatively, you could avoid installing and running Docker completly, and have the source code and the docker image build on OpenShift. That is called OpenShift Source-to-Image approach. You can do this from OpenShift UI by using for example "Red Hat JBoss Web Server 3.1 Tomcat 8 1.0" template and pointing to the SEMAT github repo.
Or use the template provided here:
oc create -f semat-openshift-template.json oc process semat
Using source to image approach allows setting up webhooks, have a Red Hat base image, have jolokia added, memory configuration done, etc.