@raindancers/raindancers-crew 0.0.2 → 0.0.3
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/.jsii +2 -2
- package/lib/crew-backup-bucket.js +1 -1
- package/lib/crew-webhook-ingress.js +1 -1
- package/lib/ecs-crew-host.js +1 -1
- package/lib/fargate-crew-base.js +6 -2
- package/lib/fargate-crew.js +1 -1
- package/lib/remote-crew-instance.js +1 -1
- package/package.json +1 -1
- package/src/fargate-crew-base.ts +4 -0
package/.jsii
CHANGED
|
@@ -11570,6 +11570,6 @@
|
|
|
11570
11570
|
"symbolId": "src/remote-crew-instance-props:WebhookIngress"
|
|
11571
11571
|
}
|
|
11572
11572
|
},
|
|
11573
|
-
"version": "0.0.
|
|
11574
|
-
"fingerprint": "
|
|
11573
|
+
"version": "0.0.3",
|
|
11574
|
+
"fingerprint": "5ceTxk8UXwUnfkX4gUCW3vKw+LlBDFdN0T4jwp3KuLI="
|
|
11575
11575
|
}
|
|
@@ -53,7 +53,7 @@ const constructs_1 = require("constructs");
|
|
|
53
53
|
* {@link grantRead} to let a replacement instance pull them for restore.
|
|
54
54
|
*/
|
|
55
55
|
class CrewBackupBucket extends constructs_1.Construct {
|
|
56
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.CrewBackupBucket", version: "0.0.
|
|
56
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.CrewBackupBucket", version: "0.0.3" };
|
|
57
57
|
/** The backup bucket. */
|
|
58
58
|
bucket;
|
|
59
59
|
/** The KMS key encrypting the bucket. */
|
|
@@ -60,7 +60,7 @@ const DEFAULT_CREW_PORT = 5476;
|
|
|
60
60
|
* routing opinion — the consumer supplies the Lambda {@link CrewWebhookIngressProps.code}.
|
|
61
61
|
*/
|
|
62
62
|
class CrewWebhookIngress extends constructs_1.Construct {
|
|
63
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.CrewWebhookIngress", version: "0.0.
|
|
63
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.CrewWebhookIngress", version: "0.0.3" };
|
|
64
64
|
/** The SNS topic that fans events into the ingress Lambda. */
|
|
65
65
|
topic;
|
|
66
66
|
/** The in-VPC ingress Lambda. */
|
package/lib/ecs-crew-host.js
CHANGED
|
@@ -76,7 +76,7 @@ const DEFAULT_MEMORY_HARD_LIMIT_MIB = 2048;
|
|
|
76
76
|
* instantiation with no new props gains no extra resources.
|
|
77
77
|
*/
|
|
78
78
|
class EcsCrewHost extends constructs_1.Construct {
|
|
79
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.EcsCrewHost", version: "0.0.
|
|
79
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.EcsCrewHost", version: "0.0.3" };
|
|
80
80
|
/** The shared ECS scaffolding (cluster + egress-only task SG). */
|
|
81
81
|
base;
|
|
82
82
|
/** The size-1 Auto Scaling Group holding the single ECS-registered EC2 host. */
|
package/lib/fargate-crew-base.js
CHANGED
|
@@ -60,7 +60,7 @@ var FargateCpuArchitecture;
|
|
|
60
60
|
* Port of the upstream `kirocrew-fargate-base` CloudFormation template.
|
|
61
61
|
*/
|
|
62
62
|
class FargateCrewBase extends constructs_1.Construct {
|
|
63
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.FargateCrewBase", version: "0.0.
|
|
63
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.FargateCrewBase", version: "0.0.3" };
|
|
64
64
|
/** The ECS cluster crew tasks run on. */
|
|
65
65
|
cluster;
|
|
66
66
|
/** The egress-only task security group (no inbound). */
|
|
@@ -91,6 +91,10 @@ class FargateCrewBase extends constructs_1.Construct {
|
|
|
91
91
|
vpc: props.vpc,
|
|
92
92
|
description: `Kiro Crew Fargate crews ${stackTag} - egress only, no inbound`,
|
|
93
93
|
allowAllOutbound: true,
|
|
94
|
+
// CDK's allowAllOutbound renders IPv4 0.0.0.0/0 egress only; a dual-stack
|
|
95
|
+
// VPC also needs an IPv6 ::/0 egress rule or tasks silently drop outbound
|
|
96
|
+
// IPv6. Counterpart to bwip-holdings/55minutes PR #17's dual-stack VPC.
|
|
97
|
+
allowAllIpv6Outbound: true,
|
|
94
98
|
});
|
|
95
99
|
for (const taggable of [this.cluster, this.securityGroup]) {
|
|
96
100
|
aws_cdk_lib_1.Tags.of(taggable).add('kirocrew:managed', 'true');
|
|
@@ -99,4 +103,4 @@ class FargateCrewBase extends constructs_1.Construct {
|
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
105
|
exports.FargateCrewBase = FargateCrewBase;
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFyZ2F0ZS1jcmV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZmFyZ2F0ZS1jcmV3LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUFtQztBQUNuQyx5REFBMkM7QUFDM0MseURBQTJDO0FBQzNDLDJDQUF1QztBQUV2QyxNQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxJQUFZLHNCQUdYO0FBSEQsV0FBWSxzQkFBc0I7SUFDaEMsMkNBQWlCLENBQUE7SUFDakIseUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsc0JBQXNCLHNDQUF0QixzQkFBc0IsUUFHakM7QUEwQ0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHNCQUFTOztJQUM1Qyx5Q0FBeUM7SUFDekIsT0FBTyxDQUFjO0lBQ3JDLHdEQUF3RDtJQUN4QyxhQUFhLENBQW9CO0lBQ2pELGtEQUFrRDtJQUNsQyxRQUFRLENBQVM7SUFDakMsc0RBQXNEO0lBQ3RDLGVBQWUsQ0FBeUI7SUFFeEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsWUFBWSxVQUFVLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7UUFFOUUsMEVBQTBFO1FBQzFFLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzlDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFdBQVcsRUFBRSxpQkFBaUIsUUFBUSxFQUFFO1lBQ3hDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRO1NBQ3BELENBQUMsQ0FBQztRQUVILDJEQUEyRDtRQUMzRCx1RUFBdUU7UUFDdkUsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUNwRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxXQUFXLEVBQUUsMkJBQTJCLFFBQVEsNEJBQTRCO1lBQzVFLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsMEVBQTBFO1lBQzFFLDBFQUEwRTtZQUMxRSx3RUFBd0U7WUFDeEUsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEQsa0JBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDOztBQTdDSCwwQ0E4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmNvbnN0IFNUQUNLX1RBR19SRSA9IC9eW2EtekEtWjAtOS1dezEsNTF9JC87XG5cbi8qKlxuICogQ1BVIGFyY2hpdGVjdHVyZSBhIGNyZXcgY29udGFpbmVyIGltYWdlIHdhcyBidWlsdCBmb3IuIE11c3QgbWF0Y2ggdGhlIGltYWdlOlxuICogYSB0YXNrIHdob3NlIHJ1bnRpbWUgcGxhdGZvcm0gZGlzYWdyZWVzIHdpdGggaXRzIGltYWdlIGZhaWxzIGF0IHN0YXJ0LlxuICovXG5leHBvcnQgZW51bSBGYXJnYXRlQ3B1QXJjaGl0ZWN0dXJlIHtcbiAgWDg2XzY0ID0gJ1g4Nl82NCcsXG4gIEFSTTY0ID0gJ0FSTTY0Jyxcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB7QGxpbmsgRmFyZ2F0ZUNyZXdCYXNlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGYXJnYXRlQ3Jld0Jhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgdGhlIGNyZXcgdGFza3MgYXJlIHBsYWNlZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldHMgZm9yIHRoZSB0YXNrcycgYXdzdnBjIG5ldHdvcmsgaW50ZXJmYWNlcy4gRWFjaCBtdXN0IGJlIGFibGUgdG9cbiAgICogcmVhY2ggdGhlIGNvbnRhaW5lciByZWdpc3RyeSDigJQgYSBOQVQtcm91dGVkIHByaXZhdGUgc3VibmV0LCBvciBhIHB1YmxpY1xuICAgKiBzdWJuZXQgd2l0aCBgYXNzaWduUHVibGljSXBgIGF0IFJ1blRhc2suXG4gICAqXG4gICAqIE5ldHdvcmtpbmcgaXMgdGFrZW4sIG5ldmVyIGludmVudGVkOiB3aGV0aGVyIGVncmVzcyBpcyB2aWEgTkFUIG9yIGEgcHVibGljXG4gICAqIHN1Ym5ldCBpcyBhIHByb3BlcnR5IG9mIHRoZSBvcGVyYXRvcidzIFZQQyB0aGlzIGNvbnN0cnVjdCBjYW5ub3QgZGlzY292ZXIsXG4gICAqIHNvIGl0IGlzIHBhc3NlZCBpbiBhbmQgZWNob2VkIGFzIGFuIG91dHB1dCBmb3IgdGhlIGxhdW5jaCBzcGVjLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBWUEMncyBwcml2YXRlLXdpdGgtZWdyZXNzIHN1Ym5ldHNcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBBcmNoaXRlY3R1cmUgdGhlIGNyZXcgaW1hZ2Ugd2FzIGJ1aWx0IGZvci4gU3VyZmFjZWQgYXMgYW4gb3V0cHV0IGZvciB0aGVcbiAgICogbGF1bmNoIHNwZWMgc28gZXZlcnkgcGxhY2VtZW50IGZpZWxkIGlzIHJlYWQgZnJvbSBhIHN0YWNrLCBub3QgdGhlXG4gICAqIG9wZXJhdG9yJ3MgbWVtb3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBGYXJnYXRlQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgKi9cbiAgcmVhZG9ubHkgY3B1QXJjaGl0ZWN0dXJlPzogRmFyZ2F0ZUNwdUFyY2hpdGVjdHVyZTtcblxuICAvKipcbiAgICogRGlzY292ZXJ5IHRhZyB2YWx1ZSB3cml0dGVuIGFzIGBraXJvY3JldzpmYXJnYXRlYC4gTXVzdCBtYXRjaFxuICAgKiBgW2EtekEtWjAtOS1dezEsNTF9YC4gVGhlIGNsdXN0ZXIgaXMgbmFtZWQgYGtpcm9jcmV3LWNyZXctPHN0YWNrVGFnPmAuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdraXJvY3JldydcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVGFnPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNoYXJlZCBGYXJnYXRlIHNjYWZmb2xkaW5nIGZvciBLaXJvQ3JldyByZW1vdGUgY3Jld3M6IHRoZSBFQ1MgY2x1c3RlciBldmVyeVxuICogY3JldyB0YXNrIHJ1bnMgb24gYW5kIHRoZSBlZ3Jlc3Mtb25seSBzZWN1cml0eSBncm91cCB0aGV5IGFyZSBwbGFjZWQgaW4uXG4gKlxuICogT05FIHBlciBhY2NvdW50IGFuZCByZWdpb24uIFRoZSBwZXItY3JldyByb2xlcyBhbmQgbG9nIGdyb3VwIGxpdmUgaW5cbiAqIHtAbGluayBGYXJnYXRlQ3Jld30gKG9uZSBwZXIgY3JldyksIHNvIGRlbGV0aW5nIGEgY3JldyBjYW5ub3QgZGVsZXRlIHRoZVxuICogY2x1c3RlciBpdHMgc2libGluZ3MgcnVuIG9uLlxuICpcbiAqIFBvcnQgb2YgdGhlIHVwc3RyZWFtIGBraXJvY3Jldy1mYXJnYXRlLWJhc2VgIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlLlxuICovXG5leHBvcnQgY2xhc3MgRmFyZ2F0ZUNyZXdCYXNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqIFRoZSBFQ1MgY2x1c3RlciBjcmV3IHRhc2tzIHJ1biBvbi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5DbHVzdGVyO1xuICAvKiogVGhlIGVncmVzcy1vbmx5IHRhc2sgc2VjdXJpdHkgZ3JvdXAgKG5vIGluYm91bmQpLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogZWMyLlNlY3VyaXR5R3JvdXA7XG4gIC8qKiBUaGUgYGtpcm9jcmV3OmZhcmdhdGVgIGRpc2NvdmVyeSB0YWcgdmFsdWUuICovXG4gIHB1YmxpYyByZWFkb25seSBzdGFja1RhZzogc3RyaW5nO1xuICAvKiogVGhlIGFyY2hpdGVjdHVyZSBjcmV3IGltYWdlcyBtdXN0IGJlIGJ1aWx0IGZvci4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNwdUFyY2hpdGVjdHVyZTogRmFyZ2F0ZUNwdUFyY2hpdGVjdHVyZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRmFyZ2F0ZUNyZXdCYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgc3RhY2tUYWcgPSBwcm9wcy5zdGFja1RhZyA/PyAna2lyb2NyZXcnO1xuICAgIGlmICghU1RBQ0tfVEFHX1JFLnRlc3Qoc3RhY2tUYWcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHN0YWNrVGFnIG11c3QgbWF0Y2ggJHtTVEFDS19UQUdfUkV9IChnb3QgJyR7c3RhY2tUYWd9JylgKTtcbiAgICB9XG4gICAgdGhpcy5zdGFja1RhZyA9IHN0YWNrVGFnO1xuICAgIHRoaXMuY3B1QXJjaGl0ZWN0dXJlID0gcHJvcHMuY3B1QXJjaGl0ZWN0dXJlID8/IEZhcmdhdGVDcHVBcmNoaXRlY3R1cmUuWDg2XzY0O1xuXG4gICAgLy8gTmFtZWQgZnJvbSB0aGUgdGFnIChub3QgZGlzY292ZXJlZCkgc28gYSBsYXVuY2hlciBjYW4gZGVyaXZlIGl0LCBhbmQgdG9cbiAgICAvLyBrZWVwIHRhc2tzIG91dCBvZiB0aGUgYWNjb3VudCdzIGltcGxpY2l0IGBkZWZhdWx0YCBjbHVzdGVyLlxuICAgIHRoaXMuY2x1c3RlciA9IG5ldyBlY3MuQ2x1c3Rlcih0aGlzLCAnQ2x1c3RlcicsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgY2x1c3Rlck5hbWU6IGBraXJvY3Jldy1jcmV3LSR7c3RhY2tUYWd9YCxcbiAgICAgIGNvbnRhaW5lckluc2lnaHRzVjI6IGVjcy5Db250YWluZXJJbnNpZ2h0cy5ESVNBQkxFRCxcbiAgICB9KTtcblxuICAgIC8vIE5vIGluZ3Jlc3MgYXQgYWxsLiBUaGUgY3JldydzIGNvbnRyb2wgc3VyZmFjZSBpcyByZWFjaGVkXG4gICAgLy8gb3V0Ym91bmQtYXV0aGVudGljYXRlZDsgbm90aGluZyBuZWVkcyB0byBkaWFsIGluLiBFZ3Jlc3Mgb3BlbiBzbyB0aGVcbiAgICAvLyB0YXNrIGNhbiBwdWxsIGl0cyBpbWFnZSBhbmQgcmVhY2ggdGhlIG1vZGVsIGVuZHBvaW50LlxuICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnVGFza1NlY3VyaXR5R3JvdXAnLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGRlc2NyaXB0aW9uOiBgS2lybyBDcmV3IEZhcmdhdGUgY3Jld3MgJHtzdGFja1RhZ30gLSBlZ3Jlc3Mgb25seSwgbm8gaW5ib3VuZGAsXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgICAgLy8gQ0RLJ3MgYWxsb3dBbGxPdXRib3VuZCByZW5kZXJzIElQdjQgMC4wLjAuMC8wIGVncmVzcyBvbmx5OyBhIGR1YWwtc3RhY2tcbiAgICAgIC8vIFZQQyBhbHNvIG5lZWRzIGFuIElQdjYgOjovMCBlZ3Jlc3MgcnVsZSBvciB0YXNrcyBzaWxlbnRseSBkcm9wIG91dGJvdW5kXG4gICAgICAvLyBJUHY2LiBDb3VudGVycGFydCB0byBid2lwLWhvbGRpbmdzLzU1bWludXRlcyBQUiAjMTcncyBkdWFsLXN0YWNrIFZQQy5cbiAgICAgIGFsbG93QWxsSXB2Nk91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCB0YWdnYWJsZSBvZiBbdGhpcy5jbHVzdGVyLCB0aGlzLnNlY3VyaXR5R3JvdXBdKSB7XG4gICAgICBUYWdzLm9mKHRhZ2dhYmxlKS5hZGQoJ2tpcm9jcmV3Om1hbmFnZWQnLCAndHJ1ZScpO1xuICAgICAgVGFncy5vZih0YWdnYWJsZSkuYWRkKCdraXJvY3JldzpmYXJnYXRlJywgc3RhY2tUYWcpO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/fargate-crew.js
CHANGED
|
@@ -68,7 +68,7 @@ const ALLOWED_RETENTION_DAYS = [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365];
|
|
|
68
68
|
* roles are not assumable on behalf of an unrelated stack's task.
|
|
69
69
|
*/
|
|
70
70
|
class FargateCrew extends constructs_1.Construct {
|
|
71
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.FargateCrew", version: "0.0.
|
|
71
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.FargateCrew", version: "0.0.3" };
|
|
72
72
|
/** Role ECS assumes BEFORE the container starts (secret fetch + log stream). */
|
|
73
73
|
executionRole;
|
|
74
74
|
/** Identity the RUNNING container carries. Created with no policies. */
|
|
@@ -68,7 +68,7 @@ const DEFAULT_TIMEOUT_MIN = 25;
|
|
|
68
68
|
* diagnostics.
|
|
69
69
|
*/
|
|
70
70
|
class RemoteCrewInstance extends constructs_1.Construct {
|
|
71
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.RemoteCrewInstance", version: "0.0.
|
|
71
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@raindancers/raindancers-crew.RemoteCrewInstance", version: "0.0.3" };
|
|
72
72
|
/** The EC2 instance (SSM target). */
|
|
73
73
|
instance;
|
|
74
74
|
/** The instance's IAM role (carries the permissions boundary). */
|
package/package.json
CHANGED
package/src/fargate-crew-base.ts
CHANGED
|
@@ -99,6 +99,10 @@ export class FargateCrewBase extends Construct {
|
|
|
99
99
|
vpc: props.vpc,
|
|
100
100
|
description: `Kiro Crew Fargate crews ${stackTag} - egress only, no inbound`,
|
|
101
101
|
allowAllOutbound: true,
|
|
102
|
+
// CDK's allowAllOutbound renders IPv4 0.0.0.0/0 egress only; a dual-stack
|
|
103
|
+
// VPC also needs an IPv6 ::/0 egress rule or tasks silently drop outbound
|
|
104
|
+
// IPv6. Counterpart to bwip-holdings/55minutes PR #17's dual-stack VPC.
|
|
105
|
+
allowAllIpv6Outbound: true,
|
|
102
106
|
});
|
|
103
107
|
|
|
104
108
|
for (const taggable of [this.cluster, this.securityGroup]) {
|