Skip to content

Instantly share code, notes, and snippets.

@timcondit
Created August 28, 2019 17:18
Show Gist options
  • Save timcondit/1a3800c87b07c5e0ac07d3dfec60d3f3 to your computer and use it in GitHub Desktop.
Save timcondit/1a3800c87b07c5e0ac07d3dfec60d3f3 to your computer and use it in GitHub Desktop.
ADR 3: Manage Terraform modules

ADR 3: Manage Terraform modules

  • Status: proposed
  • Deciders: [list everyone involved in the decision]
  • Date: 2019-02-09

Technical Story: n/a

Context and Problem Statement

Non-root Terraform modules should be reusable. They should also be easy to version. Let's decide on a module organization scheme, and get some experience with it. Based on what we learn from use, we may supersede this ADR. If it needs refinement, then so be it.

Decision Drivers

  • [driver 1, e.g., a force, facing concern, …]
  • [driver 2, e.g., a force, facing concern, …]

Considered Options

  • [option 1]
  • [option 2]
  • [option 3]

Decision Outcome

Chosen option: "[option 1]", because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force | … | comes out best (see below)].

Positive Consequences

  • [e.g., improvement of quality attribute satisfaction, follow-up decisions required, …]

Negative Consequences

  • [e.g., compromising quality attribute, follow-up decisions required, …]

Pros and Cons of the Options

[option 1]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 2]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 3]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

Links

  • [Link type] [Link to ADR]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment