P09: Desmovilización ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. needuml:: :scale: 50 {%- macro node(id, slim=False) -%} "{{needs[id].title}}", {% if not slim %}"{{ needs[id].content.split('\n') | first }}", {% endif %}$link="{{ref(id) | replace('[', '') | replace(']', '')}}" {%- endmacro -%} @startuml scale 0.7 !include !include title Diagrama de Contenedores - P09: Desmovilización System(SIGRIDCLIENTS, {{ node('ITRENDCL-SIGRID-SYS-SIGRIDCLIENTS') }}) System_Ext(EMAIL, {{ node('ITRENDCL-SIGRID-SYS-EMAIL') }}) System_Ext(PUSH, {{ node('ITRENDCL-SIGRID-SYS-PUSH') }}) Boundary(EXTERNAL_AUTH, "Sistemas de autenticación externos") { System_Ext(OAUTH_SENAPRED, {{ node('ITRENDCL-SIGRID-SYS-OAUTH_SENAPRED') }}) System_Ext(OAUTH_BOMBEROS, {{ node('ITRENDCL-SIGRID-SYS-OTMA') }}) System_Ext(OAUTH_SERNAGEOMIN, {{ node('ITRENDCL-SIGRID-SYS-OAUTH_ORG_PUBLICO') }}) } System_Boundary(SIGRID, {{ node('ITRENDCL-SIGRID-SYS-SIGRID', slim=True) }}) { Container_Boundary(DOM_EC, {{ node('ITRENDCL-SIGRID-DOM-EC', slim=True) }}) { Container(SRV_EC_API, {{ node('ITRENDCL-SIGRID-SRV-EC-API') }}) } Container_Boundary(DOM_UM, {{ node('ITRENDCL-SIGRID-DOM-UM', slim=True) }}) { Container(SRV_UM_IDENT, {{ node('ITRENDCL-SIGRID-SRV-UM-IDENT') }}) Container(SRV_UM_PERM, {{ node('ITRENDCL-SIGRID-SRV-UM-PERM') }}) Container(SRV_UM_PERM, {{ node('ITRENDCL-SIGRID-SRV-UM-PERM') }}) } Container_Boundary(DOM_INT, {{ node('ITRENDCL-SIGRID-DOM-INT', slim=True) }}) { Container(SRV_INT_PIPELINE, {{ node('ITRENDCL-SIGRID-SRV-INT-PIPELINE') }}) Container(SRV_INT_PUB, {{ node('ITRENDCL-SIGRID-SRV-INT-PUB') }}) ContainerQueue(SRV_INT_INGESTQUEUE, {{ node('ITRENDCL-SIGRID-SRV-INT-INGESTQUEUE') }}) } Container_Boundary(DOM_COM, {{ node('ITRENDCL-SIGRID-DOM-COM', slim=True) }}) { ContainerDb(DB_COM_BROKER, {{ node('ITRENDCL-SIGRID-DB-COM-BROKER') }}) } Container_Boundary(DOM_NOTIFY, {{ node('ITRENDCL-SIGRID-DOM-NOTIFY', slim=True) }}) { Container(SRV_NOTIFY_ORCH, {{ node('ITRENDCL-SIGRID-SRV-NOTIFY-ORCH') }}) Container(SRV_NOTIFY_CHANNELS, {{ node('ITRENDCL-SIGRID-SRV-NOTIFY-CHANNELS') }}) Container(SRV_NOTIFY_SUBS, {{ node('ITRENDCL-SIGRID-SRV-NOTIFY-SUBS') }}) ContainerDb(DB_NOTIFY, {{ node('ITRENDCL-SIGRID-DB-NOTIFY') }}) } Container_Boundary(DOM_EMG, {{ node('ITRENDCL-SIGRID-DOM-EMG', slim=True) }}) { Container(SRV_EMG_ORCH, {{ node('ITRENDCL-SIGRID-SRV-EMG-ORCH') }}) Boundary(DOM_EMG_APPS, "") { Container(SRV_EMG_INFNET, {{ node('ITRENDCL-SIGRID-SRV-EMG-INFNET') }}) Container(SRV_EMG_INFPEOPLE, {{ node('ITRENDCL-SIGRID-SRV-EMG-INFPEOPLE') }}) Container(SRV_EMG_RESOURCES, {{ node('ITRENDCL-SIGRID-SRV-EMG-RESOURCES') }}) } } Container_Boundary(DOM_AUDIT, {{ node('ITRENDCL-SIGRID-DOM-AUDIT', slim=True) }}) { Container(SRV_AUDIT_PROC, {{ node('ITRENDCL-SIGRID-SRV-AUDIT-PROC') }}) ContainerDb(DB_AUDIT_TRACE, {{ node('ITRENDCL-SIGRID-DB-AUDIT-TRACE') }}) } } Rel(SRV_UM_IDENT, EXTERNAL_AUTH, "federa identidades", "API") Rel(SIGRIDCLIENTS,SRV_EC_API, "usa", "API") Rel(SIGRIDCLIENTS,SRV_UM_IDENT, "usa", "API") Rel(SRV_INT_PUB,DB_COM_BROKER, "publica") Rel(SRV_INT_INGESTQUEUE,SRV_INT_PIPELINE, "gatilla", "API") Rel(SRV_EC_API, SRV_EMG_ORCH, "expone", "API") Rel(SRV_INT_PIPELINE,SRV_INT_PUB, "gatilla", "API") Rel(SRV_UM_IDENT,SRV_UM_PERM, "usa", "API") Rel(SRV_NOTIFY_ORCH,SRV_NOTIFY_CHANNELS, "usa", "API") Rel(SRV_NOTIFY_ORCH,SRV_NOTIFY_SUBS, "usa", "API") Rel(SRV_NOTIFY_ORCH,EMAIL, "usa", "API") Rel(SRV_NOTIFY_ORCH,PUSH, "usa", "API") Rel(SRV_NOTIFY_ORCH,DB_NOTIFY, "guarda") Rel(SRV_NOTIFY_ORCH,DB_COM_BROKER, "consume") Rel(SRV_AUDIT_PROC,DB_AUDIT_TRACE, "guarda") Rel(SRV_EMG_ORCH, SRV_EMG_INFNET, "expone", "API") Rel(SRV_EMG_ORCH, SRV_EMG_INFPEOPLE, "expone", "API") Rel(SRV_EMG_ORCH, SRV_EMG_RESOURCES, "expone", "API") Rel(SRV_EMG_ORCH, DB_COM_BROKER, "publica") SHOW_LEGEND() @enduml