@factiii/stack 0.1.11 → 0.1.12
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/dist/plugins/pipelines/aws/configs/free-tier.js +2 -2
- package/dist/plugins/pipelines/aws/scanfix/ec2.d.ts +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ec2.js +5 -5
- package/dist/plugins/pipelines/aws/scanfix/rds.d.ts +1 -1
- package/dist/plugins/pipelines/aws/scanfix/rds.js +5 -5
- package/dist/plugins/pipelines/aws/scanfix/vpc.js +4 -4
- package/dist/plugins/pipelines/aws/scanfix/vpc.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,8 +14,8 @@ const freeTierConfig = {
|
|
|
14
14
|
description: 'AWS Free Tier bundle (EC2 + RDS + S3 + ECR)',
|
|
15
15
|
services: ['ec2', 'rds', 's3', 'ecr', 'ses'],
|
|
16
16
|
defaults: {
|
|
17
|
-
instance_type: '
|
|
18
|
-
rds_instance: 'db.
|
|
17
|
+
instance_type: 't3.micro', // Free tier eligible
|
|
18
|
+
rds_instance: 'db.t3.micro', // Free tier eligible
|
|
19
19
|
storage: 30, // Max free tier EBS
|
|
20
20
|
rds_storage: 20, // Max free tier RDS
|
|
21
21
|
s3_bucket: true,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* AWS EC2 Fixes
|
|
3
3
|
*
|
|
4
4
|
* Provisions EC2 key pair, instance, and Elastic IP.
|
|
5
|
-
* Uses Ubuntu 22.04 AMI,
|
|
5
|
+
* Uses Ubuntu 22.04 AMI, t3.micro (free tier), public subnet.
|
|
6
6
|
* Key pair private key is stored in Ansible Vault.
|
|
7
7
|
*/
|
|
8
8
|
import type { Fix } from '../../../../types/index.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* AWS EC2 Fixes
|
|
4
4
|
*
|
|
5
5
|
* Provisions EC2 key pair, instance, and Elastic IP.
|
|
6
|
-
* Uses Ubuntu 22.04 AMI,
|
|
6
|
+
* Uses Ubuntu 22.04 AMI, t3.micro (free tier), public subnet.
|
|
7
7
|
* Key pair private key is stored in Ansible Vault.
|
|
8
8
|
*/
|
|
9
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
@@ -163,7 +163,7 @@ exports.ec2Fixes = [
|
|
|
163
163
|
id: 'aws-ec2-instance-missing',
|
|
164
164
|
stage: 'prod',
|
|
165
165
|
severity: 'critical',
|
|
166
|
-
description: 'EC2 instance not created (Ubuntu 22.04,
|
|
166
|
+
description: 'EC2 instance not created (Ubuntu 22.04, t3.micro)',
|
|
167
167
|
scan: async (config) => {
|
|
168
168
|
if (!isAwsConfigured(config))
|
|
169
169
|
return false;
|
|
@@ -205,7 +205,7 @@ exports.ec2Fixes = [
|
|
|
205
205
|
// Launch instance
|
|
206
206
|
const instanceResult = (0, aws_helpers_js_1.awsExec)('aws ec2 run-instances' +
|
|
207
207
|
' --image-id ' + amiId +
|
|
208
|
-
' --instance-type
|
|
208
|
+
' --instance-type t3.micro' +
|
|
209
209
|
' --key-name ' + keyName +
|
|
210
210
|
' --security-group-ids ' + ec2SgId +
|
|
211
211
|
' --subnet-id ' + publicSubnet +
|
|
@@ -213,7 +213,7 @@ exports.ec2Fixes = [
|
|
|
213
213
|
' ' + (0, aws_helpers_js_1.tagSpec)('instance', projectName), region);
|
|
214
214
|
const instanceId = JSON.parse(instanceResult).Instances[0].InstanceId;
|
|
215
215
|
console.log(' Launched EC2 instance: ' + instanceId);
|
|
216
|
-
console.log(' Instance type:
|
|
216
|
+
console.log(' Instance type: t3.micro (free tier eligible)');
|
|
217
217
|
console.log(' Waiting for instance to be running...');
|
|
218
218
|
// Wait for instance to be running
|
|
219
219
|
(0, aws_helpers_js_1.awsExec)('aws ec2 wait instance-running --instance-ids ' + instanceId, region);
|
|
@@ -230,7 +230,7 @@ exports.ec2Fixes = [
|
|
|
230
230
|
return false;
|
|
231
231
|
}
|
|
232
232
|
},
|
|
233
|
-
manualFix: 'Launch EC2: aws ec2 run-instances --image-id <ubuntu-ami> --instance-type
|
|
233
|
+
manualFix: 'Launch EC2: aws ec2 run-instances --image-id <ubuntu-ami> --instance-type t3.micro --key-name factiii-{name}',
|
|
234
234
|
},
|
|
235
235
|
{
|
|
236
236
|
id: 'aws-ec2-elastic-ip',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AWS RDS Fixes
|
|
3
3
|
*
|
|
4
|
-
* Provisions RDS PostgreSQL 15 instance (db.
|
|
4
|
+
* Provisions RDS PostgreSQL 15 instance (db.t3.micro free tier).
|
|
5
5
|
* Creates DB subnet group from private subnets, launches instance with RDS SG.
|
|
6
6
|
* Stores DATABASE_URL in Ansible Vault.
|
|
7
7
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* AWS RDS Fixes
|
|
4
4
|
*
|
|
5
|
-
* Provisions RDS PostgreSQL 15 instance (db.
|
|
5
|
+
* Provisions RDS PostgreSQL 15 instance (db.t3.micro free tier).
|
|
6
6
|
* Creates DB subnet group from private subnets, launches instance with RDS SG.
|
|
7
7
|
* Stores DATABASE_URL in Ansible Vault.
|
|
8
8
|
*/
|
|
@@ -133,7 +133,7 @@ exports.rdsFixes = [
|
|
|
133
133
|
id: 'aws-rds-instance-missing',
|
|
134
134
|
stage: 'prod',
|
|
135
135
|
severity: 'critical',
|
|
136
|
-
description: 'RDS PostgreSQL 15 instance not created (db.
|
|
136
|
+
description: 'RDS PostgreSQL 15 instance not created (db.t3.micro)',
|
|
137
137
|
scan: async (config) => {
|
|
138
138
|
if (!isAwsConfigured(config))
|
|
139
139
|
return false;
|
|
@@ -167,7 +167,7 @@ exports.rdsFixes = [
|
|
|
167
167
|
const masterPassword = generateRdsPassword();
|
|
168
168
|
(0, aws_helpers_js_1.awsExec)('aws rds create-db-instance' +
|
|
169
169
|
' --db-instance-identifier ' + dbId +
|
|
170
|
-
' --db-instance-class db.
|
|
170
|
+
' --db-instance-class db.t3.micro' +
|
|
171
171
|
' --engine postgres' +
|
|
172
172
|
' --engine-version 15' +
|
|
173
173
|
' --allocated-storage 20' +
|
|
@@ -181,7 +181,7 @@ exports.rdsFixes = [
|
|
|
181
181
|
' --backup-retention-period 7', region);
|
|
182
182
|
console.log(' Creating RDS instance: ' + dbId);
|
|
183
183
|
console.log(' Engine: PostgreSQL 15');
|
|
184
|
-
console.log(' Instance class: db.
|
|
184
|
+
console.log(' Instance class: db.t3.micro (free tier eligible)');
|
|
185
185
|
console.log(' Storage: 20 GB gp2');
|
|
186
186
|
console.log(' Database name: ' + dbName);
|
|
187
187
|
console.log(' Master user: ' + masterUser);
|
|
@@ -201,7 +201,7 @@ exports.rdsFixes = [
|
|
|
201
201
|
return false;
|
|
202
202
|
}
|
|
203
203
|
},
|
|
204
|
-
manualFix: 'Create RDS instance: aws rds create-db-instance --db-instance-class db.
|
|
204
|
+
manualFix: 'Create RDS instance: aws rds create-db-instance --db-instance-class db.t3.micro --engine postgres --engine-version 15',
|
|
205
205
|
},
|
|
206
206
|
{
|
|
207
207
|
id: 'aws-rds-not-available',
|
|
@@ -114,8 +114,8 @@ exports.vpcFixes = [
|
|
|
114
114
|
}
|
|
115
115
|
try {
|
|
116
116
|
// Get first AZ
|
|
117
|
-
const azResult = (0, aws_helpers_js_1.awsExec)('aws ec2 describe-availability-zones --query "AvailabilityZones[0].ZoneName"
|
|
118
|
-
const az =
|
|
117
|
+
const azResult = (0, aws_helpers_js_1.awsExec)('aws ec2 describe-availability-zones --query "AvailabilityZones[0].ZoneName"', region);
|
|
118
|
+
const az = JSON.parse(azResult);
|
|
119
119
|
// Create public subnet
|
|
120
120
|
const subnetResult = (0, aws_helpers_js_1.awsExec)('aws ec2 create-subnet --vpc-id ' + vpcId + ' --cidr-block 10.0.1.0/24 --availability-zone ' + az + ' ' +
|
|
121
121
|
(0, aws_helpers_js_1.tagSpec)('subnet', projectName, { 'factiii:subnet-type': 'public' }), region);
|
|
@@ -157,8 +157,8 @@ exports.vpcFixes = [
|
|
|
157
157
|
}
|
|
158
158
|
try {
|
|
159
159
|
// Get first two AZs
|
|
160
|
-
const azResult = (0, aws_helpers_js_1.awsExec)('aws ec2 describe-availability-zones --query "AvailabilityZones[*].ZoneName"
|
|
161
|
-
const azs =
|
|
160
|
+
const azResult = (0, aws_helpers_js_1.awsExec)('aws ec2 describe-availability-zones --query "AvailabilityZones[*].ZoneName"', region);
|
|
161
|
+
const azs = JSON.parse(azResult);
|
|
162
162
|
if (azs.length < 2) {
|
|
163
163
|
console.log(' Need at least 2 availability zones');
|
|
164
164
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpc.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/vpc.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vpc.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/aws/scanfix/vpc.ts"],"names":[],"mappings":"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"}
|