Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Run a plan across all workspaces to identify whether a template version will mess up things #8605

Closed as not planned
@bpmct

Description

@bpmct

Background

Templates are fragile. While they can be bulletproofed, it is hard to tell what the impact of a template update is across all of the existing workspaces. This could show an aggregated response of what the impact is.

Research & vision

We should look at how other platforms like Spacelift or Terraform Enterprise do this. For example, are there tools that measure what impact an update to a module has on all of the underlying infrastructure? There may be better ways to do this.

We should also consider how this could be automated in Ci/Cd platforms and ran alongside other custom template tests a user might make (e.g. "does the project still build with this template update?". This probably means supporting JSON output and human-readable output

Also, perhaps this could be integrated with Infracost down the road to measure how a template update saves/resolves cloud cost across a fleet of workspaces.

How it would work

Here's my initial idea

$ coder templates pull my-template
$ vim main.tf 
# make changes (e.g. hardcode disk size to 45gb)
$ coder templates plan my-template
Running `terraform plan` against all 200 workspaces using this template 

For 150 started workspaces:
- Plan to modify `aws_instance: workspace`
- Plan to modify `ebs_volume: home`

For 48 stopped workspaces:
- Plan to modify `ebs_volume: home`

⚠️ Warning: Plan to destroy `ebs-volume: home` on 2 workspaces:
- bpmct/my_workspace
- spikecurtis/my-workspace

This would fix #7104 as the command currently does nothing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions