Skip to content

Instantly share code, notes, and snippets.

@timcondit
Created August 28, 2019 17:18
Show Gist options
  • Select an option

  • Save timcondit/1a3800c87b07c5e0ac07d3dfec60d3f3 to your computer and use it in GitHub Desktop.

Select an option

Save timcondit/1a3800c87b07c5e0ac07d3dfec60d3f3 to your computer and use it in GitHub Desktop.

Revisions

  1. timcondit created this gist Aug 28, 2019.
    72 changes: 72 additions & 0 deletions 0003-manage-terraform-modules.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,72 @@
    # ADR 3: Manage Terraform modules

    * Status: proposed
    * Deciders: [list everyone involved in the decision] <!-- AKA signed-off by -->
    * 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 <!-- optional -->

    * [driver 1, e.g., a force, facing concern, …]
    * [driver 2, e.g., a force, facing concern, …]
    *<!-- numbers of drivers can vary -->

    ## Considered Options

    * [option 1]
    * [option 2]
    * [option 3]
    *<!-- numbers of options can vary -->

    ## 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 <!-- optional -->

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

    ### Negative Consequences <!-- optional -->

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

    ## Pros and Cons of the Options <!-- optional -->

    ### [option 1]

    [example | description | pointer to more information | …] <!-- optional -->

    * Good, because [argument a]
    * Good, because [argument b]
    * Bad, because [argument c]
    *<!-- numbers of pros and cons can vary -->

    ### [option 2]

    [example | description | pointer to more information | …] <!-- optional -->

    * Good, because [argument a]
    * Good, because [argument b]
    * Bad, because [argument c]
    *<!-- numbers of pros and cons can vary -->

    ### [option 3]

    [example | description | pointer to more information | …] <!-- optional -->

    * Good, because [argument a]
    * Good, because [argument b]
    * Bad, because [argument c]
    *<!-- numbers of pros and cons can vary -->

    ## Links <!-- optional -->

    * [Link type] [Link to ADR] <!-- example: Refined by [ADR-0005](0005-example.md) -->
    *<!-- numbers of links can vary -->