diff --git a/apps/dashboard-app/src/main/resources/reference.conf b/apps/dashboard-app/src/main/resources/reference.conf index 6495dfe82..3f2895c6f 100644 --- a/apps/dashboard-app/src/main/resources/reference.conf +++ b/apps/dashboard-app/src/main/resources/reference.conf @@ -1,85 +1,85 @@ shrine { problem { problemHandler = "net.shrine.problem.DatabaseProblemHandler$" } dashboard { gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch . happyBaseUrl = "https://localhost:6443/shrine/rest/happy" statusBaseUrl = "https://localhost:6443/shrine/rest/internalstatus" remoteDashboard { protocol = "https://" port = ":6443" pathPrefix = "shrine-dashboard/fromDashboard" } database { dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else jndiDataSourceName = "java:comp/env/jdbc/problemDB" //or leave out for tests slickProfileClassName = "slick.driver.MySQLDriver$" // Can be // slick.driver.H2Driver$ // slick.driver.MySQLDriver$ // slick.driver.PostgresDriver$ // slick.driver.SQLServerDriver$ // slick.driver.JdbcDriver$ // freeslick.OracleProfile$ // freeslick.MSSQLServerProfile$ // // (Yes, with the $ on the end) // For testing without JNDI // testDataSource { //typical test settings for unit tests //driverClassName = "org.h2.Driver" //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test // } createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally } } pmEndpoint { - url = "http://changeme.com/i2b2/services/PMService/getServices" //"http://services.i2b2.org/i2b2/services/PMService/getServices" +// url = "http://example.com/i2b2/services/PMService/getServices" //set to the right pm endpoint acceptAllCerts = true timeout { seconds = 10 } } authenticate { realm = "SHRINE Steward API" usersource { type = "PmUserSource" //Must be ConfigUserSource (for isolated testing) or PmUserSource (for everything else) domain = "set shrine.authenticate.usersource.domain to the PM authentication domain in dashboard.conf" //"i2b2demo" } } // If the pmEndpoint acceptAllCerts = false then you need to supply a keystore // Or if you would like dashboard-to-dashboard comms to work. // keystore { // file = "shrine.keystore" // password = "chiptesting" // privateKeyAlias = "test-cert" // keyStoreType = "JKS" // caCertAliases = [carra ca] // } } //todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others akka { loglevel = INFO // log-config-on-start = on loggers = ["akka.event.slf4j.Slf4jLogger"] // logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" // Toggles whether the threads created by this ActorSystem should be daemons or not daemonic = on } spray.servlet { boot-class = "net.shrine.dashboard.Boot" request-timeout = 30s } diff --git a/apps/dashboard-war/src/main/resources/reference.conf b/apps/dashboard-war/src/main/resources/reference.conf index ed315800d..595c6ae02 100644 --- a/apps/dashboard-war/src/main/resources/reference.conf +++ b/apps/dashboard-war/src/main/resources/reference.conf @@ -1,49 +1,49 @@ shrine { dashboard { gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch . } pmEndpoint { - url = "http://changeme.com/i2b2/services/PMService/getServices" //"http://services.i2b2.org/i2b2/services/PMService/getServices" + // url = "http://example.com/i2b2/services/PMService/getServices" //set to the right pm endpoint acceptAllCerts = true timeout { - seconds = 1 + seconds = 10 } } // If the pmEndpoint acceptAllCerts = false then you need to supply a keystore // keystore { // file = "shrine.keystore" // password = "chiptesting" // privateKeyAlias = "test-cert" // keyStoreType = "JKS" // caCertAliases = [carra ca] // } authenticate { realm = "SHRINE API" usersource { type = "PmUserSource" //Must be ConfigUserSource (for isolated testing) or PmUserSource (for everything else) domain = "set shrine.authenticate.usersource.domain to the PM authentication domain in dashboard.conf" //"i2b2demo" } } } //todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others akka { loglevel = INFO // log-config-on-start = on loggers = ["akka.event.slf4j.Slf4jLogger"] // logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" // Toggles whether the threads created by this ActorSystem should be daemons or not daemonic = on } spray.servlet { boot-class = "net.shrine.dashboard.Boot" request-timeout = 30s } diff --git a/apps/steward-app/src/main/resources/reference.conf b/apps/steward-app/src/main/resources/reference.conf index 4d824ec27..148a7bc81 100644 --- a/apps/steward-app/src/main/resources/reference.conf +++ b/apps/steward-app/src/main/resources/reference.conf @@ -1,108 +1,108 @@ shrine { steward { createTopicsMode = Pending //Can be Pending, Approved, or TopcisIgnoredJustLog //Pending - new topics start in the Pending state; researchers must wait for the Steward to approve them //Approved - new topics start in the Approved state; researchers can use them immediately //TopicsIgnoredJustLog - all queries are logged and approved; researchers don't need to create topics emailDataSteward { - sendAuditEmails = true + sendAuditEmails = true //false will turn off the whole of emailing the data steward interval = "1 day" //Audit researchers daily maxQueryCountBetweenAudits = 30 //If a researcher runs more than this many queries since the last audit audit her minTimeBetweenAudits = "30 days" //If a researcher runs at least one query, audit those queries if this much time has passed - //provide the email address of the shrine node system admin, to handle bounces and invalid addresses + //You must provide the email address of the shrine node system admin, to handle bounces and invalid addresses //from = "shrine-admin@example.com" - //provide the email address of the shrine node system admin, to handle bounces and invalid addresses + //You must provide the email address of the data steward //to = "shrine-steward@example.com" subject = "Audit SHRINE researchers" //The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text. //stewardBaseUrl = "https://example.com:8443/steward/" //Text to use for the email audit. // AUDIT_LINES will be replaced by a researcherLine for each researcher to audit. // STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available. emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convinience: -AUDIT_LINES""" +AUDIT_LINES"""//note that this can be a multiline message //Text to use per researcher to audit. //FULLNAME, USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text. researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE." } database { dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else jndiDataSourceName = "java:comp/env/jdbc/stewardDB" //or leave out for tests slickProfileClassName = "slick.driver.MySQLDriver$" // Can be // slick.driver.H2Driver$ // slick.driver.MySQLDriver$ // slick.driver.PostgresDriver$ // slick.driver.SQLServerDriver$ // slick.driver.JdbcDriver$ // freeslick.OracleProfile$ // freeslick.MSSQLServerProfile$ // // (Yes, with the $ on the end) // For testing without JNDI // testDataSource { //typical test settings for unit tests //driverClassName = "org.h2.Driver" //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test // } createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally } gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch . } pmEndpoint { - url = "http://changeme.com/i2b2/services/PMService/getServices" //"http://services.i2b2.org/i2b2/services/PMService/getServices" + url = "http://example.com/i2b2/services/PMService/getServices" //"http://services.i2b2.org/i2b2/services/PMService/getServices" acceptAllCerts = true timeout { seconds = 10 } } authenticate { realm = "SHRINE Steward API" usersource { type = "PmUserSource" //Must be ConfigUserSource (for isolated testing) or PmUserSource (for everything else) domain = "set shrine.authenticate.usersource.domain to the PM authentication domain in steward.conf" //"i2b2demo" } } // If the pmEndpoint acceptAllCerts = false then you need to supply a keystore // keystore { // file = "shrine.keystore" // password = "chiptesting" // privateKeyAlias = "test-cert" // keyStoreType = "JKS" // caCertAliases = [carra ca] // } } //todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others akka { loglevel = INFO // log-config-on-start = on loggers = ["akka.event.slf4j.Slf4jLogger"] // logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" // Toggles whether the threads created by this ActorSystem should be daemons or not daemonic = on } spray.servlet { boot-class = "net.shrine.steward.Boot" request-timeout = 30s } diff --git a/apps/steward-war/src/main/resources/reference.conf b/apps/steward-war/src/main/resources/reference.conf index a98b35283..019d43fab 100644 --- a/apps/steward-war/src/main/resources/reference.conf +++ b/apps/steward-war/src/main/resources/reference.conf @@ -1,109 +1,109 @@ shrine { steward { createTopicsMode = Pending //Can be Pending, Approved, or TopcisIgnoredJustLog //Pending - new topics start in the Pending state; researchers must wait for the Steward to approve them //Approved - new topics start in the Approved state; researchers can use them immediately //TopicsIgnoredJustLog - all queries are logged and approved; researchers don't need to create topics emailDataSteward { sendAuditEmails = true interval = "1 day" //Audit researchers daily timeAfterMidnight = "6 hours" //Audit researchers at 6 am. If the interval is less than 1 day then this delay is ignored. maxQueryCountBetweenAudits = 30 //If a researcher runs more than this many queries since the last audit audit her minTimeBetweenAudits = "30 days" //If a researcher runs at least one query, audit those queries if this much time has passed //provide the email address of the shrine node system admin, to handle bounces and invalid addresses //from = "shrine-admin@example.com" //provide the email address of the shrine node system admin, to handle bounces and invalid addresses //to = "shrine-steward@example.com" subject = "Audit SHRINE researchers" //The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text. //stewardBaseUrl = "https://example.com:8443/steward/" //Text to use for the email audit. // AUDIT_LINES will be replaced by a researcherLine for each researcher to audit. // STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available. emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convinience: AUDIT_LINES""" //Text to use per researcher to audit. //FULLNAME, USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text. researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE." } database { dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else jndiDataSourceName = "java:comp/env/jdbc/stewardDB" //or leave out for tests slickProfileClassName = "slick.driver.MySQLDriver$" // Can be // slick.driver.H2Driver$ // slick.driver.MySQLDriver$ // slick.driver.PostgresDriver$ // slick.driver.SQLServerDriver$ // slick.driver.JdbcDriver$ // freeslick.OracleProfile$ // freeslick.MSSQLServerProfile$ // // (Yes, with the $ on the end) // For testing without JNDI // testDataSource { //typical test settings for unit tests //driverClassName = "org.h2.Driver" //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test // } createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally } gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch . } pmEndpoint { - url = "http://changeme.com/i2b2/services/PMService/getServices" //"http://services.i2b2.org/i2b2/services/PMService/getServices" + url = "http://example.com/i2b2/services/PMService/getServices" //"http://services.i2b2.org/i2b2/services/PMService/getServices" acceptAllCerts = true timeout { seconds = 10 } } authenticate { realm = "SHRINE Steward API" usersource { type = "PmUserSource" //Must be ConfigUserSource (for isolated testing) or PmUserSource (for everything else) domain = "set shrine.authenticate.usersource.domain to the PM authentication domain in steward.conf" //"i2b2demo" } } // If the pmEndpoint acceptAllCerts = false then you need to supply a keystore // keystore { // file = "shrine.keystore" // password = "chiptesting" // privateKeyAlias = "test-cert" // keyStoreType = "JKS" // caCertAliases = [carra ca] // } } //todo typesafe config precedence seems to do the right thing, but I haven't found the rules that say this reference.conf should override others akka { loglevel = INFO // log-config-on-start = on loggers = ["akka.event.slf4j.Slf4jLogger"] // logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" // Toggles whether the threads created by this ActorSystem should be daemons or not daemonic = on } spray.servlet { boot-class = "net.shrine.steward.Boot" request-timeout = 30s } diff --git a/hub/broadcaster-aggregator/src/main/resources/reference.conf b/hub/broadcaster-aggregator/src/main/resources/reference.conf index 90acacf60..ee05fe3c4 100644 --- a/hub/broadcaster-aggregator/src/main/resources/reference.conf +++ b/hub/broadcaster-aggregator/src/main/resources/reference.conf @@ -1,5 +1,10 @@ -shrine { - hub { - create = false - } +hub { + create = false //change to true to start a hub +// maxQueryWaitTime { +// minutes = 4.5 //Needs to be longer than the adapter's timeout, but shorter than the qep's +// } +// downstreamNodes { Add downstream nodes by name and URL here +// shrine-dev2 = "https://shrine-dev2.catalyst:6443/shrine/rest/adapter/requests" +// } +// shouldQuerySelf = true //false if there is no adapter at the hub } diff --git a/install/src/main/resources/shrine.conf b/install/src/main/resources/shrine.conf new file mode 100644 index 000000000..91cd12a4a --- /dev/null +++ b/install/src/main/resources/shrine.conf @@ -0,0 +1,342 @@ +shrine { + pmEndpoint { +// url = "http://shrine-dev1.catalyst/i2b2/services/PMService/getServices" //use your i2b2 pm url + } + ontEndpoint { +// url = "http://shrine-dev1.catalyst/i2b2/rest/OntologyService/" //use your i2b2 ontology url + } + hiveCredentials { + //use your i2b2 hive credentials +// domain = "i2b2demo" +// username = "demo" +// password = "demouser" +// crcProjectId = "Demo" +// ontProjectId = "SHRINE" + } + breakdownResultOutputTypes { + //use breakdown values appropriate for your shrine network +// PATIENT_AGE_COUNT_XML { +// description = "Age patient breakdown" +// } +// PATIENT_RACE_COUNT_XML { +// description = "Race patient breakdown" +// } +// PATIENT_VITALSTATUS_COUNT_XML { +// description = "Vital Status patient breakdown" +// } +// PATIENT_GENDER_COUNT_XML { +// description = "Gender patient breakdown" +// } + } + + queryEntryPoint { +// create = true //false for no qep +// audit { +// collectQepAudit = true //false to not use the 1.20 audit db tables +// database { +// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else +// jndiDataSourceName = "java:comp/env/jdbc/qepAuditDB" //or leave out for tests +// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be + // slick.driver.H2Driver$ + // slick.driver.MySQLDriver$ + // slick.driver.PostgresDriver$ + // slick.driver.SQLServerDriver$ + // slick.driver.JdbcDriver$ + // freeslick.OracleProfile$ + // freeslick.MSSQLServerProfile$ + // + // (Yes, with the $ on the end) + + // For testing without JNDI + // testDataSource { + + //typical test settings for unit tests + //driverClassName = "org.h2.Driver" + + //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests + //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test + // } +// timeout = 30 //time to wait before db gives up, in seconds. +// createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally +// } +// } +// trustModelIsHub = true // False for P2P networks. + +// authenticationType = "pm" //can be none, pm, or ecommons + +// authorizationType = "shrine-steward" //can be none, shrine-steward, or hms-steward + + //hms-steward config + // sheriffEndpoint { + // url = "http://localhost:8080/shrine-hms-authorization/queryAuthorization" + // acceptAllCerts = true + // timeout { + // seconds = 1 + // } + // } + + // sheriffCredentials { + // username = "sheriffUsername" + // password = "sheriffPassword" + // } + + //shrine-steward config +// shrineSteward { +// qepUserName = "qep" + // qepPassword = "trustme" + // stewardBaseUrl = "https://localhost:6443" +// } + + // includeAggregateResults = false + // + // maxQueryWaitTime { + // minutes = 5 //must be longer than the hub's maxQueryWaitTime + // } + + // broadcasterServiceEndpoint { + // url = "http://example.com/shrine/rest/broadcaster/broadcast" //url for the hub + // acceptAllCerts = true + // timeout { + // seconds = 1 + // } + // } + } + + hub { +// create = false //change to true to start a hub + maxQueryWaitTime { +// minutes = 4.5 //Needs to be longer than the adapter's maxQueryWaitTime, but shorter than the qep's + } + downstreamNodes { //Add your downstream nodes here +// shrine-dev2 = "https://shrine-dev2.catalyst:6443/shrine/rest/adapter/requests" + } + shouldQuerySelf = false //true if there is an adapter at the hub , or just add a loopback address to downstreamNodes + } + + adapter { +// create = true by default. False to not create an adapter. +// audit { +// collectAdapterAudit = true by default. False to not fill in the audit database +// database { +// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else +// jndiDataSourceName = "java:comp/env/jdbc/adapterAuditDB" //or leave out for tests +// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be + // slick.driver.H2Driver$ + // slick.driver.MySQLDriver$ + // slick.driver.PostgresDriver$ + // slick.driver.SQLServerDriver$ + // slick.driver.JdbcDriver$ + // freeslick.OracleProfile$ + // freeslick.MSSQLServerProfile$ + // + // (Yes, with the $ on the end) + + // For testing without JNDI + // testDataSource { + + //typical test settings for unit tests + //driverClassName = "org.h2.Driver" + + //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests + //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test + // } +// createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally +// } +// obfuscation { +// binSize = 5 by default //Round to the nearest binSize. Use 1 for no effect (to match SHRINE 1.21 and earlier). +// sigma = 6.5 by default //Noise to inject. Use 0 for no effect. (Use 1.33 to match SHRINE 1.21 and earlier). +// clamp = 10 by default //Maximum ammount of noise to inject. (Use 3 to match SHRINE 1.21 and earlier). +// } + +// adapterLockoutAttemptsThreshold = 10 by default // Number of allowed queries with the same actual result that can exist before a researcher is locked out of the adapter. Set to '0' to never lock out. In 1.23 the default will change to 0. In 1.24 the lockout code and this config value will be removed + +// botDefense { +// countsAndMilliseconds = [ //to turn off, use an empty json list +// {count = 10, milliseconds = 60000}, //allow up to 10 queries in one minute by default +// {count = 200, milliseconds = 36000000} //allow up to 4 queries in 10 hours by default +// ] +// } + + crcEndpoint { +//must be filled in url = "http://shrine-dev1.catalyst/i2b2/services/QueryToolService/" + } + setSizeObfuscation = true //must be set. false turns off obfuscation + adapterMappingsFileName = "AdapterMappings.xml" + maxSignatureAge { + minutes = 5 //must be longer than the hub's maxQueryWaitTime + } + immediatelyRunIncomingQueries = true + } + + networkStatusQuery = "\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Male\\" + humanReadableNodeName = "shrine-dev1" + shrineDatabaseType = "mysql" + + keystore { + file = "/opt/shrine/shrine.keystore" + password = "changeit" + privateKeyAlias = "shrine-dev1.catalyst" + keyStoreType = "JKS" + caCertAliases = [ + "shrine-dev-ca" + ] + } + problem { +// problemHandler = "net.shrine.problem.DatabaseProblemHandler$" Can be other specialized problemHandler implementations + } + dashboard { +// gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch . +// happyBaseUrl = "https://localhost:6443/shrine/rest/happy" If the shine servlet is running on a different machime from the dashboard, change this URL to match +// statusBaseUrl = "https://localhost:6443/shrine/rest/internalstatus" If the shine servlet is running on a different machime from the dashboard, change this URL to match +// database { +// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else +// jndiDataSourceName = "java:comp/env/jdbc/problemDB" +// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be + // slick.driver.H2Driver$ + // slick.driver.MySQLDriver$ + // slick.driver.PostgresDriver$ + // slick.driver.SQLServerDriver$ + // slick.driver.JdbcDriver$ + // freeslick.OracleProfile$ + // freeslick.MSSQLServerProfile$ + // + // (Yes, with the $ on the end) + + // For testing without JNDI + // testDataSource { + + //typical test settings for unit tests + //driverClassName = "org.h2.Driver" + + //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests + //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test + // } +// createTablesOnStart = false //for testing with H2 in memory, when not running unit tests. Set to false normally +// } + +// } +// status { + //permittedHostOfOrigin = "localhost" //If absent then get the host name via java.net.InetAddress.getLocalHost.getHostName . Override to control + } + +//Get the older squerl-basd databases through JNDI (inside of tomcant, using tomcat's db connection pool) or directly via a db config here (for testing + squerylDataSource { +// database { +// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else +// jndiDataSourceName = "java:comp/env/jdbc/shrineDB" //or leave out for tests +// } + } + + authenticate { + usersource { +// domain = "i2b2demo" //you must provide your own domain + } + } + steward { + +// createTopicsMode = Pending //Can be Pending, Approved, or TopcisIgnoredJustLog. Pending by default + //Pending - new topics start in the Pending state; researchers must wait for the Steward to approve them + //Approved - new topics start in the Approved state; researchers can use them immediately + //TopicsIgnoredJustLog - all queries are logged and approved; researchers don't need to create topics + + emailDataSteward { +// sendAuditEmails = true //false to turn off the whole works of emailing the data steward +// interval = "1 day" //Audit researchers daily +// timeAfterMidnight = "6 hours" //Audit researchers at 6 am. If the interval is less than 1 day then this delay is ignored. +// maxQueryCountBetweenAudits = 30 //If a researcher runs more than this many queries since the last audit audit her +// minTimeBetweenAudits = "30 days" //If a researcher runs at least one query, audit those queries if this much time has passed + + //You must provide the email address of the shrine node system admin, to handle bounces and invalid addresses + //from = "shrine-admin@example.com" + //You must provide the email address of the data steward + //to = "shrine-steward@example.com" + +// subject = "Audit SHRINE researchers" + //The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text. + //stewardBaseUrl = "https://example.com:8443/steward/" + + //Text to use for the email audit. + // AUDIT_LINES will be replaced by a researcherLine for each researcher to audit. + // STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available. +// emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convinience: +// +//AUDIT_LINES""" //note that this can be a multiline message + + //Text to use per researcher to audit. + //FULLNAME, USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text. +// researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE." + } + +// database { +// dataSourceFrom = "JNDI" //Can be JNDI or testDataSource . Use testDataSource for tests, JNDI everywhere else +// jndiDataSourceName = "java:comp/env/jdbc/stewardDB" //or leave out for tests +// slickProfileClassName = "slick.driver.MySQLDriver$" // Can be + // slick.driver.H2Driver$ + // slick.driver.MySQLDriver$ + // slick.driver.PostgresDriver$ + // slick.driver.SQLServerDriver$ + // slick.driver.JdbcDriver$ + // freeslick.OracleProfile$ + // freeslick.MSSQLServerProfile$ + // + // (Yes, with the $ on the end) + + // For testing without JNDI + // testDataSource { + + //typical test settings for unit tests + //driverClassName = "org.h2.Driver" + + //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" //H2 embedded in-memory for unit tests + //url = "jdbc:h2:~/stewardTest.h2" //H2 embedded on disk at ~/test + // } +// createTablesOnStart = false // true for testing with H2 in memory, when not running unit tests. Set to false normally +// } + +// gruntWatch = false //false for production, true for mvn tomcat7:run . Allows the client javascript and html files to be loaded via gruntWatch . + + } + + email { + //add javax mail properties from https://www.tutorialspoint.com/javamail_api/javamail_api_smtp_servers.htm here +// javaxmail { +// mail { +// smtp { + //for postfix on localhost +// host = localhost +// port = 25 + + //for AWS SES - See http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-java.html + // host = email-smtp.us-east-1.amazonaws.com + // port = 25 + // transport.protocol = smtps + // auth = true + // starttls.enable = true + // starttls.required = true +// } +// } +// } + //Must be set for AWS SES. See http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-java.html + // authenticator { + // username = yourUsername + // password = yourPassword + // } + } +} + +//Default settings for akka +//akka { +// loglevel = INFO + + // log-config-on-start = on +// loggers = ["akka.event.slf4j.Slf4jLogger"] + // Toggles whether the threads created by this ActorSystem should be daemons or not. Use daemonic inside of tomcat to support shutdown +// daemonic = on +//} + +//You'll see these settings for spray, baked into the .war files. +//spray.servlet { +// boot-class = "net.shrine.dashboard.Boot" //Don't change this one. It'll start the wrong (or no) application if you change it. +// request-timeout = 30s +//} +