Last week, Michael Gasch and I had the pleasure of presenting the VMware Event Broker Appliance (VEBA) solution to the Omaha VMUG community. The session was an introduction to VEBA, but we also covered some brand new topics including writing your own functions for VEBA and a quick look at the evolution of VEBA.
Note: For those interested, the recording for the Omaha VMUG session can be accessed here with following password: MYN%0k9
One of the topics that I was really looking forward to sharing with the VMUG audience was a sneak peak at our upcoming v0.7 release which will include two new Event Providers: Webhook and VMware Horizon!
Here we go🤩 The evolution continuous! Project @VMWEventBroker is approaching v0.7 and awesome news were exclusively introduced to @OmahaVMUG today. @lamw & @embano1 unveiled the support for Generic Webhook AND @vmwarehorizon providers🥳 #eventdriven #automation #VMware #VEBA4H pic.twitter.com/wa27st4QoQ
— Robert Guske (@vmw_rguske) August 5, 2021
About a month back, I had teased some upcoming collaboration with Chris Halstead, famous for his VMware Horizon Flings and there was some good speculation and hope that this would mean VMware Horizon support for VEBA.
Please let it be VEBA extensions for @vmwarehorizon.. 🙏🏻
— Johan van Amersfoort (@vhojan) July 8, 2021
I am excited to share that we have been working on a new VMware Horizon Event Provider for VEBA and this will allow users to easily build and consume event-driven automation reacting to a number of VMware Horizon events! In fact, this was only made possible with the new Horizon Audit Events API that was recently introduced in the latest Horizon 2106 release which now has over 850 different events!
We are really excited to see what our users will do with this new functionality and if you are interested in trying out the Tech Preview of the VMware Horizon Provider for VEBA simply join the VEBA Slack Channel and you will be able to download the latest OVA appliance.
During the OVA deployment, users will now see a new Horizon section can be filled out to enable the VMware Horizon Provider.
The input above should be pretty self-explanatory and if everything was setup correctly, you should be able to open a browser to https://[VEBA-FQDN]/events and see incoming events from both your vCenter Server and VMware Horizon events by using the CloudEvents Viewer UI.
Once you have identified the specific set of VMware Horizon event(s) you are interested in, you will need to convert those IDs into a VEBA Horizon Event ID which takes the form of com.vmware.event.router/[HORIZON-EVENT-ID-LOWER-CASE.v0
Lets take the following VMware Horizon Event ID: VLSI_USERLOGGEDIN_REST (which occurs when you log into the VMware Horizon UI / API). The expected VEBA Horizon Event ID will be com.vmware.event.router/horizon.vlsi_userloggedin_rest.v0
With this information, you can then deploy a function that will only be triggered when it sees this particular type of event, which is accomplished by adding a filter on the type property as shown in the example below.
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: kn-ps-echo labels: app: veba-ui spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: "1" autoscaling.knative.dev/minScale: "1" spec: containers: - image: projects.registry.vmware.com/veba/kn-ps-echo:1.1 --- apiVersion: eventing.knative.dev/v1 kind: Trigger metadata: name: veba-ps-horizon-trigger labels: app: veba-ui spec: broker: default filter: attributes: type: com.vmware.event.router/horizon.vlsi_userloggedin_rest.v0 subscriber: ref: apiVersion: serving.knative.dev/v1 kind: Service name: kn-ps-echo
If you have any questions or just want to explore some ideas for building event-driven automation using the new VMware Horizon Event Provider for VEBA, come join the VEBA Slack Channel and the team would be more than happy to chat with you.