terrane 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. terrane-1.0.0/.gitignore +49 -0
  2. terrane-1.0.0/10_MODEL/model.yaml +150 -0
  3. terrane-1.0.0/10_MODEL/tech_services/ai_platform.yaml +50 -0
  4. terrane-1.0.0/10_MODEL/tech_services/aws_network.yaml +337 -0
  5. terrane-1.0.0/10_MODEL/tech_services/aws_platform.yaml +254 -0
  6. terrane-1.0.0/10_MODEL/tech_services/gcp_network.yaml +213 -0
  7. terrane-1.0.0/10_MODEL/tech_services/gcp_platform.yaml +346 -0
  8. terrane-1.0.0/10_MODEL/tech_services/tech_services.yaml +208 -0
  9. terrane-1.0.0/20_ARCHETYPES/aws-product-onboarding.yaml +143 -0
  10. terrane-1.0.0/20_ARCHETYPES/azure-digital-product.yaml +142 -0
  11. terrane-1.0.0/20_ARCHETYPES/batch-data-product-gcp.yaml +138 -0
  12. terrane-1.0.0/20_ARCHETYPES/batch-data-product.yaml +132 -0
  13. terrane-1.0.0/20_ARCHETYPES/core-platform-service.yaml +90 -0
  14. terrane-1.0.0/20_ARCHETYPES/gcp-digital-product.yaml +118 -0
  15. terrane-1.0.0/20_ARCHETYPES/saas-onboarding.yaml +134 -0
  16. terrane-1.0.0/20_ARCHETYPES/vendor-saas-service-gcp.yaml +92 -0
  17. terrane-1.0.0/20_ARCHETYPES/vendor-saas-service.yaml +118 -0
  18. terrane-1.0.0/24_CONNECTIONS/README.md +59 -0
  19. terrane-1.0.0/24_CONNECTIONS/connections.yaml +159 -0
  20. terrane-1.0.0/25_COMPONENTS/README.md +63 -0
  21. terrane-1.0.0/25_COMPONENTS/ai.yaml +212 -0
  22. terrane-1.0.0/25_COMPONENTS/application.yaml +64 -0
  23. terrane-1.0.0/25_COMPONENTS/compute.yaml +112 -0
  24. terrane-1.0.0/25_COMPONENTS/data.yaml +222 -0
  25. terrane-1.0.0/25_COMPONENTS/enterprise.yaml +192 -0
  26. terrane-1.0.0/25_COMPONENTS/integration.yaml +96 -0
  27. terrane-1.0.0/25_COMPONENTS/network.yaml +200 -0
  28. terrane-1.0.0/25_COMPONENTS/operations.yaml +185 -0
  29. terrane-1.0.0/25_COMPONENTS/security.yaml +312 -0
  30. terrane-1.0.0/25_COMPONENTS/storage.yaml +65 -0
  31. terrane-1.0.0/26_BLOCKS/README.md +82 -0
  32. terrane-1.0.0/26_BLOCKS/analytics.yaml +38 -0
  33. terrane-1.0.0/26_BLOCKS/communications.yaml +46 -0
  34. terrane-1.0.0/26_BLOCKS/decisioning.yaml +49 -0
  35. terrane-1.0.0/26_BLOCKS/delivery.yaml +21 -0
  36. terrane-1.0.0/26_BLOCKS/edge.yaml +42 -0
  37. terrane-1.0.0/26_BLOCKS/integration.yaml +39 -0
  38. terrane-1.0.0/26_BLOCKS/landing-zone.yaml +55 -0
  39. terrane-1.0.0/26_BLOCKS/operations.yaml +46 -0
  40. terrane-1.0.0/26_BLOCKS/payments.yaml +26 -0
  41. terrane-1.0.0/26_BLOCKS/security.yaml +46 -0
  42. terrane-1.0.0/26_BLOCKS/workload.yaml +72 -0
  43. terrane-1.0.0/27_PATTERNS/README.md +104 -0
  44. terrane-1.0.0/27_PATTERNS/communications.yaml +58 -0
  45. terrane-1.0.0/27_PATTERNS/data.yaml +24 -0
  46. terrane-1.0.0/27_PATTERNS/decisioning.yaml +61 -0
  47. terrane-1.0.0/27_PATTERNS/edge.yaml +46 -0
  48. terrane-1.0.0/27_PATTERNS/integration.yaml +122 -0
  49. terrane-1.0.0/27_PATTERNS/landing-zone.yaml +44 -0
  50. terrane-1.0.0/27_PATTERNS/operations.yaml +58 -0
  51. terrane-1.0.0/27_PATTERNS/payments.yaml +31 -0
  52. terrane-1.0.0/27_PATTERNS/security.yaml +91 -0
  53. terrane-1.0.0/27_PATTERNS/workload.yaml +76 -0
  54. terrane-1.0.0/28_MODULES/README.md +473 -0
  55. terrane-1.0.0/28_MODULES/application-parts.yaml +325 -0
  56. terrane-1.0.0/28_MODULES/applications.yaml +124 -0
  57. terrane-1.0.0/28_MODULES/hub-and-spoke.yaml +234 -0
  58. terrane-1.0.0/28_MODULES/product-parts.yaml +281 -0
  59. terrane-1.0.0/28_MODULES/vendor-onboarding.yaml +596 -0
  60. terrane-1.0.0/29_TYPES/README.md +72 -0
  61. terrane-1.0.0/29_TYPES/application-types.yaml +82 -0
  62. terrane-1.0.0/29_TYPES/build-types.yaml +87 -0
  63. terrane-1.0.0/30_VIEWS/actor-channels.view.yaml +34 -0
  64. terrane-1.0.0/30_VIEWS/application-landscape.view.yaml +29 -0
  65. terrane-1.0.0/30_VIEWS/capability-alignment.view.yaml +74 -0
  66. terrane-1.0.0/30_VIEWS/capability-map.view.yaml +35 -0
  67. terrane-1.0.0/30_VIEWS/capability-realization.view.yaml +33 -0
  68. terrane-1.0.0/30_VIEWS/change-evidence-chain.view.yaml +35 -0
  69. terrane-1.0.0/30_VIEWS/change-footprint.view.yaml +75 -0
  70. terrane-1.0.0/30_VIEWS/change-register.view.yaml +40 -0
  71. terrane-1.0.0/30_VIEWS/change-roadmap.view.yaml +32 -0
  72. terrane-1.0.0/30_VIEWS/control-coverage.view.yaml +38 -0
  73. terrane-1.0.0/30_VIEWS/data-and-processes.view.yaml +35 -0
  74. terrane-1.0.0/30_VIEWS/data-asset-context.view.yaml +69 -0
  75. terrane-1.0.0/30_VIEWS/data-dissemination.view.yaml +34 -0
  76. terrane-1.0.0/30_VIEWS/data-landscape.view.yaml +29 -0
  77. terrane-1.0.0/30_VIEWS/data-lineage.view.yaml +43 -0
  78. terrane-1.0.0/30_VIEWS/domain-servicing.view.yaml +35 -0
  79. terrane-1.0.0/30_VIEWS/dr-topology.view.yaml +35 -0
  80. terrane-1.0.0/30_VIEWS/framework-landscape.view.yaml +48 -0
  81. terrane-1.0.0/30_VIEWS/frameworks.view.yaml +41 -0
  82. terrane-1.0.0/30_VIEWS/harvested-estate.view.yaml +47 -0
  83. terrane-1.0.0/30_VIEWS/hosting-estate.view.yaml +29 -0
  84. terrane-1.0.0/30_VIEWS/hub-and-spoke.view.yaml +48 -0
  85. terrane-1.0.0/30_VIEWS/integration-architecture.view.yaml +30 -0
  86. terrane-1.0.0/30_VIEWS/lifecycle-portfolio.view.yaml +27 -0
  87. terrane-1.0.0/30_VIEWS/multi-az-deployment.view.yaml +43 -0
  88. terrane-1.0.0/30_VIEWS/network-topology.view.yaml +33 -0
  89. terrane-1.0.0/30_VIEWS/onboarding.view.yaml +59 -0
  90. terrane-1.0.0/30_VIEWS/ownership.view.yaml +34 -0
  91. terrane-1.0.0/30_VIEWS/parts-in-use.view.yaml +36 -0
  92. terrane-1.0.0/30_VIEWS/pii-data-flow.view.yaml +38 -0
  93. terrane-1.0.0/30_VIEWS/platform-dependencies.view.yaml +37 -0
  94. terrane-1.0.0/30_VIEWS/policy-landscape.view.yaml +39 -0
  95. terrane-1.0.0/30_VIEWS/process-landscape.view.yaml +27 -0
  96. terrane-1.0.0/30_VIEWS/process-systems.view.yaml +63 -0
  97. terrane-1.0.0/30_VIEWS/product-architecture.view.yaml +72 -0
  98. terrane-1.0.0/30_VIEWS/product-card-servicing.view.yaml +40 -0
  99. terrane-1.0.0/30_VIEWS/product-parts.view.yaml +65 -0
  100. terrane-1.0.0/30_VIEWS/restricted-data-governance.view.yaml +45 -0
  101. terrane-1.0.0/30_VIEWS/system-architecture.view.yaml +61 -0
  102. terrane-1.0.0/30_VIEWS/system-context.view.yaml +35 -0
  103. terrane-1.0.0/30_VIEWS/system-governance.view.yaml +92 -0
  104. terrane-1.0.0/30_VIEWS/system-processes.view.yaml +54 -0
  105. terrane-1.0.0/30_VIEWS/target-state-change.view.yaml +45 -0
  106. terrane-1.0.0/30_VIEWS/technology-stack.view.yaml +35 -0
  107. terrane-1.0.0/30_VIEWS/tiered-architecture.view.yaml +37 -0
  108. terrane-1.0.0/30_VIEWS/value-stream-capabilities.view.yaml +34 -0
  109. terrane-1.0.0/30_VIEWS/value-streams.view.yaml +28 -0
  110. terrane-1.0.0/30_VIEWS/vendor-exposure.view.yaml +34 -0
  111. terrane-1.0.0/50_ENGINE/README.md +159 -0
  112. terrane-1.0.0/50_ENGINE/terrane/__init__.py +464 -0
  113. terrane-1.0.0/50_ENGINE/terrane/__main__.py +4 -0
  114. terrane-1.0.0/50_ENGINE/terrane/adoption.py +276 -0
  115. terrane-1.0.0/50_ENGINE/terrane/answers.py +117 -0
  116. terrane-1.0.0/50_ENGINE/terrane/archetype.py +1510 -0
  117. terrane-1.0.0/50_ENGINE/terrane/archimate_import.py +539 -0
  118. terrane-1.0.0/50_ENGINE/terrane/blocks.py +358 -0
  119. terrane-1.0.0/50_ENGINE/terrane/build_types.py +256 -0
  120. terrane-1.0.0/50_ENGINE/terrane/cli.py +1685 -0
  121. terrane-1.0.0/50_ENGINE/terrane/cmdb.py +395 -0
  122. terrane-1.0.0/50_ENGINE/terrane/compose.py +820 -0
  123. terrane-1.0.0/50_ENGINE/terrane/connections.py +192 -0
  124. terrane-1.0.0/50_ENGINE/terrane/correct.py +280 -0
  125. terrane-1.0.0/50_ENGINE/terrane/diff.py +421 -0
  126. terrane-1.0.0/50_ENGINE/terrane/diff_picture.py +273 -0
  127. terrane-1.0.0/50_ENGINE/terrane/draw/__init__.py +39 -0
  128. terrane-1.0.0/50_ENGINE/terrane/draw/arranged.py +216 -0
  129. terrane-1.0.0/50_ENGINE/terrane/draw/browser.py +375 -0
  130. terrane-1.0.0/50_ENGINE/terrane/draw/dagre.py +1597 -0
  131. terrane-1.0.0/50_ENGINE/terrane/draw/dml.py +375 -0
  132. terrane-1.0.0/50_ENGINE/terrane/draw/elk.py +400 -0
  133. terrane-1.0.0/50_ENGINE/terrane/draw/fonts/metrics.json +12860 -0
  134. terrane-1.0.0/50_ENGINE/terrane/draw/labels.py +272 -0
  135. terrane-1.0.0/50_ENGINE/terrane/draw/layered.py +1025 -0
  136. terrane-1.0.0/50_ENGINE/terrane/draw/metrics.py +106 -0
  137. terrane-1.0.0/50_ENGINE/terrane/draw/mode.py +78 -0
  138. terrane-1.0.0/50_ENGINE/terrane/draw/organic.py +97 -0
  139. terrane-1.0.0/50_ENGINE/terrane/draw/packed.py +295 -0
  140. terrane-1.0.0/50_ENGINE/terrane/draw/raster.py +139 -0
  141. terrane-1.0.0/50_ENGINE/terrane/draw/router.py +722 -0
  142. terrane-1.0.0/50_ENGINE/terrane/draw/sequence.py +218 -0
  143. terrane-1.0.0/50_ENGINE/terrane/draw/shapes.py +193 -0
  144. terrane-1.0.0/50_ENGINE/terrane/draw/svg.py +1122 -0
  145. terrane-1.0.0/50_ENGINE/terrane/draw/table.py +308 -0
  146. terrane-1.0.0/50_ENGINE/terrane/draw/tiles.py +774 -0
  147. terrane-1.0.0/50_ENGINE/terrane/draw/timeline.py +283 -0
  148. terrane-1.0.0/50_ENGINE/terrane/draw/wheel.py +134 -0
  149. terrane-1.0.0/50_ENGINE/terrane/drawio_import.py +308 -0
  150. terrane-1.0.0/50_ENGINE/terrane/estate.py +444 -0
  151. terrane-1.0.0/50_ENGINE/terrane/excel_import.py +667 -0
  152. terrane-1.0.0/50_ENGINE/terrane/exports.py +286 -0
  153. terrane-1.0.0/50_ENGINE/terrane/icons.py +139 -0
  154. terrane-1.0.0/50_ENGINE/terrane/impact.py +310 -0
  155. terrane-1.0.0/50_ENGINE/terrane/importer.py +365 -0
  156. terrane-1.0.0/50_ENGINE/terrane/inventory.py +659 -0
  157. terrane-1.0.0/50_ENGINE/terrane/inventory_import.py +195 -0
  158. terrane-1.0.0/50_ENGINE/terrane/join.py +628 -0
  159. terrane-1.0.0/50_ENGINE/terrane/jsonschema.py +942 -0
  160. terrane-1.0.0/50_ENGINE/terrane/library.py +364 -0
  161. terrane-1.0.0/50_ENGINE/terrane/loader.py +123 -0
  162. terrane-1.0.0/50_ENGINE/terrane/matrix.py +189 -0
  163. terrane-1.0.0/50_ENGINE/terrane/mermaid_import.py +1140 -0
  164. terrane-1.0.0/50_ENGINE/terrane/model.py +326 -0
  165. terrane-1.0.0/50_ENGINE/terrane/modules.py +371 -0
  166. terrane-1.0.0/50_ENGINE/terrane/needs.py +622 -0
  167. terrane-1.0.0/50_ENGINE/terrane/pack.py +354 -0
  168. terrane-1.0.0/50_ENGINE/terrane/palette.py +647 -0
  169. terrane-1.0.0/50_ENGINE/terrane/payload.py +269 -0
  170. terrane-1.0.0/50_ENGINE/terrane/pictures.py +564 -0
  171. terrane-1.0.0/50_ENGINE/terrane/places.py +196 -0
  172. terrane-1.0.0/50_ENGINE/terrane/plantuml_import.py +268 -0
  173. terrane-1.0.0/50_ENGINE/terrane/pptx.py +286 -0
  174. terrane-1.0.0/50_ENGINE/terrane/query.py +1175 -0
  175. terrane-1.0.0/50_ENGINE/terrane/quick.py +1281 -0
  176. terrane-1.0.0/50_ENGINE/terrane/records.py +553 -0
  177. terrane-1.0.0/50_ENGINE/terrane/regroup.py +250 -0
  178. terrane-1.0.0/50_ENGINE/terrane/render_archimate.py +539 -0
  179. terrane-1.0.0/50_ENGINE/terrane/render_drawio.py +453 -0
  180. terrane-1.0.0/50_ENGINE/terrane/render_excel.py +478 -0
  181. terrane-1.0.0/50_ENGINE/terrane/render_library.py +1062 -0
  182. terrane-1.0.0/50_ENGINE/terrane/render_mermaid.py +680 -0
  183. terrane-1.0.0/50_ENGINE/terrane/render_plantuml.py +303 -0
  184. terrane-1.0.0/50_ENGINE/terrane/render_sequence.py +196 -0
  185. terrane-1.0.0/50_ENGINE/terrane/render_structurizr.py +269 -0
  186. terrane-1.0.0/50_ENGINE/terrane/scaffold.py +110 -0
  187. terrane-1.0.0/50_ENGINE/terrane/schema.py +891 -0
  188. terrane-1.0.0/50_ENGINE/terrane/shipped.py +77 -0
  189. terrane-1.0.0/50_ENGINE/terrane/shown.py +175 -0
  190. terrane-1.0.0/50_ENGINE/terrane/sketch.py +560 -0
  191. terrane-1.0.0/50_ENGINE/terrane/sources.py +635 -0
  192. terrane-1.0.0/50_ENGINE/terrane/structurizr_import.py +308 -0
  193. terrane-1.0.0/50_ENGINE/terrane/style.py +215 -0
  194. terrane-1.0.0/50_ENGINE/terrane/techline.py +125 -0
  195. terrane-1.0.0/50_ENGINE/terrane/validate.py +1102 -0
  196. terrane-1.0.0/50_ENGINE/terrane/visio_import.py +262 -0
  197. terrane-1.0.0/50_ENGINE/terrane/workspace.py +159 -0
  198. terrane-1.0.0/50_ENGINE/terrane/yamlish.py +391 -0
  199. terrane-1.0.0/80_APP/app/server.py +6203 -0
  200. terrane-1.0.0/80_APP/web/app.js +17163 -0
  201. terrane-1.0.0/80_APP/web/favicon.svg +1 -0
  202. terrane-1.0.0/80_APP/web/fonts/README.md +16 -0
  203. terrane-1.0.0/80_APP/web/fonts/geist-latin-400-normal.woff2 +0 -0
  204. terrane-1.0.0/80_APP/web/fonts/geist-latin-500-normal.woff2 +0 -0
  205. terrane-1.0.0/80_APP/web/fonts/geist-latin-600-normal.woff2 +0 -0
  206. terrane-1.0.0/80_APP/web/fonts/geist-latin-700-normal.woff2 +0 -0
  207. terrane-1.0.0/80_APP/web/fonts/geist-mono-latin-400-normal.woff2 +0 -0
  208. terrane-1.0.0/80_APP/web/fonts/geist-mono-latin-500-normal.woff2 +0 -0
  209. terrane-1.0.0/80_APP/web/fonts/libre-franklin-latin-700-normal.woff2 +0 -0
  210. terrane-1.0.0/80_APP/web/fonts/libre-franklin-latin-800-normal.woff2 +0 -0
  211. terrane-1.0.0/80_APP/web/icons/CREDITS.md +42 -0
  212. terrane-1.0.0/80_APP/web/icons/aws/acm.svg +10 -0
  213. terrane-1.0.0/80_APP/web/icons/aws/api-gateway.svg +10 -0
  214. terrane-1.0.0/80_APP/web/icons/aws/athena.svg +10 -0
  215. terrane-1.0.0/80_APP/web/icons/aws/aurora.svg +10 -0
  216. terrane-1.0.0/80_APP/web/icons/aws/backup.svg +10 -0
  217. terrane-1.0.0/80_APP/web/icons/aws/bedrock.svg +12 -0
  218. terrane-1.0.0/80_APP/web/icons/aws/cloudformation.svg +10 -0
  219. terrane-1.0.0/80_APP/web/icons/aws/cloudfront.svg +10 -0
  220. terrane-1.0.0/80_APP/web/icons/aws/cloudtrail.svg +10 -0
  221. terrane-1.0.0/80_APP/web/icons/aws/cloudwatch.svg +10 -0
  222. terrane-1.0.0/80_APP/web/icons/aws/cognito.svg +10 -0
  223. terrane-1.0.0/80_APP/web/icons/aws/config.svg +10 -0
  224. terrane-1.0.0/80_APP/web/icons/aws/control-tower.svg +10 -0
  225. terrane-1.0.0/80_APP/web/icons/aws/data-center.svg +8 -0
  226. terrane-1.0.0/80_APP/web/icons/aws/direct-connect.svg +10 -0
  227. terrane-1.0.0/80_APP/web/icons/aws/documentdb.svg +10 -0
  228. terrane-1.0.0/80_APP/web/icons/aws/dynamodb.svg +10 -0
  229. terrane-1.0.0/80_APP/web/icons/aws/ec2.svg +10 -0
  230. terrane-1.0.0/80_APP/web/icons/aws/ecs.svg +10 -0
  231. terrane-1.0.0/80_APP/web/icons/aws/eks.svg +10 -0
  232. terrane-1.0.0/80_APP/web/icons/aws/elasticache.svg +10 -0
  233. terrane-1.0.0/80_APP/web/icons/aws/elb.svg +10 -0
  234. terrane-1.0.0/80_APP/web/icons/aws/emr.svg +10 -0
  235. terrane-1.0.0/80_APP/web/icons/aws/eventbridge.svg +10 -0
  236. terrane-1.0.0/80_APP/web/icons/aws/fargate.svg +10 -0
  237. terrane-1.0.0/80_APP/web/icons/aws/glue.svg +10 -0
  238. terrane-1.0.0/80_APP/web/icons/aws/group-account.svg +8 -0
  239. terrane-1.0.0/80_APP/web/icons/aws/group-cloud.svg +8 -0
  240. terrane-1.0.0/80_APP/web/icons/aws/group-data-center.svg +8 -0
  241. terrane-1.0.0/80_APP/web/icons/aws/group-region.svg +8 -0
  242. terrane-1.0.0/80_APP/web/icons/aws/guardduty.svg +10 -0
  243. terrane-1.0.0/80_APP/web/icons/aws/iam-identity-center.svg +10 -0
  244. terrane-1.0.0/80_APP/web/icons/aws/iam.svg +10 -0
  245. terrane-1.0.0/80_APP/web/icons/aws/internet-gateway.svg +7 -0
  246. terrane-1.0.0/80_APP/web/icons/aws/kinesis.svg +10 -0
  247. terrane-1.0.0/80_APP/web/icons/aws/kms.svg +10 -0
  248. terrane-1.0.0/80_APP/web/icons/aws/lake-formation.svg +10 -0
  249. terrane-1.0.0/80_APP/web/icons/aws/lambda.svg +10 -0
  250. terrane-1.0.0/80_APP/web/icons/aws/mq.svg +10 -0
  251. terrane-1.0.0/80_APP/web/icons/aws/msk.svg +10 -0
  252. terrane-1.0.0/80_APP/web/icons/aws/nat-gateway.svg +7 -0
  253. terrane-1.0.0/80_APP/web/icons/aws/network-firewall.svg +12 -0
  254. terrane-1.0.0/80_APP/web/icons/aws/opensearch.svg +10 -0
  255. terrane-1.0.0/80_APP/web/icons/aws/organizations.svg +10 -0
  256. terrane-1.0.0/80_APP/web/icons/aws/private-subnet.svg +8 -0
  257. terrane-1.0.0/80_APP/web/icons/aws/privatelink.svg +10 -0
  258. terrane-1.0.0/80_APP/web/icons/aws/public-subnet.svg +8 -0
  259. terrane-1.0.0/80_APP/web/icons/aws/rds.svg +10 -0
  260. terrane-1.0.0/80_APP/web/icons/aws/redshift.svg +10 -0
  261. terrane-1.0.0/80_APP/web/icons/aws/route53.svg +10 -0
  262. terrane-1.0.0/80_APP/web/icons/aws/s3.svg +12 -0
  263. terrane-1.0.0/80_APP/web/icons/aws/sagemaker.svg +4 -0
  264. terrane-1.0.0/80_APP/web/icons/aws/secrets-manager.svg +10 -0
  265. terrane-1.0.0/80_APP/web/icons/aws/security-hub.svg +10 -0
  266. terrane-1.0.0/80_APP/web/icons/aws/shield.svg +10 -0
  267. terrane-1.0.0/80_APP/web/icons/aws/site-to-site-vpn.svg +12 -0
  268. terrane-1.0.0/80_APP/web/icons/aws/sns.svg +10 -0
  269. terrane-1.0.0/80_APP/web/icons/aws/sqs.svg +10 -0
  270. terrane-1.0.0/80_APP/web/icons/aws/step-functions.svg +10 -0
  271. terrane-1.0.0/80_APP/web/icons/aws/systems-manager.svg +10 -0
  272. terrane-1.0.0/80_APP/web/icons/aws/transit-gateway.svg +10 -0
  273. terrane-1.0.0/80_APP/web/icons/aws/vpc-endpoints.svg +7 -0
  274. terrane-1.0.0/80_APP/web/icons/aws/vpc.svg +10 -0
  275. terrane-1.0.0/80_APP/web/icons/aws/waf.svg +12 -0
  276. terrane-1.0.0/80_APP/web/icons/azure/ai-services.svg +1 -0
  277. terrane-1.0.0/80_APP/web/icons/azure/aks.svg +1 -0
  278. terrane-1.0.0/80_APP/web/icons/azure/apim.svg +1 -0
  279. terrane-1.0.0/80_APP/web/icons/azure/app-insights.svg +1 -0
  280. terrane-1.0.0/80_APP/web/icons/azure/app-service.svg +1 -0
  281. terrane-1.0.0/80_APP/web/icons/azure/application-gateway.svg +1 -0
  282. terrane-1.0.0/80_APP/web/icons/azure/arc.svg +1 -0
  283. terrane-1.0.0/80_APP/web/icons/azure/azure-sql.svg +2 -0
  284. terrane-1.0.0/80_APP/web/icons/azure/backup.svg +1 -0
  285. terrane-1.0.0/80_APP/web/icons/azure/bastion.svg +1 -0
  286. terrane-1.0.0/80_APP/web/icons/azure/cache-redis.svg +1 -0
  287. terrane-1.0.0/80_APP/web/icons/azure/cdn.svg +1 -0
  288. terrane-1.0.0/80_APP/web/icons/azure/container-apps.svg +1 -0
  289. terrane-1.0.0/80_APP/web/icons/azure/container-registry.svg +1 -0
  290. terrane-1.0.0/80_APP/web/icons/azure/cosmos-db.svg +1 -0
  291. terrane-1.0.0/80_APP/web/icons/azure/data-factory.svg +1 -0
  292. terrane-1.0.0/80_APP/web/icons/azure/databricks.svg +1 -0
  293. terrane-1.0.0/80_APP/web/icons/azure/devops.svg +1 -0
  294. terrane-1.0.0/80_APP/web/icons/azure/dns-zones.svg +1 -0
  295. terrane-1.0.0/80_APP/web/icons/azure/entra-id.svg +1 -0
  296. terrane-1.0.0/80_APP/web/icons/azure/event-grid.svg +1 -0
  297. terrane-1.0.0/80_APP/web/icons/azure/event-hubs.svg +1 -0
  298. terrane-1.0.0/80_APP/web/icons/azure/expressroute.svg +1 -0
  299. terrane-1.0.0/80_APP/web/icons/azure/firewall.svg +1 -0
  300. terrane-1.0.0/80_APP/web/icons/azure/front-door.svg +1 -0
  301. terrane-1.0.0/80_APP/web/icons/azure/functions.svg +1 -0
  302. terrane-1.0.0/80_APP/web/icons/azure/key-vault.svg +1 -0
  303. terrane-1.0.0/80_APP/web/icons/azure/load-balancer.svg +1 -0
  304. terrane-1.0.0/80_APP/web/icons/azure/log-analytics.svg +1 -0
  305. terrane-1.0.0/80_APP/web/icons/azure/logic-apps.svg +1 -0
  306. terrane-1.0.0/80_APP/web/icons/azure/machine-learning.svg +1 -0
  307. terrane-1.0.0/80_APP/web/icons/azure/managed-identity.svg +1 -0
  308. terrane-1.0.0/80_APP/web/icons/azure/management-groups.svg +1 -0
  309. terrane-1.0.0/80_APP/web/icons/azure/monitor.svg +1 -0
  310. terrane-1.0.0/80_APP/web/icons/azure/mysql.svg +1 -0
  311. terrane-1.0.0/80_APP/web/icons/azure/nat.svg +1 -0
  312. terrane-1.0.0/80_APP/web/icons/azure/openai.svg +1 -0
  313. terrane-1.0.0/80_APP/web/icons/azure/postgresql.svg +1 -0
  314. terrane-1.0.0/80_APP/web/icons/azure/private-link.svg +1 -0
  315. terrane-1.0.0/80_APP/web/icons/azure/resource-groups.svg +1 -0
  316. terrane-1.0.0/80_APP/web/icons/azure/sentinel.svg +1 -0
  317. terrane-1.0.0/80_APP/web/icons/azure/service-bus.svg +1 -0
  318. terrane-1.0.0/80_APP/web/icons/azure/sql-database.svg +1 -0
  319. terrane-1.0.0/80_APP/web/icons/azure/static-apps.svg +1 -0
  320. terrane-1.0.0/80_APP/web/icons/azure/storage-account.svg +1 -0
  321. terrane-1.0.0/80_APP/web/icons/azure/storage-queue.svg +1 -0
  322. terrane-1.0.0/80_APP/web/icons/azure/subnet.svg +1 -0
  323. terrane-1.0.0/80_APP/web/icons/azure/subscriptions.svg +1 -0
  324. terrane-1.0.0/80_APP/web/icons/azure/synapse.svg +1 -0
  325. terrane-1.0.0/80_APP/web/icons/azure/traffic-manager.svg +1 -0
  326. terrane-1.0.0/80_APP/web/icons/azure/virtual-network.svg +1 -0
  327. terrane-1.0.0/80_APP/web/icons/azure/virtual-wan.svg +1 -0
  328. terrane-1.0.0/80_APP/web/icons/azure/vm.svg +1 -0
  329. terrane-1.0.0/80_APP/web/icons/azure/vnet-gateway.svg +1 -0
  330. terrane-1.0.0/80_APP/web/icons/azure/waf.svg +1 -0
  331. terrane-1.0.0/80_APP/web/icons/brands/apachekafka.svg +1 -0
  332. terrane-1.0.0/80_APP/web/icons/brands/atlassian.svg +1 -0
  333. terrane-1.0.0/80_APP/web/icons/brands/confluence.svg +1 -0
  334. terrane-1.0.0/80_APP/web/icons/brands/databricks.svg +1 -0
  335. terrane-1.0.0/80_APP/web/icons/brands/datadog.svg +1 -0
  336. terrane-1.0.0/80_APP/web/icons/brands/dynatrace.svg +1 -0
  337. terrane-1.0.0/80_APP/web/icons/brands/elastic.svg +1 -0
  338. terrane-1.0.0/80_APP/web/icons/brands/github.svg +1 -0
  339. terrane-1.0.0/80_APP/web/icons/brands/gitlab.svg +1 -0
  340. terrane-1.0.0/80_APP/web/icons/brands/googlecloud.svg +1 -0
  341. terrane-1.0.0/80_APP/web/icons/brands/hashicorp.svg +1 -0
  342. terrane-1.0.0/80_APP/web/icons/brands/jira.svg +1 -0
  343. terrane-1.0.0/80_APP/web/icons/brands/mongodb.svg +1 -0
  344. terrane-1.0.0/80_APP/web/icons/brands/newrelic.svg +1 -0
  345. terrane-1.0.0/80_APP/web/icons/brands/okta.svg +1 -0
  346. terrane-1.0.0/80_APP/web/icons/brands/pagerduty.svg +1 -0
  347. terrane-1.0.0/80_APP/web/icons/brands/postgresql.svg +1 -0
  348. terrane-1.0.0/80_APP/web/icons/brands/qlik.svg +1 -0
  349. terrane-1.0.0/80_APP/web/icons/brands/redis.svg +1 -0
  350. terrane-1.0.0/80_APP/web/icons/brands/sap.svg +1 -0
  351. terrane-1.0.0/80_APP/web/icons/brands/snowflake.svg +1 -0
  352. terrane-1.0.0/80_APP/web/icons/brands/splunk.svg +1 -0
  353. terrane-1.0.0/80_APP/web/icons/brands/stripe.svg +1 -0
  354. terrane-1.0.0/80_APP/web/icons/brands/terraform.svg +1 -0
  355. terrane-1.0.0/80_APP/web/icons/brands/zendesk.svg +1 -0
  356. terrane-1.0.0/80_APP/web/icons/gcp/alloydb.svg +41 -0
  357. terrane-1.0.0/80_APP/web/icons/gcp/anthos.svg +15 -0
  358. terrane-1.0.0/80_APP/web/icons/gcp/apigee.svg +43 -0
  359. terrane-1.0.0/80_APP/web/icons/gcp/bigquery.svg +38 -0
  360. terrane-1.0.0/80_APP/web/icons/gcp/cat-compute.svg +10 -0
  361. terrane-1.0.0/80_APP/web/icons/gcp/cat-containers.svg +11 -0
  362. terrane-1.0.0/80_APP/web/icons/gcp/cat-data-analytics.svg +12 -0
  363. terrane-1.0.0/80_APP/web/icons/gcp/cat-databases.svg +30 -0
  364. terrane-1.0.0/80_APP/web/icons/gcp/cat-devops.svg +12 -0
  365. terrane-1.0.0/80_APP/web/icons/gcp/cat-integration.svg +11 -0
  366. terrane-1.0.0/80_APP/web/icons/gcp/cat-management.svg +18 -0
  367. terrane-1.0.0/80_APP/web/icons/gcp/cat-networking.svg +17 -0
  368. terrane-1.0.0/80_APP/web/icons/gcp/cat-observability.svg +14 -0
  369. terrane-1.0.0/80_APP/web/icons/gcp/cat-security.svg +16 -0
  370. terrane-1.0.0/80_APP/web/icons/gcp/cat-storage.svg +13 -0
  371. terrane-1.0.0/80_APP/web/icons/gcp/cloud-run.svg +38 -0
  372. terrane-1.0.0/80_APP/web/icons/gcp/cloud-sql.svg +41 -0
  373. terrane-1.0.0/80_APP/web/icons/gcp/cloud-storage.svg +38 -0
  374. terrane-1.0.0/80_APP/web/icons/gcp/compute-engine.svg +48 -0
  375. terrane-1.0.0/80_APP/web/icons/gcp/gke.svg +43 -0
  376. terrane-1.0.0/80_APP/web/icons/gcp/looker.svg +36 -0
  377. terrane-1.0.0/80_APP/web/icons/gcp/security-command-center.svg +19 -0
  378. terrane-1.0.0/80_APP/web/icons/gcp/spanner.svg +36 -0
  379. terrane-1.0.0/80_APP/web/icons/gcp/vertex-ai.svg +25 -0
  380. terrane-1.0.0/80_APP/web/icons/map.json +345 -0
  381. terrane-1.0.0/80_APP/web/index.html +361 -0
  382. terrane-1.0.0/80_APP/web/static-shim.js +176 -0
  383. terrane-1.0.0/80_APP/web/styles.css +5254 -0
  384. terrane-1.0.0/80_APP/web/vendor/README.md +24 -0
  385. terrane-1.0.0/80_APP/web/vendor/cytoscape-dagre.js +7 -0
  386. terrane-1.0.0/80_APP/web/vendor/cytoscape.min.js +31 -0
  387. terrane-1.0.0/80_APP/web/vendor/dagre.min.js +3809 -0
  388. terrane-1.0.0/80_APP/web/vendor/elk.bundled.js +6605 -0
  389. terrane-1.0.0/90_EXAMPLE/quick/from-parts.yaml +30 -0
  390. terrane-1.0.0/90_EXAMPLE/quick/on-a-shape.yaml +28 -0
  391. terrane-1.0.0/90_EXAMPLE/quick/payments.yaml +113 -0
  392. terrane-1.0.0/90_EXAMPLE/quick/sample-c4.mmd +25 -0
  393. terrane-1.0.0/90_EXAMPLE/quick/sample-exchange.xml +121 -0
  394. terrane-1.0.0/90_EXAMPLE/quick/sample-inventory.csv +12 -0
  395. terrane-1.0.0/90_EXAMPLE/quick/sample-inventory.xlsx +0 -0
  396. terrane-1.0.0/90_EXAMPLE/quick/sample-sequence.mmd +20 -0
  397. terrane-1.0.0/90_EXAMPLE/quick/sample.archimate +87 -0
  398. terrane-1.0.0/90_EXAMPLE/quick/sample.drawio +87 -0
  399. terrane-1.0.0/90_EXAMPLE/quick/sample.dsl +52 -0
  400. terrane-1.0.0/90_EXAMPLE/quick/sample.md +46 -0
  401. terrane-1.0.0/90_EXAMPLE/quick/sample.mmd +15 -0
  402. terrane-1.0.0/90_EXAMPLE/quick/sample.puml +37 -0
  403. terrane-1.0.0/90_EXAMPLE/quick/sample.vsdx +0 -0
  404. terrane-1.0.0/LICENSE +99 -0
  405. terrane-1.0.0/LICENSES/CC0-1.0-Simple-Icons.md +30 -0
  406. terrane-1.0.0/LICENSES/EPL-2.0-elkjs.md +263 -0
  407. terrane-1.0.0/LICENSES/LicenseRef-AWS-Architecture-Icons.txt +7 -0
  408. terrane-1.0.0/LICENSES/LicenseRef-Azure-Public-Service-Icons.txt +9 -0
  409. terrane-1.0.0/LICENSES/LicenseRef-Google-Cloud-Icons.txt +7 -0
  410. terrane-1.0.0/LICENSES/MIT-Cytoscape.txt +19 -0
  411. terrane-1.0.0/LICENSES/MIT-cytoscape-dagre.txt +19 -0
  412. terrane-1.0.0/LICENSES/MIT-dagre.txt +19 -0
  413. terrane-1.0.0/LICENSES/OFL-1.1-Geist-Mono.txt +93 -0
  414. terrane-1.0.0/LICENSES/OFL-1.1-Geist.txt +93 -0
  415. terrane-1.0.0/LICENSES/OFL-1.1-Libre-Franklin.txt +93 -0
  416. terrane-1.0.0/PKG-INFO +202 -0
  417. terrane-1.0.0/THIRD_PARTY_NOTICES.md +24 -0
  418. terrane-1.0.0/pyproject.toml +124 -0
