!include https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml ' uncomment the following line and comment the first to use locally ' !include C4_Context.puml ' Scope: A single software system. ' Primary elements: Containers within the software system in scope. ' Supporting elements: People and software systems directly connected to the containers. ' Intended audience: Technical people inside and outside of the software development team; including software architects, developers and operations/support staff. ' Colors ' ################################## !global $CONTAINER_BG_COLOR = "#438DD5" ' Styling ' ################################## skinparam rectangle<> { StereotypeFontColor $ELEMENT_FONT_COLOR FontColor $ELEMENT_FONT_COLOR BackgroundColor $CONTAINER_BG_COLOR BorderColor #3C7FC0 } skinparam database<> { StereotypeFontColor $ELEMENT_FONT_COLOR FontColor $ELEMENT_FONT_COLOR BackgroundColor $CONTAINER_BG_COLOR BorderColor #3C7FC0 } ' Layout ' ################################## !function LAYOUT_WITH_LEGEND() hide stereotype legend right |= |= Type | |<$PERSON_BG_COLOR> | person | |<$EXTERNAL_PERSON_BG_COLOR> | external person | |<$SYSTEM_BG_COLOR> | system | |<$EXTERNAL_SYSTEM_BG_COLOR> | external system | |<$CONTAINER_BG_COLOR> | container | endlegend !endfunction ' Elements ' ################################## !unquoted function Container($alias, $label, $techn) rectangle "==$label\n//[$techn]//" <> as $alias !endfunction !unquoted function Container($alias, $label, $techn, $descr) rectangle "==$label\n//[$techn]//\n\n $descr" <> as $alias !endfunction !unquoted function ContainerDb($alias, $label, $techn) database "==$label\n//[$techn]//" <> as $alias !endfunction !unquoted function ContainerDb($alias, $label, $techn, $descr) database "==$label\n//[$techn]//\n\n $descr" <> as $alias !endfunction ' Boundaries ' ################################## !unquoted function Container_Boundary($alias, $label) !return Boundary($alias, $label, "Container") !endfunction