Snowstorm uses the Spring Boot framework so this general information about Spring Boot configuration is recommended.
The default configuration can be found in src/main/resources/application.properties.
This file also contains an explanation of each option.
The defaults can be overridden using either an external properties file or command line parameters.
For example to override the HTTP port configuration using a properties file. Create a properties named application-local.properties with content:
server.port=8095
snowstorm.rest-api.readonly=true
Then start Snowstorm with an extra JVM parameter:
--spring.config.location=application-local.properties
Properties can also be overridden using command line arguments. For example by starting Snowstorm with an extra JVM parameter:
--server.port=8095
--snowstorm.rest-api.readonly=true
Snowstorm uses Spring Cloud libraries which will detect when the application is run in AWS. The libraries expect there to be credentials in the environment which can be used to load resources from S3. If there are no credentials available startup will fail with the following error reported com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain
.
This AWS auto configuration behaviour can be disabled using this property in your application.properties file:
spring.autoconfigure.exclude=org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration
Or by setting the same property using a command line argument when starting Snowstorm:
--spring.autoconfigure.exclude=org.springframework.cloud.aws.autoconfigure.context.ContextStac