@factiii/stack 0.1.181 → 0.1.183

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 (50) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +441 -441
  3. package/bin/stack +300 -300
  4. package/dist/cli/dev-sync.js +16 -16
  5. package/dist/cli/fix.d.ts.map +1 -1
  6. package/dist/cli/fix.js +18 -0
  7. package/dist/cli/fix.js.map +1 -1
  8. package/dist/plugins/addons/auth/index.js +7 -7
  9. package/dist/plugins/addons/vercel/index.js +9 -9
  10. package/dist/plugins/addons/vercel/scanfix/config.js +10 -10
  11. package/dist/plugins/addons/vercel/scanfix/token.js +15 -15
  12. package/dist/plugins/approved.json +13 -13
  13. package/dist/plugins/pipelines/aws/index.js +12 -12
  14. package/dist/plugins/pipelines/aws/policies/bootstrap-policy.json +135 -135
  15. package/dist/plugins/pipelines/aws/prod.js +1 -1
  16. package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts +10 -8
  17. package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts.map +1 -1
  18. package/dist/plugins/pipelines/aws/scanfix/credentials.js +267 -204
  19. package/dist/plugins/pipelines/aws/scanfix/credentials.js.map +1 -1
  20. package/dist/plugins/pipelines/aws/scanfix/iam.d.ts.map +1 -1
  21. package/dist/plugins/pipelines/aws/scanfix/iam.js +120 -38
  22. package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -1
  23. package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts +22 -1
  24. package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts.map +1 -1
  25. package/dist/plugins/pipelines/aws/utils/aws-helpers.js +110 -16
  26. package/dist/plugins/pipelines/aws/utils/aws-helpers.js.map +1 -1
  27. package/dist/plugins/pipelines/factiii/prod.js +21 -21
  28. package/dist/plugins/pipelines/factiii/scanfix/port-convention.js +6 -6
  29. package/dist/plugins/pipelines/factiii/scanfix/port-convention.js.map +1 -1
  30. package/dist/plugins/pipelines/factiii/staging.js +23 -23
  31. package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +75 -75
  32. package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +73 -73
  33. package/dist/plugins/servers/amazon-linux/index.d.ts +1 -0
  34. package/dist/plugins/servers/amazon-linux/index.d.ts.map +1 -1
  35. package/dist/plugins/servers/amazon-linux/index.js +16 -16
  36. package/dist/plugins/servers/mac/index.d.ts +1 -0
  37. package/dist/plugins/servers/mac/index.d.ts.map +1 -1
  38. package/dist/plugins/servers/mac/index.js +12 -12
  39. package/dist/plugins/servers/mac/staging.js +2 -2
  40. package/dist/plugins/servers/ubuntu/index.d.ts +1 -0
  41. package/dist/plugins/servers/ubuntu/index.d.ts.map +1 -1
  42. package/dist/plugins/servers/ubuntu/index.js +23 -23
  43. package/dist/plugins/servers/windows/index.js +15 -15
  44. package/dist/scripts/generate-all.js +73 -73
  45. package/dist/types/plugin.d.ts +6 -0
  46. package/dist/types/plugin.d.ts.map +1 -1
  47. package/dist/utils/deployment-report.js +2 -2
  48. package/dist/utils/secret-prompts.js +34 -34
  49. package/dist/utils/template-generator.js +74 -74
  50. package/package.json +93 -100
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAiB,UAAU,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAuNnG,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CA0LtE;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAiB,UAAU,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AA+NnG,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAoMtE;AAED,eAAe,GAAG,CAAC"}
package/dist/cli/fix.js CHANGED
@@ -123,8 +123,11 @@ async function runLocalFixes(options, reachableStages) {
123
123
  };
124
124
  // Track IDs that have been processed (fixed, failed, or manual) to avoid re-running
125
125
  const processedIds = new Set();
126
+ let criticalFailed = false;
126
127
  // Run fixes for reachable stages only
127
128
  for (const stage of reachableStages) {
129
+ if (criticalFailed)
130
+ break;
128
131
  let iteration = 0;
129
132
  const maxIterations = 3;
130
133
  let stageHeaderShown = false;
@@ -190,6 +193,11 @@ async function runLocalFixes(options, reachableStages) {
190
193
  status: 'failed',
191
194
  description: problem.description,
192
195
  });
