Maestro Integration With Terraform
As we all know, self-service is one of the main focuses of Maestro. For the sake of effective self-service, Maestro supports the Infrastructure as Code (IaC) approach that allows preparing stack templates and employing these templates when creating new resources.
One of the IaC tools taken on board by Maestro is Terraform by HashiCorp – a cross-platform solution that allows managing complex infrastructures hosted in multiple clouds.
Main strengths of the Terraform solution incorporated by Maestro are
GitHub-based Terraform templates are not uploaded to Maestro and are not stored anywhere on the Maestro side: Maestro only reviews and registers them for the future use and then applies on request.
Once your Terraform template is on GitHub, you must specify these parameters to register it on Maestro:
One of the IaC tools taken on board by Maestro is Terraform by HashiCorp – a cross-platform solution that allows managing complex infrastructures hosted in multiple clouds.
Why Terraform?
Main advantages of Terraform as an IaC tool are wide functionality, cross-platformity, and separated phases of planning and execution that give time and space for the users to review their infrastructure and make them confident in the results.Main strengths of the Terraform solution incorporated by Maestro are
- Integration with GitHub
- Catalog of templates
- Lock the Template option
- Extended functionality for reviewing stacks
Below, you can find a brief overview of Maestro IaC tools and templates processing, on Terraform example:
How does Maestro integrate Terraform with GitHub?
In earlier versions, all the templates were manually added to and stored directly in Maestro. Now you can store your Terraform templates on GitHub and use them for creating your resources in Maestro.GitHub-based Terraform templates are not uploaded to Maestro and are not stored anywhere on the Maestro side: Maestro only reviews and registers them for the future use and then applies on request.
Once your Terraform template is on GitHub, you must specify these parameters to register it on Maestro:
- source type (GitHub) – only after this, the necessary input field will appear,
- your GitHub username and password,
- URI of the relevant GitHub repository and its branch,
- folder where your Terraform templates are stored,
- (optional) Terraform variables and their values to be used as default ones when the template is applied.
Once registered, your GitHub-based Terraform templates can be reviewed in the Catalog page with any version of Maestro Orchestrator.
Terraform templates stored on GitHub are updated and validated automatically once they are changed in git – you do not need to do it specifically for Maestro.
In the Catalog page, you can review and manage all the existing templates (including the Terraform ones):
Provided information:
If you want to be 100% sure that nobody interferes with your work, you can lock the necessary template or templates in the Content View on the Catalog page:
If the template is locked,
Terraform templates stored on GitHub are updated and validated automatically once they are changed in git – you do not need to do it specifically for Maestro.
What is Catalog and why do I need it?
Catalog page lists the available templates, their details, and verification results. You can easily find this page in both web and mobile versions of Maestro Orchestrator.In the Catalog page, you can review and manage all the existing templates (including the Terraform ones):
- name and description of the Terraform template, its type, and status;
- template code;
- validation status and validation logs,
- events related to the template;
- default values of the template parameters.
- run the Terraform template and view application logs;
- plan the template’s execution and view planning logs;
- lock the template.
Why is it useful to lock templates?
When anybody changes and applies Terraform templates, they change the existing infrastructure and these changes can be crucial.If you want to be 100% sure that nobody interferes with your work, you can lock the necessary template or templates in the Content View on the Catalog page:
If the template is locked,
- Only the user who has locked it will be able to modify it, plan, or apply. All other users will get the notification that the template is locked.
- Its related stacks cannot be destroyed in the Stacks page (though this does not influence the management of these stacks in the Management page or via native cloud consoles).
- Auto Plan and Auto Apply actions will fail with the respective notification (for GitHub-stored templates).
Where can I review and manage my stacks?
Maestro has revised its stack-related functionality and created the specific space for managing stacks – the Stacks page of the Maestro Orchestrator:- Main Table where you can find all the created stacks and review their basic information including the stack name and owner; its creation date; the name and type of the template that was used to create the stack; the status of the stack.
- Stack Resources section where you can review the resources created or affected by the stack (is opened by clicking the arrow button).
- Content View section where you can view the additional details on the stack, see the stack-related audit events, and destroy the stack.
Comments
Post a Comment