OntoPop
Search…
⌃K

Self Managed

Configuration templates for deploying to self-managed environments.
Last Updated: 01 March 2022 • Page Author: Jillur Quddus

Bootstrap Context

The configuration template below assumes that you will be deploying OntoPop to an environment integrated with HashiCorp Vault. For further details regarding the OntoPop bootstrap context and its configuration namespace, please refer to Bootstrap Context.
spring:
application:
name: ontopop
cloud:
vault:
enabled: true
host: localhost
port: 8200
scheme: http
authentication: TOKEN
token: ${VAULT_TOKEN}
kv:
enabled: true
backend: secret
default-context: ontopop/development
azure:
keyvault:
enabled: false
client-id:
client-key:
tenant-id:
uri:
aws:
secretsmanager:
enabled: false
name:
prefix:
defaultContext:
failFast:
region:

Application Context

The configuration template below assumes that you will be deploying OntoPop to an environment integrated with mostly self-managed services (including RabbitMQ, HashiCorp Vault, Apache Jena Fuseki, JanusGraph and Elasticsearch). For further details regarding the OntoPop application context and its configuration namespace, please refer to Application Context.
spring:
application:
name: ontopop
cloud:
stream:
binders:
rabbitmq:
type: rabbit
default-candidate: true
environment:
spring:
rabbitmq:
host: ${rabbitmq-host}
port: ${rabbitmq-port}
username: ${rabbitmq-username}
password: ${rabbitmq-password}
virtual-host: /
ssl:
enabled: false
azure_service_bus:
type: servicebus-topic
default-candidate: false
environment:
spring:
cloud:
azure:
servicebus:
connection-string:
bindings:
webProtegeProjectUpdatedPublicationChannel:
destination: webprotege.project.updated
binder: rabbitmq
webProtegeProjectUpdatedConsumptionChannel:
destination: webprotege.project.updated
group: ontopop
binder: rabbitmq
gitRepositoryUpdatedPublicationChannel:
destination: git.repository.updated
binder: rabbitmq
gitRepositoryUpdatedConsumptionChannel:
destination: git.repository.updated
group: ontopop
binder: rabbitmq
ingestedPublicationChannel:
destination: ontopop.data.ingested
binder: rabbitmq
ingestedConsumptionChannel:
destination: ontopop.data.ingested
group: ontopop
binder: rabbitmq
validatedPublicationChannel:
destination: ontopop.data.validated
binder: rabbitmq
validatedTriplestoreLoaderConsumptionChannel:
destination: ontopop.data.validated
group: ontopop.loaders.triplestore
binder: rabbitmq
validatedParserConsumptionChannel:
destination: ontopop.data.validated
group: ontopop.parsers
binder: rabbitmq
triplestoreLoadedPublicationChannel:
destination: ontopop.data.loaded.triplestore
binder: rabbitmq
triplestoreLoadedConsumptionChannel:
destination: ontopop.data.loaded.triplestore
group: ontopop
binder: rabbitmq
parsedPublicationChannel:
destination: ontopop.data.parsed
binder: rabbitmq
parsedConsumptionChannel:
destination: ontopop.data.parsed
group: ontopop
binder: rabbitmq
modelledPublicationChannel:
destination: ontopop.data.modelled
binder: rabbitmq
modelledGraphLoaderConsumptionChannel:
destination: ontopop.data.modelled
group: ontopop.loaders.graph
binder: rabbitmq
modelledGraphIndexerConsumptionChannel:
destination: ontopop.data.modelled
group: ontopop.indexers.graph
binder: rabbitmq
graphLoadedPublicationChannel:
destination: ontopop.data.loaded.graph
binder: rabbitmq
graphLoadedConsumptionChannel:
destination: ontopop.data.loaded.graph
group: ontopop
binder: rabbitmq
graphIndexedPublicationChannel:
destination: ontopop.data.indexed.graph
binder: rabbitmq
graphIndexedConsumptionChannel:
destination: ontopop.data.indexed.graph
group: ontopop
binder: rabbitmq
servicebus:
topic:
bindings:
webProtegeProjectUpdatedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
gitHubRepositoryUpdatedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
ingestedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
validatedTriplestoreLoaderConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
validatedParserConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
triplestoreLoadedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
parsedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
modelledGraphLoaderConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
modelledGraphIndexerConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
graphLoadedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
graphIndexedConsumptionChannel:
consumer:
checkpoint-mode: MANUAL
function:
definition: consume;supply;
poller:
fixed-delay: 1000
initial-delay: 0
default:
contentType: application/json
vault:
enabled: true
host: localhost
port: 8200
scheme: http
authentication: TOKEN
token: ${VAULT_TOKEN}
kv:
enabled: true
backend: secret
default-context: ontopop/development
datasource:
driver-class-name: ${spring-datasource-driver-class-name}
url: ${spring-datasource-url}
username: ${spring-datasource-username}
password: ${spring-datasource-password}
jackson:
serialization:
write_dates_as_timestamps: false
jpa:
hibernate:
ddl-auto: update
show-sql: false
autoconfigure:
exclude: org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration
security:
secrets:
service: hashicorp-vault
aws-secrets-manager:
access-key-id:
access-key-secret:
region:
azure-key-vault:
url:
clientId:
clientSecret:
tenantId:
hashicorp-vault:
paths:
subpaths:
ontologies: /ontologies/
authentication:
api:
enabled: true
engine: secrets
storage:
object:
service: local
local:
baseUri: ${local-storage-base-directory-path}
aws-s3:
access-key-id:
access-key-secret:
region:
bucket-name:
azure-storage:
account-name:
account-key:
blob-endpoint:
container-name:
containers:
ingested: ingested
validated: validated
parsed: parsed
modelled: modelled
loaded:
triplestore: loaded/triplestore
graph: loaded/graph
indexed: indexed
webprotege:
exported: webprotege/exported
triplestore:
service: apache-jena
apache-jena:
fuseki:
url: ${jena-fuseki-url}
username: ${jena-fuseki-username}
password: ${jena-fuseki-password}
ontotext-graphdb:
url:
graph:
service: janusgraph-http
engine:
supportsUserDefinedIds: false
supportsNonStringIds: true
supportsSchema: true
supportsTransactions: true
supportsGeoshape: true
supportsTraversals:
by: true
gremlin-graph:
configuration-filename:
gremlin-server:
url:
host: ${gremlin-server-host}
port: ${gremlin-server-port}
username: ${gremlin-server-username}
password: ${gremlin-server-password}
enableSsl: false
remoteTraversalSourceName: g
serializer:
className: org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1
ioRegistries: org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry
serializeResultToString: false
bulkExecutor:
rateLimiter:
enabled: false
actionsPerSecond: 100
maximumAttempts: 10
search:
service: elasticsearch
indexNamePrefix: ontopop
elasticsearch:
url: ${elasticsearch-url}
username: ${elasticsearch-username}
password: ${elasticsearch-password}
ssl: true
shards: 1
replicas: 0
azure-search:
endpoint:
key:
vcs:
git:
service: github
committer:
name: ontopop
web:
client:
codecs:
maxInMemorySize: 10
azure:
webapps:
port: 80
aws:
beanstalk:
port: 5000
springdoc:
api-docs:
path: /docs
plugins:
webprotege:
exporter:
enabled: true
http:
enabled: false
scheduler:
enabled: true
cron: "0 0/10 * * * *"