@factiii/stack 0.1.34 → 0.1.36
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/README.md +1 -1
- package/bin/stack +46 -0
- package/dist/cli/fix.js +10 -10
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +20 -7
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/scan.d.ts.map +1 -1
- package/dist/cli/scan.js +14 -22
- package/dist/cli/scan.js.map +1 -1
- package/dist/generators/generate-stack-yml.d.ts +1 -1
- package/dist/generators/generate-stack-yml.d.ts.map +1 -1
- package/dist/generators/generate-stack-yml.js +60 -33
- package/dist/generators/generate-stack-yml.js.map +1 -1
- package/dist/plugins/addons/openclaw/index.d.ts +45 -0
- package/dist/plugins/addons/openclaw/index.d.ts.map +1 -0
- package/dist/plugins/addons/openclaw/index.js +107 -0
- package/dist/plugins/addons/openclaw/index.js.map +1 -0
- package/dist/plugins/addons/openclaw/scanfix/setup.d.ts +19 -0
- package/dist/plugins/addons/openclaw/scanfix/setup.d.ts.map +1 -0
- package/dist/plugins/addons/openclaw/scanfix/setup.js +475 -0
- package/dist/plugins/addons/openclaw/scanfix/setup.js.map +1 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +8 -0
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/pipelines/aws/index.js +3 -3
- package/dist/plugins/pipelines/aws/prod.js +2 -2
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts +3 -1
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.js +17 -7
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts +1 -1
- package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/credentials.js +27 -73
- package/dist/plugins/pipelines/aws/scanfix/credentials.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/db-replication.d.ts +1 -4
- package/dist/plugins/pipelines/aws/scanfix/db-replication.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/db-replication.js +9 -39
- package/dist/plugins/pipelines/aws/scanfix/db-replication.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ec2.js +61 -110
- package/dist/plugins/pipelines/aws/scanfix/ec2.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ecr.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ecr.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ecr.js +25 -34
- package/dist/plugins/pipelines/aws/scanfix/ecr.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/iam.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.js +35 -44
- package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/rds.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/rds.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/rds.js +39 -104
- package/dist/plugins/pipelines/aws/scanfix/rds.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/s3.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/s3.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/s3.js +44 -53
- package/dist/plugins/pipelines/aws/scanfix/s3.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/security-groups.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/security-groups.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/security-groups.js +80 -79
- package/dist/plugins/pipelines/aws/scanfix/security-groups.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ses.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ses.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ses.js +28 -50
- package/dist/plugins/pipelines/aws/scanfix/ses.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ssh-bridge.d.ts +17 -0
- package/dist/plugins/pipelines/aws/scanfix/ssh-bridge.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/ssh-bridge.js +180 -0
- package/dist/plugins/pipelines/aws/scanfix/ssh-bridge.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/vpc.d.ts +1 -0
- package/dist/plugins/pipelines/aws/scanfix/vpc.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/vpc.js +93 -94
- package/dist/plugins/pipelines/aws/scanfix/vpc.js.map +1 -1
- package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts +101 -28
- package/dist/plugins/pipelines/aws/utils/aws-helpers.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/utils/aws-helpers.js +428 -76
- package/dist/plugins/pipelines/aws/utils/aws-helpers.js.map +1 -1
- package/dist/plugins/pipelines/factiii/index.d.ts +11 -1
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/index.js +183 -33
- package/dist/plugins/pipelines/factiii/index.js.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/config.js +4 -4
- package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js +68 -8
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -1
- package/dist/plugins/servers/mac/index.js +1 -1
- package/dist/plugins/servers/mac/staging.js +2 -2
- package/dist/scanfix/fixes/certbot.js +1 -1
- package/dist/scripts/validate-example-values.d.ts +1 -1
- package/dist/scripts/validate-example-values.js +6 -6
- package/dist/utils/config-helpers.d.ts +3 -0
- package/dist/utils/config-helpers.d.ts.map +1 -1
- package/dist/utils/config-helpers.js.map +1 -1
- package/dist/utils/secret-prompts.d.ts +5 -2
- package/dist/utils/secret-prompts.d.ts.map +1 -1
- package/dist/utils/secret-prompts.js +27 -4
- package/dist/utils/secret-prompts.js.map +1 -1
- package/dist/utils/template-generator.js +14 -14
- package/package.json +95 -88
|
@@ -2,72 +2,146 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* AWS Helper Utilities
|
|
4
4
|
*
|
|
5
|
-
* Shared functions for AWS
|
|
6
|
-
*
|
|
5
|
+
* Shared functions for AWS SDK operations used across all AWS scanfix files.
|
|
6
|
+
* Uses AWS SDK v3 clients instead of AWS CLI.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
9
|
+
exports.GetAuthorizationTokenCommand = 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.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;
|
|
10
|
+
exports.GetSendQuotaCommand = exports.GetIdentityDkimAttributesCommand = exports.VerifyDomainDkimCommand = exports.GetIdentityVerificationAttributesCommand = exports.VerifyDomainIdentityCommand = exports.SESClient = void 0;
|
|
11
|
+
exports.getEC2Client = getEC2Client;
|
|
12
|
+
exports.getSTSClient = getSTSClient;
|
|
13
|
+
exports.getIAMClient = getIAMClient;
|
|
14
|
+
exports.getRDSClient = getRDSClient;
|
|
15
|
+
exports.getS3Client = getS3Client;
|
|
16
|
+
exports.getECRClient = getECRClient;
|
|
17
|
+
exports.getSESClient = getSESClient;
|
|
18
|
+
exports.buildTags = buildTags;
|
|
12
19
|
exports.tagSpec = tagSpec;
|
|
20
|
+
exports.projectFilter = projectFilter;
|
|
13
21
|
exports.getAwsConfig = getAwsConfig;
|
|
14
22
|
exports.isOnServer = isOnServer;
|
|
15
|
-
exports.isAwsCliInstalled = isAwsCliInstalled;
|
|
16
|
-
exports.getAwsAccountId = getAwsAccountId;
|
|
17
23
|
exports.getProjectName = getProjectName;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
exports.getAwsAccountId = getAwsAccountId;
|
|
25
|
+
exports.findVpc = findVpc;
|
|
26
|
+
exports.findSubnet = findSubnet;
|
|
27
|
+
exports.findPrivateSubnets = findPrivateSubnets;
|
|
28
|
+
exports.findSecurityGroup = findSecurityGroup;
|
|
29
|
+
exports.findKeyPair = findKeyPair;
|
|
30
|
+
exports.findInstance = findInstance;
|
|
31
|
+
exports.findElasticIp = findElasticIp;
|
|
32
|
+
exports.findIgw = findIgw;
|
|
33
|
+
exports.findDbSubnetGroup = findDbSubnetGroup;
|
|
34
|
+
exports.findRdsInstance = findRdsInstance;
|
|
35
|
+
exports.findRdsEndpoint = findRdsEndpoint;
|
|
36
|
+
exports.findEcrRepo = findEcrRepo;
|
|
37
|
+
exports.findBucket = findBucket;
|
|
38
|
+
exports.findIamUser = findIamUser;
|
|
39
|
+
exports.isDomainVerified = isDomainVerified;
|
|
40
|
+
exports.hasDkim = hasDkim;
|
|
41
|
+
exports.hasCors = hasCors;
|
|
42
|
+
exports.isAwsConfigured = isAwsConfigured;
|
|
43
|
+
const client_ec2_1 = require("@aws-sdk/client-ec2");
|
|
44
|
+
Object.defineProperty(exports, "EC2Client", { enumerable: true, get: function () { return client_ec2_1.EC2Client; } });
|
|
45
|
+
Object.defineProperty(exports, "DescribeVpcsCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeVpcsCommand; } });
|
|
46
|
+
Object.defineProperty(exports, "DescribeSubnetsCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeSubnetsCommand; } });
|
|
47
|
+
Object.defineProperty(exports, "DescribeSecurityGroupsCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeSecurityGroupsCommand; } });
|
|
48
|
+
Object.defineProperty(exports, "DescribeInstancesCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeInstancesCommand; } });
|
|
49
|
+
Object.defineProperty(exports, "DescribeKeyPairsCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeKeyPairsCommand; } });
|
|
50
|
+
Object.defineProperty(exports, "DescribeAddressesCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeAddressesCommand; } });
|
|
51
|
+
Object.defineProperty(exports, "DescribeInternetGatewaysCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeInternetGatewaysCommand; } });
|
|
52
|
+
Object.defineProperty(exports, "DescribeAvailabilityZonesCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeAvailabilityZonesCommand; } });
|
|
53
|
+
Object.defineProperty(exports, "DescribeImagesCommand", { enumerable: true, get: function () { return client_ec2_1.DescribeImagesCommand; } });
|
|
54
|
+
Object.defineProperty(exports, "CreateVpcCommand", { enumerable: true, get: function () { return client_ec2_1.CreateVpcCommand; } });
|
|
55
|
+
Object.defineProperty(exports, "ModifyVpcAttributeCommand", { enumerable: true, get: function () { return client_ec2_1.ModifyVpcAttributeCommand; } });
|
|
56
|
+
Object.defineProperty(exports, "CreateSubnetCommand", { enumerable: true, get: function () { return client_ec2_1.CreateSubnetCommand; } });
|
|
57
|
+
Object.defineProperty(exports, "ModifySubnetAttributeCommand", { enumerable: true, get: function () { return client_ec2_1.ModifySubnetAttributeCommand; } });
|
|
58
|
+
Object.defineProperty(exports, "CreateInternetGatewayCommand", { enumerable: true, get: function () { return client_ec2_1.CreateInternetGatewayCommand; } });
|
|
59
|
+
Object.defineProperty(exports, "AttachInternetGatewayCommand", { enumerable: true, get: function () { return client_ec2_1.AttachInternetGatewayCommand; } });
|
|
60
|
+
Object.defineProperty(exports, "CreateRouteTableCommand", { enumerable: true, get: function () { return client_ec2_1.CreateRouteTableCommand; } });
|
|
61
|
+
Object.defineProperty(exports, "CreateRouteCommand", { enumerable: true, get: function () { return client_ec2_1.CreateRouteCommand; } });
|
|
62
|
+
Object.defineProperty(exports, "AssociateRouteTableCommand", { enumerable: true, get: function () { return client_ec2_1.AssociateRouteTableCommand; } });
|
|
63
|
+
Object.defineProperty(exports, "CreateSecurityGroupCommand", { enumerable: true, get: function () { return client_ec2_1.CreateSecurityGroupCommand; } });
|
|
64
|
+
Object.defineProperty(exports, "AuthorizeSecurityGroupIngressCommand", { enumerable: true, get: function () { return client_ec2_1.AuthorizeSecurityGroupIngressCommand; } });
|
|
65
|
+
Object.defineProperty(exports, "CreateKeyPairCommand", { enumerable: true, get: function () { return client_ec2_1.CreateKeyPairCommand; } });
|
|
66
|
+
Object.defineProperty(exports, "RunInstancesCommand", { enumerable: true, get: function () { return client_ec2_1.RunInstancesCommand; } });
|
|
67
|
+
Object.defineProperty(exports, "AllocateAddressCommand", { enumerable: true, get: function () { return client_ec2_1.AllocateAddressCommand; } });
|
|
68
|
+
Object.defineProperty(exports, "AssociateAddressCommand", { enumerable: true, get: function () { return client_ec2_1.AssociateAddressCommand; } });
|
|
69
|
+
Object.defineProperty(exports, "waitUntilInstanceRunning", { enumerable: true, get: function () { return client_ec2_1.waitUntilInstanceRunning; } });
|
|
70
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
71
|
+
Object.defineProperty(exports, "STSClient", { enumerable: true, get: function () { return client_sts_1.STSClient; } });
|
|
72
|
+
Object.defineProperty(exports, "GetCallerIdentityCommand", { enumerable: true, get: function () { return client_sts_1.GetCallerIdentityCommand; } });
|
|
73
|
+
const client_iam_1 = require("@aws-sdk/client-iam");
|
|
74
|
+
Object.defineProperty(exports, "IAMClient", { enumerable: true, get: function () { return client_iam_1.IAMClient; } });
|
|
75
|
+
Object.defineProperty(exports, "GetUserCommand", { enumerable: true, get: function () { return client_iam_1.GetUserCommand; } });
|
|
76
|
+
Object.defineProperty(exports, "CreateUserCommand", { enumerable: true, get: function () { return client_iam_1.CreateUserCommand; } });
|
|
77
|
+
Object.defineProperty(exports, "PutUserPolicyCommand", { enumerable: true, get: function () { return client_iam_1.PutUserPolicyCommand; } });
|
|
78
|
+
Object.defineProperty(exports, "CreateAccessKeyCommand", { enumerable: true, get: function () { return client_iam_1.CreateAccessKeyCommand; } });
|
|
79
|
+
const client_rds_1 = require("@aws-sdk/client-rds");
|
|
80
|
+
Object.defineProperty(exports, "RDSClient", { enumerable: true, get: function () { return client_rds_1.RDSClient; } });
|
|
81
|
+
Object.defineProperty(exports, "DescribeDBSubnetGroupsCommand", { enumerable: true, get: function () { return client_rds_1.DescribeDBSubnetGroupsCommand; } });
|
|
82
|
+
Object.defineProperty(exports, "CreateDBSubnetGroupCommand", { enumerable: true, get: function () { return client_rds_1.CreateDBSubnetGroupCommand; } });
|
|
83
|
+
Object.defineProperty(exports, "DescribeDBInstancesCommand", { enumerable: true, get: function () { return client_rds_1.DescribeDBInstancesCommand; } });
|
|
84
|
+
Object.defineProperty(exports, "CreateDBInstanceCommand", { enumerable: true, get: function () { return client_rds_1.CreateDBInstanceCommand; } });
|
|
85
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
86
|
+
Object.defineProperty(exports, "S3Client", { enumerable: true, get: function () { return client_s3_1.S3Client; } });
|
|
87
|
+
Object.defineProperty(exports, "HeadBucketCommand", { enumerable: true, get: function () { return client_s3_1.HeadBucketCommand; } });
|
|
88
|
+
Object.defineProperty(exports, "CreateBucketCommand", { enumerable: true, get: function () { return client_s3_1.CreateBucketCommand; } });
|
|
89
|
+
Object.defineProperty(exports, "PutPublicAccessBlockCommand", { enumerable: true, get: function () { return client_s3_1.PutPublicAccessBlockCommand; } });
|
|
90
|
+
Object.defineProperty(exports, "PutBucketEncryptionCommand", { enumerable: true, get: function () { return client_s3_1.PutBucketEncryptionCommand; } });
|
|
91
|
+
Object.defineProperty(exports, "GetBucketCorsCommand", { enumerable: true, get: function () { return client_s3_1.GetBucketCorsCommand; } });
|
|
92
|
+
Object.defineProperty(exports, "PutBucketCorsCommand", { enumerable: true, get: function () { return client_s3_1.PutBucketCorsCommand; } });
|
|
93
|
+
const client_ecr_1 = require("@aws-sdk/client-ecr");
|
|
94
|
+
Object.defineProperty(exports, "ECRClient", { enumerable: true, get: function () { return client_ecr_1.ECRClient; } });
|
|
95
|
+
Object.defineProperty(exports, "DescribeRepositoriesCommand", { enumerable: true, get: function () { return client_ecr_1.DescribeRepositoriesCommand; } });
|
|
96
|
+
Object.defineProperty(exports, "CreateRepositoryCommand", { enumerable: true, get: function () { return client_ecr_1.CreateRepositoryCommand; } });
|
|
97
|
+
Object.defineProperty(exports, "PutLifecyclePolicyCommand", { enumerable: true, get: function () { return client_ecr_1.PutLifecyclePolicyCommand; } });
|
|
98
|
+
Object.defineProperty(exports, "GetAuthorizationTokenCommand", { enumerable: true, get: function () { return client_ecr_1.GetAuthorizationTokenCommand; } });
|
|
99
|
+
const client_ses_1 = require("@aws-sdk/client-ses");
|
|
100
|
+
Object.defineProperty(exports, "SESClient", { enumerable: true, get: function () { return client_ses_1.SESClient; } });
|
|
101
|
+
Object.defineProperty(exports, "VerifyDomainIdentityCommand", { enumerable: true, get: function () { return client_ses_1.VerifyDomainIdentityCommand; } });
|
|
102
|
+
Object.defineProperty(exports, "GetIdentityVerificationAttributesCommand", { enumerable: true, get: function () { return client_ses_1.GetIdentityVerificationAttributesCommand; } });
|
|
103
|
+
Object.defineProperty(exports, "VerifyDomainDkimCommand", { enumerable: true, get: function () { return client_ses_1.VerifyDomainDkimCommand; } });
|
|
104
|
+
Object.defineProperty(exports, "GetIdentityDkimAttributesCommand", { enumerable: true, get: function () { return client_ses_1.GetIdentityDkimAttributesCommand; } });
|
|
105
|
+
Object.defineProperty(exports, "GetSendQuotaCommand", { enumerable: true, get: function () { return client_ses_1.GetSendQuotaCommand; } });
|
|
106
|
+
// ============================================================
|
|
107
|
+
// CLIENT FACTORIES — cached per region
|
|
108
|
+
// ============================================================
|
|
109
|
+
const clientCache = {};
|
|
110
|
+
function getCachedClient(ClientClass, region) {
|
|
111
|
+
const key = ClientClass.name + ':' + region;
|
|
112
|
+
if (!clientCache[key]) {
|
|
113
|
+
clientCache[key] = new ClientClass({ region });
|
|
38
114
|
}
|
|
115
|
+
return clientCache[key];
|
|
39
116
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
*/
|
|
43
|
-
function awsExecSafe(cmd, region) {
|
|
44
|
-
try {
|
|
45
|
-
return awsExec(cmd, region);
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
117
|
+
function getEC2Client(region) {
|
|
118
|
+
return getCachedClient(client_ec2_1.EC2Client, region);
|
|
50
119
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return parsed;
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
120
|
+
function getSTSClient(region) {
|
|
121
|
+
return getCachedClient(client_sts_1.STSClient, region);
|
|
122
|
+
}
|
|
123
|
+
function getIAMClient(region) {
|
|
124
|
+
return getCachedClient(client_iam_1.IAMClient, region);
|
|
125
|
+
}
|
|
126
|
+
function getRDSClient(region) {
|
|
127
|
+
return getCachedClient(client_rds_1.RDSClient, region);
|
|
64
128
|
}
|
|
129
|
+
function getS3Client(region) {
|
|
130
|
+
return getCachedClient(client_s3_1.S3Client, region);
|
|
131
|
+
}
|
|
132
|
+
function getECRClient(region) {
|
|
133
|
+
return getCachedClient(client_ecr_1.ECRClient, region);
|
|
134
|
+
}
|
|
135
|
+
function getSESClient(region) {
|
|
136
|
+
return getCachedClient(client_ses_1.SESClient, region);
|
|
137
|
+
}
|
|
138
|
+
// ============================================================
|
|
139
|
+
// TAGGING HELPERS
|
|
140
|
+
// ============================================================
|
|
65
141
|
/**
|
|
66
|
-
*
|
|
67
|
-
* Tags resources with factiii:project={name} and factiii:managed=true
|
|
68
|
-
* Uses JSON format to avoid shell parsing issues with colons in tag keys
|
|
142
|
+
* Build standard tags array for AWS resources
|
|
69
143
|
*/
|
|
70
|
-
function
|
|
144
|
+
function buildTags(projectName, extraTags) {
|
|
71
145
|
const tags = [
|
|
72
146
|
{ Key: 'factiii:project', Value: projectName },
|
|
73
147
|
{ Key: 'factiii:managed', Value: 'true' },
|
|
@@ -78,15 +152,30 @@ function tagSpec(resourceType, projectName, extraTags) {
|
|
|
78
152
|
tags.push({ Key: key, Value: value });
|
|
79
153
|
}
|
|
80
154
|
}
|
|
81
|
-
|
|
82
|
-
|
|
155
|
+
return tags;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Build TagSpecification for resource creation
|
|
159
|
+
*/
|
|
160
|
+
function tagSpec(resourceType, projectName, extraTags) {
|
|
161
|
+
return {
|
|
162
|
+
ResourceType: resourceType,
|
|
163
|
+
Tags: buildTags(projectName, extraTags),
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Build a filter for factiii:project tag
|
|
168
|
+
*/
|
|
169
|
+
function projectFilter(projectName) {
|
|
170
|
+
return { Name: 'tag:factiii:project', Values: [projectName] };
|
|
83
171
|
}
|
|
172
|
+
// ============================================================
|
|
173
|
+
// CONFIG HELPERS
|
|
174
|
+
// ============================================================
|
|
84
175
|
/**
|
|
85
176
|
* Extract AWS configuration from a FactiiiConfig
|
|
86
|
-
* Checks both top-level config.aws and per-environment aws settings
|
|
87
177
|
*/
|
|
88
178
|
function getAwsConfig(config) {
|
|
89
|
-
// Check top-level aws config first
|
|
90
179
|
const topLevel = config.aws;
|
|
91
180
|
if (topLevel) {
|
|
92
181
|
return {
|
|
@@ -95,7 +184,6 @@ function getAwsConfig(config) {
|
|
|
95
184
|
accessKeyId: topLevel.access_key_id,
|
|
96
185
|
};
|
|
97
186
|
}
|
|
98
|
-
// Check per-environment configs
|
|
99
187
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
100
188
|
const { extractEnvironments } = require('../../../../utils/config-helpers.js');
|
|
101
189
|
const environments = extractEnvironments(config);
|
|
@@ -108,47 +196,311 @@ function getAwsConfig(config) {
|
|
|
108
196
|
};
|
|
109
197
|
}
|
|
110
198
|
}
|
|
111
|
-
// Default
|
|
112
199
|
return { region: 'us-east-1', configType: 'ec2' };
|
|
113
200
|
}
|
|
114
201
|
/**
|
|
115
|
-
* Check if AWS provisioning
|
|
116
|
-
* AWS provisioning (VPC, EC2, RDS, etc.) only runs from the dev machine.
|
|
117
|
-
* When on the server (FACTIII_ON_SERVER=true), skip provisioning — only server-level fixes run.
|
|
202
|
+
* Check if running on server (skip AWS provisioning)
|
|
118
203
|
*/
|
|
119
204
|
function isOnServer() {
|
|
120
205
|
return process.env.FACTIII_ON_SERVER === 'true' || process.env.GITHUB_ACTIONS === 'true';
|
|
121
206
|
}
|
|
122
207
|
/**
|
|
123
|
-
*
|
|
208
|
+
* Get project name for tagging
|
|
124
209
|
*/
|
|
125
|
-
function
|
|
210
|
+
function getProjectName(config) {
|
|
211
|
+
return config.name ?? 'app';
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get AWS account ID via STS
|
|
215
|
+
*/
|
|
216
|
+
async function getAwsAccountId(region) {
|
|
126
217
|
try {
|
|
127
|
-
|
|
128
|
-
|
|
218
|
+
const sts = getSTSClient(region);
|
|
219
|
+
const result = await sts.send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
220
|
+
return result.Account ?? null;
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// ============================================================
|
|
227
|
+
// SHARED RESOURCE LOOKUP HELPERS
|
|
228
|
+
// ============================================================
|
|
229
|
+
/**
|
|
230
|
+
* Find VPC by factiii:project tag
|
|
231
|
+
*/
|
|
232
|
+
async function findVpc(projectName, region) {
|
|
233
|
+
try {
|
|
234
|
+
const ec2 = getEC2Client(region);
|
|
235
|
+
const result = await ec2.send(new client_ec2_1.DescribeVpcsCommand({
|
|
236
|
+
Filters: [projectFilter(projectName)],
|
|
237
|
+
}));
|
|
238
|
+
return result.Vpcs?.[0]?.VpcId ?? null;
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Find subnet by tag and type
|
|
246
|
+
*/
|
|
247
|
+
async function findSubnet(projectName, region, type) {
|
|
248
|
+
try {
|
|
249
|
+
const ec2 = getEC2Client(region);
|
|
250
|
+
const result = await ec2.send(new client_ec2_1.DescribeSubnetsCommand({
|
|
251
|
+
Filters: [
|
|
252
|
+
projectFilter(projectName),
|
|
253
|
+
{ Name: 'tag:factiii:subnet-type', Values: [type] },
|
|
254
|
+
],
|
|
255
|
+
}));
|
|
256
|
+
return result.Subnets?.[0]?.SubnetId ?? null;
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
return null;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Find all private subnets
|
|
264
|
+
*/
|
|
265
|
+
async function findPrivateSubnets(projectName, region) {
|
|
266
|
+
try {
|
|
267
|
+
const ec2 = getEC2Client(region);
|
|
268
|
+
const result = await ec2.send(new client_ec2_1.DescribeSubnetsCommand({
|
|
269
|
+
Filters: [
|
|
270
|
+
projectFilter(projectName),
|
|
271
|
+
{ Name: 'tag:factiii:subnet-type', Values: ['private'] },
|
|
272
|
+
],
|
|
273
|
+
}));
|
|
274
|
+
return (result.Subnets ?? []).map(s => s.SubnetId).filter(Boolean);
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
return [];
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Find security group by name and VPC
|
|
282
|
+
*/
|
|
283
|
+
async function findSecurityGroup(groupName, vpcId, region) {
|
|
284
|
+
try {
|
|
285
|
+
const ec2 = getEC2Client(region);
|
|
286
|
+
const result = await ec2.send(new client_ec2_1.DescribeSecurityGroupsCommand({
|
|
287
|
+
Filters: [
|
|
288
|
+
{ Name: 'group-name', Values: [groupName] },
|
|
289
|
+
{ Name: 'vpc-id', Values: [vpcId] },
|
|
290
|
+
],
|
|
291
|
+
}));
|
|
292
|
+
return result.SecurityGroups?.[0]?.GroupId ?? null;
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Find EC2 key pair by name
|
|
300
|
+
*/
|
|
301
|
+
async function findKeyPair(keyName, region) {
|
|
302
|
+
try {
|
|
303
|
+
const ec2 = getEC2Client(region);
|
|
304
|
+
const result = await ec2.send(new client_ec2_1.DescribeKeyPairsCommand({
|
|
305
|
+
KeyNames: [keyName],
|
|
306
|
+
}));
|
|
307
|
+
return (result.KeyPairs?.length ?? 0) > 0;
|
|
129
308
|
}
|
|
130
309
|
catch {
|
|
131
310
|
return false;
|
|
132
311
|
}
|
|
133
312
|
}
|
|
134
313
|
/**
|
|
135
|
-
*
|
|
136
|
-
* Returns the account ID if valid, null otherwise
|
|
314
|
+
* Find running/stopped EC2 instance by tag
|
|
137
315
|
*/
|
|
138
|
-
function
|
|
316
|
+
async function findInstance(projectName, region) {
|
|
139
317
|
try {
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
318
|
+
const ec2 = getEC2Client(region);
|
|
319
|
+
const result = await ec2.send(new client_ec2_1.DescribeInstancesCommand({
|
|
320
|
+
Filters: [
|
|
321
|
+
projectFilter(projectName),
|
|
322
|
+
{ Name: 'instance-state-name', Values: ['running', 'stopped'] },
|
|
323
|
+
],
|
|
324
|
+
}));
|
|
325
|
+
return result.Reservations?.[0]?.Instances?.[0]?.InstanceId ?? null;
|
|
143
326
|
}
|
|
144
327
|
catch {
|
|
145
328
|
return null;
|
|
146
329
|
}
|
|
147
330
|
}
|
|
148
331
|
/**
|
|
149
|
-
*
|
|
332
|
+
* Find Elastic IP associated with an instance
|
|
150
333
|
*/
|
|
151
|
-
function
|
|
152
|
-
|
|
334
|
+
async function findElasticIp(instanceId, region) {
|
|
335
|
+
try {
|
|
336
|
+
const ec2 = getEC2Client(region);
|
|
337
|
+
const result = await ec2.send(new client_ec2_1.DescribeAddressesCommand({
|
|
338
|
+
Filters: [{ Name: 'instance-id', Values: [instanceId] }],
|
|
339
|
+
}));
|
|
340
|
+
return result.Addresses?.[0]?.PublicIp ?? null;
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Find internet gateway attached to VPC
|
|
348
|
+
*/
|
|
349
|
+
async function findIgw(vpcId, region) {
|
|
350
|
+
try {
|
|
351
|
+
const ec2 = getEC2Client(region);
|
|
352
|
+
const result = await ec2.send(new client_ec2_1.DescribeInternetGatewaysCommand({
|
|
353
|
+
Filters: [{ Name: 'attachment.vpc-id', Values: [vpcId] }],
|
|
354
|
+
}));
|
|
355
|
+
return result.InternetGateways?.[0]?.InternetGatewayId ?? null;
|
|
356
|
+
}
|
|
357
|
+
catch {
|
|
358
|
+
return null;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Find DB subnet group
|
|
363
|
+
*/
|
|
364
|
+
async function findDbSubnetGroup(groupName, region) {
|
|
365
|
+
try {
|
|
366
|
+
const rds = getRDSClient(region);
|
|
367
|
+
const result = await rds.send(new client_rds_1.DescribeDBSubnetGroupsCommand({
|
|
368
|
+
DBSubnetGroupName: groupName,
|
|
369
|
+
}));
|
|
370
|
+
return (result.DBSubnetGroups?.length ?? 0) > 0;
|
|
371
|
+
}
|
|
372
|
+
catch {
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Find RDS instance by identifier
|
|
378
|
+
*/
|
|
379
|
+
async function findRdsInstance(dbInstanceId, region) {
|
|
380
|
+
try {
|
|
381
|
+
const rds = getRDSClient(region);
|
|
382
|
+
const result = await rds.send(new client_rds_1.DescribeDBInstancesCommand({
|
|
383
|
+
DBInstanceIdentifier: dbInstanceId,
|
|
384
|
+
}));
|
|
385
|
+
const instance = result.DBInstances?.[0];
|
|
386
|
+
if (!instance)
|
|
387
|
+
return null;
|
|
388
|
+
return {
|
|
389
|
+
status: instance.DBInstanceStatus ?? 'unknown',
|
|
390
|
+
endpoint: instance.Endpoint?.Address ?? null,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
catch {
|
|
394
|
+
return null;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Find RDS instance endpoint
|
|
399
|
+
*/
|
|
400
|
+
async function findRdsEndpoint(projectName, region) {
|
|
401
|
+
const dbId = 'factiii-' + projectName + '-db';
|
|
402
|
+
const instance = await findRdsInstance(dbId, region);
|
|
403
|
+
return instance?.endpoint ?? null;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Check if ECR repository exists
|
|
407
|
+
*/
|
|
408
|
+
async function findEcrRepo(repoName, region) {
|
|
409
|
+
try {
|
|
410
|
+
const ecr = getECRClient(region);
|
|
411
|
+
await ecr.send(new client_ecr_1.DescribeRepositoriesCommand({
|
|
412
|
+
repositoryNames: [repoName],
|
|
413
|
+
}));
|
|
414
|
+
return true;
|
|
415
|
+
}
|
|
416
|
+
catch {
|
|
417
|
+
return false;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Check if S3 bucket exists
|
|
422
|
+
*/
|
|
423
|
+
async function findBucket(bucketName, region) {
|
|
424
|
+
try {
|
|
425
|
+
const s3 = getS3Client(region);
|
|
426
|
+
await s3.send(new client_s3_1.HeadBucketCommand({ Bucket: bucketName }));
|
|
427
|
+
return true;
|
|
428
|
+
}
|
|
429
|
+
catch {
|
|
430
|
+
return false;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Check if IAM user exists
|
|
435
|
+
*/
|
|
436
|
+
async function findIamUser(userName, region) {
|
|
437
|
+
try {
|
|
438
|
+
const iam = getIAMClient(region);
|
|
439
|
+
await iam.send(new client_iam_1.GetUserCommand({ UserName: userName }));
|
|
440
|
+
return true;
|
|
441
|
+
}
|
|
442
|
+
catch {
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Check if domain is verified in SES
|
|
448
|
+
*/
|
|
449
|
+
async function isDomainVerified(domain, region) {
|
|
450
|
+
try {
|
|
451
|
+
const ses = getSESClient(region);
|
|
452
|
+
const result = await ses.send(new client_ses_1.GetIdentityVerificationAttributesCommand({
|
|
453
|
+
Identities: [domain],
|
|
454
|
+
}));
|
|
455
|
+
return result.VerificationAttributes?.[domain]?.VerificationStatus === 'Success';
|
|
456
|
+
}
|
|
457
|
+
catch {
|
|
458
|
+
return false;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Check if DKIM is configured for domain
|
|
463
|
+
*/
|
|
464
|
+
async function hasDkim(domain, region) {
|
|
465
|
+
try {
|
|
466
|
+
const ses = getSESClient(region);
|
|
467
|
+
const result = await ses.send(new client_ses_1.GetIdentityDkimAttributesCommand({
|
|
468
|
+
Identities: [domain],
|
|
469
|
+
}));
|
|
470
|
+
return result.DkimAttributes?.[domain]?.DkimEnabled === true;
|
|
471
|
+
}
|
|
472
|
+
catch {
|
|
473
|
+
return false;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Check if S3 bucket has CORS configured
|
|
478
|
+
*/
|
|
479
|
+
async function hasCors(bucketName, region) {
|
|
480
|
+
try {
|
|
481
|
+
const s3 = getS3Client(region);
|
|
482
|
+
const result = await s3.send(new client_s3_1.GetBucketCorsCommand({ Bucket: bucketName }));
|
|
483
|
+
return (result.CORSRules?.length ?? 0) > 0;
|
|
484
|
+
}
|
|
485
|
+
catch {
|
|
486
|
+
return false;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Check if AWS is configured for this project (shared guard)
|
|
491
|
+
*/
|
|
492
|
+
function isAwsConfigured(config) {
|
|
493
|
+
if (isOnServer())
|
|
494
|
+
return false;
|
|
495
|
+
if (config.aws)
|
|
496
|
+
return true;
|
|
497
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
498
|
+
const { extractEnvironments } = require('../../../../utils/config-helpers.js');
|
|
499
|
+
const environments = extractEnvironments(config);
|
|
500
|
+
return Object.values(environments).some((e) => {
|
|
501
|
+
const env = e;
|
|
502
|
+
return env.pipeline === 'aws' || !!env.access_key_id ||
|
|
503
|
+
(!!env.config && ['ec2', 'free-tier', 'standard', 'enterprise'].includes(env.config));
|
|
504
|
+
});
|
|
153
505
|
}
|
|
154
506
|
//# sourceMappingURL=aws-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-helpers.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/utils/aws-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aws-helpers.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/utils/aws-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
* - secrets.ts: When checking GitHub Secrets (secrets stage)
|
|
43
43
|
* ============================================================
|
|
44
44
|
*/
|
|
45
|
-
import type { FactiiiConfig, Stage, Reachability, Fix, DeployResult, DeployOptions, EnvironmentConfig, PluginCommand } from '../../../types/index.js';
|
|
45
|
+
import type { FactiiiConfig, Stage, Reachability, Fix, DeployResult, DeployOptions, EnvironmentConfig, PluginCommand, CommandResult } from '../../../types/index.js';
|
|
46
46
|
import * as detectionUtils from './utils/detection.js';
|
|
47
47
|
declare class FactiiiPipeline {
|
|
48
48
|
static readonly id = "factiii";
|
|
@@ -113,6 +113,16 @@ declare class FactiiiPipeline {
|
|
|
113
113
|
* @param useNpx - Whether to prefix with npx (false for pnpm commands)
|
|
114
114
|
*/
|
|
115
115
|
static runDbCommand(command: string, stage: Stage, config: FactiiiConfig, rootDir: string, useNpx?: boolean): void;
|
|
116
|
+
/**
|
|
117
|
+
* Change the Ansible Vault password for the configured vault file.
|
|
118
|
+
*
|
|
119
|
+
* This runs locally on the dev machine (secrets stage) and uses:
|
|
120
|
+
* ansible-vault rekey <vault_path> --vault-password-file <old> --new-vault-password-file <new>
|
|
121
|
+
*
|
|
122
|
+
* It then overwrites the configured vault_password_file with the new password
|
|
123
|
+
* so future commands use the updated password.
|
|
124
|
+
*/
|
|
125
|
+
static changeVaultPassword(config: FactiiiConfig, rootDir: string): Promise<CommandResult>;
|
|
116
126
|
static readonly commands: PluginCommand[];
|
|
117
127
|
/**
|
|
118
128
|
* Auto-detect pipeline configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/factiii/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EACL,YAAY,EACZ,GAAG,EACH,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pipelines/factiii/index.ts"],"names":[],"mappings":"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"}
|