196
+ // Blocking fix failed — skip remaining fixes in this and later stages
197
+ if (problem.blocking) {
198
+ criticalFailed = true;
199
+ break;
200
+ }
193
201
  }
194
202
  }
195
203
  catch (e) {
@@ -395,6 +403,16 @@ async function fix(options = {}) {
395
403
  console.log('');
396
404
  console.log(' ❌ Fix the errors above, then re-run: npx stack fix');
397
405
  }
406
+ // Clear ~/.aws/credentials after AWS operations (security: never leave creds on disk)
407
+ try {
408
+ const { clearAwsCredentials, isAwsConfigured } = await Promise.resolve().then(() => __importStar(require('../plugins/pipelines/aws/utils/aws-helpers.js')));
409
+ if (isAwsConfigured(config)) {
410
+ clearAwsCredentials();
411
+ }
412
+ }
413
+ catch {
414
+ // AWS module may not be available — skip cleanup
415
+ }
398
416
  // Exit with error if any fixes failed
399
417
  if (result.failed > 0) {
400
418
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"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"}
@@ -142,13 +142,13 @@ class AuthAddon {
142
142
  }
143
143
  }
144
144
  static helpText = {
145
- JWT_SECRET: `
146
- JWT signing secret for @factiii/auth.
147
-
148
- This is auto-generated (256-bit random) when you run:
149
- npx stack fix --secrets
150
-
151
- The secret is stored in Ansible Vault and used to sign
145
+ JWT_SECRET: `
146
+ JWT signing secret for @factiii/auth.
147
+
148
+ This is auto-generated (256-bit random) when you run:
149
+ npx stack fix --secrets
150
+
151
+ The secret is stored in Ansible Vault and used to sign
152
152
  authentication tokens (JWT) for your application.`,
153
153
  };
154
154
  // ============================================================
@@ -128,15 +128,15 @@ class VercelAddon {
128
128
  return false;
129
129
  }
130
130
  static helpText = {
131
- VERCEL_TOKEN: `
132
- Vercel API Token for deployments.
133
-
134
- Get from: https://vercel.com/account/tokens
135
-
136
- Create a new token with:
137
- - Scope: Full Account (or specific team)
138
- - Expiration: No Expiration (or custom)
139
-
131
+ VERCEL_TOKEN: `
132
+ Vercel API Token for deployments.
133
+
134
+ Get from: https://vercel.com/account/tokens
135
+
136
+ Create a new token with:
137
+ - Scope: Full Account (or specific team)
138
+ - Expiration: No Expiration (or custom)
139
+
140
140
  The token will be stored securely in Ansible Vault.`,
141
141
  };
142
142
  // ============================================================
@@ -259,13 +259,13 @@ exports.fixes = [
259
259
  return false;
260
260
  }
261
261
  },
262
- manualFix: `
263
- Add Vercel to stack.yml:
264
-
265
- vercel: {}
266
-
267
- Then run: npx stack fix
268
- (Auto-creates project, detects framework, and saves IDs via Vercel API)
262
+ manualFix: `
263
+ Add Vercel to stack.yml:
264
+
265
+ vercel: {}
266
+
267
+ Then run: npx stack fix
268
+ (Auto-creates project, detects framework, and saves IDs via Vercel API)
269
269
  `,
270
270
  },
271
271
  {
@@ -335,9 +335,9 @@ Then run: npx stack fix
335
335
  return false;
336
336
  }
337
337
  },
338
- manualFix: `
339
- Run: npx stack fix
340
- (Auto-creates .vercel/project.json from Vercel API — no CLI needed)
338
+ manualFix: `
339
+ Run: npx stack fix
340
+ (Auto-creates .vercel/project.json from Vercel API — no CLI needed)
341
341
  `,
342
342
  },
343
343
  {
@@ -107,12 +107,12 @@ exports.fixes = [
107
107
  return false;
108
108
  }
109
109
  },
