Skip to content

Container Diagrams do not render Technology/Container Type #157

@mnadenysenko

Description

@mnadenysenko

When rendering puml C4 container diagrams, the CLI does not include the container type/technology in the rendered puml file.

Take for example, Samples\TraderX\CSV\Diagrams\Context - C4.puml, the TraderX system containers all have "" (i.e. blank) for the third argument as shown below:

System_Boundary(TraderXExample.SoftwareSystems.TraderX, "TraderX") {
    ContainerDb(TraderXExample.SoftwareSystems.TraderX.Containers.TraderXDB, "TraderX DB", "", "Database which stores account")
    ContainerQueue(TraderXExample.SoftwareSystems.TraderX.Containers.TradeFeed, "Trade Feed", "", "Message bus for streaming updates to trades and positions")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.TradeProcessor, "Trade Processor", "", "Process incoming trade requests")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.WebClient, "Web Client", "", "Browser based web interface for TraderX")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.WebGUI, "Web GUI", "", "Allows employees to manage accounts and book trades")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.ReferenceDataService, "Reference Data Service", "", "Service which provides reference data")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.TradingServices, "Trading Services", "", "Service which provides trading services")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.AccountsService, "Accounts Service", "", "Service which provides account management")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.PositionService, "Position Service", "", "Server process which processes trading activity and updates positions")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.PeopleService, "People Service", "", "Service which provides user details management")
}

This instead should be:

System_Boundary(TraderXExample.SoftwareSystems.TraderX, "TraderX") {
    ContainerDb(TraderXExample.SoftwareSystems.TraderX.Containers.TraderXDB, "TraderX DB", "Database", "Database which stores account")
    ContainerQueue(TraderXExample.SoftwareSystems.TraderX.Containers.TradeFeed, "Trade Feed", "Queue", "Message bus for streaming updates to trades and positions")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.TradeProcessor, "Trade Processor", "Server-side console application", "Process incoming trade requests")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.WebClient, "Web Client", "SPA", "Browser based web interface for TraderX")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.WebGUI, "Web GUI", "Server-side web application", "Allows employees to manage accounts and book trades")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.ReferenceDataService, "Reference Data Service", "API", "Service which provides reference data")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.TradingServices, "Trading Services", "API", "Service which provides trading services")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.AccountsService, "Accounts Service", "API", "Service which provides account management")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.PositionService, "Position Service", "API", "Server process which processes trading activity and updates positions")
    Container(TraderXExample.SoftwareSystems.TraderX.Containers.PeopleService, "People Service", "API", "Service which provides user details management")
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions