Orchestration Templates are essentially infrastructure automation instructions written in “YAML” or “JSON” format. Templates can have multiple tasks within them each of them performing a specific action in a target cloud or a tool. You may also have a single template to orchestrate across multiple cloud(s) and/or tool(s).
CoreStack™ supports Templates of the formats: AWS CFN, Azure ARM, OpenStack HEAT, OpenStack MISTRAL
One of the key differentiators of CoreStack™ is its support for cloud-native DSL (Domain Specific Language) which ensures that there is no limitation in terms of the supported services within that platform, and also there is no vendor lock-in.
For example: You can execute
- CFN Templates against AWS,
- ARM Templates against Azure, and
- HEAT Templates against OpenStack Public/Private Cloud Accounts.
You can bring into CoreStack™ any of these templates with ease and also re-use them outside of CoreStack™ if required.
- Search and Filter
- View Templates
- Template Actions
- Create (Upload) Custom Templates
A sample screenshot is shown below:
The tabs at the top represent the scope of the templates. You can see 2 tabs: Marketplace and My Templates.
CoreStack™ provides a wide range of pre-defined templates which can help in realizing multiple use cases. The marketplace lists the templates available across multiple clouds and tools. These are pre-loaded for all subscriptions and are FREE to be executed on-demand or scheduled.
These templates are available across all tenants and are usually created by the Product Administrator. In our SaaS version, it is managed by CoreStack. In on-premise installations, it will be managed by the on-site administrator.
Tip: These templates have the scope value set to Global.
These templates have been created by users within the tenant. These are available only for users within the tenant. You can add more templates or edit/delete existing templates in this tab based on your role and access policies.
Tip: These templates have the scope value set to Tenants.
CoreStack™ offers search and filter functions to help quickly look for the templates you need to execute. The Search bar is available just above the templates list and works based on the Template Name and the “tags” mapped to it. To Filter Templates, you can click on the “Funnel” icon placed to the right end above the templates list.
The Text Search helps you search using any string available in the following fields:
- Name of the Template
- Description of the Template
The text search is thus quite useful in refining your search results based on any little information you have on the preferred result set.
CoreStack™ also offers Filters to help you narrow down the list of templates by using one or a combination of filters. On clicking the Filter icon, you will see the list of Filter options available as shown below. Select the preferred options and click on “Show Result” button at the bottom of this box.
Tip: Use the Reset icon above the filters to quickly remove all selected filters and view all results.
Once you decide on a template that you would like to try out, you can execute it on-demand or schedule it for a one-time or recurring execution(s) in future. Once you decide on a template that you would like to try out, you can execute it on-demand or schedule it for a one-time or recurring execution(s) in future. Once you decide on a template that you would like to try out, you can execute it on-demand or schedule it for a one-time or recurring execution(s) in future.
To get more information about a specific template, click on the template name to open the ‘Template Detail’ page. You can view the attributes related to the template and update the values if required by clicking on Update.
The actual content of the template, which is in ‘YAML’ or ‘JSON’ format is also displayed. Click ‘Edit’ button and make changes to the content if required.
To view the actions that you can perform on a selected template, just move your cursor towards the right end of that template row.
The actions menu icon () reveals the list of actions that you can perform on the template. The list of actions depends on the scope of the template (Marketplace, My Templates) and the access policies that your account has.
- Execute – Lets you execute the template immediately (On-demand)
- Update – Modifies the attribute values or template content
- Schedule – Similar to Execute, but schedules it to be run later once/multiple times.
- Delete – Deletes the template
- Reload – Reloads this Template into Template Builder (Supported only for Templates built using the Builder. This is an Enterprise Feature)
This option is for on-demand execution of the template. Click execute and select/provide the following inputs:
|Service Account||Account against which this template is to be executed. This is the Cloud Account or the Integrated Tool’s account. There can also be multiple Clouds / Tools mapped to a single template|
|Region||If the Cloud Account has multiple regions, you will have to select the region to execute|
|Tenant||If the Cloud Account has multiple tenants, you will have to select the tenant to execute|
|Input Parameters||This will vary based on the template. The input parameters required for the template will be defined while creating the template. The appropriate values have to be provided before you can execute the template.|
A sample Template execute window, for a simple example of taking an ‘AWS Instance Snapshot’ is shown below:
- The Service Account lists the available list of AWS cloud accounts in this Tenant
- The list of available regions in that account are loaded in the dropdown for selection
- Once the region is selected, you can see that the list of instances available in that region are loaded in the Instance ID field
- You can enter any name for the snapshot and hit “Run Now” to execute the template.
- Once a template is executed, it is run as a “Job” within CoreStack™. You can check the execution logs and job status from the “Job” menu in the side menu.
- Most of the input parameter values are fetched automatically from the respective cloud account. This is very useful in choosing real-time values from the cloud. There is no need to login to the AWS Console to refer these details.
- You can use the “?” on the right side of each input parameter to understand more about the parameter.
Scheduling a template enables its execution at a specific point of time. You can also schedule it to be a recurring event, to be repeated hourly / Daily / Weekly / Monthly / Yearly.
To create a schedule, use the Schedule () action for that particular template from the Template page. Notification emails will be sent to the user each time the scheduled job starts and also when it completes (success/failure).
Screenshot to schedule a Volume snapshot template is shown below:
The list of schedules created for that specific tenant can be viewed from the schedule menu. There is also a calendar view that will display the schedules in day / week / month views.
Reloading a Template is useful to pick-up an existing template and make changes to it using the Template Builder interface. This is currently available only for Templates which are originally built using the builder. Custom Templates uploaded into the system cannot be reloaded.
To reload a built template, use the reload icon in the Template Listing page.
Or you can choose from the drop-down in the pop-up that shows up when you select Template Builder from the menu. You can also reload draft templates that were previously “saved” from the Template Builder, but have NOT been “Built” yet.
CoreStack™ also provides the option for users to upload their own templates and use them to execute against their service accounts. Follow the steps given below: Use the ‘+’ button next to the ‘Search’ bar at top right.
Enter the metadata for the template and upload the template file. Formats supported for the template file upload include ‘YAML’ and ‘json’.
- Use the ‘+’ button next to the ‘Search’ bar at top right.
- Enter the metadata for the template and upload the template file.
- Formats supported for the template file upload include ‘YAML’ and ‘json’.
Meta data values to be selected:
|Field Name||Brief Description|
|Template Name||Preferred name for the template. If named based on the purpose, it will help easily identification and search.|
|Template Description||Detailed description of the purpose and use case of the template. Can also include details about the version of the OS, Platform supported etc.,|
|Type||There are four types – Cloud, Monitoring, Continuous Integration and Log Management|
|Classifications||There are eight categories – Provisioning, Configure, Backup, Account Management, Catalog Builder, Deployment, Autoscaling and Migrate|
|Scope||Global: The template can be accessed by all users across all tenants. This value is available only for Product Admins. Will NOT be available in SaaS version.
Tenant: The template can be accessed by all users within the Tenant
|Tags||Custom Key – value tags that can help in grouping or searching of templates
Multiple Tags can be added
|File Upload||Click Browse button and select a valid YAML or JSON file that has the Template Content|
A short video of a sample AWS use case is available in the below you tube link.