dcl-ops-lib 5.26.4 → 6.0.2
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 +2 -1
- package/StaticWebsite.d.ts +1 -1
- package/acceptAlb.d.ts +4 -10
- package/acceptAlb.js +6 -40
- package/acceptBastion.d.ts +3 -9
- package/acceptBastion.js +4 -29
- package/acceptDb.d.ts +3 -3
- package/acceptDb.js +6 -8
- package/accessTheInternet.d.ts +3 -14
- package/accessTheInternet.js +9 -44
- package/alb.d.ts +2 -3
- package/alb.js +2 -4
- package/cloudflare.d.ts +6 -5
- package/cloudflare.js +11 -2
- package/createBucketWithUser.d.ts +1 -2
- package/createFargateTask.d.ts +25 -27
- package/createFargateTask.js +65 -54
- package/createImageFromContext.d.ts +3 -4
- package/createImageFromContext.js +1 -1
- package/domain.js +1 -1
- package/exposePublicService.d.ts +9 -11
- package/exposePublicService.js +8 -9
- package/lambda.d.ts +5 -6
- package/lambda.js +16 -12
- package/package.json +13 -11
- package/prometheus.d.ts +2 -6
- package/prometheus.js +7 -18
- package/secrets.d.ts +1 -2
- package/values.d.ts +4 -5
- package/values.js +4 -4
- package/vpc.d.ts +2 -2
- package/vpc.js +3 -3
- package/getSecurityGroup.d.ts +0 -6
- package/getSecurityGroup.js +0 -51
- package/setupDatabasePermissions.d.ts +0 -2
- package/setupDatabasePermissions.js +0 -18
package/README.md
CHANGED
package/StaticWebsite.d.ts
CHANGED
package/acceptAlb.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
/**
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
export declare function acceptAlbSecurityGroupId(): Promise<import("@pulumi/pulumi").Output<string>>;
|
|
6
|
-
/** @deprecated use makeSecurityGroupAccessibleFromSharedAlbV2 */
|
|
7
|
-
export declare function makeSecurityGroupAccessibleFromSharedAlb(securityGroup: awsx.ec2.SecurityGroup): void;
|
|
8
|
-
/** @deprecated Makes a given securityGropup accesible by the shared supra ALB */
|
|
9
|
-
export declare function makeSecurityGroupAccessibleFromSharedAlbV2(securityGroup: awsx.ec2.SecurityGroup, ruleName?: string): void;
|
|
10
|
-
export default acceptAlbSecurityGroup;
|
|
1
|
+
import * as aws from "@pulumi/aws";
|
|
2
|
+
/** Makes a given securityGropup accesible by the shared supra ALB */
|
|
3
|
+
export declare function makeSecurityGroupAccessibleFromSharedAlb(securityGroup: aws.ec2.SecurityGroup, ruleName?: string): void;
|
|
4
|
+
export default makeSecurityGroupAccessibleFromSharedAlb;
|
package/acceptAlb.js
CHANGED
|
@@ -1,46 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
13
|
-
const awsx = require("@pulumi/awsx");
|
|
3
|
+
exports.makeSecurityGroupAccessibleFromSharedAlb = void 0;
|
|
14
4
|
const aws = require("@pulumi/aws");
|
|
15
5
|
const utils_1 = require("./utils");
|
|
16
6
|
const values_1 = require("./values");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const config = yield (0, values_1.getEnvConfiguration)();
|
|
21
|
-
return awsx.ec2.SecurityGroup.fromExistingId(`accept-alb-sg-reference`, config.acceptAlb);
|
|
22
|
-
}));
|
|
23
|
-
/** @deprecated use makeSecurityGroupAccessibleFromSharedAlb instead */
|
|
24
|
-
function acceptAlbSecurityGroupId() {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
return (yield (0, exports.acceptAlbSecurityGroup)()).id;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
exports.acceptAlbSecurityGroupId = acceptAlbSecurityGroupId;
|
|
30
|
-
/** @deprecated use makeSecurityGroupAccessibleFromSharedAlbV2 */
|
|
31
|
-
function makeSecurityGroupAccessibleFromSharedAlb(securityGroup) {
|
|
32
|
-
new awsx.ec2.IngressSecurityGroupRule("accept-alb-ingress-rule", securityGroup, {
|
|
33
|
-
sourceSecurityGroupId: (0, values_1.getEnvConfiguration)().then(($) => $.albSecurityGroupId),
|
|
34
|
-
description: `Allow access from the supra ALB`,
|
|
35
|
-
fromPort: 0,
|
|
36
|
-
toPort: 0,
|
|
37
|
-
protocol: "-1",
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
exports.makeSecurityGroupAccessibleFromSharedAlb = makeSecurityGroupAccessibleFromSharedAlb;
|
|
41
|
-
/** @deprecated Makes a given securityGropup accesible by the shared supra ALB */
|
|
42
|
-
function makeSecurityGroupAccessibleFromSharedAlbV2(securityGroup, ruleName = "") {
|
|
43
|
-
new aws.ec2.SecurityGroupRule((0, utils_1.withRuleName)("accept-alb-ingress-rule-v2", ruleName), {
|
|
7
|
+
/** Makes a given securityGropup accesible by the shared supra ALB */
|
|
8
|
+
function makeSecurityGroupAccessibleFromSharedAlb(securityGroup, ruleName = "") {
|
|
9
|
+
new aws.ec2.SecurityGroupRule((0, utils_1.withRuleName)("accept-alb-ingress-rule", ruleName), {
|
|
44
10
|
securityGroupId: securityGroup.id,
|
|
45
11
|
sourceSecurityGroupId: (0, values_1.getEnvConfiguration)().then(($) => $.albSecurityGroupId),
|
|
46
12
|
description: `Allow access from the supra ALB`,
|
|
@@ -50,6 +16,6 @@ function makeSecurityGroupAccessibleFromSharedAlbV2(securityGroup, ruleName = ""
|
|
|
50
16
|
type: "egress",
|
|
51
17
|
}, { deleteBeforeReplace: true });
|
|
52
18
|
}
|
|
53
|
-
exports.
|
|
54
|
-
exports.default =
|
|
19
|
+
exports.makeSecurityGroupAccessibleFromSharedAlb = makeSecurityGroupAccessibleFromSharedAlb;
|
|
20
|
+
exports.default = makeSecurityGroupAccessibleFromSharedAlb;
|
|
55
21
|
//# sourceMappingURL=acceptAlb.js.map
|
package/acceptBastion.d.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
5
|
-
export declare function acceptBastionSecurityGroupId(): Promise<import("@pulumi/pulumi").Output<string>>;
|
|
6
|
-
/** @deprecated use makeSecurityGroupAccessibleFromBastionV2 */
|
|
7
|
-
export declare function makeSecurityGroupAccessibleFromBastion(securityGroup: awsx.ec2.SecurityGroup): void;
|
|
8
|
-
export declare function makeSecurityGroupAccessibleFromBastionV2(securityGroup: awsx.ec2.SecurityGroup, ruleName?: string): void;
|
|
9
|
-
export default acceptBastionSecurityGroup;
|
|
1
|
+
import * as aws from "@pulumi/aws";
|
|
2
|
+
export declare function makeSecurityGroupAccessibleFromBastion(securityGroup: aws.ec2.SecurityGroup, ruleName?: string): void;
|
|
3
|
+
export default makeSecurityGroupAccessibleFromBastion;
|
package/acceptBastion.js
CHANGED
|
@@ -9,41 +9,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
13
|
-
const awsx = require("@pulumi/awsx");
|
|
12
|
+
exports.makeSecurityGroupAccessibleFromBastion = void 0;
|
|
14
13
|
const aws = require("@pulumi/aws");
|
|
15
14
|
const values_1 = require("./values");
|
|
16
15
|
const withCache_1 = require("./withCache");
|
|
17
16
|
const utils_1 = require("./utils");
|
|
18
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
19
|
-
exports.acceptBastionSecurityGroup = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
const config = yield (0, values_1.getEnvConfiguration)();
|
|
21
|
-
return awsx.ec2.SecurityGroup.fromExistingId(`accept-bastion-sg-reference`, config.acceptBastion);
|
|
22
|
-
}));
|
|
23
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
24
|
-
function acceptBastionSecurityGroupId() {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
return (yield (0, exports.acceptBastionSecurityGroup)()).id;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
exports.acceptBastionSecurityGroupId = acceptBastionSecurityGroupId;
|
|
30
17
|
const bastionSecurityGroupId = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
18
|
const config = yield (0, values_1.getEnvConfiguration)();
|
|
32
19
|
return config.bastionSecurityGroupId;
|
|
33
20
|
}));
|
|
34
|
-
|
|
35
|
-
function makeSecurityGroupAccessibleFromBastion(securityGroup) {
|
|
36
|
-
new aws.ec2.SecurityGroupRule("accesible-from-bastion", {
|
|
37
|
-
securityGroupId: securityGroup.id,
|
|
38
|
-
sourceSecurityGroupId: bastionSecurityGroupId(),
|
|
39
|
-
fromPort: -1,
|
|
40
|
-
toPort: -1,
|
|
41
|
-
type: "ingress",
|
|
42
|
-
protocol: "-1",
|
|
43
|
-
}, { deleteBeforeReplace: true });
|
|
44
|
-
}
|
|
45
|
-
exports.makeSecurityGroupAccessibleFromBastion = makeSecurityGroupAccessibleFromBastion;
|
|
46
|
-
function makeSecurityGroupAccessibleFromBastionV2(securityGroup, ruleName = "") {
|
|
21
|
+
function makeSecurityGroupAccessibleFromBastion(securityGroup, ruleName = "") {
|
|
47
22
|
new aws.ec2.SecurityGroupRule((0, utils_1.withRuleName)("accesible-from-bastion-v2", ruleName), {
|
|
48
23
|
securityGroupId: securityGroup.id,
|
|
49
24
|
sourceSecurityGroupId: bastionSecurityGroupId(),
|
|
@@ -53,6 +28,6 @@ function makeSecurityGroupAccessibleFromBastionV2(securityGroup, ruleName = "")
|
|
|
53
28
|
protocol: "-1",
|
|
54
29
|
}, { deleteBeforeReplace: true });
|
|
55
30
|
}
|
|
56
|
-
exports.
|
|
57
|
-
exports.default =
|
|
31
|
+
exports.makeSecurityGroupAccessibleFromBastion = makeSecurityGroupAccessibleFromBastion;
|
|
32
|
+
exports.default = makeSecurityGroupAccessibleFromBastion;
|
|
58
33
|
//# sourceMappingURL=acceptBastion.js.map
|
package/acceptDb.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
export declare const acceptDbSecurityGroup: () => Promise<
|
|
3
|
-
export declare
|
|
1
|
+
import * as aws from "@pulumi/aws";
|
|
2
|
+
export declare const acceptDbSecurityGroup: () => Promise<aws.ec2.GetSecurityGroupResult>;
|
|
3
|
+
export declare const acceptDbSecurityGroupId: () => Promise<string>;
|
|
4
4
|
export default acceptDbSecurityGroup;
|
package/acceptDb.js
CHANGED
|
@@ -10,18 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.acceptDbSecurityGroupId = exports.acceptDbSecurityGroup = void 0;
|
|
13
|
-
const
|
|
13
|
+
const aws = require("@pulumi/aws");
|
|
14
14
|
const values_1 = require("./values");
|
|
15
15
|
const withCache_1 = require("./withCache");
|
|
16
16
|
exports.acceptDbSecurityGroup = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
17
|
const config = yield (0, values_1.getEnvConfiguration)();
|
|
18
|
-
return
|
|
18
|
+
return aws.ec2.getSecurityGroup({ id: config.dbSecurity });
|
|
19
|
+
}));
|
|
20
|
+
exports.acceptDbSecurityGroupId = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
const config = yield (0, values_1.getEnvConfiguration)();
|
|
22
|
+
return config.dbSecurity;
|
|
19
23
|
}));
|
|
20
|
-
function acceptDbSecurityGroupId() {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
return (yield (0, exports.acceptDbSecurityGroup)()).id;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
exports.acceptDbSecurityGroupId = acceptDbSecurityGroupId;
|
|
26
24
|
exports.default = exports.acceptDbSecurityGroup;
|
|
27
25
|
//# sourceMappingURL=acceptDb.js.map
|
package/accessTheInternet.d.ts
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
/** @deprecated please use makeSecurityGroupAccessibleByCloudflare */
|
|
3
|
-
export declare const accessCloudflareSecurityGroup: () => Promise<awsx.ec2.SecurityGroup>;
|
|
4
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
5
|
-
export declare const accessTheInternetSecurityGroup: () => Promise<awsx.ec2.SecurityGroup>;
|
|
6
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
7
|
-
export declare function accessTheInternetSecurityGroupId(): Promise<import("@pulumi/pulumi").Output<string>>;
|
|
8
|
-
export default accessTheInternetSecurityGroup;
|
|
9
|
-
/** @deprecated please use makeSecurityGroupAccessibleByCloudflare */
|
|
10
|
-
export declare function accessFromCloudflareSecurityGroup(): Promise<import("@pulumi/pulumi").Output<string>>;
|
|
11
|
-
/** @deprecated use makeSecurityGroupAccessTheInternetV2 */
|
|
12
|
-
export declare function makeSecurityGroupAccessTheInternet(securityGroup: awsx.ec2.SecurityGroup): void;
|
|
1
|
+
import * as aws from "@pulumi/aws";
|
|
13
2
|
/** Enables egress traffic to 0.0.0.0/0/all */
|
|
14
|
-
export declare function makeSecurityGroupAccessTheInternetV2(securityGroup:
|
|
3
|
+
export declare function makeSecurityGroupAccessTheInternetV2(securityGroup: aws.ec2.SecurityGroup, ruleName?: string): void;
|
|
15
4
|
/** Enables ingress traffic from cloudflare CIDRs */
|
|
16
|
-
export declare function makeSecurityGroupAccessibleByCloudflare(securityGroup:
|
|
5
|
+
export declare function makeSecurityGroupAccessibleByCloudflare(securityGroup: aws.ec2.SecurityGroup): Promise<void>;
|
package/accessTheInternet.js
CHANGED
|
@@ -9,49 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.makeSecurityGroupAccessibleByCloudflare = exports.makeSecurityGroupAccessTheInternetV2 =
|
|
13
|
-
const awsx = require("@pulumi/awsx");
|
|
12
|
+
exports.makeSecurityGroupAccessibleByCloudflare = exports.makeSecurityGroupAccessTheInternetV2 = void 0;
|
|
14
13
|
const aws = require("@pulumi/aws");
|
|
15
14
|
const cloudflare = require("@pulumi/cloudflare");
|
|
16
|
-
const supra_1 = require("./supra");
|
|
17
|
-
const values_1 = require("./values");
|
|
18
|
-
const withCache_1 = require("./withCache");
|
|
19
15
|
const utils_1 = require("./utils");
|
|
20
|
-
/** @deprecated please use makeSecurityGroupAccessibleByCloudflare */
|
|
21
|
-
exports.accessCloudflareSecurityGroup = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const config = yield (0, values_1.getEnvConfiguration)(); // ?
|
|
23
|
-
return awsx.ec2.SecurityGroup.fromExistingId(`accept-cloudflare-web-sg-reference`, supra_1.supra.getOutputValue(`cloudflareAcceptWeb`));
|
|
24
|
-
}));
|
|
25
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
26
|
-
exports.accessTheInternetSecurityGroup = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
-
const config = yield (0, values_1.getEnvConfiguration)(); // ?
|
|
28
|
-
return awsx.ec2.SecurityGroup.fromExistingId(`access-the-internet-sg-reference`, supra_1.supra.getOutputValue(`accessTheInternet`));
|
|
29
|
-
}));
|
|
30
|
-
/** @deprecated please use makeSecurityGroupAccessTheInternet */
|
|
31
|
-
function accessTheInternetSecurityGroupId() {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
return (yield (0, exports.accessTheInternetSecurityGroup)()).id;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
exports.accessTheInternetSecurityGroupId = accessTheInternetSecurityGroupId;
|
|
37
|
-
exports.default = exports.accessTheInternetSecurityGroup;
|
|
38
|
-
/** @deprecated please use makeSecurityGroupAccessibleByCloudflare */
|
|
39
|
-
function accessFromCloudflareSecurityGroup() {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
return (yield (0, exports.accessCloudflareSecurityGroup)()).id;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
exports.accessFromCloudflareSecurityGroup = accessFromCloudflareSecurityGroup;
|
|
45
|
-
/** @deprecated use makeSecurityGroupAccessTheInternetV2 */
|
|
46
|
-
function makeSecurityGroupAccessTheInternet(securityGroup) {
|
|
47
|
-
securityGroup.createEgressRule("access-the-internet", {
|
|
48
|
-
cidrBlocks: ["0.0.0.0/0"],
|
|
49
|
-
fromPort: -1,
|
|
50
|
-
toPort: -1,
|
|
51
|
-
protocol: "-1",
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
exports.makeSecurityGroupAccessTheInternet = makeSecurityGroupAccessTheInternet;
|
|
55
16
|
/** Enables egress traffic to 0.0.0.0/0/all */
|
|
56
17
|
function makeSecurityGroupAccessTheInternetV2(securityGroup, ruleName = "") {
|
|
57
18
|
new aws.ec2.SecurityGroupRule((0, utils_1.withRuleName)("access-the-internet-v2", ruleName), {
|
|
@@ -70,20 +31,24 @@ function makeSecurityGroupAccessibleByCloudflare(securityGroup) {
|
|
|
70
31
|
const ips = yield cloudflare.getIpRanges({});
|
|
71
32
|
for (let block of ips.ipv4CidrBlocks) {
|
|
72
33
|
const hash = (0, utils_1.sha256hash)(block).substring(0, 6);
|
|
73
|
-
|
|
34
|
+
new aws.ec2.SecurityGroupRule(`accept-cf-80-${hash}`, {
|
|
74
35
|
protocol: "tcp",
|
|
75
36
|
fromPort: 80,
|
|
76
37
|
toPort: 80,
|
|
77
38
|
cidrBlocks: [block],
|
|
39
|
+
type: "ingress",
|
|
40
|
+
securityGroupId: securityGroup.id,
|
|
78
41
|
description: `pulumi-supra-${hash}`,
|
|
79
|
-
});
|
|
80
|
-
|
|
42
|
+
}, { deleteBeforeReplace: true });
|
|
43
|
+
new aws.ec2.SecurityGroupRule(`accept-cf-443-${hash}`, {
|
|
81
44
|
protocol: "tcp",
|
|
82
45
|
fromPort: 443,
|
|
83
46
|
toPort: 443,
|
|
84
47
|
cidrBlocks: [block],
|
|
48
|
+
type: "ingress",
|
|
49
|
+
securityGroupId: securityGroup.id,
|
|
85
50
|
description: `pulumi-supra-${hash}`,
|
|
86
|
-
});
|
|
51
|
+
}, { deleteBeforeReplace: true });
|
|
87
52
|
}
|
|
88
53
|
});
|
|
89
54
|
}
|
package/alb.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as aws from "@pulumi/aws";
|
|
2
|
-
|
|
3
|
-
export declare type ElbValues = {
|
|
2
|
+
export type ElbValues = {
|
|
4
3
|
dns: string;
|
|
5
4
|
elbArn: string;
|
|
6
5
|
elbUrn: string;
|
|
@@ -9,6 +8,6 @@ export declare type ElbValues = {
|
|
|
9
8
|
};
|
|
10
9
|
export declare const getAlb: () => Promise<{
|
|
11
10
|
dns: string;
|
|
12
|
-
alb:
|
|
11
|
+
alb: aws.lb.GetLoadBalancerResult;
|
|
13
12
|
listener: aws.lb.GetListenerResult;
|
|
14
13
|
}>;
|
package/alb.js
CHANGED
|
@@ -11,8 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.getAlb = void 0;
|
|
13
13
|
const aws = require("@pulumi/aws");
|
|
14
|
-
const awsx = require("@pulumi/awsx");
|
|
15
|
-
const domain_1 = require("./domain");
|
|
16
14
|
const supra_1 = require("./supra");
|
|
17
15
|
const withCache_1 = require("./withCache");
|
|
18
16
|
const cache = {
|
|
@@ -25,9 +23,9 @@ const cache = {
|
|
|
25
23
|
};
|
|
26
24
|
exports.getAlb = (0, withCache_1.default)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
25
|
const dns = yield supra_1.supra.getOutputValue("dns");
|
|
28
|
-
const loadBalancer = yield supra_1.supra.
|
|
26
|
+
const loadBalancer = yield supra_1.supra.getOutputDetails("albInstance");
|
|
29
27
|
const elbValues = yield supra_1.supra.getOutputValue("elbValues");
|
|
30
|
-
const alb =
|
|
28
|
+
const alb = yield aws.lb.getLoadBalancer({ arn: JSON.parse(loadBalancer.value).arn });
|
|
31
29
|
const listener = yield aws.lb.getListener({ arn: elbValues.listenerArn });
|
|
32
30
|
return { dns, alb, listener };
|
|
33
31
|
}));
|
package/cloudflare.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
import * as cloudflare from "@pulumi/cloudflare";
|
|
3
|
-
export
|
|
3
|
+
export type DeployWorkerConfig = {
|
|
4
4
|
jsWorkerFileName: string;
|
|
5
5
|
routes: pulumi.Input<string>[];
|
|
6
6
|
env?: Record<string, pulumi.Input<string>>;
|
|
7
7
|
overrides?: cloudflare.WorkerScriptArgs;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type SetRecordConfig = {
|
|
10
10
|
recordName: string;
|
|
11
11
|
type: "CNAME" | "A" | "TXT";
|
|
12
12
|
value: pulumi.Input<string>;
|
|
@@ -17,8 +17,9 @@ export declare type SetRecordConfig = {
|
|
|
17
17
|
proxied: true;
|
|
18
18
|
});
|
|
19
19
|
export declare function getZoneId(): Promise<string>;
|
|
20
|
+
export declare function getAccountId(): string;
|
|
20
21
|
export declare function deployWorker(workerName: string, config: DeployWorkerConfig): Promise<{
|
|
21
|
-
[x: string]: pulumi.Output<string> | cloudflare.WorkerScript;
|
|
22
|
-
worker: cloudflare.WorkerScript;
|
|
22
|
+
[x: string]: pulumi.Output<string> | import("@pulumi/cloudflare/workerScript").WorkerScript;
|
|
23
|
+
worker: import("@pulumi/cloudflare/workerScript").WorkerScript;
|
|
23
24
|
}>;
|
|
24
|
-
export declare function setRecord(config: SetRecordConfig): Promise<cloudflare.Record>;
|
|
25
|
+
export declare function setRecord(config: SetRecordConfig): Promise<import("@pulumi/cloudflare/record").Record>;
|
package/cloudflare.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.setRecord = exports.deployWorker = exports.getZoneId = void 0;
|
|
12
|
+
exports.setRecord = exports.deployWorker = exports.getAccountId = exports.getZoneId = void 0;
|
|
13
13
|
const pulumi = require("@pulumi/pulumi");
|
|
14
14
|
const cloudflare = require("@pulumi/cloudflare");
|
|
15
15
|
const domain_1 = require("./domain");
|
|
@@ -23,6 +23,15 @@ function getZoneId() {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
exports.getZoneId = getZoneId;
|
|
26
|
+
function getAccountId() {
|
|
27
|
+
if (process.env.CLOUDFLARE_ACCOUNT_ID) {
|
|
28
|
+
return process.env.CLOUDFLARE_ACCOUNT_ID;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new Error("CLOUDFLARE_ACCOUNT_ID not set");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.getAccountId = getAccountId;
|
|
26
35
|
function deployWorker(workerName, config) {
|
|
27
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
37
|
// get file contents
|
|
@@ -34,7 +43,7 @@ function deployWorker(workerName, config) {
|
|
|
34
43
|
});
|
|
35
44
|
// create the worker
|
|
36
45
|
const worker = new cloudflare.WorkerScript(`${workerName}-${domain_1.publicTLD}`, Object.assign({ name: `${workerName}-${domain_1.publicTLD}`, content,
|
|
37
|
-
plainTextBindings }, (config.overrides || {})));
|
|
46
|
+
plainTextBindings, accountId: getAccountId() }, (config.overrides || {})));
|
|
38
47
|
const ret = { [workerName + "-" + domain_1.publicTLD]: worker.id, worker };
|
|
39
48
|
// create the routes
|
|
40
49
|
let count = 0;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { BucketArgs } from "@pulumi/aws/s3/bucket";
|
|
3
2
|
import * as pulumi from "@pulumi/pulumi";
|
|
4
3
|
export declare function createBucketWithUser(name: string, bucketArgs?: BucketArgs): {
|
|
5
|
-
role: aws
|
|
4
|
+
role: import("@pulumi/aws/iam/role").Role;
|
|
6
5
|
user: pulumi.Output<string>;
|
|
7
6
|
bucket: pulumi.Output<string>;
|
|
8
7
|
bucketPolicyId: pulumi.Output<string>;
|
package/createFargateTask.d.ts
CHANGED
|
@@ -1,28 +1,26 @@
|
|
|
1
1
|
import * as aws from "@pulumi/aws";
|
|
2
|
-
import * as awsx from "@pulumi/awsx";
|
|
3
|
-
import { ApplicationTargetGroupHealthCheck } from "@pulumi/awsx/lb";
|
|
4
2
|
import * as pulumi from "@pulumi/pulumi";
|
|
5
3
|
import { ExtraExposedServiceOptions } from "./exposePublicService";
|
|
6
|
-
export declare const getDefaultLogs: (serviceName: string, logGroup: aws.cloudwatch.LogGroup) =>
|
|
7
|
-
export declare function getClusterInstance(cluster: string |
|
|
8
|
-
export
|
|
4
|
+
export declare const getDefaultLogs: (serviceName: string, logGroup: aws.cloudwatch.LogGroup) => aws.ecs.LogConfiguration;
|
|
5
|
+
export declare function getClusterInstance(cluster: string | aws.ecs.Cluster | undefined): Promise<pulumi.Output<string> | string>;
|
|
6
|
+
export type ALBMapping = {
|
|
9
7
|
domain: string;
|
|
10
8
|
dockerListeningPort: number;
|
|
11
|
-
healthCheck?: Partial<
|
|
9
|
+
healthCheck?: Partial<aws.types.input.alb.TargetGroupHealthCheck>;
|
|
12
10
|
extraExposedServiceOptions?: ExtraExposedServiceOptions;
|
|
13
11
|
};
|
|
14
12
|
export declare function getFargateExecutionRole(name: string, policyArnNamedMap: Record<string, pulumi.Input<string> | aws.iam.Policy>): {
|
|
15
|
-
role: aws
|
|
16
|
-
policies: aws
|
|
13
|
+
role: import("@pulumi/aws/iam/role").Role;
|
|
14
|
+
policies: import("@pulumi/aws/iam/rolePolicyAttachment").RolePolicyAttachment[];
|
|
17
15
|
};
|
|
18
16
|
export declare function getFargateTaskRole(name: string, policyArnNamedMap: Record<string, pulumi.Input<string> | aws.iam.Policy>): {
|
|
19
|
-
role: aws
|
|
20
|
-
policies: aws
|
|
17
|
+
role: import("@pulumi/aws/iam/role").Role;
|
|
18
|
+
policies: import("@pulumi/aws/iam/rolePolicyAttachment").RolePolicyAttachment[];
|
|
21
19
|
};
|
|
22
|
-
export
|
|
20
|
+
export type FargateTaskOptions = {
|
|
23
21
|
securityGroups?: (string | pulumi.Output<string>)[];
|
|
24
|
-
cluster?:
|
|
25
|
-
healthCheck?: Partial<
|
|
22
|
+
cluster?: aws.ecs.Cluster | string;
|
|
23
|
+
healthCheck?: Partial<aws.types.input.alb.TargetGroupHealthCheck>;
|
|
26
24
|
desiredCount?: number;
|
|
27
25
|
memoryReservation?: number;
|
|
28
26
|
cpuReservation?: number;
|
|
@@ -38,7 +36,7 @@ export declare type FargateTaskOptions = {
|
|
|
38
36
|
extraALBMappings?: ALBMapping[];
|
|
39
37
|
executionRolePolicies?: Record<string, pulumi.Input<string> | aws.iam.Policy>;
|
|
40
38
|
taskRolePolicies?: Record<string, pulumi.Input<string> | aws.iam.Policy>;
|
|
41
|
-
secrets?: aws.ecs.Secret[]
|
|
39
|
+
secrets?: aws.ecs.Secret[];
|
|
42
40
|
ignoreServiceDiscovery?: boolean;
|
|
43
41
|
team: "dapps" | "platform" | "data" | "marketing" | "infra";
|
|
44
42
|
metrics?: {
|
|
@@ -50,8 +48,8 @@ export declare type FargateTaskOptions = {
|
|
|
50
48
|
dependsOn?: pulumi.Resource[];
|
|
51
49
|
volumes?: aws.types.input.ecs.TaskDefinitionVolume[] | pulumi.Input<aws.types.input.ecs.TaskDefinitionVolume[]>;
|
|
52
50
|
deregistrationDelay?: pulumi.Input<number>;
|
|
53
|
-
mountPoints?:
|
|
54
|
-
repositoryCredentials?:
|
|
51
|
+
mountPoints?: aws.ecs.MountPoint[];
|
|
52
|
+
repositoryCredentials?: aws.ecs.RepositoryCredentials;
|
|
55
53
|
};
|
|
56
54
|
/**
|
|
57
55
|
*
|
|
@@ -65,38 +63,38 @@ export declare type FargateTaskOptions = {
|
|
|
65
63
|
* @param options.healthCheckPath
|
|
66
64
|
* @param options.policyArnNamedMap key-value named map of policies to attach to the default execution role for this task
|
|
67
65
|
*/
|
|
68
|
-
export declare function createFargateTask(serviceName: string, dockerImage: string | Promise<string> | pulumi.OutputInstance<string
|
|
66
|
+
export declare function createFargateTask(serviceName: string, dockerImage: string | Promise<string> | pulumi.OutputInstance<string>, dockerListeningPort: number, environment: {
|
|
69
67
|
name: string;
|
|
70
68
|
value: pulumi.Input<string>;
|
|
71
69
|
secret?: boolean;
|
|
72
70
|
}[], hostname: string, options: FargateTaskOptions): Promise<{
|
|
73
|
-
service:
|
|
71
|
+
service: import("@pulumi/aws/ecs/service").Service;
|
|
74
72
|
endpoint: string;
|
|
75
73
|
exposed?: undefined;
|
|
76
74
|
} | {
|
|
77
75
|
endpoint: string;
|
|
78
|
-
service:
|
|
76
|
+
service: import("@pulumi/aws/ecs/service").Service;
|
|
79
77
|
exposed: {
|
|
80
78
|
domain: string;
|
|
81
79
|
certificate: pulumi.Input<string>;
|
|
82
|
-
record:
|
|
83
|
-
targetGroup:
|
|
84
|
-
cloudflareRecord:
|
|
80
|
+
record: import("@pulumi/aws/route53/record").Record | undefined;
|
|
81
|
+
targetGroup: import("@pulumi/aws/alb/targetGroup").TargetGroup;
|
|
82
|
+
cloudflareRecord: import("@pulumi/cloudflare/record").Record | undefined;
|
|
85
83
|
};
|
|
86
84
|
}>;
|
|
87
|
-
export
|
|
85
|
+
export type InternalServiceOptions = {
|
|
88
86
|
serviceName: string;
|
|
89
|
-
cluster?: string |
|
|
90
|
-
securityGroups?:
|
|
87
|
+
cluster?: string | aws.ecs.Cluster;
|
|
88
|
+
securityGroups?: (string | pulumi.Output<string>)[];
|
|
91
89
|
ignoreServiceDiscovery?: boolean;
|
|
92
90
|
serviceDiscoveryPort?: number;
|
|
93
91
|
desiredCount?: number;
|
|
94
92
|
executionRole?: aws.iam.Role;
|
|
95
93
|
taskRole?: aws.iam.Role;
|
|
96
|
-
containerInfo:
|
|
94
|
+
containerInfo: aws.ecs.ContainerDefinition;
|
|
97
95
|
assignPublicIp?: boolean;
|
|
98
96
|
dependsOn?: pulumi.Resource[];
|
|
99
97
|
volumes?: pulumi.Input<aws.types.input.ecs.TaskDefinitionVolume[]>;
|
|
100
98
|
team: string;
|
|
101
99
|
};
|
|
102
|
-
export declare function createInternalService(config: InternalServiceOptions): Promise<
|
|
100
|
+
export declare function createInternalService(config: InternalServiceOptions): Promise<import("@pulumi/aws/ecs/service").Service>;
|