API to access skills, learning units, and everything else through a json-ld api
Check the following documentation for instructions how to develop, build and run the service.
Start locally with param spring_profiles_active=dev
in your run configuration. The main method can be found in the
main-module.
Run the following commands (starting from this dir) to start the service
mvn install
mvn -f maverick.graph.main/pom.xml spring-boot:run
By default, the "dev" profile is active. Repositories are all in-memory. To start with another profile, append the
following argument -Dspring-boot.run.profiles=stage
Use the following command to build the docker image
mvn -f maverick.graph.main/pom.xml spring-boot:build-image
To push the built image to a container registry, you can (and have to) override the following arguments:
docker.publish=true
docker.credentials.user=XX
docker.credentials.password=XX
docker.registry.host=https://docker.io
image.name=docker.io/yourusername/image:latest
Example (for publishing to the defaut Github Container registry):
mvn -f maverick.graph.main/pom.xml spring-boot:build-image -Ddocker.publish=true -Ddocker.credentials.user=XX docker.credentials.password=XX
You can find a Helm chart in the infra folder. Follow the directions documented there.
- Create new Webapp
- Set following parameters for Container Registry
- Private Container registry as registry source
https://ghcr.io
as server url- Your GIT PAT for the credentials
bechtleav360/maverick-entity-graph:latest
as full image name
- Enable org.av360.maverick.graph.Application logging
- Add application property "SPRING_APPLICATION_JSON" (see below)
- Add application property "PORT" in configuration
- Create a new storage account (if one doesn't exist yet in your resource group)
- Create the following new file share within the account:
graph-entities
graph-transactions
- Switch to Configuration for your webapp and there to "Path mappings"
- Create a new mount point for each file share under "/var/data"
Here are a few commands to remember
az webapp list -o table
az webapp log tail -n graphs -g maverick-services
Go to Kudu via "Advanced tools"
Configure a new web app and define the application setting (as Deployment Option) with the Key SPRING_APPLICATION_JSON and the following value
{ "security": { "apiKey": "xxx" }, "spring": { "profiles": { "active": "test" }, "security": { "user": { "name": "admin", "password": "xxx" } } }, "logging": { "level": { "com": { "bechtle": "TRACE" } } } }
The application setting PORT should point to the port configured in the application properties.