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.
- terrane-1.0.0/.gitignore +49 -0
- terrane-1.0.0/10_MODEL/model.yaml +150 -0
- terrane-1.0.0/10_MODEL/tech_services/ai_platform.yaml +50 -0
- terrane-1.0.0/10_MODEL/tech_services/aws_network.yaml +337 -0
- terrane-1.0.0/10_MODEL/tech_services/aws_platform.yaml +254 -0
- terrane-1.0.0/10_MODEL/tech_services/gcp_network.yaml +213 -0
- terrane-1.0.0/10_MODEL/tech_services/gcp_platform.yaml +346 -0
- terrane-1.0.0/10_MODEL/tech_services/tech_services.yaml +208 -0
- terrane-1.0.0/20_ARCHETYPES/aws-product-onboarding.yaml +143 -0
- terrane-1.0.0/20_ARCHETYPES/azure-digital-product.yaml +142 -0
- terrane-1.0.0/20_ARCHETYPES/batch-data-product-gcp.yaml +138 -0
- terrane-1.0.0/20_ARCHETYPES/batch-data-product.yaml +132 -0
- terrane-1.0.0/20_ARCHETYPES/core-platform-service.yaml +90 -0
- terrane-1.0.0/20_ARCHETYPES/gcp-digital-product.yaml +118 -0
- terrane-1.0.0/20_ARCHETYPES/saas-onboarding.yaml +134 -0
- terrane-1.0.0/20_ARCHETYPES/vendor-saas-service-gcp.yaml +92 -0
- terrane-1.0.0/20_ARCHETYPES/vendor-saas-service.yaml +118 -0
- terrane-1.0.0/24_CONNECTIONS/README.md +59 -0
- terrane-1.0.0/24_CONNECTIONS/connections.yaml +159 -0
- terrane-1.0.0/25_COMPONENTS/README.md +63 -0
- terrane-1.0.0/25_COMPONENTS/ai.yaml +212 -0
- terrane-1.0.0/25_COMPONENTS/application.yaml +64 -0
- terrane-1.0.0/25_COMPONENTS/compute.yaml +112 -0
- terrane-1.0.0/25_COMPONENTS/data.yaml +222 -0
- terrane-1.0.0/25_COMPONENTS/enterprise.yaml +192 -0
- terrane-1.0.0/25_COMPONENTS/integration.yaml +96 -0
- terrane-1.0.0/25_COMPONENTS/network.yaml +200 -0
- terrane-1.0.0/25_COMPONENTS/operations.yaml +185 -0
- terrane-1.0.0/25_COMPONENTS/security.yaml +312 -0
- terrane-1.0.0/25_COMPONENTS/storage.yaml +65 -0
- terrane-1.0.0/26_BLOCKS/README.md +82 -0
- terrane-1.0.0/26_BLOCKS/analytics.yaml +38 -0
- terrane-1.0.0/26_BLOCKS/communications.yaml +46 -0
- terrane-1.0.0/26_BLOCKS/decisioning.yaml +49 -0
- terrane-1.0.0/26_BLOCKS/delivery.yaml +21 -0
- terrane-1.0.0/26_BLOCKS/edge.yaml +42 -0
- terrane-1.0.0/26_BLOCKS/integration.yaml +39 -0
- terrane-1.0.0/26_BLOCKS/landing-zone.yaml +55 -0
- terrane-1.0.0/26_BLOCKS/operations.yaml +46 -0
- terrane-1.0.0/26_BLOCKS/payments.yaml +26 -0
- terrane-1.0.0/26_BLOCKS/security.yaml +46 -0
- terrane-1.0.0/26_BLOCKS/workload.yaml +72 -0
- terrane-1.0.0/27_PATTERNS/README.md +104 -0
- terrane-1.0.0/27_PATTERNS/communications.yaml +58 -0
- terrane-1.0.0/27_PATTERNS/data.yaml +24 -0
- terrane-1.0.0/27_PATTERNS/decisioning.yaml +61 -0
- terrane-1.0.0/27_PATTERNS/edge.yaml +46 -0
- terrane-1.0.0/27_PATTERNS/integration.yaml +122 -0
- terrane-1.0.0/27_PATTERNS/landing-zone.yaml +44 -0
- terrane-1.0.0/27_PATTERNS/operations.yaml +58 -0
- terrane-1.0.0/27_PATTERNS/payments.yaml +31 -0
- terrane-1.0.0/27_PATTERNS/security.yaml +91 -0
- terrane-1.0.0/27_PATTERNS/workload.yaml +76 -0
- terrane-1.0.0/28_MODULES/README.md +473 -0
- terrane-1.0.0/28_MODULES/application-parts.yaml +325 -0
- terrane-1.0.0/28_MODULES/applications.yaml +124 -0
- terrane-1.0.0/28_MODULES/hub-and-spoke.yaml +234 -0
- terrane-1.0.0/28_MODULES/product-parts.yaml +281 -0
- terrane-1.0.0/28_MODULES/vendor-onboarding.yaml +596 -0
- terrane-1.0.0/29_TYPES/README.md +72 -0
- terrane-1.0.0/29_TYPES/application-types.yaml +82 -0
- terrane-1.0.0/29_TYPES/build-types.yaml +87 -0
- terrane-1.0.0/30_VIEWS/actor-channels.view.yaml +34 -0
- terrane-1.0.0/30_VIEWS/application-landscape.view.yaml +29 -0
- terrane-1.0.0/30_VIEWS/capability-alignment.view.yaml +74 -0
- terrane-1.0.0/30_VIEWS/capability-map.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/capability-realization.view.yaml +33 -0
- terrane-1.0.0/30_VIEWS/change-evidence-chain.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/change-footprint.view.yaml +75 -0
- terrane-1.0.0/30_VIEWS/change-register.view.yaml +40 -0
- terrane-1.0.0/30_VIEWS/change-roadmap.view.yaml +32 -0
- terrane-1.0.0/30_VIEWS/control-coverage.view.yaml +38 -0
- terrane-1.0.0/30_VIEWS/data-and-processes.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/data-asset-context.view.yaml +69 -0
- terrane-1.0.0/30_VIEWS/data-dissemination.view.yaml +34 -0
- terrane-1.0.0/30_VIEWS/data-landscape.view.yaml +29 -0
- terrane-1.0.0/30_VIEWS/data-lineage.view.yaml +43 -0
- terrane-1.0.0/30_VIEWS/domain-servicing.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/dr-topology.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/framework-landscape.view.yaml +48 -0
- terrane-1.0.0/30_VIEWS/frameworks.view.yaml +41 -0
- terrane-1.0.0/30_VIEWS/harvested-estate.view.yaml +47 -0
- terrane-1.0.0/30_VIEWS/hosting-estate.view.yaml +29 -0
- terrane-1.0.0/30_VIEWS/hub-and-spoke.view.yaml +48 -0
- terrane-1.0.0/30_VIEWS/integration-architecture.view.yaml +30 -0
- terrane-1.0.0/30_VIEWS/lifecycle-portfolio.view.yaml +27 -0
- terrane-1.0.0/30_VIEWS/multi-az-deployment.view.yaml +43 -0
- terrane-1.0.0/30_VIEWS/network-topology.view.yaml +33 -0
- terrane-1.0.0/30_VIEWS/onboarding.view.yaml +59 -0
- terrane-1.0.0/30_VIEWS/ownership.view.yaml +34 -0
- terrane-1.0.0/30_VIEWS/parts-in-use.view.yaml +36 -0
- terrane-1.0.0/30_VIEWS/pii-data-flow.view.yaml +38 -0
- terrane-1.0.0/30_VIEWS/platform-dependencies.view.yaml +37 -0
- terrane-1.0.0/30_VIEWS/policy-landscape.view.yaml +39 -0
- terrane-1.0.0/30_VIEWS/process-landscape.view.yaml +27 -0
- terrane-1.0.0/30_VIEWS/process-systems.view.yaml +63 -0
- terrane-1.0.0/30_VIEWS/product-architecture.view.yaml +72 -0
- terrane-1.0.0/30_VIEWS/product-card-servicing.view.yaml +40 -0
- terrane-1.0.0/30_VIEWS/product-parts.view.yaml +65 -0
- terrane-1.0.0/30_VIEWS/restricted-data-governance.view.yaml +45 -0
- terrane-1.0.0/30_VIEWS/system-architecture.view.yaml +61 -0
- terrane-1.0.0/30_VIEWS/system-context.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/system-governance.view.yaml +92 -0
- terrane-1.0.0/30_VIEWS/system-processes.view.yaml +54 -0
- terrane-1.0.0/30_VIEWS/target-state-change.view.yaml +45 -0
- terrane-1.0.0/30_VIEWS/technology-stack.view.yaml +35 -0
- terrane-1.0.0/30_VIEWS/tiered-architecture.view.yaml +37 -0
- terrane-1.0.0/30_VIEWS/value-stream-capabilities.view.yaml +34 -0
- terrane-1.0.0/30_VIEWS/value-streams.view.yaml +28 -0
- terrane-1.0.0/30_VIEWS/vendor-exposure.view.yaml +34 -0
- terrane-1.0.0/50_ENGINE/README.md +159 -0
- terrane-1.0.0/50_ENGINE/terrane/__init__.py +464 -0
- terrane-1.0.0/50_ENGINE/terrane/__main__.py +4 -0
- terrane-1.0.0/50_ENGINE/terrane/adoption.py +276 -0
- terrane-1.0.0/50_ENGINE/terrane/answers.py +117 -0
- terrane-1.0.0/50_ENGINE/terrane/archetype.py +1510 -0
- terrane-1.0.0/50_ENGINE/terrane/archimate_import.py +539 -0
- terrane-1.0.0/50_ENGINE/terrane/blocks.py +358 -0
- terrane-1.0.0/50_ENGINE/terrane/build_types.py +256 -0
- terrane-1.0.0/50_ENGINE/terrane/cli.py +1685 -0
- terrane-1.0.0/50_ENGINE/terrane/cmdb.py +395 -0
- terrane-1.0.0/50_ENGINE/terrane/compose.py +820 -0
- terrane-1.0.0/50_ENGINE/terrane/connections.py +192 -0
- terrane-1.0.0/50_ENGINE/terrane/correct.py +280 -0
- terrane-1.0.0/50_ENGINE/terrane/diff.py +421 -0
- terrane-1.0.0/50_ENGINE/terrane/diff_picture.py +273 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/__init__.py +39 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/arranged.py +216 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/browser.py +375 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/dagre.py +1597 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/dml.py +375 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/elk.py +400 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/fonts/metrics.json +12860 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/labels.py +272 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/layered.py +1025 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/metrics.py +106 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/mode.py +78 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/organic.py +97 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/packed.py +295 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/raster.py +139 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/router.py +722 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/sequence.py +218 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/shapes.py +193 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/svg.py +1122 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/table.py +308 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/tiles.py +774 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/timeline.py +283 -0
- terrane-1.0.0/50_ENGINE/terrane/draw/wheel.py +134 -0
- terrane-1.0.0/50_ENGINE/terrane/drawio_import.py +308 -0
- terrane-1.0.0/50_ENGINE/terrane/estate.py +444 -0
- terrane-1.0.0/50_ENGINE/terrane/excel_import.py +667 -0
- terrane-1.0.0/50_ENGINE/terrane/exports.py +286 -0
- terrane-1.0.0/50_ENGINE/terrane/icons.py +139 -0
- terrane-1.0.0/50_ENGINE/terrane/impact.py +310 -0
- terrane-1.0.0/50_ENGINE/terrane/importer.py +365 -0
- terrane-1.0.0/50_ENGINE/terrane/inventory.py +659 -0
- terrane-1.0.0/50_ENGINE/terrane/inventory_import.py +195 -0
- terrane-1.0.0/50_ENGINE/terrane/join.py +628 -0
- terrane-1.0.0/50_ENGINE/terrane/jsonschema.py +942 -0
- terrane-1.0.0/50_ENGINE/terrane/library.py +364 -0
- terrane-1.0.0/50_ENGINE/terrane/loader.py +123 -0
- terrane-1.0.0/50_ENGINE/terrane/matrix.py +189 -0
- terrane-1.0.0/50_ENGINE/terrane/mermaid_import.py +1140 -0
- terrane-1.0.0/50_ENGINE/terrane/model.py +326 -0
- terrane-1.0.0/50_ENGINE/terrane/modules.py +371 -0
- terrane-1.0.0/50_ENGINE/terrane/needs.py +622 -0
- terrane-1.0.0/50_ENGINE/terrane/pack.py +354 -0
- terrane-1.0.0/50_ENGINE/terrane/palette.py +647 -0
- terrane-1.0.0/50_ENGINE/terrane/payload.py +269 -0
- terrane-1.0.0/50_ENGINE/terrane/pictures.py +564 -0
- terrane-1.0.0/50_ENGINE/terrane/places.py +196 -0
- terrane-1.0.0/50_ENGINE/terrane/plantuml_import.py +268 -0
- terrane-1.0.0/50_ENGINE/terrane/pptx.py +286 -0
- terrane-1.0.0/50_ENGINE/terrane/query.py +1175 -0
- terrane-1.0.0/50_ENGINE/terrane/quick.py +1281 -0
- terrane-1.0.0/50_ENGINE/terrane/records.py +553 -0
- terrane-1.0.0/50_ENGINE/terrane/regroup.py +250 -0
- terrane-1.0.0/50_ENGINE/terrane/render_archimate.py +539 -0
- terrane-1.0.0/50_ENGINE/terrane/render_drawio.py +453 -0
- terrane-1.0.0/50_ENGINE/terrane/render_excel.py +478 -0
- terrane-1.0.0/50_ENGINE/terrane/render_library.py +1062 -0
- terrane-1.0.0/50_ENGINE/terrane/render_mermaid.py +680 -0
- terrane-1.0.0/50_ENGINE/terrane/render_plantuml.py +303 -0
- terrane-1.0.0/50_ENGINE/terrane/render_sequence.py +196 -0
- terrane-1.0.0/50_ENGINE/terrane/render_structurizr.py +269 -0
- terrane-1.0.0/50_ENGINE/terrane/scaffold.py +110 -0
- terrane-1.0.0/50_ENGINE/terrane/schema.py +891 -0
- terrane-1.0.0/50_ENGINE/terrane/shipped.py +77 -0
- terrane-1.0.0/50_ENGINE/terrane/shown.py +175 -0
- terrane-1.0.0/50_ENGINE/terrane/sketch.py +560 -0
- terrane-1.0.0/50_ENGINE/terrane/sources.py +635 -0
- terrane-1.0.0/50_ENGINE/terrane/structurizr_import.py +308 -0
- terrane-1.0.0/50_ENGINE/terrane/style.py +215 -0
- terrane-1.0.0/50_ENGINE/terrane/techline.py +125 -0
- terrane-1.0.0/50_ENGINE/terrane/validate.py +1102 -0
- terrane-1.0.0/50_ENGINE/terrane/visio_import.py +262 -0
- terrane-1.0.0/50_ENGINE/terrane/workspace.py +159 -0
- terrane-1.0.0/50_ENGINE/terrane/yamlish.py +391 -0
- terrane-1.0.0/80_APP/app/server.py +6203 -0
- terrane-1.0.0/80_APP/web/app.js +17163 -0
- terrane-1.0.0/80_APP/web/favicon.svg +1 -0
- terrane-1.0.0/80_APP/web/fonts/README.md +16 -0
- terrane-1.0.0/80_APP/web/fonts/geist-latin-400-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/geist-latin-500-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/geist-latin-600-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/geist-latin-700-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/geist-mono-latin-400-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/geist-mono-latin-500-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/libre-franklin-latin-700-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/fonts/libre-franklin-latin-800-normal.woff2 +0 -0
- terrane-1.0.0/80_APP/web/icons/CREDITS.md +42 -0
- terrane-1.0.0/80_APP/web/icons/aws/acm.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/api-gateway.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/athena.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/aurora.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/backup.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/bedrock.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/aws/cloudformation.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/cloudfront.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/cloudtrail.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/cloudwatch.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/cognito.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/config.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/control-tower.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/data-center.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/direct-connect.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/documentdb.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/dynamodb.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/ec2.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/ecs.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/eks.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/elasticache.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/elb.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/emr.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/eventbridge.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/fargate.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/glue.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/group-account.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/group-cloud.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/group-data-center.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/group-region.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/guardduty.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/iam-identity-center.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/iam.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/internet-gateway.svg +7 -0
- terrane-1.0.0/80_APP/web/icons/aws/kinesis.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/kms.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/lake-formation.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/lambda.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/mq.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/msk.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/nat-gateway.svg +7 -0
- terrane-1.0.0/80_APP/web/icons/aws/network-firewall.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/aws/opensearch.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/organizations.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/private-subnet.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/privatelink.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/public-subnet.svg +8 -0
- terrane-1.0.0/80_APP/web/icons/aws/rds.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/redshift.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/route53.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/s3.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/aws/sagemaker.svg +4 -0
- terrane-1.0.0/80_APP/web/icons/aws/secrets-manager.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/security-hub.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/shield.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/site-to-site-vpn.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/aws/sns.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/sqs.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/step-functions.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/systems-manager.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/transit-gateway.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/vpc-endpoints.svg +7 -0
- terrane-1.0.0/80_APP/web/icons/aws/vpc.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/aws/waf.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/azure/ai-services.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/aks.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/apim.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/app-insights.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/app-service.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/application-gateway.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/arc.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/azure-sql.svg +2 -0
- terrane-1.0.0/80_APP/web/icons/azure/backup.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/bastion.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/cache-redis.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/cdn.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/container-apps.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/container-registry.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/cosmos-db.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/data-factory.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/databricks.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/devops.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/dns-zones.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/entra-id.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/event-grid.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/event-hubs.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/expressroute.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/firewall.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/front-door.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/functions.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/key-vault.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/load-balancer.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/log-analytics.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/logic-apps.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/machine-learning.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/managed-identity.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/management-groups.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/monitor.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/mysql.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/nat.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/openai.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/postgresql.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/private-link.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/resource-groups.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/sentinel.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/service-bus.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/sql-database.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/static-apps.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/storage-account.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/storage-queue.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/subnet.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/subscriptions.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/synapse.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/traffic-manager.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/virtual-network.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/virtual-wan.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/vm.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/vnet-gateway.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/azure/waf.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/apachekafka.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/atlassian.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/confluence.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/databricks.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/datadog.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/dynatrace.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/elastic.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/github.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/gitlab.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/googlecloud.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/hashicorp.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/jira.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/mongodb.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/newrelic.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/okta.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/pagerduty.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/postgresql.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/qlik.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/redis.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/sap.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/snowflake.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/splunk.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/stripe.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/terraform.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/brands/zendesk.svg +1 -0
- terrane-1.0.0/80_APP/web/icons/gcp/alloydb.svg +41 -0
- terrane-1.0.0/80_APP/web/icons/gcp/anthos.svg +15 -0
- terrane-1.0.0/80_APP/web/icons/gcp/apigee.svg +43 -0
- terrane-1.0.0/80_APP/web/icons/gcp/bigquery.svg +38 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-compute.svg +10 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-containers.svg +11 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-data-analytics.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-databases.svg +30 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-devops.svg +12 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-integration.svg +11 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-management.svg +18 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-networking.svg +17 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-observability.svg +14 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-security.svg +16 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cat-storage.svg +13 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cloud-run.svg +38 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cloud-sql.svg +41 -0
- terrane-1.0.0/80_APP/web/icons/gcp/cloud-storage.svg +38 -0
- terrane-1.0.0/80_APP/web/icons/gcp/compute-engine.svg +48 -0
- terrane-1.0.0/80_APP/web/icons/gcp/gke.svg +43 -0
- terrane-1.0.0/80_APP/web/icons/gcp/looker.svg +36 -0
- terrane-1.0.0/80_APP/web/icons/gcp/security-command-center.svg +19 -0
- terrane-1.0.0/80_APP/web/icons/gcp/spanner.svg +36 -0
- terrane-1.0.0/80_APP/web/icons/gcp/vertex-ai.svg +25 -0
- terrane-1.0.0/80_APP/web/icons/map.json +345 -0
- terrane-1.0.0/80_APP/web/index.html +361 -0
- terrane-1.0.0/80_APP/web/static-shim.js +176 -0
- terrane-1.0.0/80_APP/web/styles.css +5254 -0
- terrane-1.0.0/80_APP/web/vendor/README.md +24 -0
- terrane-1.0.0/80_APP/web/vendor/cytoscape-dagre.js +7 -0
- terrane-1.0.0/80_APP/web/vendor/cytoscape.min.js +31 -0
- terrane-1.0.0/80_APP/web/vendor/dagre.min.js +3809 -0
- terrane-1.0.0/80_APP/web/vendor/elk.bundled.js +6605 -0
- terrane-1.0.0/90_EXAMPLE/quick/from-parts.yaml +30 -0
- terrane-1.0.0/90_EXAMPLE/quick/on-a-shape.yaml +28 -0
- terrane-1.0.0/90_EXAMPLE/quick/payments.yaml +113 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample-c4.mmd +25 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample-exchange.xml +121 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample-inventory.csv +12 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample-inventory.xlsx +0 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample-sequence.mmd +20 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.archimate +87 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.drawio +87 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.dsl +52 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.md +46 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.mmd +15 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.puml +37 -0
- terrane-1.0.0/90_EXAMPLE/quick/sample.vsdx +0 -0
- terrane-1.0.0/LICENSE +99 -0
- terrane-1.0.0/LICENSES/CC0-1.0-Simple-Icons.md +30 -0
- terrane-1.0.0/LICENSES/EPL-2.0-elkjs.md +263 -0
- terrane-1.0.0/LICENSES/LicenseRef-AWS-Architecture-Icons.txt +7 -0
- terrane-1.0.0/LICENSES/LicenseRef-Azure-Public-Service-Icons.txt +9 -0
- terrane-1.0.0/LICENSES/LicenseRef-Google-Cloud-Icons.txt +7 -0
- terrane-1.0.0/LICENSES/MIT-Cytoscape.txt +19 -0
- terrane-1.0.0/LICENSES/MIT-cytoscape-dagre.txt +19 -0
- terrane-1.0.0/LICENSES/MIT-dagre.txt +19 -0
- terrane-1.0.0/LICENSES/OFL-1.1-Geist-Mono.txt +93 -0
- terrane-1.0.0/LICENSES/OFL-1.1-Geist.txt +93 -0
- terrane-1.0.0/LICENSES/OFL-1.1-Libre-Franklin.txt +93 -0
- terrane-1.0.0/PKG-INFO +202 -0
- terrane-1.0.0/THIRD_PARTY_NOTICES.md +24 -0
- terrane-1.0.0/pyproject.toml +124 -0
terrane-1.0.0/.gitignore
ADDED
|
@@ -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]
|