-
Notifications
You must be signed in to change notification settings - Fork 0
Configuring the application
The application is driven by a JSON configuration file that is loaded by the API. An example to customise can be found at https://github.com/CoEDL/nyingarn-workspace/blob/master/configuration/example-configuration.json.
For development, start by copying that file to development-configuration.json
in the configuration folder and then customise as required.
Following are some specific things you will want to configure.
- api.administrators: a list of email addresses who are administrators of the system. This is only required as a backup. You can define administrators within the application but anyone in this list will always be an admin regardless of what their admin status is inside the application.
- api.session: configure how long a login session lasts and the secret used to encrypt it (modifiers are "years, months, weeks, days, hours, minutes, seconds")
- api.services.s3: configuration information for the S3 backend that the application uses. The example shows a MinIO backend configuration but this can be adapted to use AWS s3 by not setting
endpointUrl
andforcePathStyle
. - api.services.aws: credentials for accessing AWS services. The application uses AWS Textract for Optical Character Recognition (OCR) and SES to send emails. You will need to provide a credential with the following Permissions Policies:
AmazonSESFullAccess
AmazonTextractFullAccess
AmazonTextractServiceRole
Note that AWS S3 access is still configured in the section api.services.s3. That can use these (with appropriate permissions) or it can be another set of credentials (again with appropriate permissions) - but you still need that section.
-
api.authentication[]
: an array of authentication providers and the relevant oauth information required for them to work. Each one must have 4 keys: clientId, clientSecret, redirectUri, and discover. Discover is the base path from where the well known oauth2 information is expected to be found.
Both the workspace and repository use AWS SES (Simple Email Service) to send emails. In order for this to work, you need to do the following in SES.
- Create a google email account to use for SES. Google allows emails to be sent from SES. Other providers (like unimelb) are not so friendly.
- Go to
Configuration/Verified Identities
Create identity
- Select
Email address
and then enter it into the field. - Define a
Configuration Set
called email-delivery-failures and then set the event destination asAmazon SNS
with a topic containing an email address you get. When configuring the event destination, you will be asked what you want to be notified about - e.g. hard bounces, rejects and other things. Select all that make sense.