...
The ingest server reads from the /etc/chronopolis/application.properties configuration file:
Code Block | ||||
---|---|---|---|---|
| ||||
# Sample application.properties |
...
## Staging areas |
...
chron.stage.bags=/export/outgoing/bags |
...
chron.stage.tokens=/export/outgoing/tokens |
...
ingest.replication.server=stage.chronopolis.org |
...
ingest.replication.user=chronopolis |
...
## Database Connection |
...
spring.datasource.url=jdbc:postgresql://localhost/ingest |
...
spring.datasource.username=chron |
...
spring.datasource.password=secret-password |
...
### Needed so that we don't try to load the schema/data |
...
spring.datasource.initialize=false |
...
## Specify that we are running production services |
...
spring.profiles.active=production |
...
## SSL Configuration |
...
# server.port = 8443 |
...
# server.ssl.key-store = file:/path/to/keystore.jks |
...
# server.ssl.key-store-password = secret |
...
# server.ssl.key-password = another-secret |
...
# Logging |
...
logging.path=/var/log/chronopolis/ |
...
logging.file=/var/log/chronopolis/ingest.log |
...
logging.level.org.springframework=ERROR |
...
logging.level.org.hibernate=ERROR |
...
logging.level.org.chronopolis=DEBUG |
...
# SMTP Configuration |
...
# smtp.host=localhost.localdomain |
...
# smtp.to=chron- |
...
support@sdsc.edu |
...
# smtp.from=localhost |
...
# smtp.send=false |
As of version 2.0, we'll be moving to a yaml based configuration. This looks similar to the above, with a few changes being propagated through the various services to get all the properties to be the same.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# Ingest Configuration Properties
# Ingest Cron job properties
# tokens: the rate at which to check for bags which have all tokens and can have a Token Store written
# request: the rate at which to check for bags which need their initial replications created
ingest.cron:
tokens: 0 0/10 * * * *
request: 0 0/10 * * *
# Ingest AJP Settings
# enabled: flag to enable an AJP connector
# port: the port for the connector to listen on
ingest.ajp:
enabled: false
port: 8009
# The staging area for writing Token Stores. Nonposix support not yet implemented.
## id: The id of the StagingStorage in the Ingest server
## path: The path to the filesystem on disk
chron.stage.tokens.posix.id: -1
chron.stage.tokens.posix.path: /dev/null
# Database connection
# Initialize should be kept false so that the server does not attempt to run a drop/create on the tables
spring.datasource:
url: jdbc:postgresql://localhost/ingest
username: postgres
password: dbpass
initialize: false
# Specify the active profile for loading various services, normally production
spring.profiles.active: production
# debug: true
server.port: 8000
# Logging properties
logging.file: ingest.log
logging.level:
org.springframework: ERROR
org.hibernate: ERROR
org.chronopolis: DEBUG |
Notes on Configuration
- The ingest.replication properties are used to build the uris for replication. An example, replicating a collection "Scientific_Data" from depositor "ucsd-researchers":
- rsync-bag: chronopolis@stage.chronopolis.org:/export/outgoing/bags/ucsd-researchers/Scientific_Data
- rsync-tokens: chronopolis@stage.chronopolis.org:/export/outgoing/tokens/ucsd-researchers/Scientific_Data-tokens-2015-02-11
- An AJP connector can now be configured with the server, meaning SSL can be served through apache httpd instead of a java keystore
...