Cloud Management Platform Developer Cloud

Introducing Git Support for Action Based Extensibility Inside Cloud Assembly

Earlier this month, VMware enabled the ability to synchronize ABX Actions from GitLab and GitHub into Cloud Assembly! Don’t know what ABX is, or want a refresher? We recently posted an extensibility primer blog post here where you can get more information about this awesome new capability!

Why Is This Relevant?

Cloud Automaton Services has a core focus on creating easy, transparent consumption with an “as code” approach. As Cloud Administrators build their Cloud Assembly environment, blueprints and extensibility are items that are going to quickly jump to the forefront. Git integration allows us to establish common repositories as a single source of truth for provisioning artifacts in the platform.

A key differentiator of our platform is the ability to author these artifacts externally, using native tooling that your users currently work in today (VS Code, Atom, etc…). This opens up a new world of collaboration and visibility to the innerworkings of your Hybrid Cloud consumption platform!

Let’s step through the integration!

Understanding Git Synchronization

First, observe the repository here that we will be working with (screenshot below). You can easily fork this repository into your own to follow along!

Within this repository we have several key files.

  • A blueprint.yaml file that includes a sample blueprint that we will work with
  • An Actions folder including 2 files named the same; with a different extension.

Note: These are the expected formats that Cloud Assembly expects for this synchronization. Pay very close attention to this in your own environment!

Once you fork this repository, you’ll want to generate your own developer token – this will be used to setup your GitHub integration in Cloud Assembly. Instructions for setting up that token can be found in <<this post>> where we discuss adding GitHub integration to the platform!

Creating Our Synchronization

With our API token in hand, and our repository in place (or forked if you’re following along!) we can configure out integration! Navigate in Cloud Assembly to the Infrastructure > Integration > Add Integration menu and select GitHub. Note: GitLab works as well! The choice is yours!

Once we’ve selected GitHub – we’ll populate it with our Access Token that we generated in GitHub and select Validate/Save

 

Navigate back into our “Action Sync” GitHub integration, and select the Projects tab up top. Select Add Project and select the Project you would like to add this integration to. Once you select a project, you’ll be prompted to provide a bit more detail around your repository.

In this post, we’re only going to synchronize our Actions. You can return back through this menu and synchronize the blueprint as well if you wish.

Once we hit Next, and our Actions finish synchronizing, we should receive a message indicating we’ve received an update.

Viewing The Results

With our repository configured, and our successful message indicator flashing Green – we can navigate to the Extensibility tab and see our newly synchronized action.

When we click into the versioning for this Action, we can see the Git indicator showing that this has come from a Git synchronization.

With that, we’ve successfully shown how we can pull Action’s in from Git into Cloud Assembly!

Wrapping Up

This integration continues to show how VMware is going all in on an “as code” approach with Cloud Automation services. Our goal is to make it easy for you to consume the platform by enabling you to interact in a way native to you. You can use the interface built into the product, store and version locally, or you can use GitHub and GitLab to curate, version, and commit externally. The choice is yours!

Be sure to check out this and all of the other new features by signing up for a Cloud Automation Services trial at https://cloud.vmware.com

 

 

Comments

One comment has been added so far

Leave a Reply

Your email address will not be published. Required fields are marked *