@factiii/stack 0.1.34 → 0.1.35
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 +441 -441
- 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 +96 -69
- 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 +441 -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 +15 -15
- package/dist/plugins/pipelines/aws/prod.js +7 -7
- 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 +13 -13
- package/dist/plugins/servers/mac/staging.js +4 -4
- 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 +55 -32
- package/dist/utils/secret-prompts.js.map +1 -1
- package/dist/utils/template-generator.js +71 -71
- package/package.json +8 -1
|
@@ -1,34 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AWS Helper Utilities
|
|
3
3
|
*
|
|
4
|
-
* Shared functions for AWS
|
|
5
|
-
*
|
|
4
|
+
* Shared functions for AWS SDK operations used across all AWS scanfix files.
|
|
5
|
+
* Uses AWS SDK v3 clients instead of AWS CLI.
|
|
6
6
|
*/
|
|
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
|
+
import { STSClient, GetCallerIdentityCommand } from '@aws-sdk/client-sts';
|
|
9
|
+
import { IAMClient, GetUserCommand, CreateUserCommand, PutUserPolicyCommand, CreateAccessKeyCommand } from '@aws-sdk/client-iam';
|
|
10
|
+
import { RDSClient, DescribeDBSubnetGroupsCommand, CreateDBSubnetGroupCommand, DescribeDBInstancesCommand, CreateDBInstanceCommand } from '@aws-sdk/client-rds';
|
|
11
|
+
import { S3Client, HeadBucketCommand, CreateBucketCommand, PutPublicAccessBlockCommand, PutBucketEncryptionCommand, GetBucketCorsCommand, PutBucketCorsCommand } from '@aws-sdk/client-s3';
|
|
12
|
+
import { ECRClient, DescribeRepositoriesCommand, CreateRepositoryCommand, PutLifecyclePolicyCommand, GetAuthorizationTokenCommand } from '@aws-sdk/client-ecr';
|
|
13
|
+
import { SESClient, VerifyDomainIdentityCommand, GetIdentityVerificationAttributesCommand, VerifyDomainDkimCommand, GetIdentityDkimAttributesCommand, GetSendQuotaCommand } from '@aws-sdk/client-ses';
|
|
7
14
|
import type { FactiiiConfig } from '../../../../types/index.js';
|
|
15
|
+
export declare function getEC2Client(region: string): EC2Client;
|
|
16
|
+
export declare function getSTSClient(region: string): STSClient;
|
|
17
|
+
export declare function getIAMClient(region: string): IAMClient;
|
|
18
|
+
export declare function getRDSClient(region: string): RDSClient;
|
|
19
|
+
export declare function getS3Client(region: string): S3Client;
|
|
20
|
+
export declare function getECRClient(region: string): ECRClient;
|
|
21
|
+
export declare function getSESClient(region: string): SESClient;
|
|
8
22
|
/**
|
|
9
|
-
*
|
|
10
|
-
* Returns the stdout as a trimmed string
|
|
11
|
-
* Throws on failure
|
|
23
|
+
* Build standard tags array for AWS resources
|
|
12
24
|
*/
|
|
13
|
-
export declare function
|
|
25
|
+
export declare function buildTags(projectName: string, extraTags?: Record<string, string>): Tag[];
|
|
14
26
|
/**
|
|
15
|
-
*
|
|
27
|
+
* Build TagSpecification for resource creation
|
|
16
28
|
*/
|
|
17
|
-
export declare function
|
|
29
|
+
export declare function tagSpec(resourceType: string, projectName: string, extraTags?: Record<string, string>): TagSpecification;
|
|
18
30
|
/**
|
|
19
|
-
*
|
|
20
|
-
* Returns the resource data as parsed JSON, or null if not found
|
|
31
|
+
* Build a filter for factiii:project tag
|
|
21
32
|
*/
|
|
22
|
-
export declare function
|
|
23
|
-
/**
|
|
24
|
-
* Generate --tag-specifications string for AWS resource creation
|
|
25
|
-
* Tags resources with factiii:project={name} and factiii:managed=true
|
|
26
|
-
* Uses JSON format to avoid shell parsing issues with colons in tag keys
|
|
27
|
-
*/
|
|
28
|
-
export declare function tagSpec(resourceType: string, projectName: string, extraTags?: Record<string, string>): string;
|
|
33
|
+
export declare function projectFilter(projectName: string): Filter;
|
|
29
34
|
/**
|
|
30
35
|
* Extract AWS configuration from a FactiiiConfig
|
|
31
|
-
* Checks both top-level config.aws and per-environment aws settings
|
|
32
36
|
*/
|
|
33
37
|
export declare function getAwsConfig(config: FactiiiConfig): {
|
|
34
38
|
region: string;
|
|
@@ -36,22 +40,91 @@ export declare function getAwsConfig(config: FactiiiConfig): {
|
|
|
36
40
|
accessKeyId?: string;
|
|
37
41
|
};
|
|
38
42
|
/**
|
|
39
|
-
* Check if AWS provisioning
|
|
40
|
-
* AWS provisioning (VPC, EC2, RDS, etc.) only runs from the dev machine.
|
|
41
|
-
* When on the server (FACTIII_ON_SERVER=true), skip provisioning — only server-level fixes run.
|
|
43
|
+
* Check if running on server (skip AWS provisioning)
|
|
42
44
|
*/
|
|
43
45
|
export declare function isOnServer(): boolean;
|
|
44
46
|
/**
|
|
45
|
-
*
|
|
47
|
+
* Get project name for tagging
|
|
46
48
|
*/
|
|
47
|
-
export declare function
|
|
49
|
+
export declare function getProjectName(config: FactiiiConfig): string;
|
|
48
50
|
/**
|
|
49
|
-
*
|
|
50
|
-
* Returns the account ID if valid, null otherwise
|
|
51
|
+
* Get AWS account ID via STS
|
|
51
52
|
*/
|
|
52
|
-
export declare function getAwsAccountId(region
|
|
53
|
+
export declare function getAwsAccountId(region: string): Promise<string | null>;
|
|
53
54
|
/**
|
|
54
|
-
*
|
|
55
|
+
* Find VPC by factiii:project tag
|
|
55
56
|
*/
|
|
56
|
-
export declare function
|
|
57
|
+
export declare function findVpc(projectName: string, region: string): Promise<string | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Find subnet by tag and type
|
|
60
|
+
*/
|
|
61
|
+
export declare function findSubnet(projectName: string, region: string, type: string): Promise<string | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Find all private subnets
|
|
64
|
+
*/
|
|
65
|
+
export declare function findPrivateSubnets(projectName: string, region: string): Promise<string[]>;
|
|
66
|
+
/**
|
|
67
|
+
* Find security group by name and VPC
|
|
68
|
+
*/
|
|
69
|
+
export declare function findSecurityGroup(groupName: string, vpcId: string, region: string): Promise<string | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Find EC2 key pair by name
|
|
72
|
+
*/
|
|
73
|
+
export declare function findKeyPair(keyName: string, region: string): Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* Find running/stopped EC2 instance by tag
|
|
76
|
+
*/
|
|
77
|
+
export declare function findInstance(projectName: string, region: string): Promise<string | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Find Elastic IP associated with an instance
|
|
80
|
+
*/
|
|
81
|
+
export declare function findElasticIp(instanceId: string, region: string): Promise<string | null>;
|
|
82
|
+
/**
|
|
83
|
+
* Find internet gateway attached to VPC
|
|
84
|
+
*/
|
|
85
|
+
export declare function findIgw(vpcId: string, region: string): Promise<string | null>;
|
|
86
|
+
/**
|
|
87
|
+
* Find DB subnet group
|
|
88
|
+
*/
|
|
89
|
+
export declare function findDbSubnetGroup(groupName: string, region: string): Promise<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* Find RDS instance by identifier
|
|
92
|
+
*/
|
|
93
|
+
export declare function findRdsInstance(dbInstanceId: string, region: string): Promise<{
|
|
94
|
+
status: string;
|
|
95
|
+
endpoint: string | null;
|
|
96
|
+
} | null>;
|
|
97
|
+
/**
|
|
98
|
+
* Find RDS instance endpoint
|
|
99
|
+
*/
|
|
100
|
+
export declare function findRdsEndpoint(projectName: string, region: string): Promise<string | null>;
|
|
101
|
+
/**
|
|
102
|
+
* Check if ECR repository exists
|
|
103
|
+
*/
|
|
104
|
+
export declare function findEcrRepo(repoName: string, region: string): Promise<boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* Check if S3 bucket exists
|
|
107
|
+
*/
|
|
108
|
+
export declare function findBucket(bucketName: string, region: string): Promise<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Check if IAM user exists
|
|
111
|
+
*/
|
|
112
|
+
export declare function findIamUser(userName: string, region: string): Promise<boolean>;
|
|
113
|
+
/**
|
|
114
|
+
* Check if domain is verified in SES
|
|
115
|
+
*/
|
|
116
|
+
export declare function isDomainVerified(domain: string, region: string): Promise<boolean>;
|
|
117
|
+
/**
|
|
118
|
+
* Check if DKIM is configured for domain
|
|
119
|
+
*/
|
|
120
|
+
export declare function hasDkim(domain: string, region: string): Promise<boolean>;
|
|
121
|
+
/**
|
|
122
|
+
* Check if S3 bucket has CORS configured
|
|
123
|
+
*/
|
|
124
|
+
export declare function hasCors(bucketName: string, region: string): Promise<boolean>;
|
|
125
|
+
/**
|
|
126
|
+
* Check if AWS is configured for this project (shared guard)
|
|
127
|
+
*/
|
|
128
|
+
export declare function isAwsConfigured(config: FactiiiConfig): boolean;
|
|
129
|
+
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, };
|
|
57
130
|
//# 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":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"aws-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/utils/aws-helpers.ts"],"names":[],"mappings":"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"}
|