@payfit/iac 1.0.3 → 1.0.4-ephemeral-iac-migration-docs.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/executors/stack-migration/README.md +71 -115
  2. package/dist/executors/stack-migration/lib/migration-tool.d.ts +1 -5
  3. package/dist/executors/stack-migration/lib/migration-tool.js +213 -211
  4. package/dist/executors/stack-migration/lib/migration-tool.js.map +1 -1
  5. package/dist/executors/stack-migration/lib/templates/index.d.ts +1 -0
  6. package/dist/executors/stack-migration/lib/templates/index.js +1 -0
  7. package/dist/executors/stack-migration/lib/templates/index.js.map +1 -1
  8. package/dist/executors/stack-migration/lib/templates/mermaid-diagram.d.ts +13 -0
  9. package/dist/executors/stack-migration/lib/templates/mermaid-diagram.js +46 -0
  10. package/dist/executors/stack-migration/lib/templates/mermaid-diagram.js.map +1 -0
  11. package/dist/executors/stack-migration/lib/templates/message-templates.d.ts +15 -20
  12. package/dist/executors/stack-migration/lib/templates/message-templates.js +34 -93
  13. package/dist/executors/stack-migration/lib/templates/message-templates.js.map +1 -1
  14. package/dist/executors/stack-migration/lib/templates/pr-templates.d.ts +16 -9
  15. package/dist/executors/stack-migration/lib/templates/pr-templates.js +77 -121
  16. package/dist/executors/stack-migration/lib/templates/pr-templates.js.map +1 -1
  17. package/dist/executors/stack-migration/lib/templates/procedure-template.d.ts +1 -0
  18. package/dist/executors/stack-migration/lib/templates/procedure-template.js +37 -118
  19. package/dist/executors/stack-migration/lib/templates/procedure-template.js.map +1 -1
  20. package/dist/executors/stack-migration/schema.d.ts +2 -3
  21. package/dist/executors/stack-migration/schema.json +2 -3
  22. package/dist/executors/stack-migration/stack-migration.js +2 -5
  23. package/dist/executors/stack-migration/stack-migration.js.map +1 -1
  24. package/package.json +1 -1
@@ -4,150 +4,106 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PRTemplates = void 0;
7
+ const mermaid_diagram_1 = require("./mermaid-diagram");
7
8
  const formatJiraTicket = (jiraTicket) => {
8
9
  if (!jiraTicket)
9
10
  return '';
10
- return `\n\n**Related Jira Ticket:** ${jiraTicket}`;
11
+ return `\n\n${jiraTicket}`;
11
12
  };
