Document toolboxDocument toolbox

Synapse Configuration

On This page

On Related Pages

Templated Configuration

We use a configuration system to help us enforce isolation between our service stacks, our daemon stacks, dev vs. prod, etc...

The build when running as dev has everything it needs to be configured correctly.

non-dev property overrides

Non-dev property override files belong in versioned S3 bucket configuration.sagebase.org. Make a subfolder to keep things tidy.

S3 Versioning documentation http://docs.amazonwebservices.com/AmazonS3/latest/dev/Versioning.html

Note that the AWS Console does not shows the versions of the config files but you can see them via:

~/>s3curl.pl --id platform  https://s3.amazonaws.com/configuration.sagebase.org/?versions

dev (local) property overrides

What to put in a local property override file

Right now it would need to be the concatenation of these files (and likely more in the future):

  • platform/trunk/lib/stackConfiguration/src/main/resources/stack.properties
  • platform/trunk/tools/tool-migration-utility/src/main/resources/searchUpdater.properties
  • platform/trunk/tools/tcgaWorkflow/src/main/resources/tcgaWorkflow.properties

How to tell your local build to use a property override file

If you need to make your own local override file, you'll need to add a property similar to the following to your .m2/settings.xml file:

 <org.sagebionetworks.stack.configuration.url>file:///Users/deflaux/Config/devdeflaux.properties</org.sagebionetworks.stack.configuration.url> 

How to get an/or use an encryption key

Recommended For your local stack, you can use the encryption key from sodo sodo:/work/platform/PasswordsAndCredentials/StackCredentials/devEncryptionKey.txt

Power Users Only Or make your own. The only requirement for the encryption key is that it is at least 24 characters long.

  1. For Mac/Linux: You can generate a key with OpenSSL
    1. openssl genrsa
      
      -- or --
      
      openssl enc -aes-128-cbc -k <key password> -P -md sha1
  2. Ā For Windows Users: KeePass http://keepass.info/ create and store my keys using the 'generate key'->'128 bit Hex Key' option.
  3. To use your key to encrypt stuff
    cd lib/stackConfiguration
    mvn exec:java -Dexec.mainClass="org.sagebionetworks.StringEncrypter" -Dexec.args="<database_password> <your_encryption_key>"