YOUnite API
For YOUnite to function properly, it requires its supporting services are up and functioning properly. These include:
- DB - Postgres or AWS RDS
- AMQ Message Broker
- Elastic Stack
- Includes
- Beats
- NGINX firewall proxy
- Includes
- YOUnite UI
These services need to be configured in highly available configurations.
...
are configured as Rancher services that include load balanced containers that run as part of one or more Rancher stacks.
YOUnite API
Rancher Stacks
DB Initialization
Flyway needs to be invoked to seed the database and it is required that only one instance of YOUnite API is run during this process. To insure the DB initialization is handled properly, be certain that YOUnite API service is instantiated in a rolling deployment.
Message Broker
AMQ is to be configured in a HA configuration
Elastic Stack
The following Elastic Stack services need to configured in an HA configuration
- Kibana
- Elasticsearch
- Beats
- Logstash
YOUnite UI
YOUnite UI is designed to horizontally scale out of the box. YOUnite UI configuration requirements can be found in the TODO page
Rancher/Jenkins
Application Properties
Settings for the following can be made in the application.properties
file found at TODO
- OAuth config
- Elastic Config
- AMQ COnfig
- SSO Config
- DB Config
Database Configuration
AWS RDS
We will use this in production and QA.
This will take some effort for us to migrate from Postgres
Message Queue Configuration
Additional settings for the Message Service can be made in the spring-activemq.xml
file found at TODO
Elastic Stack Configuration
Default Notification Settings
YOUnite UI
The YOUnite UI needs to connect to the following services:
- YOUnite API Service
- YOUnite URI/port is required
- OAuth credentials
- AMQ Message Broker
- AMQ URI/ports
- Security credentials
- Elastic Kibana
- Kibana URI/ports
- OAuth credentials
- Deployment ID Provider (IDP)
- IDP URI/ports
- Secure configuration (see diagram)