12
13
  exports.PRTemplates = {
13
14
  /**
14
- * Safety Net PR body (PR #1)
15
+ * Safety Net PR body
15
16
  */
16
17
  safetyNetPRBody: (repoName, jiraTicket) => `
17
- **[PR #1 - Merge Order: First]**
18
+ **Safety Net** Disable autodeploy for \`${repoName}\` stacks
18
19
 
19
- This PR disables autodeploy for all stacks in ${repoName} as a safety measure during the metastack migration.
20
+ ${mermaid_diagram_1.MermaidDiagram.prMergeOrder()}
20
21
 
21
- **Purpose:**
22
- - Prevent unwanted stack changes during migration
23
- - Ensure controlled deployment during transition
22
+ | Action | Details |
23
+ |--------|---------|
24
+ | Updates | \`projects/configs/${repoName}.yaml\` |
25
+ | Sets | \`autodeploy: false\` for all stacks |
24
26
 
25
- **What this does:**
26
- - Sets \`autodeploy: false\` for all stacks in the repository
27
-
28
- **Next steps:**
29
- - [ ] Review and merge this PR
30
- - [ ] Wait for Spacelift to apply the changes
31
- - [ ] Proceed with domain enrollment
32
-
33
- **DO NOT REVERT THIS** until migration is complete.${formatJiraTicket(jiraTicket)}
27
+ ⚠️ **Merge first** before any other migration PR.${formatJiraTicket(jiraTicket)}
34
28
  `.trim(),
35
29
  /**
36
- * Domain Enrollment PR body (PR #2)
30
+ * Domain Enrollment PR body
37
31
  */
38
- domainEnrollmentPRBody: (repoName, domain, jiraTicket) => `
39
- **[PR #2 - Merge Order: Second]**
40
-
41
- This PR enrolls ${repoName} in the ${domain} domain for metastack management.
42
-
43
- **Purpose:**
44
- - Create domain space for the repository
45
- - Enable metastack stack deployment
46
- - Prepare for migration from iac-deploy
47
-
48
- **What this does:**
49
- - Adds ${repoName} to \`domains/${domain}/spacelift/spacelift.yaml\`
50
- - Triggers creation of metastack stack: \`metastack-repo-${repoName}\`
51
-
52
- **Prerequisites:**
53
- 1. ✓ PR #1 (Safety Net) merged
54
-
55
- **Next steps:**
56
- - [ ] Review and merge this PR
57
- - [ ] Wait for metastack stack to be deployed
58
- - [ ] Verify stack is created: \`metastack-repo-${repoName}\`
59
- - [ ] Proceed with service repository PR${formatJiraTicket(jiraTicket)}
32
+ domainEnrollmentPRBody: (repoName, domain, jiraTicket, safetyNetPrUrl) => `
33
+ **Domain Enrollment** Enroll \`${repoName}\` in **${domain}** domain
34
+
35
+ ${mermaid_diagram_1.MermaidDiagram.prMergeOrder()}
36
+
37
+ | Action | Details |
38
+ |--------|---------|
39
+ | Adds to | \`domains/${domain}/spacelift/spacelift.yaml\` |
40
+ | Creates | \`metastack-repo-${repoName}\` |
41
+ ${safetyNetPrUrl ? `
42
+ **Related PRs:** [Safety Net](${safetyNetPrUrl})
43
+ ` : ''}
44
+ **After merge:** Wait for metastack stack deployment success before continuing.${formatJiraTicket(jiraTicket)}
60
45
  `.trim(),
61
46
  /**
62
- * Service Repository PR body (PR #4)
47
+ * iac-deploy Cleanup PR body
63
48
  */
64
- serviceRepoPRBody: (repoName, jiraTicket) => `
65
- **[PR #4 - Merge Order: Fourth (Last)]**
66
-
67
- This PR migrates ${repoName} to metastack management.
68
-
69
- **Purpose:**
70
- - Transition from iac-deploy to metastack
71
- - Enable self-service infrastructure management
72
- - Import existing stacks
73
-
74
- **What this includes:**
75
- - \`spacelift.yaml\`: Stack definitions for Spacelift
76
- - \`.metastack/import.tf\`: Import blocks for existing resources
77
-
78
- **⚠️ DO NOT MERGE YET**
79
-
80
- **Prerequisites before merging (in order):**
81
- - [ ] PR #1: Safety net PR merged
82
- - [ ] PR #2: Domain enrollment PR merged
83
- - [ ] Metastack stack deployed
84
- - [ ] State removal commands executed
85
- - [ ] Stack spaces updated (if needed)
86
- - [ ] PR #3: Cleanup PR merged (iac-deploy)
87
-
88
- **After merging:**
89
- - The metastack stack will automatically import existing resources
90
- - All stacks will be managed via this repository${formatJiraTicket(jiraTicket)}
49
+ iacDeployCleanupPRBody: (repoName, jiraTicket, relatedPrs) => `
50
+ **iac-deploy Cleanup** Remove \`${repoName}\` from iac-deploy
51
+
52
+ ${mermaid_diagram_1.MermaidDiagram.prMergeOrder()}
53
+
54
+ | Action | Details |
55
+ |--------|---------|
56
+ | Removes | \`projects/configs/${repoName}.yaml\` |
57
+ | Expected plan | **No changes** |
58
+ ${relatedPrs?.safetyNet || relatedPrs?.domainEnrollment ? `
59
+ **Related PRs:** ${[
60
+ relatedPrs?.safetyNet ? `[Safety Net](${relatedPrs.safetyNet})` : '',
61
+ relatedPrs?.domainEnrollment ? `[Domain Enrollment](${relatedPrs.domainEnrollment})` : '',
62
+ ].filter(Boolean).join(' | ')}
63
+ ` : ''}
64
+ ⚠️ **Before merging:**
65
+ 1. Run state removal script
66
+ 2. Trigger plan from Spacelift, it should show **no changes**${formatJiraTicket(jiraTicket)}
91
67
  `.trim(),
92
68
  /**
93
- * iac-deploy Cleanup PR body (PR #3)
69
+ * Service Repository PR body
94
70
  */
95
- iacDeployCleanupPRBody: (repoName, jiraTicket) => `
96
- **[PR #3 - Merge Order: Third]**
97
-
98
- Remove ${repoName} configuration from iac-deploy (migrated to metastack).
99
-
100
- **Purpose:**
101
- - Clean up old stack definitions
102
- - Complete migration to metastack
103
-
104
- **Prerequisites:**
105
- - [ ] PR #1: Safety net PR merged
106
- - [ ] PR #2: Domain enrollment PR merged
107
- - [ ] State removal commands executed
108
- - [ ] Stack spaces updated (if needed)
109
-
110
- **⚠️ DO NOT MERGE UNTIL ALL PREREQUISITES ARE COMPLETE**
111
-
112
- **What this does:**
113
- - Removes \`projects/configs/${repoName}.yaml\`
114
-
115
- **Expected result:**
116
- - Terraform plan should show NO changes (resources already removed from state)
117
-
118
- **After merging:**
119
- - Proceed to merge PR #4 (Service Repository)${formatJiraTicket(jiraTicket)}
71
+ serviceRepoPRBody: (repoName, jiraTicket, relatedPrs) => `
72
+ **Service Repo Migration** Migrate \`${repoName}\` to metastack
73
+
74
+ ${mermaid_diagram_1.MermaidDiagram.prMergeOrder()}
75
+
76
+ | File | Purpose |
77
+ |------|---------|
78
+ | \`spacelift.yaml\` | Stack definitions |
79
+ | \`.metastack/import.tf\` | Import existing resources |
80
+ ${relatedPrs?.safetyNet || relatedPrs?.domainEnrollment || relatedPrs?.iacDeployCleanup ? `
81
+ **Related PRs:** ${[
82
+ relatedPrs?.safetyNet ? `[Safety Net](${relatedPrs.safetyNet})` : '',
83
+ relatedPrs?.domainEnrollment ? `[Domain Enrollment](${relatedPrs.domainEnrollment})` : '',
84
+ relatedPrs?.iacDeployCleanup ? `[iac-deploy Cleanup](${relatedPrs.iacDeployCleanup})` : '',
85
+ ].filter(Boolean).join(' | ')}
86
+ ` : ''}
87
+ ⚠️ **Before merging:**
88
+ 1. iac-deploy cleanup PR merged
89
+ 2. Run migrate-spaces script
90
+ 3. Trigger plan from Spacelift, imports should succeed & it should show **no changes**${formatJiraTicket(jiraTicket)}
120
91
  `.trim(),
121
92
  /**
122
- * Final Cleanup PR body (Post-Migration)
93
+ * Post-Migration Cleanup PR body
123
94
  */
124
- finalCleanupPRBody: (repoName, jiraTicket) => `
125
- **[Final Cleanup - Post-Migration]**
126
-
127
- This PR removes temporary migration files from ${repoName} after successful migration to metastack.
128
-
129
- **Purpose:**
130
- - Clean up import.tf file (no longer needed after import)
131
- - Remove Spacelift provider from version.tf (added during migration)
132
-
133
- **What this does:**
134
- - Deletes \`.metastack/import.tf\`
135
- - Removes spacelift provider configuration from \`.metastack/version.tf\`
136
-
137
- **Prerequisites:**
138
- - [ ] All migration PRs merged
139
- - [ ] Metastack is successfully managing all stacks
140
- - [ ] State has been imported successfully
141
-
142
- **⚠️ IMPORTANT**
143
- Only merge this PR after confirming that:
144
- 1. The metastack stack has successfully imported all resources
145
- 2. All stacks are running normally under metastack management
146
- 3. No import errors occurred
147
-
148
- **After merging:**
149
- - Migration cleanup is complete
150
- - Repository is fully migrated to metastack${formatJiraTicket(jiraTicket)}
95
+ postMigrationCleanupPRBody: (repoName, jiraTicket) => `
96
+ **Post-Migration Cleanup** Remove migration files from \`${repoName}\`
97
+
98
+ | Action | Details |
99
+ |--------|---------|
100
+ | Removes | \`.metastack/import.tf\` |
101
+ | Updates | \`.metastack/version.tf\` (removes spacelift provider) |
102
+
103
+ ⚠️ **Before merging:**
104
+ 1. All migration PRs merged
105
+ 2. Metastack successfully imported all resources
106
+ 3. No import errors occurred${formatJiraTicket(jiraTicket)}
151
107
  `.trim(),
152
108
  };