@@ -0,0 +1,49 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ .venv/
4
+ venv/
5
+ .idea/
6
+ .vscode/
7
+ *.tmp
8
+
9
+ # Built by 80_APP/tools/export_site.py and the Pages workflow
10
+ site/
11
+
12
+ # Installed on demand by 50_ENGINE/tools/mermaid_parse_check.mjs and
13
+ # the probes in 80_APP/tools/dev
14
+ node_modules/
15
+
16
+ # Built by 80_APP/tools/review_pack.mjs: a picture of a commit, not a record
17
+ *.pptx
18
+ # The workbook `terrane pack --excel` writes beside the default deck: the same picture, as sheets
19
+ 70_ARTIFACTS/review-pack.xlsx
20
+
21
+ # Pictures the developer probes in 80_APP/tools/dev/ write
22
+ 80_APP/tools/dev/out/
23
+
24
+ # Written by `terrane render --png` through resvg-py, which CI does not have, so
25
+ # a committed PNG would be the one generated file nothing holds fresh
26
+ 70_ARTIFACTS/png/
27
+
28
+ # What `terrane --root 90_EXAMPLE/thurman-health render` and friends write. The
29
+ # second estate commits its model and views, not its pictures: the gate and
30
+ # its own test hold it, and a second copy of every generated file would be a
31
+ # second thing for every drawing change to keep fresh.
32
+ 90_EXAMPLE/thurman-health/40_SCHEMAS/
33
+ 90_EXAMPLE/thurman-health/70_ARTIFACTS/
34
+
35
+ # Built by 50_ENGINE/tools/wheel_check.py: the sdist and the wheel, before a release
36
+ /dist/
37
+
38
+ # Credentials never belong in the repository: a connection names where its
39
+ # secret lives (an environment variable, a secrets manager), not the secret.
40
+ .env
41
+ .env.*
42
+ !.env.example
43
+ *.pem
44
+ *.key
45
+ *.pfx
46
+ *.p12
47
+ secrets.yaml
48
+ secrets.yml
49
+ .secrets/
@@ -0,0 +1,150 @@
1
+ # Model-level configuration.
2
+ name: Architecture Model
3
+ description: >
4
+ The application, data and technology landscape. Populate it with `terrane import
5
+ csv` from an existing inventory, with the app in `80_APP/`, or by hand.
6
+
7
+ # The sample estate the repository ships with, and the one the engine's tests
8
+ # are seeded from. While this says true, `terrane refresh` copies the export into
9
+ # 90_EXAMPLE/csv and the spelling test reads this folder's prose. `terrane clear`
10
+ # takes the estate out and this line with it (00_METHOD/AAC-15_ADOPTING.md).
11
+ sample_estate: true
12
+
13
+ # Libraries of the organization's own, read after the shipped 20_ARCHETYPES
14
+ # to 29_TYPES folders and in the order listed; each holds any of the same
15
+ # layer folders. A record there stands in for a shipped one only when it says
16
+ # `replaces:` with its own id (00_METHOD/AAC-16_EXTENDING_THE_LIBRARY.md).
17
+ # library_paths: [our-library]
18
+
19
+ metamodel:
20
+ aligns_to: architecture_method_metamodel.v2
21
+ contract: 00_METHOD/AAC-07_METAMODEL_CONTRACT.md
22
+
23
+ # Overrides for the house palette. Anything not listed falls back to the
24
+ # defaults in 50_ENGINE/terrane/palette.py.
25
+ palette:
26
+ Vendor:
27
+ fill: "#fff7ed"
28
+ stroke: "#ea580c"
29
+
30
+ # What the library asks of this estate, answered once for every product on
31
+ # it. A shape or a part names a role -- who owns the shared network, where a
32
+ # vendor's audit trail goes, which controls govern a vendor tenancy -- and
33
+ # this says which of the estate's records plays it; a product says otherwise
34
+ # for itself with `with` on the part. The shared services are not here: the
35
+ # library names their kind, and the services tagged `landing-zone` answer
36
+ # (50_ENGINE/terrane/estate.py).
37
+ answers:
38
+ platform_org: ORG-TECH
39
+ data_org: ORG-DATAENG
40
+ security_org: ORG-INFOSEC
41
+ ingest_system: SYS-DATA-INGEST
42
+ siem_system: SYS-SIEM
43
+ vendor_controls: [CTL-TPRM-DD]
44
+ vendor_policies: [POL-TPRM]
45
+ landed_data_controls: [CTL-RETENTION]
46
+ landed_data_policies: [POL-RECORDS, POL-PRIVACY]
47
+ access_controls: [CTL-ACCESS-CERT]
48
+ access_policies: [POL-INFOSEC]
49
+ change_controls: [CTL-CHG-APPROVAL]
50
+ change_policies: [POL-CHANGE]
51
+
52
+ # Who owns each of the library's patterns here, the decision that approved
53
+ # it, and which controls in the register it is designed to meet. The pattern
54
+ # in 27_PATTERNS says what it is for and what it costs, and goes to any
55
+ # estate; these three are the card issuer's, so they are kept with its
56
+ # model rather than on the pattern, where a second estate heard fifty-one
57
+ # warnings about a register it never had (50_ENGINE/terrane/estate.py).
58
+ patterns:
59
+ customer-communication-archive:
60
+ owner_org_id: ORG-SERVICING
61
+ decision_ref: ADR-0017
62
+ satisfies: [CTL-NOTICE-CONTENT, CTL-FDCPA-NOTICE, CTL-RETENTION]
63
+ contact-center-integration:
64
+ owner_org_id: ORG-SERVICING
65
+ decision_ref: ADR-0020
66
+ satisfies: [CTL-CONTACT-LIM, CTL-COMPLAINT-REG, CTL-AUTH-POLICY]
67
+ analytics-landing-zone:
68
+ owner_org_id: ORG-DATAGOV
69
+ decision_ref: ADR-0010
70
+ satisfies: [CTL-DQ-GATE, CTL-MASK-NONPROD, CTL-RETENTION]
71
+ inline-risk-decision:
72
+ owner_org_id: ORG-FRAUD
73
+ decision_ref: ADR-0014
74
+ satisfies: [CTL-FRAUD-SLA, CTL-AUTH-AVAIL]
75
+ governed-model-lifecycle:
76
+ owner_org_id: ORG-CREDIT
77
+ decision_ref: ADR-0018
78
+ satisfies: [CTL-ADVERSE-ACT, CTL-TREATMENT-APPR, CTL-DQ-GATE]
79
+ public-web-entry:
80
+ owner_org_id: ORG-INFOSEC
81
+ decision_ref: ADR-0003
82
+ satisfies: [CTL-PCI-EVIDENCE]
83
+ api-front-door:
84
+ owner_org_id: ORG-TECH
85
+ decision_ref: ADR-0004
86
+ satisfies: [CTL-AUTH-POLICY]
87
+ private-egress-to-saas:
88
+ owner_org_id: ORG-VENDORMGMT
89
+ decision_ref: ADR-0007
90
+ satisfies: [CTL-TPRM-DD, CTL-SANCTIONS]
91
+ event-fanout:
92
+ owner_org_id: ORG-APPDEV
93
+ decision_ref: ADR-0008
94
+ satisfies: []
95
+ partner-file-exchange:
96
+ owner_org_id: ORG-TPS
97
+ decision_ref: ADR-0009
98
+ satisfies: [CTL-CLIENT-SLA]
99
+ shared-database-integration:
100
+ owner_org_id: ORG-APPDEV
101
+ decision_ref: ADR-0002
102
+ satisfies: []
103
+ regulatory-file-furnishing:
104
+ owner_org_id: ORG-COLLECTIONS
105
+ decision_ref: ADR-0022
106
+ satisfies: [CTL-METRO2-RECON, CTL-BUREAU-ACC, CTL-REGE-ACK]
107
+ workload-account-baseline:
108
+ owner_org_id: ORG-TECH
109
+ decision_ref: ADR-0001
110
+ satisfies: [CTL-CHG-APPROVAL, CTL-ACCESS-CERT, CTL-VULN-SLA]
111
+ hybrid-return-path:
112
+ owner_org_id: ORG-TECH
113
+ decision_ref: ADR-0011
114
+ satisfies: [CTL-DR-TEST]
115
+ observed-service:
116
+ owner_org_id: ORG-TECH
117
+ decision_ref: ADR-0015
118
+ satisfies: [CTL-IR-PLAYBOOK, CTL-AUTH-AVAIL, CTL-DR-TEST]
119
+ change-evidence-chain:
120
+ owner_org_id: ORG-EA
121
+ decision_ref: ADR-0016
122
+ satisfies: [CTL-CHG-APPROVAL, CTL-REGCHANGE-TRACK]
123
+ payment-capture-and-posting:
124
+ owner_org_id: ORG-PAYMENTS
125
+ decision_ref: ADR-0021
126
+ satisfies: [CTL-PMT-POSTING, CTL-FUNDING-CONF, CTL-DAILY-RECON]
127
+ workforce-identity-lifecycle:
128
+ owner_org_id: ORG-INFOSEC
129
+ decision_ref: ADR-0012
130
+ satisfies: [CTL-ACCESS-CERT, CTL-IR-PLAYBOOK]
131
+ secrets-and-keys:
132
+ owner_org_id: ORG-INFOSEC
133
+ decision_ref: ADR-0013
134
+ satisfies: [CTL-PCI-EVIDENCE]
135
+ tokenized-card-data:
136
+ owner_org_id: ORG-INFOSEC
137
+ decision_ref: ADR-0019
138
+ satisfies: [CTL-PCI-EVIDENCE, CTL-AUTH-AVAIL]
139
+ stateless-request-service:
140
+ owner_org_id: ORG-APPDEV
141
+ decision_ref: ADR-0005
142
+ satisfies: []
143
+ windowed-batch:
144
+ owner_org_id: ORG-DATAENG
145
+ decision_ref: ADR-0006
146
+ satisfies: [CTL-DAILY-RECON]
147
+ strangler-facade:
148
+ owner_org_id: ORG-APPDEV
149
+ decision_ref: ADR-0023
150
+ satisfies: [CTL-CHG-APPROVAL, CTL-CONV-VERIFY]
@@ -0,0 +1,50 @@
1
+ # The foundation model service of each landing zone, tagged `landing-zone` so
2
+ # a part that asks for one (the inference service in 28_MODULES/) resolves to
3
+ # it without the shape binding it. Named as the clouds name them in 2026;
4
+ # the models behind each are the provider's own families and the third-party
5
+ # ones it hosts, which change too often to list here.
6
+
7
+ - tech_service_id: TS-AWS-BEDROCK
8
+ name: Amazon Bedrock
9
+ description: Managed access to foundation models (Amazon Nova, Claude, Llama and others) inside the account's own data boundary.
10
+ status: Active
11
+ togaf_layer: Technology
12
+ architecture_domain: Technology
13
+ company_domain: Enterprise Platform
14
+ owner_org_id: ORG-TECH
15
+ provider: AWS
16
+ cloud_provider: AWS
17
+ service_category: AI
18
+ service_name: Bedrock
19
+ component_type: foundation-model-service
20
+ tags: [landing-zone]
21
+
22
+ - tech_service_id: TS-AZURE-FOUNDRY
23
+ name: Microsoft Foundry
24
+ description: Managed access to foundation models (OpenAI, Microsoft MAI, Claude and others), formerly Azure OpenAI Service and Azure AI Foundry.
25
+ status: Active
26
+ togaf_layer: Technology
27
+ architecture_domain: Technology
28
+ company_domain: Enterprise Platform
29
+ owner_org_id: ORG-TECH
30
+ provider: Microsoft Azure
31
+ cloud_provider: Azure
32
+ service_category: AI
33
+ service_name: Foundry
34
+ component_type: foundation-model-service
35
+ tags: [landing-zone]
36
+
37
+ - tech_service_id: TS-GCP-GEMINI-PLATFORM
38
+ name: Gemini Enterprise Agent Platform
39
+ description: Managed access to foundation models (Gemini, Gemma, Claude and others) through Model Garden, formerly Vertex AI.
40
+ status: Active
41
+ togaf_layer: Technology
42
+ architecture_domain: Technology
43
+ company_domain: Enterprise Platform
44
+ owner_org_id: ORG-TECH
45
+ provider: Google Cloud
46
+ cloud_provider: GCP
47
+ service_category: AI
48
+ service_name: Gemini Enterprise Agent Platform
49
+ component_type: foundation-model-service
50
+ tags: [landing-zone]
@@ -0,0 +1,337 @@
1
+ # The network fabric. Modeled by hand rather than by the onboarding archetype
2
+ # on purpose: account-level networking is provisioned by the landing zone, not
3
+ # by the product team, and in a real estate several products share a VPC. An
4
+ # archetype that vended a VPC per product would be describing a different
5
+ # operating model from the one this estate actually runs.
6
+ #
7
+ # Subnets are per availability zone, which is what makes a multi-AZ diagram
8
+ # drawable without duplicating every system once per zone.
9
+
10
+ # --- shared network account -------------------------------------------------
11
+ - tech_service_id: TS-NET-VPC-SHARED
12
+ name: Shared Services VPC
13
+ service_name: VPC
14
+ component_type: vpc
15
+ description: Hub VPC holding the transit attachments, egress and resolver endpoints.
16
+ status: Active
17
+ provider: AWS
18
+ service_category: Network
19
+ owner_org_id: ORG-TECH
20
+ cloud_provider: AWS
21
+ cloud_account: shared-network
22
+ region: eu-west-2
23
+ network_zone: Shared-Services
24
+ cidr: 10.20.0.0/16
25
+ company_domain: Enterprise Platform
26
+ togaf_layer: Technology
27
+ architecture_domain: Technology
28
+ tags: [network-fabric, landing-zone]
29
+
30
+ - tech_service_id: TS-NET-DX
31
+ name: Direct Connect
32
+ service_name: Direct Connect
33
+ component_type: hybrid-link
34
+ description: >
35
+ Dual 10G circuits to the data center, one per carrier hall. The primary
36
+ hybrid path, and the long-lead item on any onboarding that touches the
37
+ mainframe.
38
+ status: Active
39
+ provider: AWS
40
+ service_category: Network
41
+ owner_org_id: ORG-TECH
42
+ cloud_provider: AWS
43
+ cloud_account: shared-network
44
+ region: eu-west-2
45
+ network_zone: Shared-Services
46
+ company_domain: Enterprise Platform
47
+ togaf_layer: Technology
48
+ architecture_domain: Technology
49
+ tags: [network-fabric, landing-zone]
50
+
51
+ - tech_service_id: TS-NET-VPN
52
+ name: Site-to-Site VPN
53
+ service_name: VPN
54
+ component_type: hybrid-link
55
+ description: Encrypted backup path over the internet, used only when Direct Connect is down.
56
+ status: Active
57
+ provider: AWS
58
+ service_category: Network
59
+ owner_org_id: ORG-TECH
60
+ cloud_provider: AWS
61
+ cloud_account: shared-network
62
+ region: eu-west-2
63
+ network_zone: Shared-Services
64
+ company_domain: Enterprise Platform
65
+ togaf_layer: Technology
66
+ architecture_domain: Technology
67
+ tags: [network-fabric, landing-zone]
68
+
69
+ - tech_service_id: TS-NET-ROUTE53
70
+ name: Route 53 Resolver
71
+ service_name: Route 53
72
+ component_type: dns
73
+ description: Private hosted zones and inbound/outbound resolution to on-premise DNS.
74
+ status: Active
75
+ provider: AWS
76
+ service_category: Network
77
+ owner_org_id: ORG-TECH
78
+ cloud_provider: AWS
79
+ cloud_account: shared-network
80
+ region: eu-west-2
81
+ network_zone: Shared-Services
82
+ company_domain: Enterprise Platform
83
+ togaf_layer: Technology
84
+ architecture_domain: Technology
85
+ tags: [network-fabric, landing-zone]
86
+
87
+ # --- the data center, so the hybrid edge has two ends ------------------------
88
+ - tech_service_id: TS-ONPREM-DC
89
+ name: Primary Data Center
90
+ service_name: Data Center
91
+ component_type: vpc
92
+ description: >
93
+ The data center the mainframe and the authorization switch live in. Modeled
94
+ because half the integration cost of any cloud onboarding is the path back
95
+ to here.
96
+ status: Active
97
+ provider: In-house
98
+ service_category: Network
99
+ owner_org_id: ORG-TECH
100
+ cloud_provider: On-prem
101
+ network_zone: On-prem
102
+ cidr: 10.10.0.0/16
103
+ company_domain: Enterprise Platform
104
+ togaf_layer: Technology
105
+ architecture_domain: Technology
106
+ tags: [network-fabric, landing-zone]
107
+
108
+ # --- lending workload account ----------------------------------------------
109
+ - tech_service_id: TS-NET-VPC-LENDING
110
+ name: Lending VPC
111
+ service_name: VPC
112
+ component_type: vpc
113
+ description: Workload VPC for the lending product, three tiers across two zones.
114
+ status: Active
115
+ provider: AWS
116
+ service_category: Network
117
+ owner_org_id: ORG-TECH
118
+ cloud_provider: AWS
119
+ cloud_account: prod-lending
120
+ region: eu-west-2
121
+ network_zone: Private-App
122
+ cidr: 10.40.0.0/16
123
+ company_domain: Lending
124
+ togaf_layer: Technology
125
+ architecture_domain: Technology
126
+ tags: [network-fabric]
127
+
128
+ - tech_service_id: TS-NET-SUB-LEND-PUB-A
129
+ name: Lending Public Subnet A
130
+ service_name: Subnet
131
+ component_type: subnet
132
+ status: Active
133
+ provider: AWS
134
+ service_category: Network
135
+ owner_org_id: ORG-TECH
136
+ cloud_provider: AWS
137
+ cloud_account: prod-lending
138
+ region: eu-west-2
139
+ availability_zone: eu-west-2a
140
+ network_zone: Public
141
+ cidr: 10.40.0.0/20
142
+ company_domain: Lending
143
+ togaf_layer: Technology
144
+ architecture_domain: Technology
145
+ tags: [network-fabric]
146
+
147
+ - tech_service_id: TS-NET-SUB-LEND-PUB-B
148
+ name: Lending Public Subnet B
149
+ service_name: Subnet
150
+ component_type: subnet
151
+ status: Active
152
+ provider: AWS
153
+ service_category: Network
154
+ owner_org_id: ORG-TECH
155
+ cloud_provider: AWS
156
+ cloud_account: prod-lending
157
+ region: eu-west-2
158
+ availability_zone: eu-west-2b
159
+ network_zone: Public
160
+ cidr: 10.40.16.0/20
161
+ company_domain: Lending
162
+ togaf_layer: Technology
163
+ architecture_domain: Technology
164
+ tags: [network-fabric]
165
+
166
+ - tech_service_id: TS-NET-SUB-LEND-APP-A
167
+ name: Lending App Subnet A
168
+ service_name: Subnet
169
+ component_type: subnet
170
+ status: Active
171
+ provider: AWS
172
+ service_category: Network
173
+ owner_org_id: ORG-TECH
174
+ cloud_provider: AWS
175
+ cloud_account: prod-lending
176
+ region: eu-west-2
177
+ availability_zone: eu-west-2a
178
+ network_zone: Private-App
179
+ cidr: 10.40.32.0/20
180
+ company_domain: Lending
181
+ togaf_layer: Technology
182
+ architecture_domain: Technology
183
+ tags: [network-fabric]
184
+
185
+ - tech_service_id: TS-NET-SUB-LEND-APP-B
186
+ name: Lending App Subnet B
187
+ service_name: Subnet
188
+ component_type: subnet
189
+ status: Active
190
+ provider: AWS
191
+ service_category: Network
192
+ owner_org_id: ORG-TECH
193
+ cloud_provider: AWS
194
+ cloud_account: prod-lending
195
+ region: eu-west-2
196
+ availability_zone: eu-west-2b
197
+ network_zone: Private-App
198
+ cidr: 10.40.48.0/20
199
+ company_domain: Lending
200
+ togaf_layer: Technology
201
+ architecture_domain: Technology
202
+ tags: [network-fabric]
203
+
204
+ - tech_service_id: TS-NET-SUB-LEND-DATA-A
205
+ name: Lending Data Subnet A
206
+ service_name: Subnet
207
+ component_type: subnet
208
+ status: Active
209
+ provider: AWS
210
+ service_category: Network
211
+ owner_org_id: ORG-TECH
212
+ cloud_provider: AWS
213
+ cloud_account: prod-lending
214
+ region: eu-west-2
215
+ availability_zone: eu-west-2a
216
+ network_zone: Private-Data
217
+ cidr: 10.40.64.0/20
218
+ company_domain: Lending
219
+ togaf_layer: Technology
220
+ architecture_domain: Technology
221
+ tags: [network-fabric]
222
+
223
+ - tech_service_id: TS-NET-SUB-LEND-DATA-B
224
+ name: Lending Data Subnet B
225
+ service_name: Subnet
226
+ component_type: subnet
227
+ status: Active
228
+ provider: AWS
229
+ service_category: Network
230
+ owner_org_id: ORG-TECH
231
+ cloud_provider: AWS
232
+ cloud_account: prod-lending
233
+ region: eu-west-2
234
+ availability_zone: eu-west-2b
235
+ network_zone: Private-Data
236
+ cidr: 10.40.80.0/20
237
+ company_domain: Lending
238
+ togaf_layer: Technology
239
+ architecture_domain: Technology
240
+ tags: [network-fabric]
241
+
242
+ - tech_service_id: TS-NET-IGW-LENDING
243
+ name: Lending Internet Gateway
244
+ service_name: Internet Gateway
245
+ component_type: load-balancer
246
+ description: The only route to the internet, and only from the public subnets.
247
+ status: Active
248
+ provider: AWS
249
+ service_category: Network
250
+ owner_org_id: ORG-TECH
251
+ cloud_provider: AWS
252
+ cloud_account: prod-lending
253
+ region: eu-west-2
254
+ network_zone: Edge
255
+ company_domain: Lending
256
+ togaf_layer: Technology
257
+ architecture_domain: Technology
258
+ tags: [network-fabric]
259
+
260
+ - tech_service_id: TS-NET-NAT-LEND-A
261
+ name: Lending NAT Gateway A
262
+ service_name: NAT Gateway
263
+ component_type: private-egress
264
+ description: Outbound-only egress for the private tiers. One per zone, so a zone loss is not an outage.
265
+ status: Active
266
+ provider: AWS
267
+ service_category: Network
268
+ owner_org_id: ORG-TECH
269
+ cloud_provider: AWS
270
+ cloud_account: prod-lending
271
+ region: eu-west-2
272
+ availability_zone: eu-west-2a
273
+ network_zone: Public
274
+ company_domain: Lending
275
+ togaf_layer: Technology
276
+ architecture_domain: Technology
277
+ tags: [network-fabric]
278
+
279
+ - tech_service_id: TS-NET-NAT-LEND-B
280
+ name: Lending NAT Gateway B
281
+ service_name: NAT Gateway
282
+ component_type: private-egress
283
+ status: Active
284
+ provider: AWS
285
+ service_category: Network
286
+ owner_org_id: ORG-TECH
287
+ cloud_provider: AWS
288
+ cloud_account: prod-lending
289
+ region: eu-west-2
290
+ availability_zone: eu-west-2b
291
+ network_zone: Public
292
+ company_domain: Lending
293
+ togaf_layer: Technology
294
+ architecture_domain: Technology
295
+ tags: [network-fabric]
296
+
297
+ # --- risk operations account ------------------------------------------------
298
+ - tech_service_id: TS-NET-VPC-RISKOPS
299
+ name: Risk Operations VPC
300
+ service_name: VPC
301
+ component_type: vpc
302
+ description: Workload VPC for screening and risk tooling.
303
+ status: Active
304
+ provider: AWS
305
+ service_category: Network
306
+ owner_org_id: ORG-TECH
307
+ cloud_provider: AWS
308
+ cloud_account: prod-riskops
309
+ region: eu-west-2
310
+ network_zone: Private-App
311
+ cidr: 10.41.0.0/16
312
+ company_domain: Risk and Compliance
313
+ togaf_layer: Technology
314
+ architecture_domain: Technology
315
+ tags: [network-fabric]
316
+
317
+ # --- disaster recovery region ----------------------------------------------
318
+ - tech_service_id: TS-NET-VPC-LENDING-DR
319
+ name: Lending VPC (DR)
320
+ service_name: VPC
321
+ component_type: vpc
322
+ description: >
323
+ Warm standby VPC in the recovery region. Built by the same Terraform as the
324
+ primary; capacity is scaled to zero until a declaration.
325
+ status: Planned
326
+ provider: AWS
327
+ service_category: Network
328
+ owner_org_id: ORG-TECH
329
+ cloud_provider: AWS
330
+ cloud_account: prod-lending
331
+ region: eu-west-1
332
+ network_zone: Private-App
333
+ cidr: 10.42.0.0/16
334
+ company_domain: Lending
335
+ togaf_layer: Technology
336
+ architecture_domain: Technology
337
+ tags: [network-fabric]