110
- manualFix: `
111
- Store VERCEL_TOKEN in Ansible Vault manually:
112
-
113
- npx stack deploy --secrets set VERCEL_TOKEN
114
-
115
- Or get token from: https://vercel.com/account/tokens
110
+ manualFix: `
111
+ Store VERCEL_TOKEN in Ansible Vault manually:
112
+
113
+ npx stack deploy --secrets set VERCEL_TOKEN
114
+
115
+ Or get token from: https://vercel.com/account/tokens
116
116
  `,
117
117
  },
118
118
  {
@@ -128,15 +128,15 @@ Or get token from: https://vercel.com/account/tokens
128
128
  return !process.env.VERCEL_TOKEN;
129
129
  },
130
130
  fix: null,
131
- manualFix: `
132
- VERCEL_TOKEN is not required in your environment during development.
133
- It will be automatically read from Ansible Vault during deployment.
134
-
135
- If you want to set it in your shell for testing:
136
- export VERCEL_TOKEN="your-token-here"
137
-
138
- Or add to your shell profile (~/.bashrc, ~/.zshrc):
139
- export VERCEL_TOKEN="$(npx stack deploy --secrets get VERCEL_TOKEN)"
131
+ manualFix: `
132
+ VERCEL_TOKEN is not required in your environment during development.
133
+ It will be automatically read from Ansible Vault during deployment.
134
+
135
+ If you want to set it in your shell for testing:
136
+ export VERCEL_TOKEN="your-token-here"
137
+
138
+ Or add to your shell profile (~/.bashrc, ~/.zshrc):
139
+ export VERCEL_TOKEN="$(npx stack deploy --secrets get VERCEL_TOKEN)"
140
140
  `,
141
141
  },
142
142
  ];
@@ -1,13 +1,13 @@
1
- {
2
- "version": 1,
3
- "description": "List of approved/validated external plugins for Factiii Stack",
4
- "approved": [
5
- "@factiii/stack-plugin-expo",
6
- "@factiii/stack-plugin-prisma-trpc",
7
- "@factiii/stack-plugin-nextjs"
8
- ],
9
- "lastUpdated": "2024-12-16"
10
- }
11
-
12
-
13
-
1
+ {
2
+ "version": 1,
3
+ "description": "List of approved/validated external plugins for Factiii Stack",
4
+ "approved": [
5
+ "@factiii/stack-plugin-expo",
6
+ "@factiii/stack-plugin-prisma-trpc",
7
+ "@factiii/stack-plugin-nextjs"
8
+ ],
9
+ "lastUpdated": "2024-12-16"
10
+ }
11
+
12
+
13
+
@@ -166,17 +166,17 @@ class AWSPipeline {
166
166
  'free-tier': free_tier_js_1.default,
167
167
  };
168
168
  static helpText = {
169
- SSH: `
170
- SSH private key for accessing the EC2 instance.
171
-
172
- Option A: Auto-generate via AWS (recommended)
173
- - Factiii will create an EC2 Key Pair via AWS API
174
-
175
- Option B: Use existing key
169
+ SSH: `
170
+ SSH private key for accessing the EC2 instance.
171
+
172
+ Option A: Auto-generate via AWS (recommended)
173
+ - Factiii will create an EC2 Key Pair via AWS API
174
+
175
+ Option B: Use existing key
176
176
  ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key`,
177
- AWS_SECRET_ACCESS_KEY: `
178
- AWS Secret Access Key
179
-
177
+ AWS_SECRET_ACCESS_KEY: `
178
+ AWS Secret Access Key
179
+
180
180
  Get from AWS Console: IAM -> Users -> Security credentials`,
181
181
  };
182
182
  // ============================================================
@@ -498,8 +498,8 @@ class AWSPipeline {
498
498
  }