153
109
  //# sourceMappingURL=pr-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-templates.js","sourceRoot":"","sources":["../../../../../src/executors/stack-migration/lib/templates/pr-templates.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAM,gBAAgB,GAAG,CAAC,UAAmB,EAAU,EAAE;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAC1B,OAAO,gCAAgC,UAAU,EAAE,CAAA;AACrD,CAAC,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB;;OAEG;IACH,eAAe,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,EAAE,CAAC;;;gDAGd,QAAQ;;;;;;;;;;;;;;qDAcH,gBAAgB,CAAC,UAAU,CAAC;CAChF,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,sBAAsB,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAE,UAAmB,EAAE,EAAE,CAAC;;;kBAGnE,QAAQ,WAAW,MAAM;;;;;;;;SAQlC,QAAQ,iBAAiB,MAAM;2DACmB,QAAQ;;;;;;;;mDAQhB,QAAQ;2CAChB,gBAAgB,CAAC,UAAU,CAAC;CACtE,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,EAAE,CAAC;;;mBAG7C,QAAQ;;;;;;;;;;;;;;;;;;;;;;;kDAuBuB,gBAAgB,CAAC,UAAU,CAAC;CAC7E,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,sBAAsB,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,EAAE,CAAC;;;SAG5D,QAAQ;;;;;;;;;;;;;;;+BAec,QAAQ;;;;;;+CAMQ,gBAAgB,CAAC,UAAU,CAAC;CAC1E,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,kBAAkB,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,EAAE,CAAC;;;iDAGhB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;6CAuBZ,gBAAgB,CAAC,UAAU,CAAC;CACxE,CAAC,IAAI,EAAE;CACP,CAAA"}
