Gluon stores and gives context in the exchange between Quantum Mechanic and Atomist. It also emits events to Atomist in response to data changes.
A gluon is an elementary particle that acts as the exchange particle for the strong force between quarks. It is analogous to the exchange of photons in the electromagnetic force between two charged particles. - Wikipedia
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Refer to the Local-Hadron-Colider and Quantum-Mehanic which should be setup in order to use Gluon
- Open a terminal
- Clone the repo to your local drive.
git clone https://github.com/absa-subatomic/gluon.git
- Navigate to the folder containing the code
- Run the the following command in the same terminal to run and test installation
$ ./mvnw spring-boot:run -pl nucleus -Dspring.profiles.active=local
or if you have maven installed
mvn spring-boot:run -pl nucleus -Dspring.profiles.active=local
To run Gluon locally using an in memory H2 database:
$ ./mvnw spring-boot:run -pl nucleus -Dspring.profiles.active=local
The local Spring profile can be setup by following the instructions here. To successfully invoke the Atomist webhooks, you must complete the steps above before starting Gluon.
By default Gluon will be available at: http://localhost:8080
To build a Docker image with a runnable build of Gluon, you can use the S2I tool.
Source-to-Image (S2I) is a toolkit and workflow for building reproducible Docker images from source code.
First install S2I by following the Installation instructions.
Then in the root directory of Gluon run:
$ s2i build . absasubatomic/s2i-jdk8-maven3-subatomic subatomic-gluon --env ARTIFACT_DIR=nucleus/target
...
note the use of the ARTIFACT_DIR
environment variable which is needed as Gluon is a multi module
Maven project. See the base RHEL S2I Java builder image
for more information.
Alternatively, using the GitHub codebase, in any directory run:
$ s2i build https://github.com/absa-subatomic/gluon.git absasubatomic/s2i-jdk8-maven3-subatomic subatomic-gluon --env ARTIFACT_DIR=nucleus/target
...
Once the S2I build has completed, you can run Gluon with:
$ docker run -p 8080 subatomic-gluon
...
There are Postman collections located in the nucleus/src/etc/postman
directory.
These can be imported and used to test the available API resources.
See the Postman reference documentation for more information.
Notes on how to deploy this on a live system.
Preferred method is to run in a Docker image. Refer to note on Docker under development.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
No versioning is in place at the time of creating this documentation.
Kieran Bristow, Kieran Bester, Donovan Muller, Andre de Jager, Chris Kieser
This project is licensed under the Apache License v2.0 - see the LICENSE file for details