Deploying YOUnite Jenkins Pipelines to Rancher
YOUnite API
For YOUnite to function properly, it requires its supporting services are up and functioning properly.
These include:
Database: Postgres or AWS RDS
AMQ Message Broker
Elastic Stack
Includes
Beats
NGINX firewall proxy
YOUnite UI
The supporting services are configured as Rancher services that include load-balanced containers that run as part of one or more Rancher stacks.
YOUnite API
Rancher Stacks
Database Initialization
Flyway needs to be invoked to seed the database requiring only one instance of YOUnite API to run during this process. To ensure the database initialization is handled properly, you must instantiate the YOUnite API service in a rolling deployment.
Message Broker
Configure AMQ in a high availability (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. See the YOUnite UI page for configuration requirements. TODO
Rancher/Jenkins
Application Properties
Settings for the following applications can be made in the application.properties file. See Implementing the YOUnite Ecosystem for more information. TODO
OAuth config
Elastic Config
AMQ COnfig
SSO Config
DB Config
Database Configuration
AWS RDS
AWS Relational Database Services (RDS) will be used in the production and QA environments.
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)
YOUnite API Service
AMQ Message Broker
Elastic Kibana
Deployment IDP