Terraspace Restricting Allowed Stacks for Specific Environments

Terraspace Restricting Allowed Stacks for Specific Environments

January 23, 2022
Tags:
terraspace

Covers how to allow and deny specific stacks for specific environments. Good examples are route53 and ACM certs for CloudFront.

For the example, let's say you have these stacks:

$ terraspace list
app/stacks/route53
app/stacks/stack1
app/stacks/stack2

If might only want to allow the route53 stack to deploy when TS_ENV=global

TS_ENV=global terraspace up route53

And the stack1 and stack2 stacks, is allowed to be deploy for other TS_ENV environments.

TS_ENV=dev terraspace up stack1
TS_ENV=dev terraspace up stack2
TS_ENV=prod terraspace up stack1
TS_ENV=prod terraspace up stack2

We'll show you how to achieve this with

config/app.rb

config/app.rb

Terraspace.configure do |config|
  config.allow.stacks = ["stack1"]
  # config.deny.stacks = ["stack2"]
end

Interestingly, configuring config.allow.stacks and config.deny.stacks will be respected by terraspace all. So you don't have to do more configurations, Terraspace is smart enough to figure it out automatically.

Related Links

Get full access to these great resources

All for less than the price of coffee a day

27 courses
189 lessons
29+ hours

Get started with BoltOps Learn now and get access to easy and powerful lessons

BoltOps Tools