499
499
  try {
500
500
  const repoName = config.name ?? 'app';
501
- await AWSPipeline.sshExec(envConfig, `
502
- cd ~/.factiii && docker compose stop ${repoName}-prod
501
+ await AWSPipeline.sshExec(envConfig, `
502
+ cd ~/.factiii && docker compose stop ${repoName}-prod
503
503
  `);
504
504
  return { success: true, message: 'Production containers stopped' };
505
505
  }
@@ -1,135 +1,135 @@
1
- {
2
- "Version": "2012-10-17",
3
- "Statement": [
4
- {
5
- "Sid": "FactiiiEC2Full",
6
- "Effect": "Allow",
7
- "Action": [
8
- "ec2:CreateVpc",
9
- "ec2:DeleteVpc",
10
- "ec2:DescribeVpcs",
11
- "ec2:ModifyVpcAttribute",
12
- "ec2:CreateSubnet",
13
- "ec2:DeleteSubnet",
14
- "ec2:DescribeSubnets",
15
- "ec2:ModifySubnetAttribute",
16
- "ec2:CreateInternetGateway",
17
- "ec2:DeleteInternetGateway",
18
- "ec2:AttachInternetGateway",
19
- "ec2:DetachInternetGateway",
20
- "ec2:DescribeInternetGateways",
21
- "ec2:CreateRouteTable",
22
- "ec2:DeleteRouteTable",
23
- "ec2:CreateRoute",
24
- "ec2:AssociateRouteTable",
25
- "ec2:DescribeRouteTables",
26
- "ec2:CreateSecurityGroup",
27
- "ec2:DeleteSecurityGroup",
28
- "ec2:AuthorizeSecurityGroupIngress",
29
- "ec2:RevokeSecurityGroupIngress",
30
- "ec2:DescribeSecurityGroups",
31
- "ec2:CreateKeyPair",
32
- "ec2:DeleteKeyPair",
33
- "ec2:DescribeKeyPairs",
34
- "ec2:RunInstances",
35
- "ec2:TerminateInstances",
36
- "ec2:DescribeInstances",
37
- "ec2:AllocateAddress",
38
- "ec2:ReleaseAddress",
39
- "ec2:AssociateAddress",
40
- "ec2:DescribeAddresses",
41
- "ec2:DescribeAvailabilityZones",
42
- "ec2:DescribeImages",
43
- "ec2:CreateTags"
44
- ],
45
- "Resource": "*"
46
- },
47
- {
48
- "Sid": "FactiiiRDSFull",
49
- "Effect": "Allow",
50
- "Action": [
51
- "rds:CreateDBInstance",
52
- "rds:DeleteDBInstance",
53
- "rds:DescribeDBInstances",
54
- "rds:CreateDBSubnetGroup",
55
- "rds:DeleteDBSubnetGroup",
56
- "rds:DescribeDBSubnetGroups",
57
- "rds:AddTagsToResource",
58
- "rds:ListTagsForResource"
59
- ],
60
- "Resource": "*"
61
- },
62
- {
63
- "Sid": "FactiiiS3Full",
64
- "Effect": "Allow",
65
- "Action": [
66
- "s3:CreateBucket",
67
- "s3:DeleteBucket",
68
- "s3:ListBucket",
69
- "s3:PutBucketEncryption",
70
- "s3:PutBucketPublicAccessBlock",
71
- "s3:PutBucketCORS",
72
- "s3:GetBucketEncryption",
73
- "s3:GetBucketPublicAccessBlock",
74
- "s3:GetBucketCORS",
75
- "s3:PutObject",
76
- "s3:GetObject",
77
- "s3:ListAllMyBuckets"
78
- ],
79
- "Resource": "*"
80
- },
81
- {
82
- "Sid": "FactiiiECRFull",
83
- "Effect": "Allow",
84
- "Action": [
85
- "ecr:CreateRepository",
86
- "ecr:DeleteRepository",
87
- "ecr:DescribeRepositories",
88
- "ecr:GetAuthorizationToken",
89
- "ecr:PutLifecyclePolicy",
90
- "ecr:BatchGetImage",
91
- "ecr:BatchCheckLayerAvailability",
92
- "ecr:PutImage",
93
- "ecr:InitiateLayerUpload",
94
- "ecr:UploadLayerPart",
95
- "ecr:CompleteLayerUpload"
96
- ],
97
- "Resource": "*"
98
- },
99
- {
100
- "Sid": "FactiiiSES",
101
- "Effect": "Allow",
102
- "Action": [
103
- "ses:VerifyDomainIdentity",
104
- "ses:VerifyDomainDkim",
105
- "ses:GetAccountSendingEnabled",
106
- "ses:GetIdentityVerificationAttributes",
107
- "ses:GetIdentityDkimAttributes"
108
- ],
109
- "Resource": "*"
110
- },
111
- {
112
- "Sid": "FactiiiIAMLimited",
113
- "Effect": "Allow",
114
- "Action": [
115
- "iam:CreateUser",
116
- "iam:DeleteUser",
117
- "iam:GetUser",
118
- "iam:PutUserPolicy",
119
- "iam:DeleteUserPolicy",
120
- "iam:CreateAccessKey",
121
- "iam:ListAccessKeys",
122
- "iam:ListUsers"
123
- ],
124
- "Resource": "*"
125
- },
126
- {
127
- "Sid": "FactiiiSTS",
128
- "Effect": "Allow",
129
- "Action": [
130
- "sts:GetCallerIdentity"
131
- ],
132
- "Resource": "*"
133
- }
134
- ]
135
- }
1
+ {
2
+ "Version": "2012-10-17",
3
+ "Statement": [
4
+ {
5
+ "Sid": "FactiiiEC2Full",
6
+ "Effect": "Allow",
7
+ "Action": [
8
+ "ec2:CreateVpc",
9
+ "ec2:DeleteVpc",
10
+ "ec2:DescribeVpcs",
11
+ "ec2:ModifyVpcAttribute",
12
+ "ec2:CreateSubnet",
13
+ "ec2:DeleteSubnet",
14
+ "ec2:DescribeSubnets",
15
+ "ec2:ModifySubnetAttribute",
16
+ "ec2:CreateInternetGateway",
17
+ "ec2:DeleteInternetGateway",
18
+ "ec2:AttachInternetGateway",
19
+ "ec2:DetachInternetGateway",
20
+ "ec2:DescribeInternetGateways",
21
+ "ec2:CreateRouteTable",
22
+ "ec2:DeleteRouteTable",
23
+ "ec2:CreateRoute",
24
+ "ec2:AssociateRouteTable",
25
+ "ec2:DescribeRouteTables",
26
+ "ec2:CreateSecurityGroup",
27
+ "ec2:DeleteSecurityGroup",
28
+ "ec2:AuthorizeSecurityGroupIngress",
29
+ "ec2:RevokeSecurityGroupIngress",
30
+ "ec2:DescribeSecurityGroups",
31
+ "ec2:CreateKeyPair",
32
+ "ec2:DeleteKeyPair",
33
+ "ec2:DescribeKeyPairs",
34
+ "ec2:RunInstances",
35
+ "ec2:TerminateInstances",
36
+ "ec2:DescribeInstances",
37
+ "ec2:AllocateAddress",
38
+ "ec2:ReleaseAddress",
39
+ "ec2:AssociateAddress",
40
+ "ec2:DescribeAddresses",
41
+ "ec2:DescribeAvailabilityZones",
42
+ "ec2:DescribeImages",
43
+ "ec2:CreateTags"
44
+ ],
45
+ "Resource": "*"
46
+ },
47
+ {
48
+ "Sid": "FactiiiRDSFull",
49
+ "Effect": "Allow",
50
+ "Action": [
51
+ "rds:CreateDBInstance",
52
+ "rds:DeleteDBInstance",
53
+ "rds:DescribeDBInstances",
54
+ "rds:CreateDBSubnetGroup",
55
+ "rds:DeleteDBSubnetGroup",
56
+ "rds:DescribeDBSubnetGroups",
57
+ "rds:AddTagsToResource",
58
+ "rds:ListTagsForResource"
59
+ ],
60
+ "Resource": "*"
61
+ },
62
+ {
63
+ "Sid": "FactiiiS3Full",
64
+ "Effect": "Allow",
65
+ "Action": [
66
+ "s3:CreateBucket",
67
+ "s3:DeleteBucket",
68
+ "s3:ListBucket",
69
+ "s3:PutBucketEncryption",
70
+ "s3:PutBucketPublicAccessBlock",
71
+ "s3:PutBucketCORS",
72
+ "s3:GetBucketEncryption",
73
+ "s3:GetBucketPublicAccessBlock",
74
+ "s3:GetBucketCORS",
75
+ "s3:PutObject",
76
+ "s3:GetObject",
77
+ "s3:ListAllMyBuckets"
78
+ ],
79
+ "Resource": "*"
80
+ },
81
+ {
82
+ "Sid": "FactiiiECRFull",
83
+ "Effect": "Allow",
84
+ "Action": [
85
+ "ecr:CreateRepository",
86
+ "ecr:DeleteRepository",
87
+ "ecr:DescribeRepositories",
88
+ "ecr:GetAuthorizationToken",
89
+ "ecr:PutLifecyclePolicy",
90
+ "ecr:BatchGetImage",
91
+ "ecr:BatchCheckLayerAvailability",
92
+ "ecr:PutImage",
93
+ "ecr:InitiateLayerUpload",
94
+ "ecr:UploadLayerPart",
95
+ "ecr:CompleteLayerUpload"
96
+ ],
97
+ "Resource": "*"
98
+ },
99
+ {
100
+ "Sid": "FactiiiSES",
101
+ "Effect": "Allow",
102
+ "Action": [
103
+ "ses:VerifyDomainIdentity",
104
+ "ses:VerifyDomainDkim",
105
+ "ses:GetAccountSendingEnabled",
106
+ "ses:GetIdentityVerificationAttributes",
107
+ "ses:GetIdentityDkimAttributes"
108
+ ],
109
+ "Resource": "*"
110
+ },
111
+ {
112
+ "Sid": "FactiiiIAMLimited",
113
+ "Effect": "Allow",
114
+ "Action": [
115
+ "iam:CreateUser",
116
+ "iam:DeleteUser",
117
+ "iam:GetUser",
118
+ "iam:PutUserPolicy",
119
+ "iam:DeleteUserPolicy",
120
+ "iam:CreateAccessKey",
121
+ "iam:ListAccessKeys",
122
+ "iam:ListUsers"
123
+ ],
124
+ "Resource": "*"
125
+ },
126
+ {
127
+ "Sid": "FactiiiSTS",
128
+ "Effect": "Allow",
129
+ "Action": [
130
+ "sts:GetCallerIdentity"
131
+ ],
132
+ "Resource": "*"
133
+ }
134
+ ]
135
+ }
@@ -154,7 +154,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
154
154
  else {
155
155
  // We're remote - SSH to write
156
156
  console.log(` 📝 Writing ${envFileName} on remote server (${envVars.length} variables)...`);
157
- await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
157
+ await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
158
158
  ${envFileContent}ENVEOF`);
159
159
  }
