github.com/awslabs/clencli@v0.0.0-20210514234156-7ecf17182a20/box/resources/init/clencli/hld.tmpl (about)

     1  # High Level Design
     2  
     3  ## Table of contents
     4  
     5  {{ if (file.Exists "clencli/hld.yaml") }}
     6  
     7  {{ if (file.Exists "INPUTS.md") }} - [Inputs](#inputs) {{end}}
     8  {{ if (file.Exists "OUTPUTS.md") }} - [Outputs](#outputs) {{end}}
     9  
    10  {{ if has (ds "db") "architecture" }} - [Architecture](#architecture) {{end}}
    11  {{ if has (ds "db") "automation" }} - [Automation](#automation) {{end}}
    12  {{ if has (ds "db") "availability" }} - [Availability](#availability) {{end}}
    13  {{ if has (ds "db") "compliance" }} - [Compliance](#compliance) {{end}}
    14  {{ if has (ds "db") "criticality" }} - [Criticality](#criticality) {{end}}
    15  {{ if has (ds "db") "data" }} - [Data](#data) {{end}}
    16  {{ if has (ds "db") "decisions" }} - [Decisions](#decisions) {{end}}
    17  {{ if has (ds "db") "devops" }} - [Devops](#devops) {{end}}
    18  {{ if has (ds "db") "environments" }} - [Environments](#environments) {{end}}
    19  {{ if has (ds "db") "integration" }} - [integration](#integration) {{end}}
    20  {{ if has (ds "db") "reliability" }} - [Reliability](#reliability) {{end}}
    21  {{ if has (ds "db") "reusable" }} - [Reusable](#Reusable) {{end}}
    22  {{ if has (ds "db") "scalability" }} - [Scalability](#scalability) {{end}}
    23  {{ if has (ds "db") "target" }} - [Target](#target) {{end}}
    24  {{ if has (ds "db") "team" }} - [Team](#team) {{end}}
    25  
    26  {{end}}
    27  
    28  {{ if (file.Exists "clencli/hld.yaml") }}
    29  <!-- CLOUD SOLUTION DESIGN SECTION -->
    30  {{ if has (ds "db") "architecture" }}
    31  ## Architecture
    32  ---
    33  <details>
    34    <summary>Expand</summary>
    35  
    36  {{ (ds "db").architecture.description }}
    37  
    38  ### Current state
    39  ---
    40  {{ (ds "db").architecture.currentstate.description }}
    41  
    42  | ![{{ (ds "db").architecture.currentstate.diagram.label }}]({{ (ds "db").architecture.currentstate.diagram.url }}) |
    43  |:--:| 
    44  | *{{ (ds "db").architecture.currentstate.diagram.label }}* |
    45  
    46  ### Target state
    47  ---
    48  {{ (ds "db").architecture.targetstate.description }}
    49  
    50  | ![{{ (ds "db").architecture.targetstate.diagram.label }}]({{ (ds "db").architecture.targetstate.diagram.url }}) |
    51  |:--:| 
    52  | *{{ (ds "db").architecture.targetstate.diagram.label }}* |
    53  
    54  </details>
    55  {{end}}
    56  
    57  {{ if has (ds "db") "automation" }}
    58  ## Automation
    59  ---
    60  <details>
    61    <summary>Expand</summary>
    62  
    63  {{ (ds "db").automation }}
    64  </details>
    65  {{end}}
    66  
    67  {{ if has (ds "db") "availability" }}
    68  ## Availability
    69  ---
    70  <details>
    71    <summary>Expand</summary>
    72  
    73  {{ (ds "db").availability }}
    74  </details>
    75  {{end}}
    76  
    77  {{ if has (ds "db").compliance "requirements" }}
    78  ## Compliance
    79  ---
    80  <details>
    81    <summary>Expand</summary>
    82  
    83  {{ (ds "db").compliance.requirements }}
    84  </details>
    85  {{end}}
    86  
    87  {{ if has (ds "db").criticality "category" }}
    88  ## Criticality
    89  ---
    90  <details>
    91    <summary>Expand</summary>
    92  
    93  {{ (ds "db").criticality.category }}
    94  </details>
    95  {{end}}
    96  
    97  {{ if has (ds "db").data "classification" }}
    98  ## Data
    99  ---
   100  <details>
   101    <summary>Expand</summary>
   102  
   103  {{ (ds "db").data.classification }}
   104  </details>
   105  {{end}}
   106  
   107  {{ if has (ds "db") "decisions" }}
   108  ## Decisions
   109  ---
   110  <details>
   111    <summary>Expand</summary>
   112  
   113  All known decisions:
   114  {{ range $decision := (ds "db").decisions }}
   115  {{ printf " * %s - *%s* - %s\n ```\n%s\n```" $decision.date $decision.status $decision.context $decision.description  }}
   116  
   117  {{end}}
   118  </details>
   119  {{end}}
   120  
   121  {{ if has (ds "db") "devops" }}
   122  ## Devops
   123  ---
   124  <details>
   125    <summary>Expand</summary>
   126  
   127  {{ range $devop := (ds "db").devops }}
   128  {{ printf "  * [%s](%s)" $devop.label $devop.url }}{{end}}
   129  </details>
   130  {{end}}
   131  
   132  {{ if has (ds "db") "environments" }}
   133  ## Environments
   134  ---
   135  <details>
   136    <summary>Expand</summary>
   137  
   138  |     Name     |         Identifier        |
   139  |:------------:|:--------------------:|
   140  {{ range $env := (ds "db").environments }}{{ printf "|  %s  |  %s  |\n" $env.name $env.identifier }}{{end}}
   141  </details>
   142  {{end}}
   143  
   144  {{ if has (ds "db") "integration" }}
   145  ## Integration
   146  ---
   147  <details>
   148    <summary>Expand</summary>
   149  
   150  {{ (ds "db").integration }}
   151  </details>
   152  {{end}}
   153  
   154  {{ if has (ds "db") "reliability" }}
   155  ## Reliability
   156  ---
   157  <details>
   158    <summary>Expand</summary>
   159  
   160  {{ (ds "db").reliability }}
   161  </details>
   162  {{end}}
   163  
   164  {{ if has (ds "db") "reusable" }}
   165  ## Reusable
   166  ---
   167  <details>
   168    <summary>Expand</summary>
   169  
   170  {{ (ds "db").reusable }}
   171  </details>
   172  {{end}}
   173  
   174  {{ if has (ds "db") "scalability" }}
   175  ## Scalability
   176  ---
   177  <details>
   178    <summary>Expand</summary>
   179  
   180  {{ (ds "db").scalability }}
   181  </details>
   182  {{end}}
   183  
   184  {{ if has (ds "db").target "golive" }}
   185  ## Target
   186  ---
   187  <details>
   188    <summary>Expand</summary>
   189  
   190  Go-Live Date: {{ (ds "db").target.golive }}
   191  </details>
   192  {{end}}
   193  
   194  {{end}}