@papiro/cdk 0.0.3 → 0.0.5
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/AIOServer.d.ts +3 -13
- package/dist/AIOServer.js +11 -17
- package/dist/AIOServerRecord.d.ts +11 -0
- package/dist/AIOServerRecord.js +29 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/package.json +4 -4
package/dist/AIOServer.d.ts
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import { StackProps } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
|
-
import {
|
|
3
|
+
import { Instance, SecurityGroup } from "aws-cdk-lib/aws-ec2";
|
|
4
4
|
import { PolicyDocument } from "aws-cdk-lib/aws-iam";
|
|
5
|
-
|
|
6
|
-
export interface AppDefinition {
|
|
7
|
-
id: string;
|
|
8
|
-
domains: string[];
|
|
9
|
-
port: number;
|
|
10
|
-
}
|
|
11
|
-
export interface AIOServerStackProps extends StackProps {
|
|
12
|
-
vpc: Vpc;
|
|
13
|
-
/** Public domains that should resolve to the AIO server */
|
|
14
|
-
apps?: AppDefinition[];
|
|
5
|
+
export interface AIOServerProps extends StackProps {
|
|
15
6
|
keyPairName: string;
|
|
16
|
-
imageS3Bucket: Bucket;
|
|
17
7
|
userData?: string[];
|
|
18
8
|
instanceType?: string;
|
|
19
9
|
inlinePolicies?: Record<string, PolicyDocument>;
|
|
@@ -21,5 +11,5 @@ export interface AIOServerStackProps extends StackProps {
|
|
|
21
11
|
export declare class AIOServer extends Construct {
|
|
22
12
|
readonly instance: Instance;
|
|
23
13
|
readonly securityGroup: SecurityGroup;
|
|
24
|
-
constructor(scope: Construct, id: string, {
|
|
14
|
+
constructor(scope: Construct, id: string, { keyPairName, userData, instanceType, inlinePolicies, }: AIOServerProps);
|
|
25
15
|
}
|
package/dist/AIOServer.js
CHANGED
|
@@ -4,13 +4,21 @@ exports.AIOServer = void 0;
|
|
|
4
4
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
5
|
const constructs_1 = require("constructs");
|
|
6
6
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
7
|
-
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
8
7
|
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
9
8
|
class AIOServer extends constructs_1.Construct {
|
|
10
9
|
instance;
|
|
11
10
|
securityGroup;
|
|
12
|
-
constructor(scope, id, {
|
|
11
|
+
constructor(scope, id, { keyPairName, userData = [], instanceType = "t4g.small", inlinePolicies, }) {
|
|
13
12
|
super(scope, id);
|
|
13
|
+
const vpc = new aws_ec2_1.Vpc(this, "Vpc", {
|
|
14
|
+
maxAzs: 1,
|
|
15
|
+
subnetConfiguration: [
|
|
16
|
+
{
|
|
17
|
+
name: "PublicSubnet",
|
|
18
|
+
subnetType: aws_ec2_1.SubnetType.PUBLIC,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
});
|
|
14
22
|
const securityGroup = new aws_ec2_1.SecurityGroup(this, "SecurityGroup", {
|
|
15
23
|
vpc,
|
|
16
24
|
description: "AIOServer security group",
|
|
@@ -65,23 +73,9 @@ class AIOServer extends constructs_1.Construct {
|
|
|
65
73
|
value: instance.instanceId,
|
|
66
74
|
exportName: "AIOServerInstanceId",
|
|
67
75
|
});
|
|
68
|
-
// Public DNS records per incubated application
|
|
69
|
-
apps.forEach((appDef) => {
|
|
70
|
-
const publicZone = aws_route53_1.HostedZone.fromLookup(this, `${appDef.id}-PublicZone`, {
|
|
71
|
-
domainName: appDef.domains[0].split(".").slice(1).join("."),
|
|
72
|
-
});
|
|
73
|
-
appDef.domains.forEach((domain) => {
|
|
74
|
-
new aws_route53_1.ARecord(this, `ARecord-${domain}`, {
|
|
75
|
-
zone: publicZone,
|
|
76
|
-
recordName: domain.replace(`.${publicZone.zoneName}`, ""),
|
|
77
|
-
target: aws_route53_1.RecordTarget.fromIpAddresses(instance.instancePublicIp),
|
|
78
|
-
ttl: aws_cdk_lib_1.Duration.minutes(1),
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
76
|
this.instance = instance;
|
|
83
77
|
this.securityGroup = securityGroup;
|
|
84
78
|
}
|
|
85
79
|
}
|
|
86
80
|
exports.AIOServer = AIOServer;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0FJT1NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBb0Q7QUFDcEQsMkNBQXVDO0FBQ3ZDLGlEQWU2QjtBQUM3QixpREFLNkI7QUFTN0IsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFDdEIsUUFBUSxDQUFXO0lBQ25CLGFBQWEsQ0FBZ0I7SUFFN0MsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsRUFDRSxXQUFXLEVBQ1gsUUFBUSxHQUFHLEVBQUUsRUFDYixZQUFZLEdBQUcsV0FBVyxFQUMxQixjQUFjLEdBQ0M7UUFFakIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEdBQUcsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQy9CLE1BQU0sRUFBRSxDQUFDO1lBQ1QsbUJBQW1CLEVBQUU7Z0JBQ25CO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxNQUFNO2lCQUM5QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDN0QsR0FBRztZQUNILFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDLENBQUM7UUFFSCxhQUFhLENBQUMsY0FBYyxDQUMxQixjQUFJLENBQUMsT0FBTyxFQUFFLEVBQ2QsY0FBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFDWixvQkFBb0IsQ0FDckIsQ0FBQztRQUVGLGFBQWEsQ0FBQyxjQUFjLENBQzFCLGNBQUksQ0FBQyxPQUFPLEVBQUUsRUFDZCxjQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUNiLHFCQUFxQixDQUN0QixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxrQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDOUMsR0FBRztZQUNILFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxvQkFBVSxDQUFDLE1BQU0sRUFBRTtZQUM3QyxZQUFZLEVBQUUsSUFBSSxzQkFBWSxDQUFDLFlBQVksQ0FBQztZQUM1QyxZQUFZLEVBQUUsc0JBQVksQ0FBQyxxQkFBcUIsQ0FBQztnQkFDL0MsT0FBTyxFQUFFLDRCQUFrQixDQUFDLE1BQU07Z0JBQ2xDLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7WUFDRixhQUFhLEVBQUUsYUFBYTtZQUM1QixJQUFJLEVBQUUsSUFBSSxjQUFJLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDcEQsZUFBZSxFQUFFO29CQUNmLHVCQUFhLENBQUMsd0JBQXdCLENBQ3BDLDhCQUE4QixDQUMvQjtvQkFDRCx1QkFBYSxDQUFDLHdCQUF3QixDQUFDLDZCQUE2QixDQUFDO2lCQUN0RTtnQkFDRCxjQUFjO2FBQ2YsQ0FBQztZQUNGLE9BQU8sRUFBRSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQztZQUM5RCxZQUFZLEVBQUU7Z0JBQ1o7b0JBQ0UsVUFBVSxFQUFFLFdBQVc7b0JBQ3ZCLE1BQU0sRUFBRSwyQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFO3dCQUNoQyxVQUFVLEVBQUUsNkJBQW1CLENBQUMsR0FBRzt3QkFDbkMsbUJBQW1CLEVBQUUsS0FBSzt3QkFDMUIsU0FBUyxFQUFFLElBQUk7cUJBQ2hCLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxXQUFXLENBQ2xCLGVBQWUsRUFDZixHQUFHLFFBQVEsRUFDWCx3Q0FBd0MsRUFDeEMsMEJBQTBCLENBQzNCLENBQUM7UUFFRiw0RUFBNEU7UUFDNUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLDJCQUFpQixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMvQyxZQUFZLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtZQUNsQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4QyxLQUFLLEVBQUUsR0FBRyxDQUFDLFlBQVk7WUFDdkIsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyxVQUFVLEVBQUUsY0FBYztTQUMzQixDQUFDLENBQUM7UUFFSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ3pDLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMxQixVQUFVLEVBQUUscUJBQXFCO1NBQ2xDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQTNHRCw4QkEyR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBWcGMsXG4gIEluc3RhbmNlLFxuICBTZWN1cml0eUdyb3VwLFxuICBQZWVyLFxuICBQb3J0LFxuICBCbG9ja0RldmljZVZvbHVtZSxcbiAgQ2ZuRUlQLFxuICBDZm5FSVBBc3NvY2lhdGlvbixcbiAgRWJzRGV2aWNlVm9sdW1lVHlwZSxcbiAgSW5zdGFuY2VUeXBlLFxuICBLZXlQYWlyLFxuICBNYWNoaW5lSW1hZ2UsXG4gIFN1Ym5ldFR5cGUsXG4gIEFtYXpvbkxpbnV4Q3B1VHlwZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWwsXG4gIE1hbmFnZWRQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJT1NlcnZlclByb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIGtleVBhaXJOYW1lOiBzdHJpbmc7XG4gIHVzZXJEYXRhPzogc3RyaW5nW107XG4gIGluc3RhbmNlVHlwZT86IHN0cmluZztcbiAgaW5saW5lUG9saWNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBQb2xpY3lEb2N1bWVudD47XG59XG5cbmV4cG9ydCBjbGFzcyBBSU9TZXJ2ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2U6IEluc3RhbmNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAge1xuICAgICAga2V5UGFpck5hbWUsXG4gICAgICB1c2VyRGF0YSA9IFtdLFxuICAgICAgaW5zdGFuY2VUeXBlID0gXCJ0NGcuc21hbGxcIixcbiAgICAgIGlubGluZVBvbGljaWVzLFxuICAgIH06IEFJT1NlcnZlclByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB2cGMgPSBuZXcgVnBjKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgIG1heEF6czogMSxcbiAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiUHVibGljU3VibmV0XCIsXG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICB2cGMsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBSU9TZXJ2ZXIgc2VjdXJpdHkgZ3JvdXBcIixcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBzZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgUGVlci5hbnlJcHY0KCksXG4gICAgICBQb3J0LnRjcCg4MCksXG4gICAgICBcIkhUVFAgZnJvbSBpbnRlcm5ldFwiXG4gICAgKTtcblxuICAgIHNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBQZWVyLmFueUlwdjQoKSxcbiAgICAgIFBvcnQudGNwKDQ0MyksXG4gICAgICBcIkhUVFBTIGZyb20gaW50ZXJuZXRcIlxuICAgICk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBJbnN0YW5jZSh0aGlzLCBcIkluc3RhbmNlXCIsIHtcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IEluc3RhbmNlVHlwZShpbnN0YW5jZVR5cGUpLFxuICAgICAgbWFjaGluZUltYWdlOiBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyMDIzKHtcbiAgICAgICAgY3B1VHlwZTogQW1hem9uTGludXhDcHVUeXBlLkFSTV82NCxcbiAgICAgICAgY2FjaGVkSW5Db250ZXh0OiB0cnVlLFxuICAgICAgfSksXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWN1cml0eUdyb3VwLFxuICAgICAgcm9sZTogbmV3IFJvbGUodGhpcywgXCJJbmN1YmF0b3JBcHBTZXJ2ZXJSb2xlXCIsIHtcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgU2VydmljZVByaW5jaXBhbChcImVjMi5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiXG4gICAgICAgICAgKSxcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkNsb3VkV2F0Y2hBZ2VudFNlcnZlclBvbGljeVwiKSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5saW5lUG9saWNpZXMsXG4gICAgICB9KSxcbiAgICAgIGtleVBhaXI6IEtleVBhaXIuZnJvbUtleVBhaXJOYW1lKHRoaXMsIFwiS2V5UGFpclwiLCBrZXlQYWlyTmFtZSksXG4gICAgICBibG9ja0RldmljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRldmljZU5hbWU6IFwiL2Rldi94dmRhXCIsXG4gICAgICAgICAgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnMoMjAsIHtcbiAgICAgICAgICAgIHZvbHVtZVR5cGU6IEVic0RldmljZVZvbHVtZVR5cGUuR1AzLFxuICAgICAgICAgICAgZGVsZXRlT25UZXJtaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UuYWRkVXNlckRhdGEoXG4gICAgICBcImRuZiB1cGRhdGUgLXlcIixcbiAgICAgIC4uLnVzZXJEYXRhLFxuICAgICAgXCJkbmYgaW5zdGFsbCAteSBhbWF6b24tY2xvdWR3YXRjaC1hZ2VudFwiLFxuICAgICAgJ2VjaG8gXCJVc2VyRGF0YSBjb21wbGV0ZVwiJ1xuICAgICk7XG5cbiAgICAvLyBBbGxvY2F0ZSBFbGFzdGljIElQIGFuZCBhc3NvY2lhdGUgd2l0aCBpbnN0YW5jZSBmb3Igc3RhYmxlIHB1YmxpYyBhZGRyZXNzXG4gICAgY29uc3QgZWlwID0gbmV3IENmbkVJUCh0aGlzLCBcIkVpcFwiLCB7XG4gICAgICBkb21haW46IFwidnBjXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuRUlQQXNzb2NpYXRpb24odGhpcywgXCJDZm5FaXBBc3NvY2lhdGlvblwiLCB7XG4gICAgICBhbGxvY2F0aW9uSWQ6IGVpcC5hdHRyQWxsb2NhdGlvbklkLFxuICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJBSU9TZXJ2ZXJFbGFzdGljSXBcIiwge1xuICAgICAgdmFsdWU6IGVpcC5hdHRyUHVibGljSXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFbGFzdGljIElQIG9mIHRoZSBBSU8gU2VydmVyXCIsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckVpcFwiLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkFJT1NlcnZlckluc3RhbmNlSWRcIiwge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckluc3RhbmNlSWRcIixcbiAgICB9KTtcblxuICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBzZWN1cml0eUdyb3VwO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { AIOServer } from "./AIOServer";
|
|
3
|
+
import { HostedZone } from "aws-cdk-lib/aws-route53";
|
|
4
|
+
export interface AIOServerRecordProps {
|
|
5
|
+
aioserver: AIOServer;
|
|
6
|
+
domain: string;
|
|
7
|
+
hostedZone?: HostedZone;
|
|
8
|
+
}
|
|
9
|
+
export declare class AIOServerRecord extends Construct {
|
|
10
|
+
constructor(scope: Construct, id: string, { aioserver, domain, hostedZone }: AIOServerRecordProps);
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AIOServerRecord = void 0;
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
5
|
+
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
6
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
|
+
class AIOServerRecord extends constructs_1.Construct {
|
|
8
|
+
constructor(scope, id, { aioserver, domain, hostedZone }) {
|
|
9
|
+
super(scope, id);
|
|
10
|
+
const publicZone = hostedZone ??
|
|
11
|
+
aws_route53_1.HostedZone.fromLookup(this, `${domain}-PublicZone`, {
|
|
12
|
+
domainName: domain,
|
|
13
|
+
});
|
|
14
|
+
new aws_route53_1.ARecord(this, `ARecord-${domain}`, {
|
|
15
|
+
zone: publicZone,
|
|
16
|
+
recordName: domain.replace(`.${publicZone.zoneName}`, ""),
|
|
17
|
+
target: aws_route53_1.RecordTarget.fromIpAddresses(aioserver.instance.instancePublicIp),
|
|
18
|
+
ttl: aws_cdk_lib_1.Duration.minutes(1),
|
|
19
|
+
});
|
|
20
|
+
new aws_route53_1.ARecord(this, `WWW-ARecord-${domain}`, {
|
|
21
|
+
zone: publicZone,
|
|
22
|
+
recordName: `www.${domain.replace(`.${publicZone.zoneName}`, "")}`,
|
|
23
|
+
target: aws_route53_1.RecordTarget.fromIpAddresses(aioserver.instance.instancePublicIp),
|
|
24
|
+
ttl: aws_cdk_lib_1.Duration.minutes(1),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.AIOServerRecord = AIOServerRecord;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyUmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0FJT1NlcnZlclJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFFdkMseURBQTRFO0FBQzVFLDZDQUF1QztBQVF2QyxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFDNUMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBd0I7UUFFdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsR0FDZCxVQUFVO1lBQ1Ysd0JBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxhQUFhLEVBQUU7Z0JBQ2xELFVBQVUsRUFBRSxNQUFNO2FBQ25CLENBQUMsQ0FBQztRQUVMLElBQUkscUJBQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLEVBQUUsVUFBVTtZQUNoQixVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDekQsTUFBTSxFQUFFLDBCQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDekUsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLHFCQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNsRSxNQUFNLEVBQUUsMEJBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6RSxHQUFHLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVCRCwwQ0E0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQUlPU2VydmVyIH0gZnJvbSBcIi4vQUlPU2VydmVyXCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlPU2VydmVyUmVjb3JkUHJvcHMge1xuICBhaW9zZXJ2ZXI6IEFJT1NlcnZlcjtcbiAgZG9tYWluOiBzdHJpbmc7XG4gIGhvc3RlZFpvbmU/OiBIb3N0ZWRab25lO1xufVxuXG5leHBvcnQgY2xhc3MgQUlPU2VydmVyUmVjb3JkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHsgYWlvc2VydmVyLCBkb21haW4sIGhvc3RlZFpvbmUgfTogQUlPU2VydmVyUmVjb3JkUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHB1YmxpY1pvbmUgPVxuICAgICAgaG9zdGVkWm9uZSA/P1xuICAgICAgSG9zdGVkWm9uZS5mcm9tTG9va3VwKHRoaXMsIGAke2RvbWFpbn0tUHVibGljWm9uZWAsIHtcbiAgICAgICAgZG9tYWluTmFtZTogZG9tYWluLFxuICAgICAgfSk7XG5cbiAgICBuZXcgQVJlY29yZCh0aGlzLCBgQVJlY29yZC0ke2RvbWFpbn1gLCB7XG4gICAgICB6b25lOiBwdWJsaWNab25lLFxuICAgICAgcmVjb3JkTmFtZTogZG9tYWluLnJlcGxhY2UoYC4ke3B1YmxpY1pvbmUuem9uZU5hbWV9YCwgXCJcIiksXG4gICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tSXBBZGRyZXNzZXMoYWlvc2VydmVyLmluc3RhbmNlLmluc3RhbmNlUHVibGljSXApLFxuICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgIH0pO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcywgYFdXVy1BUmVjb3JkLSR7ZG9tYWlufWAsIHtcbiAgICAgIHpvbmU6IHB1YmxpY1pvbmUsXG4gICAgICByZWNvcmROYW1lOiBgd3d3LiR7ZG9tYWluLnJlcGxhY2UoYC4ke3B1YmxpY1pvbmUuem9uZU5hbWV9YCwgXCJcIil9YCxcbiAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21JcEFkZHJlc3NlcyhhaW9zZXJ2ZXIuaW5zdGFuY2UuaW5zdGFuY2VQdWJsaWNJcCksXG4gICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./AIOServer"), exports);
|
|
18
|
-
|
|
18
|
+
__exportStar(require("./AIOServerRecord"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QixvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9BSU9TZXJ2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0FJT1NlcnZlclJlY29yZFwiO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@papiro/cdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "tsc",
|
|
11
|
-
"watch": "tsc -w",
|
|
10
|
+
"build": "tsc --outDir dist",
|
|
11
|
+
"watch": "tsc -w --outDir dist",
|
|
12
12
|
"test": "jest",
|
|
13
|
-
"prepack": "
|
|
13
|
+
"prepack": "npm run build",
|
|
14
14
|
"postpack": "rm -R dist"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|