What is Build Tools for VMware Aria?
Build Tools for VMware Aria originated as an internal VMware project. It is used by delivery teams to develop, test, and deploy customer automation solutions based on products that are part of VMware Aria Suite. In the past Build Tools for VMware Aria was also known as IaC, toolchain, and vRealize Build Tools (vRBT). Until now it was distributed as a VMware Fling.
As of Jan 26, 2023, Build Tools for VMware Aria is now open-source. The source code is public and anyone can compile, use, or contribute with a few clicks. The home for Build Tools for VMware Aria is the following GitHub project vmware/build-tools-for-vmware-aria.
Why would I use it?
Build Tools for VMware Aria provides unique capabilities to use development best practices when creating content for VMware Aria Suite products, in addition it enables:
- SCM Integration
- Peer Reviews
- Change Management
- Release Management
- Solution Traceability
- Unit Testing
- Static Code Analysis
- Building Distributable Packages
- Artifactory integration
- Full Continuous Integration / Continuous Delivery (CI/CD) capabilities for your content and even more.
Which Aria Suite products are supported?
Build Tools for VMware Aria is integrated with the following VMware products:
- Aria Automation Orchestrator (formerly vRealize Orchestrator)
- Aria Automation (formerly vRealize Automation)
- Aria Operations (formerly vRealize Operations)
- Aria Automation Pipelines (formerly CodeStream)
- Aria Operations for Logs (formerly vRealize Log Insight)
- vRealize Automation 7x
What are the product features I can manage?
The following sections list the objects that you can manage per Aria Suite product. These features become available once you use the proper Maven base package. Most of the features below support pull and push functionality. All of them can be bundled in a single binary file that can be used to deploy the solution to a target environment.
Aria Automation Orchestrator Features
- Polyglot Actions – NodeJS, Python, PowerShell
- Configuration Elements
- Resource Elements
- Policy Templates
A unique feature of Build Tools for VMware Aria is the support of all of the above in both the native Aria Automation Orchestrator format (XML / .package) and in TypeScript format.
TypeScript being strongly typed, compiled programming language provides a wide range of code quality checks even before deploying to any Aria Automation Orchestrator instance, which can save post deployment validation and bug-fixing effort.
Aria Automation and Aria Automation Cloud Features
- Cloud Template
- Flavor Mapping
- Image Mapping
- Storage Profiles
- Region Mapping
- Catalog Item
- Custom Resource
- Resource Action
- Catalog Entitlement
- Content Source
- Custom Form
- Property Group
- ABX – NodeJS, Python, PowerShell
Aria Automation Pipelines
- Custom Integration
- Alert Definition
- Symptom Definition
- Custom Group
- Super Metric
- Metric Config
Aria Operations for Logs
- Content Pack
vRealize Automation 7
- Composite Blueprint
- Property Group
- Property Definition
- Software Component
- XaaS Blueprint
- XaaS Resourse Action
- XaaS Resource Type
- XaaS Resource Mapping
- Workflow Subscription
- Component Profile
- Custom Form
How Build Tools for VMware Aria is working?
The solution is created as a set of Maven plugins, which gives a complete pipeline integration through native command line and/or maven integration components.
You can see the key components on the diagram below
Once the infrastructure is in place and the solution is onboarded, you can use the following command to build your Aria Suite solution.
mvn clean package
You can create an installation package and publish to the artifactory server with the following command.
mvn clean package deploy -Pbundle-with-installer
I like it, what’s next?
Build Tools for VMware Aria is now open-source. Its codebase is hosted in GitHub and can be used and/or extended by anyone.
You can also use vRealize Developer Tools, which is a Visual Studio Code plugin for Build Tools for VMware Aria. It is open source as well and is available in the following GitHub repository vmware/vrealize-developer-tools.
To use this solution it in your environment, you will need the following infrastructure available.
- Artifactory Server (like JFrog, Nexus)
- Developer Workstation with the following packages available:
- git (we are using v2.24.1)
- OpenJDK8 (we are using v1.8.0_352)
- maven (we are using v3.8.4)
- NodeJs (we are using v16.18.1)
- Python 3 (we are using v3.10.6)
- Visual Studio Code (we are using v1.74.3)
- vRealize Developer Tools VS Code Plugin (we are using v2.4.0)
If you want to ask questions or start a discussion you can use the following Slack space.
Stay tuned for our next blog post where we will focus on the installation process.