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