Snowstorm uses the Spring Boot framework so this general information about Spring Boot configuration is recommended.
From 7.10.0 release onward, you can also use Consul and Vault to store property values and secrets. See spring-cloud-consul and spring-vault for more information about setups and configuration.
See also:
The full list of the configuration options, their defaults and an explanation of each option can be found in src/main/resources/application.properties.
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.additional-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