Component architecture - sonata-nfv/tng-gtk-common GitHub Wiki

This page summarises the architecture used for the Gatekeeper's common (between the Service and the Validation and Verification platforms) micro-services.

The tng-gtk-common component diagram is the following:

The tng-gtk-common component diagram

This diagram shows that:

  • the REST API of the component addresses a set of controllers;
  • these controllers use a set of services, which either use other services or the external (also a REST API) Catalogue;
  • the upload packages service in particular use the REST API provided by another external service, the Unpackager;
  • a common library is also used, providing caching, fetching and logging services.

The PlantText source for this is:

@startuml

package "tng-gtk-utils" as U {
  component logger
  component fectcher
  component cache
}

package "tng-gtk-common" as TGC {
  package controllers as C {
    component root
    component pings
    component packages as P
  }
  package services as S {
    component "delete packages"
    component "fetch NSD"
    component "fetch packages"
    component "fetch VMNFDs"
    component "upload packages" as UP
    component "validate package parameters" as VPP
    component "validate event parameters"
  }
}

() "REST API" - C
U <- TGC
P -> S
UP ..> VPP : uses
() Unpackager <.. UP : uses
() Catalogue <.. S : uses

@enduml