Ansible playbook for deploying an instance of IBM Event Automation, populated with events for use in demos.
This repository contains a playbook for installing a demo environment of IBM Event Automation.
To help you start exploring the features, the playbook also populates the environment with topics and a data generator that creates a live stream of events that are ready to use.
These tutorial topics simulate aspects of a clothing retailer, with topics relating to sales, stock management, and employee activities.
Messages on the topics are consistent (for example, events on the topic for cancelled orders use order IDs that are used in events on the orders topic) to allow you to experiment with joining and correlating events from different topics. Some topics include events that are intentionally duplicated, delayed, or produced out of sequence, to allow you to learn how to use Event Automation to correctly process topics like this.
This tutorial environment is not intended to demonstrate a production deployment. It is a quick and simple instance of Event Automation for learning some of the key features.
-
In the target environment you deploy the demo to:
- Red Hat OpenShift Container Platform
-
Where you run the deployment playbook from:
-
ansible-playbook
with the following collections installed:
ansible-galaxy collection install kubernetes.core ansible-galaxy collection install community.general
-
Entitlement key from the IBM Container software library.
-
A default install will deploy Event Automation without persistent storage.
ansible-playbook \
-e license_accept=<true|false> \
-e install_certmgr=<true|false> \
-e ibm_entitlement_key=<Entitled Registry key> \
-e eventautomation_namespace=event-automation \
install/event-automation.yaml
Set this to true
to indicate that you accept the terms of the Event Automation license. This value is used for each of the components that the playbook installs.
Event Automation requires a certificate manager operator to create and manage SSL/TLS certificates.
Set this to true
if you don't already have an existing supported certificate manager operator and want the deployment playbook to install the IBM Cert Manager.
Otherwise, omit this value (or set it to false
) to use your existing certificate operator.
Set this to the key you created in the IBM Container software library.
Namespace to deploy the Event Automation components into.
Storage class to use for persistent storage for Kafka brokers and ZooKeeper nodes from Event Streams.
If omitted, ephemeral storage is used.
Storage class to use for the Event Endpoint Management manager.
If omitted, ephemeral storage is used.
Storage class to use for the Event Processing authoring environment.
If omitted, ephemeral storage is used.
For example, to deploy into a cluster from Red Hat OpenShift Kubernetes Service on IBM Cloud ("ROKS"), using persistent storage, you can run:
ansible-playbook \
-e license_accept=true \
-e ibm_entitlement_key=YOUR-KEY-HERE \
-e install_certmgr=true \
-e eventstreams_storage_class=ibmc-block-gold \
-e eventendpointmanagement_storage_class=ibmc-block-bronze \
-e eventprocessing_storage_class=ibmc-block-bronze \
-e eventautomation_namespace=event-automation \
install/event-automation.yaml
For more options, see INSTALL-OPTIONS.md.
For details on how to customize the events produced by the data generator, see the documentation for the data generator.
A helper script is provided to populate the Event Endpoint Management catalog with documentation for the tutorial Kafka topics.
This will allow you to discover the tutorial topics in the catalog.
You need an access token to be able to run the helper script.
To create an access token, visit the Profile page in the Event Endpoint Management catalog by clicking on the user icon in the header. For more detailed instructions, see the Event Endpoint Management documentation.
./eem-seed/reset-all-data.sh <eventautomation_namespace> <access_token>
For example:
./eem-seed/reset-all-data.sh event-automation 00000000-0000-0000-0000-000000000000
Warning:
This will delete ALL data stored in Event Endpoint Management (including cluster definitions, topic documentation, subscriptions), and replace it with documentation for the topics included in the tutorial.
You should not run this script if you have any data in Event Endpoint Management that you want to keep.
For instructions on how to start using your new demo environment, you can follow the tutorial instructions in the IBM Event Automation documentation.