Service - Stage Manager

From Izara Wiki
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

Working documents

Stage Manager