Skip to content

Enforce unique CloudFormation stack names #115

@fnesveda

Description

@fnesveda

NOTE: this could be a good first task for a new DevOps engineer.

To prevent issues with overriding CloudFormation stacks because of a naming conflict, we need to ensure that the CloudFormation stacks have unique names.

This would be hard to enforce directly across the whole GitHub organizations, but we can split it into two parts:

  • make sure that the stack names are prefixed with the repo that is trying to deploy them
  • make sure that the stack names are unique in the repository

We could even make sure that the stack names contain the environment that they're being deployed to, and that they're being deployed to the right environment according to the name.

So there would be stack names like:

  • apify-core-org-s3-buckets
  • apify-web-member-iam-roles

TBD: should the environments be called org and member, or org, prod and staging?

Unfortunately, CloudFormation doesn't let you rename existing stacks, so we'll have to have some option to opt-out of these names for legacy stacks. We should not allow new stacks to be created with the wrong names, though. Maybe, if the legacy stack name is in the wrong format and the repo and account can't be inferred automatically, we could even have a mapping of stack name -> repo & AWS account that would verify that the stacks are being deployed to the correct account.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working.good first issueGood for newcomers.medium priorityMedium priority issues to be done in a couple of sprints.t-infraIssues with this label are in the ownership of the infrastructure team.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions