Picktask- Wholesale Order Infrastructure¶
The Infrastructure page lists and explains the Infra components which are required for the code to run properly.
Components¶
Component |
Description |
Activity |
Ref |
|---|---|---|---|
<<SSM Attribute>> |
SSM keys for Discounts to protect the content |
New |
|
<<Config Service>> |
New application configuration for Wholesale Order Handler |
New |
|
<<AWS ECS Service>> |
New Services to process the wholesale orders |
New |
|
<<AWS ECS Task>> |
New Tasks to process the wholesale orders |
New |
|
<<AWS DynamoDB Table>> |
New Table to store Order details |
New |
|
<<AWS S3 Details> |
S3 bucket to store the Json file |
New |
|
<<AWS SQS Details> |
SQS details |
New |
|
<<AWS DLQ Details> |
DLQ details |
New |
|
<<AWS Cloudwatch Details> |
Cloudwatch details |
New |
SSM Key¶
The security credentials will be stored in the following security credentials in the digital Jenkins. These credentials are used to populate the SSM key below in the respective environments.
storepick_wholesale_order_service_secret
storepick_product_service_secret
values
"storepick_wholesale_order_service_secret": {
"CORRECT_STRUCTURE": {
"API_KEY": "__EXISTS__",
"AUTHORISATION": "__EXISTS__",
}
}
"storepick_product_service_secret": {
"CORRECT_STRUCTURE": {
"API_KEY": "__EXISTS__",
"AUTHORISATION": "__EXISTS__",
}
}
Configuration(from config service)¶
Attribute |
Description |
|---|---|
wholesale-order-transfer-service.json |
Wholesale Order Handler Transfer Adapter configuration |
storepick-wos-aggregator.json |
Wholesale Order Handler Aggregator configuration |
wholesale-order-transfer-service.json
{
"MORI_BASE_URL": "https://sit-api.morrisons.com",
"WHOLESALEORDERSHIP_URL": "wholesaleorder/v1/customers",
"WHOLESALEORDERSERVICE_URL": "wholesaleorder/v1/customers",
"CUSTOMER_ID": "homedelivery_sit",
"S3_BUCKET": "m$ENV.xxwmm.storepick.wos-ord-hdlr.eeeeeeeeee",
"DYNAMODB": {
"TABLE_NAME": "$ENV.xxwmm.storepick.wos-ord-hdlr-orders",
"HASH_KEY": "orderId",
"SORT_KEY": "transferId"
},
"SQS": {
"QUEUE_NAME": "sqs-euw1-$ENV-storepick-wos-ord-hdlr-ord-trf-002",
"NO_OF_THREADS": 1,
"BUFFER_SIZE": 1,
"VISIBILITY_TIMEOUT": 5,
"FLUSH_TIMEOUT": 120,
"WAIT_TIME": 20
},
"SLEEP": 0.4
}
storepick-wos-aggregator.json
{
"CUTOFF_START_HOURS": 21,
"CUTOFF_START_MINS": 30,
"CUTOFF_END_HOURS": 6,
"CUTOFF_END_MINS": 0,
"S3_BUCKET": "m$ENV.xxwmm.storepick.wos-ord-hdlr.eeeeeeeeee",
"S3_BUCKET_BASE_PATH": "wholesale-order-transfer/",
"ORDER_DYNAMO_DB": "$ENV.xxwmm.storepick.wos-ord-hdlr-orders",
"PICKS_DYNAMO_DB": "$ENV.xxwmm.storepick.osp-eh-picks-dummy",
"TIME_TO_LIVE": "500",
"BATCH_SIZE": "2000",
"MORI_BASE_URL": "https://sit-api.morrisons.com",
"PRODUCTELASTICSEARCH_URL": "product/v1/items",
"ORDER_SQS": {
"QUEUE_NAME": "sqs-euw1-$ENV-storepick-wos-ord-hdlr-ord-agg-002",
"NO_OF_THREADS": 1,
"BUFFER_SIZE": 1,
"VISIBILITY_TIMEOUT": 15,
"MAX_NUMBER": 10,
"MESSAGES_PER_BATCH": 15000,
"WAIT_TIME": 20,
"DELETE_CHUNK_SIZE": 10,
"BATCH_TIMEOUT": 2
},
"READY_SQS": {
"QUEUE_NAME": "sqs-euw1-$ENV-storepick-wos-ord-hdlr-ord-trf-002",
"NO_OF_THREADS": 1,
"BUFFER_SIZE": 1,
"VISIBILITY_TIMEOUT": 1800,
"MAX_NUMBER": 10,
"MESSAGES_PER_BATCH": 15000,
"WAIT_TIME": 20,
"DELETE_CHUNK_SIZE": 10,
"BATCH_TIMEOUT": 2
},
"KAFKA": {
"CONSUMER_GROUP_ID": "save_to_order_db",
"BOOTSTRAP_SERVER": "b-1.picktask-test.k8bixh.c5.kafka.eu-west-1.amazonaws.com:9094,b-2.picktask-test.k8bixh.c5.kafka.eu-west-1.amazonaws.com:9094,b-3.picktask-test.k8bixh.c5.kafka.eu-west-1.amazonaws.com:9094",
"TOPICS": [
"picktasks-new"
]
}
}
AWS ECS Services¶
Wholesale Order Handler Transfer Adapter ECS Service
Environment |
Aws ECS Service |
|---|---|
dev |
svc-euw1-dev-storepick-wos-ord-hdlr-ord-trf-002 |
sit |
svc-euw1-sit-storepick-wos-ord-hdlr-ord-trf-002 |
prd |
svc-euw1-prod-storepick-wos-ord-hdlr-ord-trf-002 |
Wholesale Order Handler Writer ECS Service
Environment |
Aws ECS Service |
|---|---|
dev |
svc-euw1-dev-storepick-wos-ord-hdlr-ord-writer-002 |
sit |
svc-euw1-sit-storepick-wos-ord-hdlr-ord-writer-002 |
prd |
svc-euw1-prod-storepick-wos-ord-hdlr-ord-writer-002 |
AWS ECS Tasks¶
Wholesale Order Handler Transfer Adapter ECS Task
Environment |
Aws ECS Task |
|---|---|
dev |
storepick-ecs-wos-ord-hdlr-ord-trf-dev-002 |
sit |
storepick-ecs-wos-ord-hdlr-ord-trf-sit-002 |
prd |
storepick-ecs-wos-ord-hdlr-ord-trf-prod-002 |
Wholesale Order Handler Aggregator ECS Task
Environment |
Aws ECS Task |
|---|---|
dev |
storepick-ecs-wos-ord-hdlr-ord-agg-dev-002 |
sit |
storepick-ecs-wos-ord-hdlr-ord-agg-sit-002 |
prd |
storepick-ecs-wos-ord-hdlr-ord-agg-prod-002 |
Wholesale Order Handler Post Cut Off Aggregator ECS Task
Environment |
Aws ECS Task |
|---|---|
dev |
storepick-ecs-wos-ord-hdlr-ord-agg-cut-off-dev-002 |
sit |
storepick-ecs-wos-ord-hdlr-ord-agg-cut-off-sit-002 |
prd |
storepick-ecs-wos-ord-hdlr-ord-agg-cut-off-prod-002 |
Wholesale Order Handler Writer ECS Task
Environment |
Aws ECS Task |
|---|---|
dev |
storepick-ecs-wos-ord-hdlr-ord-writer-dev-002 |
sit |
storepick-ecs-wos-ord-hdlr-ord-writer-sit-002 |
prd |
storepick-ecs-wos-ord-hdlr-ord-writer-prod-002 |
AWS Order DynamoDB Table¶
Environment |
Picks DB DynamoDb Table |
|---|---|
dev |
dev.xxwmm.storepick.osp-eh-v2 |
sit |
sit.xxwmm.storepick.osp-eh-v2 |
prd |
prod.xxwmm.storepick.osp-eh-v2 |
Environment |
Order DB DynamoDb Table |
|---|---|
dev |
dev.xxwmm.storepick.wos-ord-hdlr-orders |
sit |
sit.xxwmm.storepick.wos-ord-hdlr-orders |
prd |
prd.xxwmm.storepick.wos-ord-hdlr-orders |
AWS S3 Details¶
Wholesale Order AWS S3
Environment |
Aws S3 |
|---|---|
dev |
mdev.xxwmm.storepick.wos-ord-hdlr.eeeeeeeeeeee |
sit |
msit.xxwmm.storepick.wos-ord-hdlr.eeeeeeeeeeee |
prd |
mprod.xxwmm.storepick.wos-ord-hdlr.zzzzzzzzzzzz |
AWS SQS Details¶
Wholesale Order Handler Order SQS
Environment |
Aws Order SQS |
|---|---|
dev |
sqs-euw1-dev-storepick-wos-ord-hdlr-ord-agg-002 |
sit |
sqs-euw1-sit-storepick-wos-ord-hdlr-ord-agg-002 |
prd |
sqs-euw1-prod-storepick-wos-ord-hdlr-ord-agg-002 |
Wholesale Order Handler Ready SQS
Environment |
Aws Ready SQS |
|---|---|
dev |
sqs-euw1-dev-storepick-wos-ord-hdlr-ord-trf-00 |
sit |
sqs-euw1-sit-storepick-wos-ord-hdlr-ord-trf-00 |
prd |
sqs-euw1-prd-storepick-wos-ord-hdlr-ord-trf-00 |
AWS DLQ Details¶
Wholesale Order Handler Order dlq
Environment |
Aws Order DLQ |
|---|---|
dev |
sqs-euw1-dev-storepick-wos-ord-hdlr-ord-agg-deadletter-002 |
sit |
sqs-euw1-sit-storepick-wos-ord-hdlr-ord-agg-deadletter-002 |
prd |
sqs-euw1-prod-storepick-wos-ord-hdlr-ord-agg-deadletter-002 |
Wholesale Order Handler Ready dlq
Environment |
Aws Ready DLQ |
|---|---|
dev |
sqs-euw1-dev-storepick-wos-ord-hdlr-ord-trf-deadletter-002 |
sit |
sqs-euw1-sit-storepick-wos-ord-hdlr-ord-trf-deadletter-002 |
prd |
sqs-euw1-prod-storepick-wos-ord-hdlr-ord-trf-deadletter-002 |
Cloudwatch Details¶
Component |
Group |
Prefix |
Alarm |
|---|---|---|---|
wos_order_aggregator |
clg-euw1-dev-storepick-wos-ord-hdlr-ord-agg-002 |
OSP_WOS_ORD_HNDLR_ORD_AGGREGATOR_ALARM |
cla-euw1-dev-storepick-wos-ord-hdlr-ord-agg-002-001-Alarm |
wos_order_post_cut_off_aggregator |
clg-euw1-dev-storepick-wos-ord-hdlr-ord-agg-cut-off-002 |
OSP_WOS_ORD_HNDLR_POST_CUT_OFF_ALARM |
cla-euw1-dev-storepick-wos-ord-hdlr-ord-agg-cut-off-002-001-Alarm |
wos_order_transfer |
clg-euw1-dev-storepick-wos-ord-hdlr-ord-trf-002 |
OSP_WOS_ORD_HNDLR_TRANSFER_ALARM |
cla-euw1-dev-storepick-wos-ord-hdlr-ord-trf-002-001-Alarm |
wos_order_writer |
clg-euw1-dev-storepick-wos-ord-hdlr-ord-writer-002 |
OSP_WOS_ORD_HNDLR_WRITER_ALARM |
cla-euw1-dev-storepick-wos-ord-hdlr-ord-writer-002-001-Alarm |