160
160
  }
@@ -1,15 +1,17 @@
1
1
  /**
2
2
  * AWS Credential Fixes
3
3
  *
4
- * Handles AWS account setup, credential validation,
5
- * and region configuration checks.
4
+ * Handles AWS credential sync, account setup, and validation.
6
5
  *
7
- * The aws-account-not-setup fix auto-bootstraps:
8
- * 1. Checks if AWS SDK can get caller identity (valid credentials)
9
- * 2. If not, prompts user to login via `aws configure` (root or admin)
10
- * 3. Confirms with user before creating IAM admin user
11
- * 4. Creates IAM user, attaches bootstrap policy, creates access key
12
- * 5. Auto-configures AWS CLI with new IAM credentials
6
+ * Order matters — aws-credentials-sync MUST be first:
7
+ * 1. Sync vault ~/.aws/credentials (ensure CLI uses the right project's key)
8
+ * 2. Bootstrap if no credentials exist at all
9
+ * 3. Region check
10
+ * 4. Vault has credentials stored
11
+ * 5. Credentials not expired
12
+ * 6. Prod provisioning credentials valid
13
+ *
14
+ * See .spec/aws-iam.md for the full IAM user model.
13
15
  */
14
16
  import type { Fix } from '../../../../types/index.js';
15
17
  export declare const credentialsFixes: Fix[];
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAoLrE,eAAO,MAAM,gBAAgB,EAAE,GAAG,EAugBjC,CAAC"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AA6XrE,eAAO,MAAM,gBAAgB,EAAE,GAAG,EA4XjC,CAAC"}