@factiii/stack 0.1.148 → 0.1.150
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.
- package/LICENSE +21 -21
- package/README.md +441 -441
- package/bin/stack +290 -290
- package/dist/cli/dev-sync.js +16 -16
- package/dist/plugins/addons/auth/index.js +7 -7
- package/dist/plugins/addons/openclaw/scanfix/setup.d.ts.map +1 -1
- package/dist/plugins/addons/openclaw/scanfix/setup.js +69 -54
- package/dist/plugins/addons/openclaw/scanfix/setup.js.map +1 -1
- package/dist/plugins/addons/vercel/index.js +9 -9
- package/dist/plugins/addons/vercel/scanfix/config.js +10 -10
- package/dist/plugins/addons/vercel/scanfix/token.js +15 -15
- package/dist/plugins/approved.json +13 -13
- package/dist/plugins/pipelines/aws/index.js +12 -12
- package/dist/plugins/pipelines/aws/policies/bootstrap-policy.json +135 -135
- package/dist/plugins/pipelines/aws/prod.js +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.js +98 -0
- package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -1
- package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts +10 -2
- package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/utils/aws-helpers.js +31 -2
- package/dist/plugins/pipelines/aws/utils/aws-helpers.js.map +1 -1
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/index.js +47 -1
- package/dist/plugins/pipelines/factiii/index.js.map +1 -1
- package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/prod.js +22 -17
- package/dist/plugins/pipelines/factiii/prod.js.map +1 -1
- package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/staging.js +24 -19
- package/dist/plugins/pipelines/factiii/staging.js.map +1 -1
- package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +75 -75
- package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +73 -73
- package/dist/plugins/servers/amazon-linux/index.js +16 -16
- package/dist/plugins/servers/mac/index.js +12 -12
- package/dist/plugins/servers/mac/staging.js +2 -2
- package/dist/plugins/servers/ubuntu/index.js +23 -23
- package/dist/plugins/servers/windows/index.js +15 -15
- package/dist/scanfix/fixes/docker.d.ts.map +1 -1
- package/dist/scanfix/fixes/docker.js +13 -1
- package/dist/scanfix/fixes/docker.js.map +1 -1
- package/dist/scripts/generate-all.js +73 -73
- package/dist/utils/deployment-report.js +2 -2
- package/dist/utils/secret-prompts.js +34 -34
- package/dist/utils/template-generator.js +74 -74
- package/package.json +100 -100
|
@@ -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
|
+
}
|
|
@@ -152,7 +152,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
|
|
|
152
152
|
else {
|
|
153
153
|
// We're remote - SSH to write
|
|
154
154
|
console.log(` 📝 Writing ${envFileName} on remote server (${envVars.length} variables)...`);
|
|
155
|
-
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
155
|
+
await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
|
|
156
156
|
${envFileContent}ENVEOF`);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/iam.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/iam.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AA0PrE,eAAO,MAAM,QAAQ,EAAE,GAAG,EA2MzB,CAAC"}
|
|
@@ -173,6 +173,100 @@ function getProdPolicy(projectName, region, accountId) {
|
|
|
173
173
|
],
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Ensure current AWS credentials can manage IAM.
|
|
178
|
+
* If not, show current identity and offer to update credentials.
|
|
179
|
+
* Returns true if IAM access is available, false otherwise.
|
|
180
|
+
*/
|
|
181
|
+
async function ensureIamAccess(config, region) {
|
|
182
|
+
if (await (0, aws_helpers_js_1.canManageIam)(region))
|
|
183
|
+
return true;
|
|
184
|
+
const callerArn = await (0, aws_helpers_js_1.getCallerArn)(region);
|
|
185
|
+
const { confirm } = await Promise.resolve().then(() => __importStar(require('../../../../utils/secret-prompts.js')));
|
|
186
|
+
console.log('');
|
|
187
|
+
console.log(' ============================================================');
|
|
188
|
+
console.log(' AWS CREDENTIALS CANNOT CREATE IAM USERS');
|
|
189
|
+
console.log(' ============================================================');
|
|
190
|
+
console.log(' Logged in as: ' + (callerArn ?? 'unknown'));
|
|
191
|
+
console.log(' This account does not have permission to create IAM users.');
|
|
192
|
+
console.log(' You need admin credentials to continue.');
|
|
193
|
+
console.log(' ============================================================');
|
|
194
|
+
console.log('');
|
|
195
|
+
// Check if vault has credentials we can swap to
|
|
196
|
+
const hasVault = !!config.ansible?.vault_path;
|
|
197
|
+
let vaultHasCreds = false;
|
|
198
|
+
if (hasVault) {
|
|
199
|
+
try {
|
|
200
|
+
const { AnsibleVaultSecrets } = await Promise.resolve().then(() => __importStar(require('../../../../utils/ansible-vault-secrets.js')));
|
|
201
|
+
const vault = new AnsibleVaultSecrets({
|
|
202
|
+
vault_path: config.ansible.vault_path,
|
|
203
|
+
vault_password_file: config.ansible.vault_password_file,
|
|
204
|
+
});
|
|
205
|
+
const check = await vault.checkSecrets(['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY']);
|
|
206
|
+
vaultHasCreds = !!(check.status?.AWS_ACCESS_KEY_ID && check.status?.AWS_SECRET_ACCESS_KEY);
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// vault unreadable — treat as no creds
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (vaultHasCreds) {
|
|
213
|
+
const swap = await confirm(' Load admin credentials from Ansible Vault?', true);
|
|
214
|
+
if (swap) {
|
|
215
|
+
try {
|
|
216
|
+
const { AnsibleVaultSecrets } = await Promise.resolve().then(() => __importStar(require('../../../../utils/ansible-vault-secrets.js')));
|
|
217
|
+
const vault = new AnsibleVaultSecrets({
|
|
218
|
+
vault_path: config.ansible.vault_path,
|
|
219
|
+
vault_password_file: config.ansible.vault_password_file,
|
|
220
|
+
});
|
|
221
|
+
const accessKeyId = await vault.getSecret('AWS_ACCESS_KEY_ID');
|
|
222
|
+
const secretKey = await vault.getSecret('AWS_SECRET_ACCESS_KEY');
|
|
223
|
+
if (!accessKeyId || !secretKey) {
|
|
224
|
+
console.log(' Failed to read credentials from vault.');
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
(0, aws_helpers_js_1.writeAwsCredentials)(accessKeyId, secretKey, region);
|
|
228
|
+
const newArn = await (0, aws_helpers_js_1.getCallerArn)(region);
|
|
229
|
+
console.log(' [OK] Switched to: ' + (newArn ?? 'unknown'));
|
|
230
|
+
if (await (0, aws_helpers_js_1.canManageIam)(region)) {
|
|
231
|
+
console.log(' [OK] IAM access confirmed');
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
console.log('');
|
|
235
|
+
console.log(' Still no IAM permission. The vault credentials need admin access.');
|
|
236
|
+
console.log('');
|
|
237
|
+
console.log(' To fix, update the vault credentials:');
|
|
238
|
+
console.log(' npx stack deploy --secrets set AWS_ACCESS_KEY_ID');
|
|
239
|
+
console.log(' npx stack deploy --secrets set AWS_SECRET_ACCESS_KEY');
|
|
240
|
+
console.log(' Then run: npx stack fix');
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
console.log(' Error: ' + (e instanceof Error ? e.message : String(e)));
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// User skipped or no vault creds available — show clear instructions
|
|
250
|
+
console.log('');
|
|
251
|
+
console.log(' To fix this, do ONE of the following:');
|
|
252
|
+
console.log('');
|
|
253
|
+
if (hasVault) {
|
|
254
|
+
console.log(' Option 1: Store admin credentials in vault');
|
|
255
|
+
console.log(' npx stack deploy --secrets set AWS_ACCESS_KEY_ID');
|
|
256
|
+
console.log(' npx stack deploy --secrets set AWS_SECRET_ACCESS_KEY');
|
|
257
|
+
console.log('');
|
|
258
|
+
console.log(' Option 2: Configure AWS CLI directly');
|
|
259
|
+
console.log(' aws configure (paste admin access key + secret)');
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
console.log(' Configure AWS CLI with admin credentials:');
|
|
263
|
+
console.log(' aws configure (paste admin access key + secret)');
|
|
264
|
+
}
|
|
265
|
+
console.log('');
|
|
266
|
+
console.log(' Then run: npx stack fix');
|
|
267
|
+
console.log('');
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
176
270
|
exports.iamFixes = [
|
|
177
271
|
{
|
|
178
272
|
id: 'aws-iam-dev-user-missing',
|
|
@@ -190,6 +284,8 @@ exports.iamFixes = [
|
|
|
190
284
|
const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
|
|
191
285
|
const projectName = (0, aws_helpers_js_1.getProjectName)(config);
|
|
192
286
|
const userName = 'factiii-' + projectName + '-dev';
|
|
287
|
+
if (!(await ensureIamAccess(config, region)))
|
|
288
|
+
return false;
|
|
193
289
|
console.log('');
|
|
194
290
|
console.log(' ============================================================');
|
|
195
291
|
console.log(' CREATE IAM DEV USER');
|
|
@@ -280,6 +376,8 @@ exports.iamFixes = [
|
|
|
280
376
|
const { region } = (0, aws_helpers_js_1.getAwsConfig)(config);
|
|
281
377
|
const projectName = (0, aws_helpers_js_1.getProjectName)(config);
|
|
282
378
|
const userName = 'factiii-' + projectName + '-prod';
|
|
379
|
+
if (!(await ensureIamAccess(config, region)))
|
|
380
|
+
return false;
|
|
283
381
|
console.log('');
|
|
284
382
|
console.log(' ============================================================');
|
|
285
383
|
console.log(' CREATE IAM PROD USER');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/iam.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/iam.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { EC2Client, DescribeVpcsCommand, DescribeSubnetsCommand, DescribeSecurityGroupsCommand, DescribeInstancesCommand, DescribeKeyPairsCommand, DescribeAddressesCommand, DescribeInternetGatewaysCommand, DescribeAvailabilityZonesCommand, DescribeImagesCommand, CreateVpcCommand, ModifyVpcAttributeCommand, CreateSubnetCommand, ModifySubnetAttributeCommand, CreateInternetGatewayCommand, AttachInternetGatewayCommand, CreateRouteTableCommand, CreateRouteCommand, AssociateRouteTableCommand, CreateSecurityGroupCommand, AuthorizeSecurityGroupIngressCommand, CreateKeyPairCommand, RunInstancesCommand, AllocateAddressCommand, AssociateAddressCommand, type Tag, type TagSpecification, type Filter, waitUntilInstanceRunning } from '@aws-sdk/client-ec2';
|
|
8
8
|
import { STSClient, GetCallerIdentityCommand } from '@aws-sdk/client-sts';
|
|
9
|
-
import { IAMClient, GetUserCommand, CreateUserCommand, PutUserPolicyCommand, CreateAccessKeyCommand } from '@aws-sdk/client-iam';
|
|
9
|
+
import { IAMClient, GetUserCommand, ListUsersCommand, CreateUserCommand, PutUserPolicyCommand, CreateAccessKeyCommand } from '@aws-sdk/client-iam';
|
|
10
10
|
import { RDSClient, DescribeDBSubnetGroupsCommand, CreateDBSubnetGroupCommand, DescribeDBInstancesCommand, CreateDBInstanceCommand } from '@aws-sdk/client-rds';
|
|
11
11
|
import { S3Client, HeadBucketCommand, CreateBucketCommand, PutPublicAccessBlockCommand, PutBucketEncryptionCommand, GetBucketCorsCommand, PutBucketCorsCommand } from '@aws-sdk/client-s3';
|
|
12
12
|
import { ECRClient, DescribeRepositoriesCommand, CreateRepositoryCommand, PutLifecyclePolicyCommand, GetAuthorizationTokenCommand } from '@aws-sdk/client-ecr';
|
|
@@ -63,6 +63,14 @@ export declare function getProjectName(config: FactiiiConfig): string;
|
|
|
63
63
|
* Get AWS account ID via STS
|
|
64
64
|
*/
|
|
65
65
|
export declare function getAwsAccountId(region: string): Promise<string | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Get the ARN of the current AWS caller (for display purposes)
|
|
68
|
+
*/
|
|
69
|
+
export declare function getCallerArn(region: string): Promise<string | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Check if current AWS credentials have IAM management permissions
|
|
72
|
+
*/
|
|
73
|
+
export declare function canManageIam(region: string): Promise<boolean>;
|
|
66
74
|
/**
|
|
67
75
|
* Get ECR authorization token via SDK (runs on dev machine).
|
|
68
76
|
* Returns credentials for docker login — no AWS CLI needed on server.
|
|
@@ -170,5 +178,5 @@ export declare function findHostedZone(domain: string, region: string): Promise<
|
|
|
170
178
|
* Find an A record in a hosted zone
|
|
171
179
|
*/
|
|
172
180
|
export declare function findARecord(domain: string, hostedZoneId: string, region: string): Promise<string | null>;
|
|
173
|
-
export { EC2Client, DescribeVpcsCommand, DescribeSubnetsCommand, DescribeSecurityGroupsCommand, DescribeInstancesCommand, DescribeKeyPairsCommand, DescribeAddressesCommand, DescribeInternetGatewaysCommand, DescribeAvailabilityZonesCommand, DescribeImagesCommand, CreateVpcCommand, ModifyVpcAttributeCommand, CreateSubnetCommand, ModifySubnetAttributeCommand, CreateInternetGatewayCommand, AttachInternetGatewayCommand, CreateRouteTableCommand, CreateRouteCommand, AssociateRouteTableCommand, CreateSecurityGroupCommand, AuthorizeSecurityGroupIngressCommand, CreateKeyPairCommand, RunInstancesCommand, AllocateAddressCommand, AssociateAddressCommand, waitUntilInstanceRunning, STSClient, GetCallerIdentityCommand, IAMClient, GetUserCommand, CreateUserCommand, PutUserPolicyCommand, CreateAccessKeyCommand, RDSClient, DescribeDBSubnetGroupsCommand, CreateDBSubnetGroupCommand, DescribeDBInstancesCommand, CreateDBInstanceCommand, S3Client, HeadBucketCommand, CreateBucketCommand, PutPublicAccessBlockCommand, PutBucketEncryptionCommand, GetBucketCorsCommand, PutBucketCorsCommand, ECRClient, DescribeRepositoriesCommand, CreateRepositoryCommand, PutLifecyclePolicyCommand, GetAuthorizationTokenCommand, SESClient, VerifyDomainIdentityCommand, GetIdentityVerificationAttributesCommand, VerifyDomainDkimCommand, GetIdentityDkimAttributesCommand, GetSendQuotaCommand, Route53Client, ListHostedZonesByNameCommand, CreateHostedZoneCommand, ChangeResourceRecordSetsCommand, ListResourceRecordSetsCommand, GetHostedZoneCommand, EC2InstanceConnectClient, SendSSHPublicKeyCommand, writeAwsCredentials, readAwsRegionFromConfig, };
|
|
181
|
+
export { EC2Client, DescribeVpcsCommand, DescribeSubnetsCommand, DescribeSecurityGroupsCommand, DescribeInstancesCommand, DescribeKeyPairsCommand, DescribeAddressesCommand, DescribeInternetGatewaysCommand, DescribeAvailabilityZonesCommand, DescribeImagesCommand, CreateVpcCommand, ModifyVpcAttributeCommand, CreateSubnetCommand, ModifySubnetAttributeCommand, CreateInternetGatewayCommand, AttachInternetGatewayCommand, CreateRouteTableCommand, CreateRouteCommand, AssociateRouteTableCommand, CreateSecurityGroupCommand, AuthorizeSecurityGroupIngressCommand, CreateKeyPairCommand, RunInstancesCommand, AllocateAddressCommand, AssociateAddressCommand, waitUntilInstanceRunning, STSClient, GetCallerIdentityCommand, IAMClient, GetUserCommand, ListUsersCommand, CreateUserCommand, PutUserPolicyCommand, CreateAccessKeyCommand, RDSClient, DescribeDBSubnetGroupsCommand, CreateDBSubnetGroupCommand, DescribeDBInstancesCommand, CreateDBInstanceCommand, S3Client, HeadBucketCommand, CreateBucketCommand, PutPublicAccessBlockCommand, PutBucketEncryptionCommand, GetBucketCorsCommand, PutBucketCorsCommand, ECRClient, DescribeRepositoriesCommand, CreateRepositoryCommand, PutLifecyclePolicyCommand, GetAuthorizationTokenCommand, SESClient, VerifyDomainIdentityCommand, GetIdentityVerificationAttributesCommand, VerifyDomainDkimCommand, GetIdentityDkimAttributesCommand, GetSendQuotaCommand, Route53Client, ListHostedZonesByNameCommand, CreateHostedZoneCommand, ChangeResourceRecordSetsCommand, ListResourceRecordSetsCommand, GetHostedZoneCommand, EC2InstanceConnectClient, SendSSHPublicKeyCommand, writeAwsCredentials, readAwsRegionFromConfig, };
|
|
174
182
|
//# sourceMappingURL=aws-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/utils/aws-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aws-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/utils/aws-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,8 +39,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.
|
|
43
|
-
exports.SendSSHPublicKeyCommand = exports.EC2InstanceConnectClient = exports.GetHostedZoneCommand = exports.ListResourceRecordSetsCommand = exports.ChangeResourceRecordSetsCommand = exports.CreateHostedZoneCommand = exports.ListHostedZonesByNameCommand = exports.Route53Client = exports.GetSendQuotaCommand = exports.GetIdentityDkimAttributesCommand = exports.VerifyDomainDkimCommand = exports.GetIdentityVerificationAttributesCommand = exports.VerifyDomainIdentityCommand = exports.SESClient = void 0;
|
|
42
|
+
exports.PutLifecyclePolicyCommand = exports.CreateRepositoryCommand = exports.DescribeRepositoriesCommand = exports.ECRClient = exports.PutBucketCorsCommand = exports.GetBucketCorsCommand = exports.PutBucketEncryptionCommand = exports.PutPublicAccessBlockCommand = exports.CreateBucketCommand = exports.HeadBucketCommand = exports.S3Client = exports.CreateDBInstanceCommand = exports.DescribeDBInstancesCommand = exports.CreateDBSubnetGroupCommand = exports.DescribeDBSubnetGroupsCommand = exports.RDSClient = exports.CreateAccessKeyCommand = exports.PutUserPolicyCommand = exports.CreateUserCommand = exports.ListUsersCommand = exports.GetUserCommand = exports.IAMClient = exports.GetCallerIdentityCommand = exports.STSClient = exports.waitUntilInstanceRunning = exports.AssociateAddressCommand = exports.AllocateAddressCommand = exports.RunInstancesCommand = exports.CreateKeyPairCommand = exports.AuthorizeSecurityGroupIngressCommand = exports.CreateSecurityGroupCommand = exports.AssociateRouteTableCommand = exports.CreateRouteCommand = exports.CreateRouteTableCommand = exports.AttachInternetGatewayCommand = exports.CreateInternetGatewayCommand = exports.ModifySubnetAttributeCommand = exports.CreateSubnetCommand = exports.ModifyVpcAttributeCommand = exports.CreateVpcCommand = exports.DescribeImagesCommand = exports.DescribeAvailabilityZonesCommand = exports.DescribeInternetGatewaysCommand = exports.DescribeAddressesCommand = exports.DescribeKeyPairsCommand = exports.DescribeInstancesCommand = exports.DescribeSecurityGroupsCommand = exports.DescribeSubnetsCommand = exports.DescribeVpcsCommand = exports.EC2Client = void 0;
|
|
43
|
+
exports.SendSSHPublicKeyCommand = exports.EC2InstanceConnectClient = exports.GetHostedZoneCommand = exports.ListResourceRecordSetsCommand = exports.ChangeResourceRecordSetsCommand = exports.CreateHostedZoneCommand = exports.ListHostedZonesByNameCommand = exports.Route53Client = exports.GetSendQuotaCommand = exports.GetIdentityDkimAttributesCommand = exports.VerifyDomainDkimCommand = exports.GetIdentityVerificationAttributesCommand = exports.VerifyDomainIdentityCommand = exports.SESClient = exports.GetAuthorizationTokenCommand = void 0;
|
|
44
44
|
exports.getEC2Client = getEC2Client;
|
|
45
45
|
exports.getSTSClient = getSTSClient;
|
|
46
46
|
exports.getIAMClient = getIAMClient;
|
|
@@ -57,6 +57,8 @@ exports.getAwsConfig = getAwsConfig;
|
|
|
57
57
|
exports.isOnServer = isOnServer;
|
|
58
58
|
exports.getProjectName = getProjectName;
|
|
59
59
|
exports.getAwsAccountId = getAwsAccountId;
|
|
60
|
+
exports.getCallerArn = getCallerArn;
|
|
61
|
+
exports.canManageIam = canManageIam;
|
|
60
62
|
exports.getEcrAuthToken = getEcrAuthToken;
|
|
61
63
|
exports.findVpc = findVpc;
|
|
62
64
|
exports.findSubnet = findSubnet;
|
|
@@ -115,6 +117,7 @@ Object.defineProperty(exports, "GetCallerIdentityCommand", { enumerable: true, g
|
|
|
115
117
|
const client_iam_1 = require("@aws-sdk/client-iam");
|
|
116
118
|
Object.defineProperty(exports, "IAMClient", { enumerable: true, get: function () { return client_iam_1.IAMClient; } });
|
|
117
119
|
Object.defineProperty(exports, "GetUserCommand", { enumerable: true, get: function () { return client_iam_1.GetUserCommand; } });
|
|
120
|
+
Object.defineProperty(exports, "ListUsersCommand", { enumerable: true, get: function () { return client_iam_1.ListUsersCommand; } });
|
|
118
121
|
Object.defineProperty(exports, "CreateUserCommand", { enumerable: true, get: function () { return client_iam_1.CreateUserCommand; } });
|
|
119
122
|
Object.defineProperty(exports, "PutUserPolicyCommand", { enumerable: true, get: function () { return client_iam_1.PutUserPolicyCommand; } });
|
|
120
123
|
Object.defineProperty(exports, "CreateAccessKeyCommand", { enumerable: true, get: function () { return client_iam_1.CreateAccessKeyCommand; } });
|
|
@@ -320,6 +323,32 @@ async function getAwsAccountId(region) {
|
|
|
320
323
|
return null;
|
|
321
324
|
}
|
|
322
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Get the ARN of the current AWS caller (for display purposes)
|
|
328
|
+
*/
|
|
329
|
+
async function getCallerArn(region) {
|
|
330
|
+
try {
|
|
331
|
+
const sts = getSTSClient(region);
|
|
332
|
+
const result = await sts.send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
333
|
+
return result.Arn ?? null;
|
|
334
|
+
}
|
|
335
|
+
catch {
|
|
336
|
+
return null;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Check if current AWS credentials have IAM management permissions
|
|
341
|
+
*/
|
|
342
|
+
async function canManageIam(region) {
|
|
343
|
+
try {
|
|
344
|
+
const iam = getIAMClient(region);
|
|
345
|
+
await iam.send(new client_iam_1.ListUsersCommand({ MaxItems: 1 }));
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
348
|
+
catch {
|
|
349
|
+
return false;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
323
352
|
/**
|
|
324
353
|
* Get ECR authorization token via SDK (runs on dev machine).
|
|
325
354
|
* Returns credentials for docker login — no AWS CLI needed on server.
|