Migration Plan
Waves, prerequisites, data movement and the order of work.
Migration Execution
Partially executable migration package. Migration ready: NO — 307 critical settings of 48 source resources have manual or refused steps open (293 manual, 14 refused); 147 steps cannot be carried out now (79 wait only for a decision, 65 are not executable whatever is decided, 3 are refused).
Steps defined: 314. Progress by kind of step: decisions to take: 89 · changes executable now: 73 · waiting: 149; 3 refused (of 314 steps). 48 of the 57 automated steps (OpenTofu or a script) can run now (1 waits for a manual prerequisite, 8 require a design decision) · 9 of those 48 rest on a default you have not confirmed (public endpoint, size derived from the source); a person can start 114 of the 254 manual steps now (4 wait for a manual prerequisite, 71 require a design decision, 65 are not executable as the plan stands); 3 steps are permanently unsupported (refused); 1 step has its verification incomplete: it carries critical settings of the source that no check validates, which a person confirms in the draft. Some steps cannot be carried out as the plan stands, whatever is decided. Execution completeness: COMPLETE (each of the 254 manual steps states what it is, why, who carries it out and when it is done, and the input it needs where it depends on one).
162 of the 314 steps can be started now, by a tool or by a person; 5 wait for a manual prerequisite; 79 wait for a decision; 65 cannot be carried out as the plan stands, whatever is decided; 3 are refused: the target has nothing that carries the capability safely.
Three measures, not one: "can run now" means the preconditions of the step in the plan are met (48 of the 57 automated steps); "automation-eligible" means the critical settings of the unit are closed (0 of 44 units; 17 more become eligible once their open items are answered; 27 cannot be automated in this build: a critical setting STACKIT does not support (13 units) and 4 more reasons, every one on the Automation eligibility line of index.html); "actually runnable" means the values the step reads are supplied as well (0 of the 48 steps that can run now: the plan still lists 43 OpenTofu variables, the STACKIT project id among them, as needing a value).
First blocker: Allow the calls of STACKIT APIs that are not generally available: open input (first because 4 automated steps wait for it).
How far the migration can be carried out as it stands, read from execution-plan.json: the steps the draft is made of, how each is carried out and what each waits for. Nothing in it has been run, and nothing here approves it or says it is safe to apply.
The Work Board lists every job of these steps in four queues (provide information, approve a design, perform migration work, verify): who does it, what it waits for and what closes it.
| How | Steps |
|---|---|
| OpenTofu steps | 53 |
| STACKIT API calls | 4 (4 generated, tested offline) |
| Manual steps | 254 |
| Refused | 3 |
| All steps | 314 |
How far each STACKIT API step has come
4 STACKIT API steps, each with its state and what the state means
A STACKIT API step is a script a person runs; its state says what StackToIT has done with it and never more. StackToIT has run none of them. Only “verified live” rests on a call to the live STACKIT API; any other state means the operator checks the endpoint, the project and the read before the write, as the header of the script lists, before running it. The state changes nothing about how a step is carried out: an alpha or beta API still waits for its opt-in decision, and the checks a script makes itself (the read before the write, the confirmation) are the same.
| Step | Call | State | What the state means |
|---|---|---|---|
API/secrets-manager-vault/WriteSecret/module.retail_app_ecs.aws_secretsmanager_secret.catalog_db | secrets-manager-vault WriteSecret | generated, tested offline | A test of StackToIT ran a script of this call under a real shell against a local stub that answers as the API is documented to; it was not run against the live STACKIT API. |
API/secrets-manager-vault/WriteSecret/module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch | secrets-manager-vault WriteSecret | generated, tested offline | A test of StackToIT ran a script of this call under a real shell against a local stub that answers as the API is documented to; it was not run against the live STACKIT API. |
API/secrets-manager-vault/WriteSecret/module.retail_app_ecs.aws_secretsmanager_secret.mq | secrets-manager-vault WriteSecret | generated, tested offline | A test of StackToIT ran a script of this call under a real shell against a local stub that answers as the API is documented to; it was not run against the live STACKIT API. |
API/secrets-manager-vault/WriteSecret/module.retail_app_ecs.aws_secretsmanager_secret.orders_db | secrets-manager-vault WriteSecret | generated, tested offline | A test of StackToIT ran a script of this call under a real shell against a local stub that answers as the API is documented to; it was not run against the live STACKIT API. |
Every one of the 53 resource and data blocks of the Terraform draft is a step of this plan.
Manual work packages
41 manual work packages: the owner, the steps, the decisions and the state of each
The manual steps, grouped into work packages: the steps of one phase that one role carries out together, of one kind of work. A package is as far as its least advanced step. execution/manual/actions.md lists each package with its steps.
| Package | What | Owner | Steps | Affected resources | Decisions to answer | State |
|---|---|---|---|---|---|---|
WP-01 | Answer the decisions the plan asks as steps (prepare) | Network Architect | 1 | 1 | DEC-NET-STACKITROUTE-NAT-FIXED-EGRESS-ADDRESS-LOST | waits for decisions |
WP-02 | Set up the identities and access (prepare) | Identity Architect | 10 | 5 | — | a person can start it now |
WP-03 | Carry the routing the draft does not write (prepare) | Network Architect | 2 | 2 | — | a person can start it now |
WP-04 | Write the security group rules the draft does not write (prepare) | Security Architect | 2 | 1 | — | a person can start it now |
WP-05 | Routing architecture review (foundation) | Network Architect | 2 | 2 | — | decisions to take: a person answers them, no change is made |
WP-06 | Decide and set the critical settings (foundation) | Network Architect | 6 | 6 | — | decisions to take: a person answers them, no change is made |
WP-07 | Decide and set the critical settings (foundation) | Platform Architect | 3 | 3 | — | decisions to take: a person answers them, no change is made |
WP-08 | Write the security group rules the draft does not write (security) | Security Architect | 13 | 12 | DEC-GEN-CONVERT-POD-SEGMENTATION | waits for decisions (10 of 13 steps) |
WP-09 | Decide and set the critical settings (security) | Identity Architect | 11 | 11 | — | decisions to take: a person answers them, no change is made |
WP-10 | Decide and set the critical settings (security) | Network Architect | 12 | 12 | — | decisions to take: a person answers them, no change is made |
WP-11 | Decide and set the critical settings (security) | Platform Architect | 4 | 4 | — | decisions to take: a person answers them, no change is made |
WP-12 | Decide and set the critical settings (security) | Security Architect | 4 | 4 | — | decisions to take: a person answers them, no change is made |
WP-13 | Decide and set the critical settings (data services) | Data Architect | 4 | 4 | — | decisions to take: a person answers them, no change is made |
WP-14 | Decide and set the critical settings (data services) | Identity Architect | 3 | 3 | — | decisions to take: a person answers them, no change is made |
WP-15 | Decide and set the critical settings (data services) | Network Architect | 4 | 4 | — | decisions to take: a person answers them, no change is made |
WP-16 | Decide and set the critical settings (data services) | Platform Architect | 5 | 5 | — | decisions to take: a person answers them, no change is made |
WP-17 | Decide and set the critical settings (data services) | Security Architect | 5 | 5 | — | decisions to take: a person answers them, no change is made |
WP-18 | Move the data and the objects to the target | Data Architect | 2 | 1 | — | a person can start it now |
WP-19 | Set up the log delivery and its labels (platform services) | Platform Architect | 3 | 1 | DEC-OPS-STACKITLOGS-RETENTION-OVER-180-DAYS | waits for decisions (1 of 3 steps) |
WP-20 | Decide and set the critical settings (platform services) | Identity Architect | 6 | 6 | — | decisions to take: a person answers them, no change is made |
WP-21 | Decide and set the critical settings (platform services) | Network Architect | 7 | 7 | — | decisions to take: a person answers them, no change is made |
WP-22 | Decide and set the critical settings (platform services) | Platform Architect | 7 | 7 | — | decisions to take: a person answers them, no change is made |
WP-23 | Decide and set the critical settings (platform services) | Security Architect | 6 | 6 | — | decisions to take: a person answers them, no change is made |
WP-24 | Set up by hand the resources the draft writes nothing for (platform services) | Platform Architect | 3 | 3 | — | a person can start it now |
WP-25 | Cluster access (platform services) | Platform Architect | 1 | 6 | — | a person can start it now |
WP-26 | Move the data and the objects to the target | Data Architect | 6 | 2 | DEC-GEN-CONVERT-DATA-MOVEMENT | waits for decisions (2 of 6 steps) |
WP-27 | Kubernetes apply (workloads) | Platform Architect | 5 | 5 | DEC-GEN-CONVERT-POD-SEGMENTATION | waits for the TODOs its manifests still hold: the application contracts of the workloads are not ready |
WP-28 | Move the data and the objects to the target | Data Architect | 22 | 5 | DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE | waits for decisions |
WP-29 | Move the data and the objects to the target | Migration Owner | 10 | 5 | DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE | waits for decisions |
WP-30 | Switch the data consumers to the target | Data Architect | 4 | 4 | DEC-GEN-CONVERT-DATA-MOVEMENT | waits for decisions |
WP-31 | Switch the data consumers to the target | Identity Architect | 4 | 4 | DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-POD-SEGMENTATION | waits for decisions |
WP-32 | Confirm that the cutover can start and that it is complete | Migration Owner | 2 | 0 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands (1 of 2 steps) |
WP-33 | Switch the clients to the target | Network Architect | 3 | 3 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands (1 of 3 steps) |
WP-34 | Switch the message producers and consumers to the target | Platform Architect | 2 | 1 | DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-POD-SEGMENTATION | waits for decisions |
WP-35 | Check the migrated estate and decide go or rollback | Data Architect | 5 | 5 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands |
WP-36 | Check the migrated estate and decide go or rollback | Migration Owner | 1 | 0 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands |
WP-37 | Check the migrated estate and decide go or rollback | Network Architect | 8 | 8 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands (1 of 8 steps) |
WP-38 | Retire the source resources | Data Architect | 9 | 5 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands |
WP-39 | Retire the source resources | Identity Architect | 15 | 15 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION | not executable as the plan stands |
WP-40 | Retire the source resources | Network Architect | 21 | 21 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION, DEC-GEN-CONVERT-WORKLOAD-PLACEMENT, DEC-NET-STACKITROUTE-NAT-FIXED-EGRESS-ADDRESS-LOST | not executable as the plan stands |
WP-41 | Retire the source resources | Platform Architect | 11 | 11 | DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTION, DEC-GEN-CONVERT-API-OPT-IN, DEC-GEN-CONVERT-DATA-MOVEMENT, DEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADE, DEC-GEN-CONVERT-INGRESS-EXPOSURE-PATH, DEC-GEN-CONVERT-POD-SEGMENTATION, DEC-OPS-STACKITLOGS-RETENTION-OVER-180-DAYS | not executable as the plan stands |
Values the manual steps still need
92 values the manual steps still need, in 27 steps
The values a data move, its checks and its way back need that the plan cannot read from the source: each with the role that supplies it and the condition that closes it. execution/manual/actions.md lists them with each step.
The security acceptance of module.retail_app_ecs.module.alb.aws_lb.this MAN/security/accept/module.retail_app_ecs.module.alb.aws_lb.this:plaintext-public-listener
- accepted by / date / reference: UNKNOWN — supplied by Security Architect (who accepts the weakness of module.retail_app_ecs.module.alb.aws_lb.this that the draft carries: The source load balancer module.retail_app_ecs.module.alb.aws_lb.this is internet-facing and every listener it states is HTTP (port 80 forwards to its targets, no listener is HTTPS or TLS): clients reach the application without transport encryption. In the draft: the drafted listener of stackit_application_load_balancer.retail_app_ecs_alb_this is plain HTTP on port 80, as the source states it; the public address is kept and no HTTPS listener or certificate is added. Or the hardening that replaces the acceptance, with the date and the reference of the change; closed when the Security Architect records who accepted the weakness, the date and a reference (a ticket, a risk register entry), or the hardening that removed it)
The security acceptance of module.retail_app_ecs.module.carts_service.aws_security_group.this MAN/security/accept/module.retail_app_ecs.module.carts_service.aws_security_group.this:open-ingress-application-port
- accepted by / date / reference: UNKNOWN — supplied by Security Architect (who accepts the weakness of module.retail_app_ecs.module.carts_service.aws_security_group.this that the draft carries: The source security group module.retail_app_ecs.module.carts_service.aws_security_group.this admits tcp 8080 from 0.0.0.0/0 (ingress[0]): any client on the internet can open a connection to that port of every resource the group is attached to. In the draft: the drafted rule stackit_security_group_rule.retail_app_ecs_carts_service_this_ingress_1 admits 0.0.0.0/0 on the same ports (written as the source states it), but it is UNENFORCED: the group is attached to no target block; its rules restrict nothing on the target until an attachment is designed (decision DEC-GEN-CONVERT-POD-SEGMENTATION). Or the hardening that replaces the acceptance, with the date and the reference of the change; closed when the Security Architect records who accepted the weakness, the date and a reference (a ticket, a risk register entry), or the hardening that removed it)
The security acceptance of module.retail_app_ecs.module.catalog_service.aws_security_group.this MAN/security/accept/module.retail_app_ecs.module.catalog_service.aws_security_group.this:open-ingress-application-port
- accepted by / date / reference: UNKNOWN — supplied by Security Architect (who accepts the weakness of module.retail_app_ecs.module.catalog_service.aws_security_group.this that the draft carries: The source security group module.retail_app_ecs.module.catalog_service.aws_security_group.this admits tcp 8080 from 0.0.0.0/0 (ingress[0]): any client on the internet can open a connection to that port of every resource the group is attached to. In the draft: the drafted rule stackit_security_group_rule.retail_app_ecs_catalog_service_this_ingress_1 admits 0.0.0.0/0 on the same ports (written as the source states it), but it is UNENFORCED: the group is attached to no target block; its rules restrict nothing on the target until an attachment is designed (decision DEC-GEN-CONVERT-POD-SEGMENTATION). Or the hardening that replaces the acceptance, with the date and the reference of the change; closed when the Security Architect records who accepted the weakness, the date and a reference (a ticket, a risk register entry), or the hardening that removed it)
The security acceptance of module.retail_app_ecs.module.checkout_service.aws_security_group.this MAN/security/accept/module.retail_app_ecs.module.checkout_service.aws_security_group.this:open-ingress-application-port
- accepted by / date / reference: UNKNOWN — supplied by Security Architect (who accepts the weakness of module.retail_app_ecs.module.checkout_service.aws_security_group.this that the draft carries: The source security group module.retail_app_ecs.module.checkout_service.aws_security_group.this admits tcp 8080 from 0.0.0.0/0 (ingress[0]): any client on the internet can open a connection to that port of every resource the group is attached to. In the draft: the drafted rule stackit_security_group_rule.retail_app_ecs_checkout_service_this_ingress_1 admits 0.0.0.0/0 on the same ports (written as the source states it), but it is UNENFORCED: the group is attached to no target block; its rules restrict nothing on the target until an attachment is designed (decision DEC-GEN-CONVERT-POD-SEGMENTATION). Or the hardening that replaces the acceptance, with the date and the reference of the change; closed when the Security Architect records who accepted the weakness, the date and a reference (a ticket, a risk register entry), or the hardening that removed it)
The security acceptance of module.retail_app_ecs.module.orders_service.aws_security_group.this MAN/security/accept/module.retail_app_ecs.module.orders_service.aws_security_group.this:open-ingress-application-port
- accepted by / date / reference: UNKNOWN — supplied by Security Architect (who accepts the weakness of module.retail_app_ecs.module.orders_service.aws_security_group.this that the draft carries: The source security group module.retail_app_ecs.module.orders_service.aws_security_group.this admits tcp 8080 from 0.0.0.0/0 (ingress[0]): any client on the internet can open a connection to that port of every resource the group is attached to. In the draft: the drafted rule stackit_security_group_rule.retail_app_ecs_orders_service_this_ingress_1 admits 0.0.0.0/0 on the same ports (written as the source states it), but it is UNENFORCED: the group is attached to no target block; its rules restrict nothing on the target until an attachment is designed (decision DEC-GEN-CONVERT-POD-SEGMENTATION). Or the hardening that replaces the acceptance, with the date and the reference of the change; closed when the Security Architect records who accepted the weakness, the date and a reference (a ticket, a risk register entry), or the hardening that removed it)
The security acceptance of module.retail_app_ecs.module.ui_service.aws_security_group.this MAN/security/accept/module.retail_app_ecs.module.ui_service.aws_security_group.this:open-ingress-application-port
- accepted by / date / reference: UNKNOWN — supplied by Security Architect (who accepts the weakness of module.retail_app_ecs.module.ui_service.aws_security_group.this that the draft carries: The source security group module.retail_app_ecs.module.ui_service.aws_security_group.this admits tcp 8080 from 0.0.0.0/0 (ingress[0]): any client on the internet can open a connection to that port of every resource the group is attached to. In the draft: the drafted rule stackit_security_group_rule.retail_app_ecs_ui_service_this_ingress_1 admits 0.0.0.0/0 on the same ports (written as the source states it), but it is UNENFORCED: the group is attached to no target block; its rules restrict nothing on the target until an attachment is designed (decision DEC-GEN-CONVERT-POD-SEGMENTATION). Or the hardening that replaces the acceptance, with the date and the reference of the change; closed when the Security Architect records who accepted the weakness, the date and a reference (a ticket, a risk register entry), or the hardening that removed it)
The data preflight of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default MAN/data/module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default/preflight
- copy volume: UNKNOWN — supplied by Data Architect (the amount of data of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default to copy: the used space measured on the source; the provisioned capacity of the source is not the amount of data; closed when the measured amount and the date of the measurement are recorded)
- change rate: UNKNOWN — supplied by Data Architect (how much data the writers of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default change per hour; closed when the rate measured over a representative period is recorded, with the time a final pass needs at that rate)
- write-freeze window: UNKNOWN — supplied by Data Architect (the window in which the writers of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default stop for the final pass; closed when the owner of the application agrees the start and the end of the window and it is recorded)
- last sync: UNKNOWN — supplied by Data Architect (the time the final pass ends and its checks hold; closed when the time of the final pass and the result of its checks are recorded)
- return point: UNKNOWN — supplied by Data Architect (the state of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default the migration returns to on a rollback: the source as it was at the write freeze, or a named snapshot or backup; closed when the return point is recorded with its time and how it is restored)
- consistency check: UNKNOWN — supplied by Data Architect (how the copy of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default is shown complete and unchanged after the final pass: the used space and a checksum of the data (of the files, or the row counts of the tables) agree with the source; closed when the method is agreed and its result after the final pass is recorded)
- validation on the target: UNKNOWN — supplied by Migration Owner (the test the application that uses module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default passes on STACKIT with the copied data before the cutover, agreed with the owner of the application; closed when the test passes on the target and its result is recorded)
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The data preflight of module.dependencies.module.catalog_rds.aws_rds_cluster.this MAN/data/module.dependencies.module.catalog_rds.aws_rds_cluster.this/preflight
- copy volume: UNKNOWN — supplied by Data Architect (the amount of data of module.dependencies.module.catalog_rds.aws_rds_cluster.this to copy: the used space measured on the source; the provisioned capacity of the source is not the amount of data; closed when the measured amount and the date of the measurement are recorded)
- change rate: UNKNOWN — supplied by Data Architect (how much data the writers of module.dependencies.module.catalog_rds.aws_rds_cluster.this change per hour; closed when the rate measured over a representative period is recorded, with the time a final pass needs at that rate)
- write-freeze window: UNKNOWN — supplied by Data Architect (the window in which the writers of module.dependencies.module.catalog_rds.aws_rds_cluster.this stop for the final pass; closed when the owner of the application agrees the start and the end of the window and it is recorded)
- last sync: UNKNOWN — supplied by Data Architect (the time the final pass ends and its checks hold; closed when the time of the final pass and the result of its checks are recorded)
- return point: UNKNOWN — supplied by Data Architect (the state of module.dependencies.module.catalog_rds.aws_rds_cluster.this the migration returns to on a rollback: the source as it was at the write freeze, or a named snapshot or backup; closed when the return point is recorded with its time and how it is restored)
- consistency check: UNKNOWN — supplied by Data Architect (how the copy of module.dependencies.module.catalog_rds.aws_rds_cluster.this is shown complete and unchanged after the final pass: the used space and a checksum of the data (of the files, or the row counts of the tables) agree with the source; closed when the method is agreed and its result after the final pass is recorded)
- validation on the target: UNKNOWN — supplied by Migration Owner (the test the application that uses module.dependencies.module.catalog_rds.aws_rds_cluster.this passes on STACKIT with the copied data before the cutover, agreed with the owner of the application; closed when the test passes on the target and its result is recorded)
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.catalog_rds.aws_rds_cluster.this is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.catalog_rds.aws_rds_cluster.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.catalog_rds.aws_rds_cluster.this before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The data preflight of module.dependencies.module.orders_rds.aws_rds_cluster.this MAN/data/module.dependencies.module.orders_rds.aws_rds_cluster.this/preflight
- copy volume: UNKNOWN — supplied by Data Architect (the amount of data of module.dependencies.module.orders_rds.aws_rds_cluster.this to copy: the used space measured on the source; the provisioned capacity of the source is not the amount of data; closed when the measured amount and the date of the measurement are recorded)
- change rate: UNKNOWN — supplied by Data Architect (how much data the writers of module.dependencies.module.orders_rds.aws_rds_cluster.this change per hour; closed when the rate measured over a representative period is recorded, with the time a final pass needs at that rate)
- write-freeze window: UNKNOWN — supplied by Data Architect (the window in which the writers of module.dependencies.module.orders_rds.aws_rds_cluster.this stop for the final pass; closed when the owner of the application agrees the start and the end of the window and it is recorded)
- last sync: UNKNOWN — supplied by Data Architect (the time the final pass ends and its checks hold; closed when the time of the final pass and the result of its checks are recorded)
- return point: UNKNOWN — supplied by Data Architect (the state of module.dependencies.module.orders_rds.aws_rds_cluster.this the migration returns to on a rollback: the source as it was at the write freeze, or a named snapshot or backup; closed when the return point is recorded with its time and how it is restored)
- consistency check: UNKNOWN — supplied by Data Architect (how the copy of module.dependencies.module.orders_rds.aws_rds_cluster.this is shown complete and unchanged after the final pass: the used space and a checksum of the data (of the files, or the row counts of the tables) agree with the source; closed when the method is agreed and its result after the final pass is recorded)
- validation on the target: UNKNOWN — supplied by Migration Owner (the test the application that uses module.dependencies.module.orders_rds.aws_rds_cluster.this passes on STACKIT with the copied data before the cutover, agreed with the owner of the application; closed when the test passes on the target and its result is recorded)
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.orders_rds.aws_rds_cluster.this is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.orders_rds.aws_rds_cluster.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.orders_rds.aws_rds_cluster.this before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.dependencies.module.catalog_rds.aws_rds_cluster.this MAN/cutover/connection/module.dependencies.module.catalog_rds.aws_rds_cluster.this
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.catalog_rds.aws_rds_cluster.this is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.catalog_rds.aws_rds_cluster.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.catalog_rds.aws_rds_cluster.this before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default MAN/cutover/connection/module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The export of the data of module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this with a tool of your own MAN/data/module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this/export/own-tool
- copy volume: UNKNOWN — supplied by Data Architect (the amount of data of module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this to copy: the used space measured on the source; the provisioned capacity of the source is not the amount of data; closed when the measured amount and the date of the measurement are recorded)
- change rate: UNKNOWN — supplied by Data Architect (how much data the writers of module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this change per hour; closed when the rate measured over a representative period is recorded, with the time a final pass needs at that rate)
- write-freeze window: UNKNOWN — supplied by Data Architect (the window in which the writers of module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this stop for the final pass; closed when the owner of the application agrees the start and the end of the window and it is recorded)
- last sync: UNKNOWN — supplied by Data Architect (the time the final pass ends and its checks hold; closed when the time of the final pass and the result of its checks are recorded)
- return point: UNKNOWN — supplied by Data Architect (the state of module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this the migration returns to on a rollback: the source as it was at the write freeze, or a named snapshot or backup; closed when the return point is recorded with its time and how it is restored)
- consistency check: UNKNOWN — supplied by Data Architect (how the copy of module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this is shown complete and unchanged after the final pass: the used space and a checksum of the data (of the files, or the row counts of the tables) agree with the source; closed when the method is agreed and its result after the final pass is recorded)
- validation on the target: UNKNOWN — supplied by Migration Owner (the test the application that uses module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this passes on STACKIT with the copied data before the cutover, agreed with the owner of the application; closed when the test passes on the target and its result is recorded)
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this MAN/cutover/connection/module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.dependencies.module.orders_rds.aws_rds_cluster.this MAN/cutover/connection/module.dependencies.module.orders_rds.aws_rds_cluster.this
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.orders_rds.aws_rds_cluster.this is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.module.orders_rds.aws_rds_cluster.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Data Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.module.orders_rds.aws_rds_cluster.this before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.retail_app_ecs.aws_secretsmanager_secret.catalog_db MAN/cutover/connection/module.retail_app_ecs.aws_secretsmanager_secret.catalog_db
- source retention: UNKNOWN — supplied by Migration Owner (module.retail_app_ecs.aws_secretsmanager_secret.catalog_db is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.retail_app_ecs.aws_secretsmanager_secret.catalog_db is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Identity Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.retail_app_ecs.aws_secretsmanager_secret.catalog_db before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch MAN/cutover/connection/module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch
- source retention: UNKNOWN — supplied by Migration Owner (module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Identity Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.retail_app_ecs.aws_secretsmanager_secret.mq MAN/cutover/connection/module.retail_app_ecs.aws_secretsmanager_secret.mq
- source retention: UNKNOWN — supplied by Migration Owner (module.retail_app_ecs.aws_secretsmanager_secret.mq is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.retail_app_ecs.aws_secretsmanager_secret.mq is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Identity Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.retail_app_ecs.aws_secretsmanager_secret.mq before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The switch of the applications that use module.retail_app_ecs.aws_secretsmanager_secret.orders_db MAN/cutover/connection/module.retail_app_ecs.aws_secretsmanager_secret.orders_db
- source retention: UNKNOWN — supplied by Migration Owner (module.retail_app_ecs.aws_secretsmanager_secret.orders_db is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.retail_app_ecs.aws_secretsmanager_secret.orders_db is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Identity Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.retail_app_ecs.aws_secretsmanager_secret.orders_db before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The traffic switch of module.dependencies.aws_mq_broker.mq MAN/cutover/module.dependencies.aws_mq_broker.mq
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.aws_mq_broker.mq is not retired until the GO recorded at the rollback decision step; how long it is kept after that is the owner's; closed when the date until which module.dependencies.aws_mq_broker.mq is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Network Architect (the switch moves requests, not data: whether the switched clients write through the STACKIT address, and where those writes are stored; closed when the owner of the application records whether the clients write and, if they do, whether their writes are copied back to AWS on a rollback or accepted as lost)
The switch of the consumers of module.dependencies.aws_mq_broker.mq MAN/cutover/messaging-consumers/module.dependencies.aws_mq_broker.mq
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.aws_mq_broker.mq is not retired until the GO recorded at the rollback decision step; how long it and its final backup are kept after that is the owner's; closed when the date until which module.dependencies.aws_mq_broker.mq is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Platform Architect (what is written on STACKIT after the switch is not in AWS: it is copied back to module.dependencies.aws_mq_broker.mq before AWS serves again, or accepted as lost; closed when the choice is recorded before the cutover)
The traffic switch of module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this MAN/cutover/module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this
- source retention: UNKNOWN — supplied by Migration Owner (module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this is not retired until the GO recorded at the rollback decision step; how long it is kept after that is the owner's; closed when the date until which module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Network Architect (the switch moves requests, not data: whether the switched clients write through the STACKIT address, and where those writes are stored; closed when the owner of the application records whether the clients write and, if they do, whether their writes are copied back to AWS on a rollback or accepted as lost)
The traffic switch of module.retail_app_ecs.module.alb.aws_lb.this MAN/cutover/module.retail_app_ecs.module.alb.aws_lb.this
- source retention: UNKNOWN — supplied by Migration Owner (module.retail_app_ecs.module.alb.aws_lb.this is not retired until the GO recorded at the rollback decision step; how long it is kept after that is the owner's; closed when the date until which module.retail_app_ecs.module.alb.aws_lb.this is kept is recorded)
- rollback trigger: UNKNOWN — supplied by Migration Owner (the ROLLBACK recorded at the rollback decision step; the criteria that call it; closed when the criteria (which check fails, which metric passes which limit, by when) are recorded before the cutover)
- data written to the target: UNKNOWN — supplied by Network Architect (the switch moves requests, not data: whether the switched clients write through the STACKIT address, and where those writes are stored; closed when the owner of the application records whether the clients write and, if they do, whether their writes are copied back to AWS on a rollback or accepted as lost)
The DNS check of module.retail_app_ecs.module.carts_service.aws_ecs_service.this MAN/verify/dns/module.retail_app_ecs.module.carts_service.aws_ecs_service.this
- resolve carts: UNKNOWN — supplied by Network Architect (the address carts resolves to from a pod of carts, compared with what stands for it on STACKIT: carts.<namespace>.svc.cluster.local (the Kubernetes Service carts; carts from a pod of the same namespace). resolve, from a pod of a client of carts, carts and carts.<namespace>.svc.cluster.local: expect the ClusterIP of the Kubernetes Service carts (kubectl get service carts); closed when the address the name resolves to is recorded and the application connects through it)
The DNS check of module.retail_app_ecs.module.catalog_service.aws_ecs_service.this MAN/verify/dns/module.retail_app_ecs.module.catalog_service.aws_ecs_service.this
- resolve the endpoint host of module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this (OpenSearch): UNKNOWN — supplied by Network Architect (the address the endpoint host of module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this (OpenSearch) resolves to from a pod of catalog, compared with what stands for it on STACKIT: the host name the STACKIT instance stackit_opensearch_instance.dependencies_catalog_opensearch_this (OpenSearch) publishes, read from the instance and its credential after it is applied; the draft holds no value of it. resolve, from a pod of catalog, the host of stackit_opensearch_instance.dependencies_catalog_opensearch_this and connect to its port: the draft does not state whether the name resolves to an address the cluster's network reaches, so record the address and that the connection opens; closed when the address the name resolves to is recorded and the application connects through it)
- resolve the endpoint host of module.dependencies.module.catalog_rds.aws_rds_cluster.this (Aurora): UNKNOWN — supplied by Network Architect (the address the endpoint host of module.dependencies.module.catalog_rds.aws_rds_cluster.this (Aurora) resolves to from a pod of catalog, compared with what stands for it on STACKIT: the host name the STACKIT instance stackit_mariadb_instance.dependencies_catalog_rds_this (MariaDB) publishes, read from the instance and its credential after it is applied; the draft holds no value of it. resolve, from a pod of catalog, the host of stackit_mariadb_instance.dependencies_catalog_rds_this and connect to its port: the draft does not state whether the name resolves to an address the cluster's network reaches, so record the address and that the connection opens; closed when the address the name resolves to is recorded and the application connects through it)
- resolve catalog: UNKNOWN — supplied by Network Architect (the address catalog resolves to from a pod of catalog, compared with what stands for it on STACKIT: catalog.<namespace>.svc.cluster.local (the Kubernetes Service catalog; catalog from a pod of the same namespace). resolve, from a pod of a client of catalog, catalog and catalog.<namespace>.svc.cluster.local: expect the ClusterIP of the Kubernetes Service catalog (kubectl get service catalog); closed when the address the name resolves to is recorded and the application connects through it)
The DNS check of module.retail_app_ecs.module.checkout_service.aws_ecs_service.this MAN/verify/dns/module.retail_app_ecs.module.checkout_service.aws_ecs_service.this
- resolve the endpoint host of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default (ElastiCache): UNKNOWN — supplied by Network Architect (the address the endpoint host of module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default (ElastiCache) resolves to from a pod of checkout, compared with what stands for it on STACKIT: the host name the STACKIT instance stackit_valkey_instance.dependencies_checkout_elasticache_redis_default (Key Value Store (Valkey)) publishes, read from the instance and its credential after it is applied; the draft holds no value of it. resolve, from a pod of checkout, the host of stackit_valkey_instance.dependencies_checkout_elasticache_redis_default and connect to its port: the draft does not state whether the name resolves to an address the cluster's network reaches, so record the address and that the connection opens; closed when the address the name resolves to is recorded and the application connects through it)
- resolve checkout: UNKNOWN — supplied by Network Architect (the address checkout resolves to from a pod of checkout, compared with what stands for it on STACKIT: checkout.<namespace>.svc.cluster.local (the Kubernetes Service checkout; checkout from a pod of the same namespace). resolve, from a pod of a client of checkout, checkout and checkout.<namespace>.svc.cluster.local: expect the ClusterIP of the Kubernetes Service checkout (kubectl get service checkout); closed when the address the name resolves to is recorded and the application connects through it)
The DNS check of module.retail_app_ecs.module.orders_service.aws_ecs_service.this MAN/verify/dns/module.retail_app_ecs.module.orders_service.aws_ecs_service.this
- resolve the endpoint host of module.dependencies.aws_mq_broker.mq (Amazon MQ): UNKNOWN — supplied by Network Architect (the address the endpoint host of module.dependencies.aws_mq_broker.mq (Amazon MQ) resolves to from a pod of orders, compared with what stands for it on STACKIT: the host name the STACKIT instance stackit_rabbitmq_instance.dependencies_mq (RabbitMQ) publishes, read from the instance and its credential after it is applied; the draft holds no value of it. resolve, from a pod of orders, the host of stackit_rabbitmq_instance.dependencies_mq and connect to its port: the draft does not state whether the name resolves to an address the cluster's network reaches, so record the address and that the connection opens; closed when the address the name resolves to is recorded and the application connects through it)
- resolve the endpoint host of module.dependencies.module.orders_rds.aws_rds_cluster.this (Aurora): UNKNOWN — supplied by Network Architect (the address the endpoint host of module.dependencies.module.orders_rds.aws_rds_cluster.this (Aurora) resolves to from a pod of orders, compared with what stands for it on STACKIT: the host name the STACKIT instance stackit_postgresflex_instance.dependencies_orders_rds_this (PostgreSQL Flex) publishes, read from the instance and its credential after it is applied; the draft holds no value of it. resolve, from a pod of orders, the host of stackit_postgresflex_instance.dependencies_orders_rds_this and connect to its port: the draft does not state whether the name resolves to an address the cluster's network reaches, so record the address and that the connection opens; closed when the address the name resolves to is recorded and the application connects through it)
- resolve orders: UNKNOWN — supplied by Network Architect (the address orders resolves to from a pod of orders, compared with what stands for it on STACKIT: orders.<namespace>.svc.cluster.local (the Kubernetes Service orders; orders from a pod of the same namespace). resolve, from a pod of a client of orders, orders and orders.<namespace>.svc.cluster.local: expect the ClusterIP of the Kubernetes Service orders (kubectl get service orders); closed when the address the name resolves to is recorded and the application connects through it)
The DNS check of module.retail_app_ecs.module.ui_service.aws_ecs_service.this MAN/verify/dns/module.retail_app_ecs.module.ui_service.aws_ecs_service.this
- resolve ui: UNKNOWN — supplied by Network Architect (the address ui resolves to from a pod of ui, compared with what stands for it on STACKIT: ui.<namespace>.svc.cluster.local (the Kubernetes Service ui; ui from a pod of the same namespace). resolve, from a pod of a client of ui, ui and ui.<namespace>.svc.cluster.local: expect the ClusterIP of the Kubernetes Service ui (kubectl get service ui); closed when the address the name resolves to is recorded and the application connects through it)
Decisions that hold steps back
9 decisions hold steps back
Each is described in the record of the same id on the Decisions page.
DEC-GEN-CONVERT-AMBIGUOUS-INSTANCE-SELECTIONholds back 66 stepsDEC-GEN-CONVERT-API-OPT-INholds back 74 stepsDEC-GEN-CONVERT-DATA-MOVEMENTholds back 114 stepsDEC-GEN-CONVERT-ENGINE-VERSION-DOWNGRADEholds back 84 stepsDEC-GEN-CONVERT-INGRESS-EXPOSURE-PATHholds back 66 stepsDEC-GEN-CONVERT-POD-SEGMENTATIONholds back 96 stepsDEC-GEN-CONVERT-WORKLOAD-PLACEMENTholds back 3 stepsDEC-NET-STACKITROUTE-NAT-FIXED-EGRESS-ADDRESS-LOSTholds back 8 stepsDEC-OPS-STACKITLOGS-RETENTION-OVER-180-DAYSholds back 2 steps
The execution package
5 files of the execution package, a rendering of the plan and of nothing else
Start with the first file.
execution/README.md— where to start: what is created, what cannot be migrated, the decisions, the credentials, the order of the steps, the checks and the rollbackexecution/terraform/apply.md— the OpenTofu steps and the commands that carry them outexecution/manual/actions.md— the steps a person does, and what is not migratedexecution/verify/checks.md— the checks to make before and after each stepmigration/execution-actions.csv— one row per step, for a spreadsheet
Migration documents
2 migration documents
migration/roadmap.md— the steps laid out in waves, from the decisions to the decommissionmigration/landing-zone-requirements.md— what the STACKIT organization and project have to provide before the first apply
Technical sequencing
The waves, from the dependencies between the units (migration/technical-sequencing.md): a technical order, not a schedule
The run wrote migration/technical-sequencing.md.
It holds the waves computed from the dependencies between the units: a unit comes after every unit it depends on, and the units of one wave do not depend on each other. That is a technical order only. It is not a schedule, it does not rank the units by what the business needs first, and nothing in it has been checked against the data or the applications.
Not assessed in this build: whether a wave can start, who runs it and when. What stands in the way of the units is listed on the Decisions page and, as deployment prerequisites, on the Architecture page.