We now have the following CNAMEs for Synapse in the sagebase.org domain:
We have two Crowd instances, one for production and one for development/testing:
log in to AWS
http://aws.amazon.com/console/
as platform@sagebase.org (get the password frome someone in the Platform department).
Click "Launch New Environment"
set environment name, e.g. "Prod-Auth"
choose or upload an "application version" (which is a WAR file)
Default AMI (32 bit Linux server running Tomcat v 7)
Instance type: t1.micro
Key Pair: PlatformKeyPairEast
email: platform@sagebase.org
Create two more, so that there is one for Auth services, one for Repo services, and one for SynapseWeb
Sign in to GoDaddy, select sagebase.org, and launch Domain Manager.
Create synapse-prod (.sagebase.org) and point it to prod-synapseweb.elasticbeanstalk.com
Ditto for auth-prod and reposvc-prod
If necessary, create a new schema in the AWS RDS, e.g. using MySQL Workbench.
The schema name, for example, might be 'prodRepositoryDb'
Click on 'edit configuration' in the Beanstalk UI.
For 'HTTPS Listener port' choose '443'.
For 'SSL Cert' choose arn:aws:iam::325565585839:server-certificate/SynapseCert
Click on 'container.' In the JVM Command Line Options, put
-Dorg.sagebionetworks.crowdUrl=https://crowd.sagebase.org:8443
For a non-production deployment:
-Dorg.sagebionetworks.crowdUrl=https://crowd-dev.sagebase.org:8443
-DACCEPT_ALL_CERTS=true
For 'HTTPS Listener port' choose '443'.
For 'SSL Cert' choose arn:aws:iam::325565585839:server-certificate/SynapseCert
Click on 'container' and enter the following:
AWS_ACCESS_KEY_ID: <<the appropriate key ID>>
AWS_SECRET_KEY: <<the appropriate secret key>>
JDBC_CONNECTION_STRING: jdbc:mysql://repo.c5sxx7pot9i8.us-east-1.rds.amazonaws.com/prodRepositoryDb
where 'prodRepositoryDb' is replaced by the schema name chosen above.
PARAM1: <<user in the DB schema>>
PARAM2: <<user password>>
Click on 'container.' In the JVM Command Line Options, put
-Dorg.sagebionetworks.crowdUrl=https://crowd.sagebase.org:8443
For a non-production deployment:
-Dorg.sagebionetworks.crowdUrl=https://crowd-dev.sagebase.org:8443
-DACCEPT_ALL_CERTS=true
For 'HTTPS Listener port' choose '443'.
For 'SSL Cert' choose arn:aws:iam::325565585839:server-certificate/SynapseCert
If necessary, the instructions are here:
http://sagebionetworks.jira.com/wiki/display/PLFM/Setting+Up+Production+Crowd
On one of the local servers, goto /work/platform/DatasetMetadataLoader and execute the following:
# Make sure you have the latest version svn up # Execute the loader # Replace <repo_instance> and <auth_instance> by the repository and authentication instances. # Either make sure that demouser@sagebase.org is a Synapse administrator on crowd, or replace it by a Synapse administrator account python datasetCsvLoader.py -d ./AllDatasets.csv -l ./AllDatasetLayerLocations.csv -e http://<repo_instance>/repo/v1 -a http://<auth_instance>/auth/v1 -m /work/platform/platform.md5sums.csv -u demouser@sagebase.org -p demouser-pw |
To verify deployment, run top-level queries against the repository instances from an authenticated account.
TODO: Add queries and expected counts returned.