1
+ {"version":3,"file":"pr-templates.js","sourceRoot":"","sources":["../../../../../src/executors/stack-migration/lib/templates/pr-templates.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAkD;AAElD,MAAM,gBAAgB,GAAG,CAAC,UAAmB,EAAU,EAAE;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAC1B,OAAO,OAAO,UAAU,EAAE,CAAA;AAC5B,CAAC,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB;;OAEG;IACH,eAAe,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,EAAE,CAAC;0CACpB,QAAQ;;EAEhD,gCAAc,CAAC,YAAY,EAAE;;;;iCAIE,QAAQ;;;mDAGU,gBAAgB,CAAC,UAAU,CAAC;CAC9E,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,sBAAsB,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAE,UAAmB,EAAE,cAAuB,EAAE,EAAE,CAAC;iCAC7E,QAAQ,WAAW,MAAM;;EAExD,gCAAc,CAAC,YAAY,EAAE;;;;wBAIP,MAAM;+BACC,QAAQ;EACrC,cAAc,CAAC,CAAC,CAAC;gCACa,cAAc;CAC7C,CAAC,CAAC,CAAC,EAAE;iFAC2E,gBAAgB,CAAC,UAAU,CAAC;CAC5G,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,sBAAsB,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,UAA8D,EAAE,EAAE,CAAC;kCACnG,QAAQ;;EAExC,gCAAc,CAAC,YAAY,EAAE;;;;iCAIE,QAAQ;;EAEvC,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;mBACvC;QACf,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;QACpE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE;KAC1F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;CAC9B,CAAC,CAAC,CAAC,EAAE;;;+DAGyD,gBAAgB,CAAC,UAAU,CAAC;CAC1F,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,UAAyF,EAAE,EAAE,CAAC;uCACpH,QAAQ;;EAE7C,gCAAc,CAAC,YAAY,EAAE;;;;;;EAM7B,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,gBAAgB,IAAI,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;mBACvE;QACf,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;QACpE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE;QACzF,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE;KAC3F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;CAC9B,CAAC,CAAC,CAAC,EAAE;;;;wFAIkF,gBAAgB,CAAC,UAAU,CAAC;CACnH,CAAC,IAAI,EAAE;IAEN;;OAEG;IACH,0BAA0B,EAAE,CAAC,QAAgB,EAAE,UAAmB,EAAE,EAAE,CAAC;2DACd,QAAQ;;;;;;;;;;8BAUrC,gBAAgB,CAAC,UAAU,CAAC;CACzD,CAAC,IAAI,EAAE;CACP,CAAA"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Migration procedure template
3
+ * Streamlined with mermaid diagram for clarity
3
4
  */
4
5
  import type { MigrationConfig } from '../types';
5
6
  export declare function generateMigrationProcedure(config: MigrationConfig): string;
@@ -1,144 +1,63 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Migration procedure template
4
+ * Streamlined with mermaid diagram for clarity
4
5
  */
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
7
  exports.generateMigrationProcedure = generateMigrationProcedure;
8
+ const mermaid_diagram_1 = require("./mermaid-diagram");
7
9
  function generateMigrationProcedure(config) {
8
10
  const { serviceRepository, stacks, generatedFiles } = config;
9
- return `# Metastack Migration Procedure
11
+ const stackIds = stacks.map(s => `${s.identifier}-${s.environment}-${s.region || 'eu-west-3'}`);
12
+ return `# Metastack Migration: ${serviceRepository.name}
10
13
 
11
- ## Overview
14
+ | Property | Value |
15
+ |----------|-------|
16
+ | Domain | ${serviceRepository.domain} |
17
+ | Team | ${serviceRepository.team} |
18
+ | Target Space | \`domain-${serviceRepository.domain}\` |
19
+ | Metastack | \`metastack-repo-${serviceRepository.name}\` |
12
20
 
13
- Service: ${serviceRepository.name}
14
- Domain: ${serviceRepository.domain}
15
- Team: ${serviceRepository.team}
21
+ ## Migration Flow
16
22
 
17
- ## Generated Pull Requests
23
+ ${mermaid_diagram_1.MermaidDiagram.migrationFlow(serviceRepository.name)}
18
24
 
19
- - Safety Net (autodeploy=false): ${generatedFiles.safetyNetPR?.url || 'N/A'}
20
- - Domain Enrollment: ${generatedFiles.domainEnrollmentPR?.url || 'N/A'}
21
- - Service Repository: ${generatedFiles.serviceRepoPR?.url || 'N/A'}
22
- - iac-deploy Cleanup: ${generatedFiles.iacDeployPR?.url || 'N/A'}
25
+ ## Pull Requests
23
26
 
24
- ## Migration Steps (EXECUTE IN ORDER)
27
+ | PR | Repository | Status |
28
+ |----|------------|--------|
29
+ | Safety Net | iac-deploy | ${generatedFiles.safetyNetPR?.url || '—'} |
30
+ | Domain Enrollment | domain-enrollment | ${generatedFiles.domainEnrollmentPR?.url || '—'} |
31
+ | iac-deploy Cleanup | iac-deploy | ${generatedFiles.iacDeployPR?.url || '—'} |
32
+ | Service Migration | ${serviceRepository.name} | ${generatedFiles.serviceRepoPR?.url || '—'} |
25
33
 
26
- ### Prerequisites
34
+ ## Checklist
27
35
 
28
- Safety net PR merged (autodeploy=false for all stacks)
29
- Domain enrollment PR merged
30
- Metastack stack deployed: metastack-repo-${serviceRepository.name}
36
+ ### Phase 1: Safety & Enrollment
37
+ - [ ] Merge **Safety Net** PR (disables autodeploy)
38
+ - [ ] Merge **Domain Enrollment** PR
39
+ - [ ] Verify \`metastack-repo-${serviceRepository.name}\` is deployed
31
40
 
32
- ### Step 1: Run State Removal Commands
41
+ ### Phase 2: State Management
42
+ - [ ] Run state removal: \`./METASTACK_STATE_REMOVAL_COMMANDS.sh\`
43
+ - [ ] **iac-deploy Cleanup** PR: Verify plan from Spacelift, plan should show **no changes**
44
+ - [ ] Merge **iac-deploy Cleanup** PR
45
+ - [ ] Run migrate-spaces: \`nx run @payfit/${serviceRepository.name}:stack-migration --command=migrate-spaces\`
33
46
 
34
- **CRITICAL: These commands must be run BEFORE updating stack spaces and merging cleanup PRs**
35
-
36
- Execute the commands in: \`METASTACK_STATE_REMOVAL_COMMANDS.sh\`
37
-
38
- These commands use \`spacectl stack task\` to remove resources from Terraform state
39
- without deleting the actual infrastructure.
47
+ ### Phase 3: Complete
48
+ - [ ] **Service Migration** PR: Verify imports are correct, trigger plan from Spacelift, plan should show **no changes**
49
+ - [ ] Merge **Service Migration** PR
50
+ - [ ] Run cleanup: \`nx run @payfit/${serviceRepository.name}:stack-migration --command=cleanup\`
51
+ - [ ] Merge **Post-Migration Cleanup** PR (removes import.tf)
40
52
 
41
53
  ${stacks.length > 0
42
- ? `
43
- #### Verify Stack Definitions (in projects-manager)
44
-
45
- Before running state removal commands, verify the stack modules exist:
54
+ ? `## Stacks (${stacks.length})
46
55
 
47
- \`\`\`bash
48
- # List all stack modules in state
49
- spacectl stack task --id="projects-manager" --command="tofu state list | grep stacks_generator"
50
56
  \`\`\`
51
-
52
- Expected modules to remove:
53
- ${stacks
54
- .map(s => {
55
- const moduleKey = `${s.identifier}-${s.environment}${s.region ? `-${s.region}` : ''}`;
56
- return `- module.stacks_generator["${moduleKey}"]`;
57
- })
58
- .join('\n')}
59
-
60
- Stack IDs that will be imported to metastack:
61
- ${stacks.map(s => `- ${s.identifier}-${s.environment}-${s.region || 'eu-west-3'}`).join('\n')}
57
+ ${stackIds.join('\n')}
58
+ \`\`\`
62
59
  `
63
60
  : ''}
64
-
65
- ### Step 2: Merge Cleanup PRs
66
-
67
- After state removal and space updates are complete:
68
-
69
- 1. **Merge iac-deploy PR**
70
- - URL: ${generatedFiles.iacDeployPR?.url || 'N/A'}
71
- - Review and merge the PR
72
- - **Expected result:** Plan should show NO changes (resources already removed from state)
73
-
74
- ### Step 3: Update Stack Spaces
75
-
76
- After state removal is complete, update the space for all stacks to the domain space:
77
-
78
- **Target Space:** domain-${serviceRepository.domain}
79
-
80
- **Why this is needed:**
81
- - Stacks need to be in the domain space to be accessible by the metastack stack
82
- - The metastack stack (in the domain space) cannot import stacks from other spaces
83
- - This step moves all stacks from their current space to the domain space
84
-
85
- **How to do it:**
86
- Run the migration executor with the migrate-spaces command:
87
-
88
- \`\`\`bash
89
- nx run @payfit/${serviceRepository.name}:stack-migration --command=migrate-spaces
90
- \`\`\`
91
-
92
- Or use the GraphQL API directly to update each stack's space.
93
-
94
- **Stacks to update:**
95
- ${stacks.map(s => `- ${s.identifier}-${s.environment}-${s.region || 'eu-west-3'}`).join('\n')}
96
-
97
- **Verification:**
98
- After updating, verify that all stacks are in the correct space via Spacelift UI or API.
99
-
100
- ### Step 4: Merge Service Repository PR
101
-
102
- After cleanup PRs are merged:
103
-
104
- 1. **Merge service repository PR**
105
- - URL: ${generatedFiles.serviceRepoPR?.url || 'N/A'}
106
- - Review and merge the PR
107
-
108
- 2. **Trigger metastack run**
109
-
110
- The metastack stack will automatically import existing resources using the import blocks in \`.metastack/import.tf\`
111
-
112
- 3. **Verify imports**
113
-
114
- Check the Spacelift run for the metastack stack:
115
- - All stacks should be imported
116
- - Plan should show NO changes after import
117
-
118
- ### Step 5: Verification
119
-
120
- After all PRs are merged:
121
-
122
- 1. **Verify stacks**
123
- ${stacks.length > 0
124
- ? `
125
- Check these stacks are managed by metastack (IDs remain unchanged):
126
- ${stacks.map(s => ` - ${s.identifier}-${s.environment}-${s.region || 'eu-west-3'}`).join('\n')}
127
- `
128
- : ' No stacks to verify'}
129
-
130
- 2. **Verify metastack stack**
131
- - Stack ID: metastack-repo-${serviceRepository.name}
132
- - Check plan shows no changes
133
- - All resources under management
134
-
135
- ### Step 6: Cleanup
136
-
137
- 1. Remove temporary files:
138
- - \`METASTACK_STATE_REMOVAL_COMMANDS.sh\`
139
- - \`.metastack/import.tf\` (after successful import)
140
-
141
- 2. Update documentation as needed
142
61
  `;
143
62
  }
144
63
  //# sourceMappingURL=procedure-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-template.js","sourceRoot":"","sources":["../../../../../src/executors/stack-migration/lib/templates/procedure-template.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAIH,gEA6IC;AA7ID,SAAgB,0BAA0B,CAAC,MAAuB;IAChE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAE5D,OAAO;;;;WAIE,iBAAiB,CAAC,IAAI;UACvB,iBAAiB,CAAC,MAAM;QAC1B,iBAAiB,CAAC,IAAI;;;;mCAIK,cAAc,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK;uBACpD,cAAc,CAAC,kBAAkB,EAAE,GAAG,IAAI,KAAK;wBAC9C,cAAc,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK;wBAC1C,cAAc,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK;;;;;;;;6CAQnB,iBAAiB,CAAC,IAAI;;;;;;;;;;;EAYjE,MAAM,CAAC,MAAM,GAAG,CAAC;QACf,CAAC,CAAC;;;;;;;;;;;EAWJ,MAAM;aACL,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YACrF,OAAO,8BAA8B,SAAS,IAAI,CAAA;QACpD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;;;EAGX,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC5F;QACG,CAAC,CAAC,EACN;;;;;;;YAOY,cAAc,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK;;;;;;;;2BAQzB,iBAAiB,CAAC,MAAM;;;;;;;;;;;iBAWlC,iBAAiB,CAAC,IAAI;;;;;;EAMrC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;YAUjF,cAAc,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK;;;;;;;;;;;;;;;;;;KAmBjD,MAAM,CAAC,MAAM,GAAG,CAAC;QACf,CAAC,CAAC;;EAEP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5F;QACG,CAAC,CAAC,wBACN;;;gCAG6B,iBAAiB,CAAC,IAAI;;;;;;;;;;;CAWrD,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"procedure-template.js","sourceRoot":"","sources":["../../../../../src/executors/stack-migration/lib/templates/procedure-template.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAKH,gEAyDC;AA3DD,uDAAkD;AAElD,SAAgB,0BAA0B,CAAC,MAAuB;IAChE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAE5D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAA;IAE/F,OAAO,0BAA0B,iBAAiB,CAAC,IAAI;;;;aAI5C,iBAAiB,CAAC,MAAM;WAC1B,iBAAiB,CAAC,IAAI;4BACL,iBAAiB,CAAC,MAAM;iCACnB,iBAAiB,CAAC,IAAI;;;;EAIrD,gCAAc,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC;;;;;;8BAMxB,cAAc,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG;4CACxB,cAAc,CAAC,kBAAkB,EAAE,GAAG,IAAI,GAAG;sCACnD,cAAc,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG;wBACpD,iBAAiB,CAAC,IAAI,MAAM,cAAc,CAAC,aAAa,EAAE,GAAG,IAAI,GAAG;;;;;;;gCAO5D,iBAAiB,CAAC,IAAI;;;;;;6CAMT,iBAAiB,CAAC,IAAI;;;;;sCAK7B,iBAAiB,CAAC,IAAI;;;EAI1D,MAAM,CAAC,MAAM,GAAG,CAAC;QACf,CAAC,CAAC,cAAc,MAAM,CAAC,MAAM;;;EAG/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEpB;QACG,CAAC,CAAC,EACN;CACC,CAAA;AACD,CAAC"}
@@ -5,10 +5,9 @@ export interface StackMigrationExecutorSchema {
5
5
  | 'enroll'
6
6
  | 'generate-tf-migration'
7
7
  | 'migrate-spaces'
8
- | 'cleanup-pr'
8
+ | 'iac-deploy-cleanup'
9
9
  | 'generate-procedure'
10
- | 'migration-cleanup'
11
- | 'final-cleanup'
10
+ | 'cleanup'
12
11
  | 'run'
13
12
  | 'help'
14
13
  'dry-run'?: boolean
@@ -14,10 +14,9 @@
14
14
  "enroll",
15
15
  "generate-tf-migration",
16
16
  "migrate-spaces",
17
- "cleanup-pr",
17
+ "iac-deploy-cleanup",
18
18
  "generate-procedure",
19
- "migration-cleanup",
20
- "final-cleanup",
19
+ "cleanup",
21
20
  "run",
22
21
  "help"
23
22
  ],
@@ -48,18 +48,15 @@ const runExecutor = async (options, context) => {
48
48
  case 'migrate-spaces':
49
49
  result = await requireState(() => tool.updateStackSpaces());
50
50
  break;
51
- case 'cleanup-pr':
51
+ case 'iac-deploy-cleanup':
52
52
  result = await requireState(() => tool.createCleanupPRs());
53
53
  break;
54
54
  case 'generate-procedure':
55
55
  result = await requireState(() => tool.generateMigrationProcedure());
56
56
  break;
57
- case 'migration-cleanup':
57
+ case 'cleanup':
58
58
  result = await requireState(() => tool.cleanupMigration());
59
59
  break;
60
- case 'final-cleanup':
61
- result = await requireState(() => tool.createFinalCleanupPR());
62
- break;
63
60
  case 'run':
64
61
  await tool.run();
65
62
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"stack-migration.js","sourceRoot":"","sources":["../../../src/executors/stack-migration/stack-migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-migration.js","sourceRoot":"","sources":["../../../src/executors/stack-migration/stack-migration.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payfit/iac",
3
- "version": "1.0.3",
3
+ "version": "1.0.4-ephemeral-iac-migration-docs.0",
4
4
  "publishConfig": {
5
5
  "access": "restricted"
6
6
  },