@venturekit/infra 0.0.40 → 0.0.42
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 +91 -0
- package/dist/cdk/app-stack.d.ts +15 -0
- package/dist/cdk/app-stack.d.ts.map +1 -1
- package/dist/cdk/app-stack.js +16 -0
- package/dist/cdk/app-stack.js.map +1 -1
- package/dist/cdk/compute-stack.d.ts +146 -0
- package/dist/cdk/compute-stack.d.ts.map +1 -0
- package/dist/cdk/compute-stack.js +485 -0
- package/dist/cdk/compute-stack.js.map +1 -0
- package/dist/cdk/config-stack.d.ts.map +1 -1
- package/dist/cdk/config-stack.js +14 -0
- package/dist/cdk/config-stack.js.map +1 -1
- package/dist/cdk/data-stack.d.ts.map +1 -1
- package/dist/cdk/data-stack.js +30 -14
- package/dist/cdk/data-stack.js.map +1 -1
- package/dist/cdk/edge-stack.d.ts.map +1 -1
- package/dist/cdk/edge-stack.js +42 -6
- package/dist/cdk/edge-stack.js.map +1 -1
- package/dist/cdk/index.d.ts +7 -1
- package/dist/cdk/index.d.ts.map +1 -1
- package/dist/cdk/index.js +7 -1
- package/dist/cdk/index.js.map +1 -1
- package/dist/cdk/services-stack.d.ts +143 -0
- package/dist/cdk/services-stack.d.ts.map +1 -0
- package/dist/cdk/services-stack.js +562 -0
- package/dist/cdk/services-stack.js.map +1 -0
- package/dist/cdk/shared/service-alarms.d.ts +83 -0
- package/dist/cdk/shared/service-alarms.d.ts.map +1 -0
- package/dist/cdk/shared/service-alarms.js +180 -0
- package/dist/cdk/shared/service-alarms.js.map +1 -0
- package/dist/cdk/shared/ssm-keys.d.ts +104 -0
- package/dist/cdk/shared/ssm-keys.d.ts.map +1 -1
- package/dist/cdk/shared/ssm-keys.js +56 -0
- package/dist/cdk/shared/ssm-keys.js.map +1 -1
- package/dist/venture.d.ts +23 -1
- package/dist/venture.d.ts.map +1 -1
- package/dist/venture.js +52 -0
- package/dist/venture.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The alarms a long-running service (or the machine it runs on) carries,
|
|
3
|
+
* and the topic they ring.
|
|
4
|
+
*
|
|
5
|
+
* One `ServiceAlarms` per thing watched: an SNS topic named after it, the
|
|
6
|
+
* on-call address from the pool's `alarms.email` subscribed to it, and a
|
|
7
|
+
* handful of alarms that each ask one question a dashboard cannot be
|
|
8
|
+
* trusted to be watched for:
|
|
9
|
+
*
|
|
10
|
+
* taskDown is the service running at all? ECS publishes a service's
|
|
11
|
+
* memory utilization every minute *only while a task runs*
|
|
12
|
+
* — so three minutes with no datapoint is three minutes with
|
|
13
|
+
* no task, whatever the reason (crash loop, an image that
|
|
14
|
+
* will not start, a stopped machine). No Container Insights
|
|
15
|
+
* needed, which is why this metric and not `RunningTaskCount`.
|
|
16
|
+
* logErrors the process is up but complaining: `level: "error"` lines
|
|
17
|
+
* in its structured log.
|
|
18
|
+
* silence the service is up and nothing is happening: a metric read
|
|
19
|
+
* from its log lines has been zero for the configured window.
|
|
20
|
+
* Missing data is the fault — no such line at all is the
|
|
21
|
+
* loudest silence.
|
|
22
|
+
* unhealthyTargets (serverless) the load balancer cannot reach the task on a
|
|
23
|
+
* public port.
|
|
24
|
+
* instanceOut (instance) the group has no machine in service, or the one
|
|
25
|
+
* it has fails EC2's status checks — the box every service
|
|
26
|
+
* runs on is gone.
|
|
27
|
+
*
|
|
28
|
+
* Every alarm notifies on ALARM and again on OK, so the person paged learns
|
|
29
|
+
* it cleared. `treatMissingData` is chosen per question: missing is the
|
|
30
|
+
* fault for "is it running" and "is it silent", and no news for "is it
|
|
31
|
+
* erroring".
|
|
32
|
+
*/
|
|
33
|
+
import * as autoscaling from 'aws-cdk-lib/aws-autoscaling';
|
|
34
|
+
import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
|
|
35
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
36
|
+
import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
37
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
38
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
39
|
+
import { Construct } from 'constructs';
|
|
40
|
+
export interface ServiceAlarmsProps {
|
|
41
|
+
/** What is watched, e.g. `myapp-prod-tracking`: the topic and every alarm are prefixed with it. */
|
|
42
|
+
name: string;
|
|
43
|
+
/** The on-call address. Undefined = a topic with no subscriber, and a synth warning saying so. */
|
|
44
|
+
email?: string;
|
|
45
|
+
}
|
|
46
|
+
/** Nobody subscribed: the synth says so, once per topic. */
|
|
47
|
+
export declare const NO_SUBSCRIBER_WARNING = "venturekit:alarms:no-subscriber";
|
|
48
|
+
export declare class ServiceAlarms extends Construct {
|
|
49
|
+
readonly topic: sns.Topic;
|
|
50
|
+
readonly alarms: cloudwatch.Alarm[];
|
|
51
|
+
private readonly name;
|
|
52
|
+
private readonly action;
|
|
53
|
+
constructor(scope: Construct, id: string, props: ServiceAlarmsProps);
|
|
54
|
+
/** The service has had no task reporting for three minutes. */
|
|
55
|
+
taskDown(service: ecs.BaseService, what: string): cloudwatch.Alarm;
|
|
56
|
+
/** `level: "error"` lines in a structured (JSON) log: `threshold` or more in `minutes`. */
|
|
57
|
+
logErrors(logGroup: logs.ILogGroup, what: string, namespace: string, opts?: {
|
|
58
|
+
threshold?: number;
|
|
59
|
+
minutes?: number;
|
|
60
|
+
}): cloudwatch.Alarm;
|
|
61
|
+
/**
|
|
62
|
+
* A metric summed from the log lines where `field` equals `equals` — the
|
|
63
|
+
* value at `sum` (a JSON path), or one per line — has been zero for
|
|
64
|
+
* `minutes`. A log with no such line in the window is the same silence.
|
|
65
|
+
*/
|
|
66
|
+
silence(logGroup: logs.ILogGroup, what: string, namespace: string, opts: {
|
|
67
|
+
field: string;
|
|
68
|
+
equals: string;
|
|
69
|
+
sum?: string;
|
|
70
|
+
minutes: number;
|
|
71
|
+
}): cloudwatch.Alarm;
|
|
72
|
+
/** (serverless) A target group has had an unhealthy target for three minutes. */
|
|
73
|
+
unhealthyTargets(id: string, targetGroup: elbv2.NetworkTargetGroup, what: string): cloudwatch.Alarm;
|
|
74
|
+
/**
|
|
75
|
+
* (instance) The group has fewer than `minimum` machines in service, or one
|
|
76
|
+
* fails EC2's status checks. The first needs the group's metrics collected
|
|
77
|
+
* (`groupMetrics` on the group — free); the second is EC2's own,
|
|
78
|
+
* aggregated by group so it needs no instance id at synth.
|
|
79
|
+
*/
|
|
80
|
+
instanceOut(group: autoscaling.AutoScalingGroup, what: string, minimum?: number): cloudwatch.Alarm[];
|
|
81
|
+
private alarm;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=service-alarms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-alarms.d.ts","sourceRoot":"","sources":["../../../src/cdk/shared/service-alarms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,mGAAmG;IACnG,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AAEvE,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,CAAM;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB;IAmBnE,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK;IAYlE,2FAA2F;IAC3F,SAAS,CACP,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAClD,UAAU,CAAC,KAAK;IAqBnB;;;;OAIG;IACH,OAAO,CACL,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GACrE,UAAU,CAAC,KAAK;IAmBnB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK;IAYnG;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,UAAU,CAAC,KAAK,EAAE;IAqC/F,OAAO,CAAC,KAAK;CAOd"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The alarms a long-running service (or the machine it runs on) carries,
|
|
3
|
+
* and the topic they ring.
|
|
4
|
+
*
|
|
5
|
+
* One `ServiceAlarms` per thing watched: an SNS topic named after it, the
|
|
6
|
+
* on-call address from the pool's `alarms.email` subscribed to it, and a
|
|
7
|
+
* handful of alarms that each ask one question a dashboard cannot be
|
|
8
|
+
* trusted to be watched for:
|
|
9
|
+
*
|
|
10
|
+
* taskDown is the service running at all? ECS publishes a service's
|
|
11
|
+
* memory utilization every minute *only while a task runs*
|
|
12
|
+
* — so three minutes with no datapoint is three minutes with
|
|
13
|
+
* no task, whatever the reason (crash loop, an image that
|
|
14
|
+
* will not start, a stopped machine). No Container Insights
|
|
15
|
+
* needed, which is why this metric and not `RunningTaskCount`.
|
|
16
|
+
* logErrors the process is up but complaining: `level: "error"` lines
|
|
17
|
+
* in its structured log.
|
|
18
|
+
* silence the service is up and nothing is happening: a metric read
|
|
19
|
+
* from its log lines has been zero for the configured window.
|
|
20
|
+
* Missing data is the fault — no such line at all is the
|
|
21
|
+
* loudest silence.
|
|
22
|
+
* unhealthyTargets (serverless) the load balancer cannot reach the task on a
|
|
23
|
+
* public port.
|
|
24
|
+
* instanceOut (instance) the group has no machine in service, or the one
|
|
25
|
+
* it has fails EC2's status checks — the box every service
|
|
26
|
+
* runs on is gone.
|
|
27
|
+
*
|
|
28
|
+
* Every alarm notifies on ALARM and again on OK, so the person paged learns
|
|
29
|
+
* it cleared. `treatMissingData` is chosen per question: missing is the
|
|
30
|
+
* fault for "is it running" and "is it silent", and no news for "is it
|
|
31
|
+
* erroring".
|
|
32
|
+
*/
|
|
33
|
+
import * as cdk from 'aws-cdk-lib';
|
|
34
|
+
import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
|
|
35
|
+
import * as actions from 'aws-cdk-lib/aws-cloudwatch-actions';
|
|
36
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
37
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
38
|
+
import * as subscriptions from 'aws-cdk-lib/aws-sns-subscriptions';
|
|
39
|
+
import { Construct } from 'constructs';
|
|
40
|
+
/** Nobody subscribed: the synth says so, once per topic. */
|
|
41
|
+
export const NO_SUBSCRIBER_WARNING = 'venturekit:alarms:no-subscriber';
|
|
42
|
+
export class ServiceAlarms extends Construct {
|
|
43
|
+
topic;
|
|
44
|
+
alarms = [];
|
|
45
|
+
name;
|
|
46
|
+
action;
|
|
47
|
+
constructor(scope, id, props) {
|
|
48
|
+
super(scope, id);
|
|
49
|
+
this.name = props.name;
|
|
50
|
+
this.topic = new sns.Topic(this, 'Topic', {
|
|
51
|
+
topicName: `${props.name}-alarms`,
|
|
52
|
+
displayName: `${props.name} alarms`,
|
|
53
|
+
});
|
|
54
|
+
this.action = new actions.SnsAction(this.topic);
|
|
55
|
+
if (props.email) {
|
|
56
|
+
this.topic.addSubscription(new subscriptions.EmailSubscription(props.email));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
cdk.Annotations.of(this).addWarningV2(NO_SUBSCRIBER_WARNING, `${props.name}: no alarms.email on the compute pool, so ${props.name}-alarms has no subscriber. ` +
|
|
60
|
+
`Set the on-call address before anything real runs here.`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** The service has had no task reporting for three minutes. */
|
|
64
|
+
taskDown(service, what) {
|
|
65
|
+
return this.alarm('TaskDown', {
|
|
66
|
+
alarmName: `${this.name}-task-down`,
|
|
67
|
+
alarmDescription: `${what} has no running task: ECS reported no memory utilization for 3 minutes. Look at the service's events and the task's stopped reason.`,
|
|
68
|
+
metric: service.metricMemoryUtilization({ period: cdk.Duration.minutes(1), statistic: 'Average' }),
|
|
69
|
+
threshold: 0,
|
|
70
|
+
comparisonOperator: cloudwatch.ComparisonOperator.LESS_THAN_THRESHOLD,
|
|
71
|
+
evaluationPeriods: 3,
|
|
72
|
+
treatMissingData: cloudwatch.TreatMissingData.BREACHING,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/** `level: "error"` lines in a structured (JSON) log: `threshold` or more in `minutes`. */
|
|
76
|
+
logErrors(logGroup, what, namespace, opts = {}) {
|
|
77
|
+
const threshold = opts.threshold ?? 5;
|
|
78
|
+
const minutes = opts.minutes ?? 5;
|
|
79
|
+
const filter = new logs.MetricFilter(this, 'ErrorLines', {
|
|
80
|
+
logGroup,
|
|
81
|
+
metricNamespace: namespace,
|
|
82
|
+
metricName: 'error_lines',
|
|
83
|
+
filterPattern: logs.FilterPattern.stringValue('$.level', '=', 'error'),
|
|
84
|
+
metricValue: '1',
|
|
85
|
+
});
|
|
86
|
+
return this.alarm('LogErrors', {
|
|
87
|
+
alarmName: `${this.name}-log-errors`,
|
|
88
|
+
alarmDescription: `${what} logged ${threshold} or more error lines in ${minutes} minutes. The log group has the message; the first field is the failing step.`,
|
|
89
|
+
metric: filter.metric({ period: cdk.Duration.minutes(minutes), statistic: 'Sum' }),
|
|
90
|
+
threshold,
|
|
91
|
+
comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
92
|
+
evaluationPeriods: 1,
|
|
93
|
+
treatMissingData: cloudwatch.TreatMissingData.NOT_BREACHING,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* A metric summed from the log lines where `field` equals `equals` — the
|
|
98
|
+
* value at `sum` (a JSON path), or one per line — has been zero for
|
|
99
|
+
* `minutes`. A log with no such line in the window is the same silence.
|
|
100
|
+
*/
|
|
101
|
+
silence(logGroup, what, namespace, opts) {
|
|
102
|
+
const filter = new logs.MetricFilter(this, 'Activity', {
|
|
103
|
+
logGroup,
|
|
104
|
+
metricNamespace: namespace,
|
|
105
|
+
metricName: 'activity',
|
|
106
|
+
filterPattern: logs.FilterPattern.stringValue(opts.field, '=', opts.equals),
|
|
107
|
+
metricValue: opts.sum ?? '1',
|
|
108
|
+
});
|
|
109
|
+
return this.alarm('Silence', {
|
|
110
|
+
alarmName: `${this.name}-silent`,
|
|
111
|
+
alarmDescription: `${what} recorded no activity (${opts.field} = ${JSON.stringify(opts.equals)}${opts.sum ? `, sum of ${opts.sum}` : ''}) for ${opts.minutes} minutes. Nothing is reaching it, or nothing should be and this alarm belongs off for the stage.`,
|
|
112
|
+
metric: filter.metric({ period: cdk.Duration.minutes(opts.minutes), statistic: 'Sum' }),
|
|
113
|
+
threshold: 0,
|
|
114
|
+
comparisonOperator: cloudwatch.ComparisonOperator.LESS_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
115
|
+
evaluationPeriods: 1,
|
|
116
|
+
treatMissingData: cloudwatch.TreatMissingData.BREACHING,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/** (serverless) A target group has had an unhealthy target for three minutes. */
|
|
120
|
+
unhealthyTargets(id, targetGroup, what) {
|
|
121
|
+
return this.alarm(`Unhealthy${id}`, {
|
|
122
|
+
alarmName: `${this.name}-unhealthy-${id.toLowerCase()}`,
|
|
123
|
+
alarmDescription: `${what}: the load balancer has reported an unhealthy target for 3 minutes — the task is up but does not answer the health check on it.`,
|
|
124
|
+
metric: targetGroup.metrics.unHealthyHostCount({ period: cdk.Duration.minutes(1), statistic: 'Maximum' }),
|
|
125
|
+
threshold: 1,
|
|
126
|
+
comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
127
|
+
evaluationPeriods: 3,
|
|
128
|
+
treatMissingData: cloudwatch.TreatMissingData.NOT_BREACHING,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* (instance) The group has fewer than `minimum` machines in service, or one
|
|
133
|
+
* fails EC2's status checks. The first needs the group's metrics collected
|
|
134
|
+
* (`groupMetrics` on the group — free); the second is EC2's own,
|
|
135
|
+
* aggregated by group so it needs no instance id at synth.
|
|
136
|
+
*/
|
|
137
|
+
instanceOut(group, what, minimum = 1) {
|
|
138
|
+
const inService = this.alarm('NoInstance', {
|
|
139
|
+
alarmName: `${this.name}-no-instance`,
|
|
140
|
+
alarmDescription: minimum > 1
|
|
141
|
+
? `${what}: the Auto Scaling group has had fewer than ${minimum} machines in service for 3 minutes. The services run on what is left.`
|
|
142
|
+
: `${what}: the Auto Scaling group has had no machine in service for 3 minutes. Every service on it is down with it.`,
|
|
143
|
+
metric: new cloudwatch.Metric({
|
|
144
|
+
namespace: 'AWS/AutoScaling',
|
|
145
|
+
metricName: 'GroupInServiceInstances',
|
|
146
|
+
dimensionsMap: { AutoScalingGroupName: group.autoScalingGroupName },
|
|
147
|
+
period: cdk.Duration.minutes(1),
|
|
148
|
+
statistic: 'Minimum',
|
|
149
|
+
}),
|
|
150
|
+
threshold: minimum,
|
|
151
|
+
comparisonOperator: cloudwatch.ComparisonOperator.LESS_THAN_THRESHOLD,
|
|
152
|
+
evaluationPeriods: 3,
|
|
153
|
+
treatMissingData: cloudwatch.TreatMissingData.BREACHING,
|
|
154
|
+
});
|
|
155
|
+
const statusCheck = this.alarm('StatusCheck', {
|
|
156
|
+
alarmName: `${this.name}-status-check`,
|
|
157
|
+
alarmDescription: `${what}: the machine failed EC2's status checks for 10 minutes (basic monitoring reports every 5). The group replaces it only if the check is the instance's own; a system failure needs a stop/start.`,
|
|
158
|
+
metric: new cloudwatch.Metric({
|
|
159
|
+
namespace: 'AWS/EC2',
|
|
160
|
+
metricName: 'StatusCheckFailed',
|
|
161
|
+
dimensionsMap: { AutoScalingGroupName: group.autoScalingGroupName },
|
|
162
|
+
period: cdk.Duration.minutes(5),
|
|
163
|
+
statistic: 'Maximum',
|
|
164
|
+
}),
|
|
165
|
+
threshold: 1,
|
|
166
|
+
comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
167
|
+
evaluationPeriods: 2,
|
|
168
|
+
treatMissingData: cloudwatch.TreatMissingData.NOT_BREACHING,
|
|
169
|
+
});
|
|
170
|
+
return [inService, statusCheck];
|
|
171
|
+
}
|
|
172
|
+
alarm(id, props) {
|
|
173
|
+
const alarm = new cloudwatch.Alarm(this, id, props);
|
|
174
|
+
alarm.addAlarmAction(this.action);
|
|
175
|
+
alarm.addOkAction(this.action);
|
|
176
|
+
this.alarms.push(alarm);
|
|
177
|
+
return alarm;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=service-alarms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-alarms.js","sourceRoot":"","sources":["../../../src/cdk/shared/service-alarms.ts"],"names":[],"mappings":"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"}
|
|
@@ -307,6 +307,58 @@ export declare const edgeKeys: {
|
|
|
307
307
|
*/
|
|
308
308
|
readonly storageCdnDistributionId: (project: string, stage: string, storageId: string) => string;
|
|
309
309
|
};
|
|
310
|
+
export declare const computeKeys: {
|
|
311
|
+
/** ECS cluster name of a `compute` pool — what a task of a sidecar deploy would be placed on. */
|
|
312
|
+
readonly clusterName: (project: string, stage: string, poolId: string) => string;
|
|
313
|
+
/** `instance` pools: the capacity provider a service names to land on the machine. */
|
|
314
|
+
readonly capacityProviderName: (project: string, stage: string, poolId: string) => string;
|
|
315
|
+
/**
|
|
316
|
+
* `instance` pools: the machine's security group id. Every service on
|
|
317
|
+
* the pool uses the host's network, so this group is every service's
|
|
318
|
+
* door; a sibling deploy that must reach one of them admits this id.
|
|
319
|
+
*/
|
|
320
|
+
readonly instanceSecurityGroupId: (project: string, stage: string, poolId: string) => string;
|
|
321
|
+
/** `instance` pools with public ports: the internet-facing balancer's DNS name, a CNAME target. */
|
|
322
|
+
readonly loadBalancerDnsName: (project: string, stage: string, poolId: string) => string;
|
|
323
|
+
/** `instance` pools with public ports: comma-joined Elastic IPs (one per AZ) — what devices are configured with. */
|
|
324
|
+
readonly addresses: (project: string, stage: string, poolId: string) => string;
|
|
325
|
+
/** `instance` pools with shared or named ports: the internal balancer's DNS name; resolves inside the VPC only. */
|
|
326
|
+
readonly internalLoadBalancerDnsName: (project: string, stage: string, poolId: string) => string;
|
|
327
|
+
/** `instance` pools with shared ports: the VPC endpoint service (`com.amazonaws.vpce.<region>.vpce-svc-…`) consumers connect to. */
|
|
328
|
+
readonly endpointServiceName: (project: string, stage: string, poolId: string) => string;
|
|
329
|
+
/** The private DNS zone services on the pool are named under (`<service.dns>.<zone>`). */
|
|
330
|
+
readonly privateZoneName: (project: string, stage: string, poolId: string) => string;
|
|
331
|
+
/** SNS topic the pool's own alarms (no machine in service, status checks) ring. */
|
|
332
|
+
readonly alarmTopicArn: (project: string, stage: string, poolId: string) => string;
|
|
333
|
+
};
|
|
334
|
+
export declare const servicesKeys: {
|
|
335
|
+
/** ECS service name — `aws ecs update-service --force-new-deployment` takes it. */
|
|
336
|
+
readonly serviceName: (project: string, stage: string, serviceId: string) => string;
|
|
337
|
+
/** CloudWatch log group of every container of the service. */
|
|
338
|
+
readonly logGroupName: (project: string, stage: string, serviceId: string) => string;
|
|
339
|
+
/**
|
|
340
|
+
* `http://<dns>.<zone>:<port>` — the service's private address, present
|
|
341
|
+
* when the intent declares `dns` and a `vpc`-exposed port. Resolves inside
|
|
342
|
+
* the VPC only. The app stack injects it as `SERVICE_<ID>_URL`.
|
|
343
|
+
*/
|
|
344
|
+
readonly url: (project: string, stage: string, serviceId: string) => string;
|
|
345
|
+
/** Comma-joined fixed public addresses of the service's public ports (`serverless`: one per AZ; `instance`: the machine's). */
|
|
346
|
+
readonly addresses: (project: string, stage: string, serviceId: string) => string;
|
|
347
|
+
/** `serverless` pools with public ports: the load balancer's DNS name, a CNAME target. */
|
|
348
|
+
readonly loadBalancerDnsName: (project: string, stage: string, serviceId: string) => string;
|
|
349
|
+
/** SNS topic the service's alarms ring; subscribe more than the pool's e-mail here. */
|
|
350
|
+
readonly alarmTopicArn: (project: string, stage: string, serviceId: string) => string;
|
|
351
|
+
/**
|
|
352
|
+
* Services with `shared` ports: the endpoint service a consumer venture's
|
|
353
|
+
* `services[].external` connects an interface endpoint to. The pool's, but
|
|
354
|
+
* published under the service so a consumer names what it uses.
|
|
355
|
+
*/
|
|
356
|
+
readonly endpointServiceName: (project: string, stage: string, serviceId: string) => string;
|
|
357
|
+
/** Services with `shared` ports: comma-joined port numbers, in declaration order. */
|
|
358
|
+
readonly sharedPorts: (project: string, stage: string, serviceId: string) => string;
|
|
359
|
+
/** Services with `shared` ports: the first of them — what a consumer's `SERVICE_<ID>_URL` names. */
|
|
360
|
+
readonly port: (project: string, stage: string, serviceId: string) => string;
|
|
361
|
+
};
|
|
310
362
|
/**
|
|
311
363
|
* Single namespace exporting every category for ergonomic imports
|
|
312
364
|
* elsewhere: `import { ssmKeys } from './shared/ssm-keys.js';
|
|
@@ -545,6 +597,58 @@ export declare const ssmKeys: {
|
|
|
545
597
|
*/
|
|
546
598
|
readonly storageCdnDistributionId: (project: string, stage: string, storageId: string) => string;
|
|
547
599
|
};
|
|
600
|
+
readonly compute: {
|
|
601
|
+
/** ECS cluster name of a `compute` pool — what a task of a sidecar deploy would be placed on. */
|
|
602
|
+
readonly clusterName: (project: string, stage: string, poolId: string) => string;
|
|
603
|
+
/** `instance` pools: the capacity provider a service names to land on the machine. */
|
|
604
|
+
readonly capacityProviderName: (project: string, stage: string, poolId: string) => string;
|
|
605
|
+
/**
|
|
606
|
+
* `instance` pools: the machine's security group id. Every service on
|
|
607
|
+
* the pool uses the host's network, so this group is every service's
|
|
608
|
+
* door; a sibling deploy that must reach one of them admits this id.
|
|
609
|
+
*/
|
|
610
|
+
readonly instanceSecurityGroupId: (project: string, stage: string, poolId: string) => string;
|
|
611
|
+
/** `instance` pools with public ports: the internet-facing balancer's DNS name, a CNAME target. */
|
|
612
|
+
readonly loadBalancerDnsName: (project: string, stage: string, poolId: string) => string;
|
|
613
|
+
/** `instance` pools with public ports: comma-joined Elastic IPs (one per AZ) — what devices are configured with. */
|
|
614
|
+
readonly addresses: (project: string, stage: string, poolId: string) => string;
|
|
615
|
+
/** `instance` pools with shared or named ports: the internal balancer's DNS name; resolves inside the VPC only. */
|
|
616
|
+
readonly internalLoadBalancerDnsName: (project: string, stage: string, poolId: string) => string;
|
|
617
|
+
/** `instance` pools with shared ports: the VPC endpoint service (`com.amazonaws.vpce.<region>.vpce-svc-…`) consumers connect to. */
|
|
618
|
+
readonly endpointServiceName: (project: string, stage: string, poolId: string) => string;
|
|
619
|
+
/** The private DNS zone services on the pool are named under (`<service.dns>.<zone>`). */
|
|
620
|
+
readonly privateZoneName: (project: string, stage: string, poolId: string) => string;
|
|
621
|
+
/** SNS topic the pool's own alarms (no machine in service, status checks) ring. */
|
|
622
|
+
readonly alarmTopicArn: (project: string, stage: string, poolId: string) => string;
|
|
623
|
+
};
|
|
624
|
+
readonly services: {
|
|
625
|
+
/** ECS service name — `aws ecs update-service --force-new-deployment` takes it. */
|
|
626
|
+
readonly serviceName: (project: string, stage: string, serviceId: string) => string;
|
|
627
|
+
/** CloudWatch log group of every container of the service. */
|
|
628
|
+
readonly logGroupName: (project: string, stage: string, serviceId: string) => string;
|
|
629
|
+
/**
|
|
630
|
+
* `http://<dns>.<zone>:<port>` — the service's private address, present
|
|
631
|
+
* when the intent declares `dns` and a `vpc`-exposed port. Resolves inside
|
|
632
|
+
* the VPC only. The app stack injects it as `SERVICE_<ID>_URL`.
|
|
633
|
+
*/
|
|
634
|
+
readonly url: (project: string, stage: string, serviceId: string) => string;
|
|
635
|
+
/** Comma-joined fixed public addresses of the service's public ports (`serverless`: one per AZ; `instance`: the machine's). */
|
|
636
|
+
readonly addresses: (project: string, stage: string, serviceId: string) => string;
|
|
637
|
+
/** `serverless` pools with public ports: the load balancer's DNS name, a CNAME target. */
|
|
638
|
+
readonly loadBalancerDnsName: (project: string, stage: string, serviceId: string) => string;
|
|
639
|
+
/** SNS topic the service's alarms ring; subscribe more than the pool's e-mail here. */
|
|
640
|
+
readonly alarmTopicArn: (project: string, stage: string, serviceId: string) => string;
|
|
641
|
+
/**
|
|
642
|
+
* Services with `shared` ports: the endpoint service a consumer venture's
|
|
643
|
+
* `services[].external` connects an interface endpoint to. The pool's, but
|
|
644
|
+
* published under the service so a consumer names what it uses.
|
|
645
|
+
*/
|
|
646
|
+
readonly endpointServiceName: (project: string, stage: string, serviceId: string) => string;
|
|
647
|
+
/** Services with `shared` ports: comma-joined port numbers, in declaration order. */
|
|
648
|
+
readonly sharedPorts: (project: string, stage: string, serviceId: string) => string;
|
|
649
|
+
/** Services with `shared` ports: the first of them — what a consumer's `SERVICE_<ID>_URL` names. */
|
|
650
|
+
readonly port: (project: string, stage: string, serviceId: string) => string;
|
|
651
|
+
};
|
|
548
652
|
};
|
|
549
653
|
export type SsmKeys = typeof ssmKeys;
|
|
550
654
|
//# sourceMappingURL=ssm-keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssm-keys.d.ts","sourceRoot":"","sources":["../../../src/cdk/shared/ssm-keys.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ssm-keys.d.ts","sourceRoot":"","sources":["../../../src/cdk/shared/ssm-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -322,6 +322,60 @@ export const edgeKeys = {
|
|
|
322
322
|
*/
|
|
323
323
|
storageCdnDistributionId: (project, stage, storageId) => `${base(project, stage)}/edge/storage/${storageId}/cdn-distribution-id`,
|
|
324
324
|
};
|
|
325
|
+
// ─── Compute tier (pools for long-running services) ────────────────
|
|
326
|
+
export const computeKeys = {
|
|
327
|
+
/** ECS cluster name of a `compute` pool — what a task of a sidecar deploy would be placed on. */
|
|
328
|
+
clusterName: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/cluster-name`,
|
|
329
|
+
/** `instance` pools: the capacity provider a service names to land on the machine. */
|
|
330
|
+
capacityProviderName: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/capacity-provider-name`,
|
|
331
|
+
/**
|
|
332
|
+
* `instance` pools: the machine's security group id. Every service on
|
|
333
|
+
* the pool uses the host's network, so this group is every service's
|
|
334
|
+
* door; a sibling deploy that must reach one of them admits this id.
|
|
335
|
+
*/
|
|
336
|
+
instanceSecurityGroupId: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/instance-security-group-id`,
|
|
337
|
+
/** `instance` pools with public ports: the internet-facing balancer's DNS name, a CNAME target. */
|
|
338
|
+
loadBalancerDnsName: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/load-balancer-dns-name`,
|
|
339
|
+
/** `instance` pools with public ports: comma-joined Elastic IPs (one per AZ) — what devices are configured with. */
|
|
340
|
+
addresses: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/addresses`,
|
|
341
|
+
/** `instance` pools with shared or named ports: the internal balancer's DNS name; resolves inside the VPC only. */
|
|
342
|
+
internalLoadBalancerDnsName: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/internal-load-balancer-dns-name`,
|
|
343
|
+
/** `instance` pools with shared ports: the VPC endpoint service (`com.amazonaws.vpce.<region>.vpce-svc-…`) consumers connect to. */
|
|
344
|
+
endpointServiceName: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/endpoint-service-name`,
|
|
345
|
+
/** The private DNS zone services on the pool are named under (`<service.dns>.<zone>`). */
|
|
346
|
+
privateZoneName: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/private-zone-name`,
|
|
347
|
+
/** SNS topic the pool's own alarms (no machine in service, status checks) ring. */
|
|
348
|
+
alarmTopicArn: (project, stage, poolId) => `${base(project, stage)}/compute/${poolId}/alarm-topic-arn`,
|
|
349
|
+
};
|
|
350
|
+
// ─── Services tier (long-running processes) ────────────────────────
|
|
351
|
+
export const servicesKeys = {
|
|
352
|
+
/** ECS service name — `aws ecs update-service --force-new-deployment` takes it. */
|
|
353
|
+
serviceName: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/service-name`,
|
|
354
|
+
/** CloudWatch log group of every container of the service. */
|
|
355
|
+
logGroupName: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/log-group-name`,
|
|
356
|
+
/**
|
|
357
|
+
* `http://<dns>.<zone>:<port>` — the service's private address, present
|
|
358
|
+
* when the intent declares `dns` and a `vpc`-exposed port. Resolves inside
|
|
359
|
+
* the VPC only. The app stack injects it as `SERVICE_<ID>_URL`.
|
|
360
|
+
*/
|
|
361
|
+
url: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/url`,
|
|
362
|
+
/** Comma-joined fixed public addresses of the service's public ports (`serverless`: one per AZ; `instance`: the machine's). */
|
|
363
|
+
addresses: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/addresses`,
|
|
364
|
+
/** `serverless` pools with public ports: the load balancer's DNS name, a CNAME target. */
|
|
365
|
+
loadBalancerDnsName: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/load-balancer-dns-name`,
|
|
366
|
+
/** SNS topic the service's alarms ring; subscribe more than the pool's e-mail here. */
|
|
367
|
+
alarmTopicArn: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/alarm-topic-arn`,
|
|
368
|
+
/**
|
|
369
|
+
* Services with `shared` ports: the endpoint service a consumer venture's
|
|
370
|
+
* `services[].external` connects an interface endpoint to. The pool's, but
|
|
371
|
+
* published under the service so a consumer names what it uses.
|
|
372
|
+
*/
|
|
373
|
+
endpointServiceName: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/endpoint-service-name`,
|
|
374
|
+
/** Services with `shared` ports: comma-joined port numbers, in declaration order. */
|
|
375
|
+
sharedPorts: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/shared-ports`,
|
|
376
|
+
/** Services with `shared` ports: the first of them — what a consumer's `SERVICE_<ID>_URL` names. */
|
|
377
|
+
port: (project, stage, serviceId) => `${base(project, stage)}/services/${serviceId}/port`,
|
|
378
|
+
};
|
|
325
379
|
// ─── Aggregate ──────────────────────────────────────────────────────
|
|
326
380
|
/**
|
|
327
381
|
* Single namespace exporting every category for ergonomic imports
|
|
@@ -335,5 +389,7 @@ export const ssmKeys = {
|
|
|
335
389
|
config: configKeys,
|
|
336
390
|
messaging: messagingKeys,
|
|
337
391
|
edge: edgeKeys,
|
|
392
|
+
compute: computeKeys,
|
|
393
|
+
services: servicesKeys,
|
|
338
394
|
};
|
|
339
395
|
//# sourceMappingURL=ssm-keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssm-keys.js","sourceRoot":"","sources":["../../../src/cdk/shared/ssm-keys.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ssm-keys.js","sourceRoot":"","sources":["../../../src/cdk/shared/ssm-keys.ts"],"names":[],"mappings":"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"}
|
package/dist/venture.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Infrastructure lives in CDK VentureStack
|
|
11
11
|
*/
|
|
12
12
|
import { BaseConfig, EnvConfigInput, ResolvedConfig } from '@venturekit/core';
|
|
13
|
-
import type { VentureIntent, DatabaseIntent, StorageIntent, AuthIntent, QueueIntent, CacheIntent, ScheduleIntent, FunctionIntent, MonitoringIntent, SecretsIntent, EnvVarIntent, DomainIntent, NotifyIntent, EventsIntent, BillingIntent } from '@venturekit/core';
|
|
13
|
+
import type { VentureIntent, DatabaseIntent, StorageIntent, AuthIntent, QueueIntent, CacheIntent, ScheduleIntent, FunctionIntent, MonitoringIntent, SecretsIntent, EnvVarIntent, DomainIntent, NotifyIntent, EventsIntent, BillingIntent, ComputeIntent, ServiceIntent, ServiceOverride } from '@venturekit/core';
|
|
14
14
|
/**
|
|
15
15
|
* VentureKit application definition
|
|
16
16
|
*/
|
|
@@ -87,6 +87,19 @@ export interface VentureDefinition {
|
|
|
87
87
|
* `@venturekit/billing` needs no wiring in the project.
|
|
88
88
|
*/
|
|
89
89
|
billing?: BillingIntent[];
|
|
90
|
+
/**
|
|
91
|
+
* Compute pools for long-running services — shared definitions. See
|
|
92
|
+
* `ComputeIntent` in `@venturekit/core`. A stage switches a pool between
|
|
93
|
+
* the one shared machine and managed containers by overriding `kind`.
|
|
94
|
+
*/
|
|
95
|
+
compute?: ComputeIntent[];
|
|
96
|
+
/**
|
|
97
|
+
* Long-running services — shared definitions. See `ServiceIntent` in
|
|
98
|
+
* `@venturekit/core`. Per-env overrides merge containers by name and
|
|
99
|
+
* their ports by number, so a stage can change one memory figure or one
|
|
100
|
+
* admitted range without restating the service.
|
|
101
|
+
*/
|
|
102
|
+
services?: ServiceIntent[];
|
|
90
103
|
}
|
|
91
104
|
/**
|
|
92
105
|
* VentureKit app configuration (returned by app())
|
|
@@ -100,6 +113,15 @@ export interface VentureAppConfig {
|
|
|
100
113
|
};
|
|
101
114
|
};
|
|
102
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Merge `services` overrides. Unlike every other intent, a service's
|
|
118
|
+
* per-stage differences live two levels down — one container's memory,
|
|
119
|
+
* one port's admitted ranges — so a shallow merge would make a stage
|
|
120
|
+
* restate every container to change one number. Containers merge by
|
|
121
|
+
* `name` and their ports by `port`; a container or port the override
|
|
122
|
+
* names and the shared definition lacks is appended.
|
|
123
|
+
*/
|
|
124
|
+
export declare function mergeServices(shared: ServiceIntent[] | undefined, overrides: ServiceOverride[] | undefined): ServiceIntent[] | undefined;
|
|
103
125
|
export declare function defineVenture(definition: VentureDefinition): {
|
|
104
126
|
_routesDir: string;
|
|
105
127
|
_functionsDir: string;
|
package/dist/venture.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EAEd,cAAc,EAMf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"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"}
|