Service - Stage Manager
Jump to navigation
Jump to search
Overview
Each stage is handled by a Service - Stage (handlers) service.
The Stage Manager service handles shared orchestration of the Stage Handler services.
Repository
https://bitbucket.org/izara-supply-stages/izara-supply-stages-stage-manager
DynamoDB tables
Standard Config Table Per Service
Configuration tags
{
configKey: "SupplyGraphServiceName"
configTag: "SupplyGraphServiceName"
configValue: xxx // eg: "SupplyGraph"
}
{
configKey: "StageHandlerService"
configTag: xxx // stageHandlerServiceNameTag, eg: "StageStandard", this is what is saved in each record
configValue: {
serviceName: xxx // eg: "StageStandard", this is the actual deployed service name
}
}
StageRecord
Records which Handler manages each Stage
{
stageId
stageHandlerServiceNameTag
}
- partition key: stageId
- sort key: (none)
Graph database
Service - Supply Graph
Nodes
{
nodeLabel: "{StageSharedLib.STAGE_GRAPH_NODE_LABEL}", // stored in shared npm, shared by all stage Handlers
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
stageId: {
identifier: true, //(random uuid)
},
stageHandlerServiceNameTag: {
immutable: true,
},
},
}
}
- Stage Manager is responsible for this object type because shared by all Stage Handlers
- At the moment a stage can only be edited by the user who created it (use standard createdBy relationship), in future could make RBAC per stage