Stack
Stacks enable you to organize and execute multiple related workflows in a defined sequence. These workflows are designed to work together, where the output of one workflow is automatically passed as the input for the next. This structure ensures efficient, automated, and interconnected deployment processes across various projects and environments.
How Stacks Workβ
Stacks run workflows in a specific, step-by-step order to achieve seamless integration. Hereβs how they operate:
- Sequential Execution: Workflows are executed one after another in a predefined order, ensuring smooth transitions between tasks.
- Default Actions: Each stack includes default Create and Destroy actions for deployment and cleanup, which you can customize as needed.
- Output Chaining: The output from one workflow is automatically used as input for the next workflow, eliminating manual intervention and ensuring continuity.
Stacks vs. Workflow Groupsβ
While both stacks and workflow groups help manage workflows, they serve different purposes:
-
Stacks:
- Designed for workflows that depend on each other.
- Maintain a specific order of execution.
- Ideal for scenarios requiring interdependent resources (e.g., deploying a VPC, EKS cluster, and managed nodes sequentially).
-
Workflow Groups:
- Collections of independent workflows that do not rely on each other.
- No predefined execution order.
- Useful for managing workflows without dependencies, like testing different infrastructure setups.
Example Scenariosβ
-
Stack: Deploying a web application in a sequence:
- Create a Virtual Private Cloud (VPC).
- Deploy a Kubernetes cluster in the VPC.
- Add managed node groups to the cluster.
- Deploy an Nginx service on the cluster.
-
Workflow Group: Independently managing resources:
- Deploying a database in one workflow.
- Testing a web server in another workflow.
- Each workflow runs separately, without dependency on the others.