/debezium-demo-apb

Ansible playbook for provisioning a Debezium demo

Table of Contents

Info

Ansible playbook for provisioning a Debezium demo using my Summit Lab Spring Music application as the "monolith". The Debezium connector is configured to use the Outbox Event Router.

The application is a simple Spring Boot application connected to a MySQL database. We'll install a 3 replica Kafka cluster with Kafka connect and then install the Debezium MySQL connector.

The database credentials are stored in a Secret and then mounted into the Kafka Connect cluster.

The Kafka Broker, Kafka Connect, and Kafka Bridge are all authenticated via OAuth 2.0. Red Hat Single Sign-on is installed and used as the authorization server. A new realm is automatically created and provisioned.

Assumptions / Requirements

  1. The OpenShift sso73-postgresql-persistent template is installed in the openshift namespace
  2. OperatorHub is available with the following operators available
  3. The openssl utility is installed
  4. The keytool utility is installed

Deployed Resource URLs

All the below resource URLs are suffixed with the apps url of the cluster (i.e. for an RHPDS environment, apps.cluster-##GUID##.##GUID##.example.opentlc.com).

Running the playbook

To run this you would do something like

$ ansible-playbook -v main.yml -e ocp_api_url=<OCP_API_URL> -e ocp_admin_pwd=<OCP_ADMIN_USER_PASSWORD>

You'll need to replace the following variables with appropriate values:

Variable Description
<OCP_API_URL> API url of your cluster
<OCP_ADMIN_USER_PASSWORD> Password for the OCP admin account

This playbook also makes some assumptions about some things within the cluster. These variables can be overridden with the -e switch when running the playbook.

Description Variable Default Value
OpenShift admin user name ocp_admin opentlc-mgr
OCP user to install demo into ocp_proj_user user1
OCP user password for above user ocp_proj_user_pwd openshift
Project name to install demo into proj_nm_demo demo

Additional Resources

Backlog for enhancements

PRs welcome!