I recently decided to work on VEBA (VMware Event Broker Appliance) , Those who do not know what is VEBA , Here is the URL where we can find more details.
As a new User to VEBA , First step was to install and Instead of going to deploy into multiple places , I decided to create a VRA Cloud Catalog Item which can use used in future with couple of clicks.
I am using the latest version v0.7.2 which got released 1 day before this Post .
To get started what do we need …. ?
- vCenter with Public Internet Access or OVA uploaded to Content Library in vSphere.
- vCenter UserName, Password with permission to access events .
Since my vCenter has access to public repositories , I do not need to download anything locally or in vCenter.
Let’s see How the Service Broker Catalog looks like.

Here we will choose Request on VEBA .
I have included Most commonly used properties in this , but we can add more if we need




Once we fill all required details , the Form will look like this ..

This was the view of Catalog Item , Lets switch to Cloud Assembly and Prepare the blueprint for this.
Here is the Yaml for blueprint.
formatVersion: 1
inputs:
hostname:
type: string
description: Enter veba hostname
title: Hostname
Rootpassword:
type: string
description: Enter Root Password
title: Root Password
encrypted: true
Domain:
type: string
description: Enter Domain server IP or FQDN
title: Domain
SubnetMask:
type: string
description: 'Example: 24 (255.255.255.0)'
title: Subnet Mask
Gateway:
type: string
description: Provide Gateway for VEBA
title: Gateway
enable_ssh:
type: string
enum:
- 'True'
- 'False'
title: Enable SSH
description: 'Enable SSH service '
default: 'True'
vcenter_server:
type: string
description: Enter vCenter Server IP or FQDN
title: vCenter Server
vcenter_username:
type: string
description: Enter vCenter Username
encrypted: false
title: vCenter Username
vcenter_password:
type: string
description: Enter vCenter password
title: vCenter Password
encrypted: true
vcenter_disable_tls_verificatio:
type: string
default: true
title: vCenter Disable TLS Verificatio
description: TLS Disable would be require incase of self signed Certificate
vCenter_VEBA_username:
type: string
description: Enter Username of vCenter for VEBA
title: VEBA UserName
vcenter_veba_ui_password:
type: string
description: Enter Password of vCenter for VEBA
title: vCenter VEBA UI Password
encrypted: true
aws_eb_access_secret:
type: string
description: AWS Access Secret if any or leave Blank
title: AWS Access Secret
encrypted: true
default: ''
aws_eb_event_bus:
title: AWS Event Bus
type: string
description: Provide AWS event Bus details if any or leave Blank
default: ''
webhook:
type: string
description: Provide Webhook details if any or leave blank
default: ''
title: Webhook
webhook_username:
type: string
description: Provode Webhook Username if any or leave blank
default: ''
title: Webhook Username
webhook_password:
type: string
description: Enter Webhook password If any or leave blank
title: Webhook Password
default: ''
event_processor_type:
type: string
description: Choose any One of the Them
enum:
- Knative
- OpenFaaS
- AWS EventBridge
title: Event Processor Type
default: Knative
horizon_domain:
type: string
description: Enter Horizon Domain If any or leave blank
title: Horizon Domain
default: ''
horizon_username:
type: string
description: Enter Horizon Username If any or Leave Blank
title: Horizon Username
default: ''
horizon_password:
type: string
description: Enter Horizon Password If any or Leave Blank
title: Horizon Password
default: ''
encrypted: true
docker_network_cidr:
type: string
description: Enter Docker CIDR
default: 172.17.0.1/16
title: Docker CIDR
pod_network_cidr:
default: 10.10.0.0/16
title: Pod Network CIDR
description: Enter Pod Network CIDR
type: string
resources:
VEBA:
type: Cloud.vSphere.Machine
properties:
imageRef: 'https://download3.vmware.com/software/vmw-tools/veba/VMware_Event_Broker_Appliance_release-0.7.2.ova'
cpuCount: 6
totalMemoryMB: 8192
name: '${input.hostname}'
constraints:
- tag: 'vCenter155:Cluster'
ovfProperties:
- key: guestinfo.root_password
value: '${input.Rootpassword}'
- key: guestinfo.hostname
value: '${input.hostname}'
- key: guestinfo.ipaddress
value: '${self.networks[0].address}'
- key: guestinfo.domain
value: '${input.Domain}'
- key: guestinfo.netmask
value: '${input.SubnetMask}'
- key: guestinfo.gateway
value: '${input.Gateway}'
- key: guestinfo.enable_ssh
value: '${input.enable_ssh}'
- key: guestinfo.vcenter_disable_tls_verification
value: '${input.vcenter_disable_tls_verificatio}'
- key: guestinfo.vcenter_username
value: '${input.vcenter_username}'
- key: guestinfo.vcenter_password
value: '${input.vcenter_password}'
- key: guestinfo.vcenter_server
value: '${input.vcenter_server}'
- key: guestinfo.vcenter_veba_ui_username
value: '${input.vCenter_VEBA_username}'
- key: guestinfo.vcenter_veba_ui_password
value: '${input.vcenter_veba_ui_password}'
- key: guestinfo.horizon_domain
value: '${input.horizon_domain}'
- key: guestinfo.horizon_username
value: '${input.horizon_username}'
- key: guestinfo.horizon_password
value: '${input.horizon_password}'
- key: guestinfo.aws_eb_event_bus
value: '${input.aws_eb_event_bus}'
- key: guestinfo.aws_eb_access_secret
value: '${input.aws_eb_access_secret}'
- key: guestinfo.webhook_username
value: '${input.webhook_username}'
- key: guestinfo.webhook_password
value: '${input.webhook_password}'
- key: guestinfo.webhook
value: '${input.webhook}'
- key: guestinfo.event_processor_type
value: '${input.event_processor_type}'
- key: guestinfo.docker_network_cidr
value: '${input.docker_network_cidr}'
- key: guestinfo.pod_network_cidr
value: '${input.pod_network_cidr}'
networks:
- network: '${resource.VEBA_Network.id}'
assignment: static
VEBA_Network:
type: Cloud.vSphere.Network
properties:
networkType: existing
We can use exact same Blueprint with 2 minor changes which are on Line number 125 and 130 .
Line 125 , since i have access to public repository I am using this , If vCenter do not have access to public repo then we need to provide the location of VEBA OVA.
Line 130 is Constraint tag for Compute Cluster , we can provide as per environment is setup in VRA.
Ok Once we have done this , We need to release the version , To do so here is the screenshot of step.

Once It is release , We need to come to Service broker and enable Custom form .
I have attached the Custom form Json which can be directly used so that it will be visible exactly as it is shown in above screenshots.
we can Import the Json file using Import Form as per below.

Once we submit , VRA Cloud or On-Prem will be deploying the VEBA to specified endpoint …
Stay tuned for further post ……
One response to “VRA Cloud/8 to install the VMware Event Broker Appliance”
[…] VRA Cloud/8 to install the VMware Event Broker Appliance by Ankush (@ankush11s) India […]
LikeLike