Skip to content
This repository has been archived by the owner on Sep 29, 2020. It is now read-only.

absa-subatomic-legacy/gluon

Repository files navigation

Gluon Build Status codecov Maintainability

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

Getting Started

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.

Prerequisites

Refer to the Local-Hadron-Colider and Quantum-Mehanic which should be setup in order to use Gluon

Installing

  1. Open a terminal
  2. Clone the repo to your local drive.
 git clone https://github.com/absa-subatomic/gluon.git
  1. Navigate to the folder containing the code
  2. 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

Development Setup

To run Gluon locally using an in memory H2 database:

$ ./mvnw spring-boot:run -pl nucleus -Dspring.profiles.active=local

local Spring profile

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

Docker

To build a Docker image with a runnable build of Gluon, you can use the S2I tool.

S2I

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
...
Running the Docker image

Once the S2I build has completed, you can run Gluon with:

$ docker run -p 8080 subatomic-gluon
...

Running the tests

Postman

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.

Deployment

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.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

No versioning is in place at the time of creating this documentation.

Authors

Kieran Bristow, Kieran Bester, Donovan Muller, Andre de Jager, Chris Kieser

License

This project is licensed under the Apache License v2.0 - see the LICENSE file for details

A test mark

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages