Application Accelerator Overview
App Accelerator helps you bootstrap developing your applications and deploying them in a discoverable and repeatable way.
You can think of app accelerator as a way to publish a software catalog to your end users, which will allow them to fill out a simple and customizable form, that will then generate a templated set of files which they can start iterating on for there new project.
Enterprise Architects author and publish accelerator projects that provide developers and operators in their organization ready-made, enterprise-conformant code and configurations.
App Accelerator, is based on the Backstage Software Template plugin, and enriches it with additional capabilities and features to make it extremely easy to use.
What Is New In TAP 1.5
With every release of TAP, we get some new and exciting features in App Accelerator, and this is very much the case in TAP 1.5!
There are 3 key new features in App Accelerator:
- IntelliJ Plugin for App Accelerator
- Accelerator Generated Projects Provenance
- Global activation or deactivation of Git repo creation flow
Lets take a look at each of these features and what they bring to the table.
IntelliJ Plugin for App Accelerator
Just like we have had for a few releases in VSCode, we can now generate projects from accelerators, directly from Intellij!!!!
The flow is really great, as they have embedded the accelerator plugin in a way that makes it a seamless experience, just like creating a project using any other plugin in IntelliJ.
Let’s see what the flow looks like:
First, the developer opens IntelliJ and would select to create a new project:
Next, the developer select Application Accelerator on the left hand panel, and would select the relevant accelerator they want to use:
Next they would fill out the form of that accelerator:
Next they would review the inputs, and generate the project:
Finally, they would press create, and the new project will be opened for them automatically in IntelliJ!
As you can see, the flow is extremely intuitive, and flows very well with the current developer flow that they have, with all the additional benefits that application accelerators bring to the table included!
Accelerator Generated Projects Provenance
Provenance and attestation, are the new buzz words, and for good reason. With supply chain attacks happening day after day, we need a way of stating, where something was generated, how it was generated, by whom at is what generated, with what configuration settings etc.
Now in TAP 1.5, we are getting a new feature in Application Accelerators, which is enabled in all of the OOTB accelerators, and is easily implementable in all of your own custom accelerators, which will provide provenance for a project generated from an accelerator.
When you generate a project using an accelerator a new file accelerator-info.yaml is generated as part of the generated zip. If you choose to provision a git repo then this file is pushed along with other files in the generated zip.
Lets see an example file that is generated, and what it contains:
id: a572d705-1bb4-49ca-9164-2f8918548d01 timestamp: 2023-03-28T15:03:04Z username: ScottRosenberg source: VSCODE accelerator: name: tanzu-java-web-app source: image: harbor.vrabbi.cloud/tap/tap-packages@sha256:28e34f0cbf0de2c6f317ea870caf21b79aa52a5359c28666a6ceec90184eb409 fragments: - name: build-wrapper-maven source: image: harbor.vrabbi.cloud/tap/tap-packages@sha256:195a3ca6585fa91c41292584a19c2807c72ecdf986ce860a7147451e89d467d4 - name: java-version source: image: harbor.vrabbi.cloud/tap/tap-packages@sha256:fa976ccf1609cb69e74a0162f0f49581fd0d393003e2fbe5d54d12eae62b4ff9 - name: tap-workload source: image: harbor.vrabbi.cloud/tap/tap-packages@sha256:dbf0dedb6848ad8a7704c1c19465a1ddae9039b0e63c1dd0df3e2ed9cbda6093 options: includeBuildToolWrapper: true javaVersion: 11 projectName: tanzu-java-web-app repositoryPrefix: harbor.vrabbi.cloud/library/sample updateBoot3: false
Here we can see, that the project was generated via the VSCode plugin, by Scott Rosenberg, o0n March 28th 2023, using the Tanzu Java Web App accelerator which is coming from an imgpkg bundle with the exact SHA noted, which also invoked specific fragments which all are also defined in this case as imgpkg bundles, again with the exact SHA mentioned, and we also have the exact inputs I entered, available at the bottom of the file.
This type of provenance is extremely powerful, and I am really excited to see where this goes in future releases!
Global activation or deactivation of Git repo creation flow
One of the great features of Application Accelerator, is the ability to auto create a Git repository when i generate a new project.
While this is a great feature, some organizations do not want to expose this option. In cases where this functionality is not wanted, there is now an easy configuration that one can add to there TAP Values, under the tap_gui section which will disable this feature globally. This means it will disable the feature from both the IDE plugins as well as from TAP GUI itself.
To deactivate this feature, one simply needs to add the following YAML snippet to their TAP values file:
tap_gui: # Existing configuration ....... app_config: # Existing configuration ....... customize: # Existing configuration ....... features: accelerators: gitRepoCreation: false
This will disable this feature globally, and align the platform to your environments needs, in a simple and easy way!
As you can see, VMware are putting a lot of effort into improving the Developer experience, and making the platform teams happy as well. These updates of Application Accelerator, are truly awesome to see, and I am even more excited to see what will become of these features in the future!