Under active development

TOSCA Architecture Editor

A visual environment for designing multi-cloud infrastructure as typed property graphs. Models are represented in TOSCA and compiled to provider-specific Terraform on demand. The canvas below is a read-only preview of the target interaction model.

v0.1.0-alpha
topology.toscaPreview mode
LoadBalancergatewayAPI ServicecomputeWorkercomputeCachestoragePostgresstorageMQservice
Read-only preview
Roadmap

Planned capabilities

Prompt → TOSCA

planned

Describe infrastructure in natural language. The editor resolves intent to typed TOSCA node templates via RAG pipeline.

Visual graph editor

in-progress

Drag-and-drop node placement with type-safe relationship constraints. Edges are validated against TOSCA relationship definitions.

Terraform export

planned

Graph traversal compiles TOSCA topology to HCL. Provider selection is a parameter, not a rewrite.

Consistency enforcement

planned

Cross-provider naming conventions, tagging policies, and network segmentation rules are applied at compile time.

Diff and drift detection

research

Compare topology versions as graph diffs. Detect live infrastructure drift against the canonical TOSCA model.

Model format

What the editor produces

The editor outputs valid TOSCA Simple Profile YAML. Nodes are typed, relationships are first-class, and capabilities are explicitly declared. The graph is the artifact — Terraform is derived from it.

  • Node templates with typed properties and capabilities
  • Relationship definitions with interface operations
  • Policy and group definitions for placement constraints
  • Reusable type imports from TOSCA type catalog
tosca_definitions_version: tosca_simple_yaml_1_3

description: Three-tier web application topology

imports:
  - inclouds-types/compute.yaml
  - inclouds-types/network.yaml
  - inclouds-types/storage.yaml

topology_template:

  inputs:
    environment:
      type: string
      default: production
    cloud_provider:
      type: string
      constraints:
        - valid_values: [aws, gcp, azure]

  node_templates:

    web_lb:
      type: inclouds.nodes.LoadBalancer
      properties:
        protocol: HTTPS
        port: 443
      requirements:
        - target: api_cluster

    api_cluster:
      type: inclouds.nodes.Compute
      capabilities:
        host:
          properties:
            num_cpus: 4
            mem_size: 8 GB
            num_instances: 3
      requirements:
        - database: pg_primary

    pg_primary:
      type: inclouds.nodes.DBMS.PostgreSQL
      properties:
        port: 5432
        version: "15"
        high_availability: true