@studion/infra-code-blocks 0.8.0-next.0 → 0.8.0-next.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.
Files changed (30) hide show
  1. package/README.md +7 -5
  2. package/dist/components/ecs-service.d.ts.map +1 -1
  3. package/dist/components/ecs-service.js +4 -5
  4. package/dist/components/mongo.d.ts.map +1 -1
  5. package/dist/components/mongo.js +5 -3
  6. package/dist/v2/components/ecs-service/index.d.ts +6 -1
  7. package/dist/v2/components/ecs-service/index.d.ts.map +1 -1
  8. package/dist/v2/components/ecs-service/index.js +49 -45
  9. package/dist/v2/components/grafana/dashboards/index.d.ts +1 -1
  10. package/dist/v2/components/grafana/dashboards/panels.d.ts.map +1 -1
  11. package/dist/v2/components/grafana/dashboards/panels.js +38 -28
  12. package/dist/v2/components/grafana/dashboards/types.d.ts.map +1 -1
  13. package/dist/v2/components/grafana/dashboards/web-server-slo.d.ts.map +1 -1
  14. package/dist/v2/components/grafana/dashboards/web-server-slo.js +13 -16
  15. package/dist/v2/components/prometheus/queries.d.ts.map +1 -1
  16. package/dist/v2/components/web-server/builder.d.ts.map +1 -1
  17. package/dist/v2/components/web-server/builder.js +1 -0
  18. package/dist/v2/components/web-server/index.d.ts +1 -1
  19. package/dist/v2/components/web-server/index.d.ts.map +1 -1
  20. package/dist/v2/components/web-server/index.js +42 -30
  21. package/dist/v2/components/web-server/load-balancer.d.ts.map +1 -1
  22. package/dist/v2/components/web-server/load-balancer.js +23 -13
  23. package/dist/v2/otel/batch-processor.js +1 -1
  24. package/dist/v2/otel/builder.d.ts.map +1 -1
  25. package/dist/v2/otel/builder.js +12 -10
  26. package/dist/v2/otel/config.d.ts.map +1 -1
  27. package/dist/v2/otel/config.js +13 -14
  28. package/dist/v2/otel/memory-limiter-processor.js +1 -1
  29. package/dist/v2/otel/otlp-receiver.js +3 -3
  30. package/package.json +6 -11
package/README.md CHANGED
@@ -103,11 +103,11 @@ type ProjectArgs = {
103
103
  };
104
104
  ```
105
105
 
106
- | Argument | Description |
107
- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------: |
108
- | services \* | Service list. |
109
- | enableSSMConnect | Set up ec2 instance and SSM in order to connect to the database in the private subnet. Please refer to the [SSM Connect](#ssm-connect) section for more info. |
110
- | numberOfAvailabilityZones | Default is 2 which is recommended. If building a dev server, we can reduce to 1 availability zone to reduce hosting cost. |
106
+ | Argument | Description |
107
+ | :------------------------ | :-----------------------------------------------------------------------------------------------------------------------------------------------------------: |
108
+ | services \* | Service list. |
109
+ | enableSSMConnect | Set up ec2 instance and SSM in order to connect to the database in the private subnet. Please refer to the [SSM Connect](#ssm-connect) section for more info. |
110
+ | numberOfAvailabilityZones | Default is 2 which is recommended. If building a dev server, we can reduce to 1 availability zone to reduce hosting cost. |
111
111
 
112
112
  ```ts
113
113
  type DatabaseServiceOptions = {
@@ -481,9 +481,11 @@ type DatabaseReplicaArgs = {
481
481
  }>;
482
482
  };
483
483
  ```
484
+
484
485
  Database replica requires primary DB instance to exist. If the replica is in the same
485
486
  region as primary instance, we should not set `dbSubnetGroupNameParam`.
486
487
  The `replicateSourceDb` param is referenced like this:
488
+
487
489
  ```javascript
488
490
  const primaryDb = new studion.Database(...);
489
491
  const replica = new studion.DatabaseReplica('replica', {
@@ -1 +1 @@
1
- {"version":3,"file":"ecs-service.d.ts","sourceRoot":"","sources":["../../src/components/ecs-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecs-service.d.ts","sourceRoot":"","sources":["../../src/components/ecs-service.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ const STANDARD_DIRECTORY_PERMISSIONS = '0755';
29
29
  const FIRST_POSIX_NON_ROOT_USER = {
30
30
  userId: 1000,
31
31
  groupId: 1000,
32
- permissions: STANDARD_DIRECTORY_PERMISSIONS
32
+ permissions: STANDARD_DIRECTORY_PERMISSIONS,
33
33
  };
34
34
  const defaults = {
35
35
  desiredCount: 1,
@@ -224,6 +224,7 @@ class EcsService extends pulumi.ComponentResource {
224
224
  readOnly: (_a = mountPoint.readOnly) !== null && _a !== void 0 ? _a : false,
225
225
  });
226
226
  }),
227
+ user: `${FIRST_POSIX_NON_ROOT_USER.userId}:${FIRST_POSIX_NON_ROOT_USER.groupId}`,
227
228
  })), { logConfiguration: {
228
229
  logDriver: 'awslogs',
229
230
  options: {
@@ -236,9 +237,7 @@ class EcsService extends pulumi.ComponentResource {
236
237
  secrets }),
237
238
  ]);
238
239
  }) }, (argsWithDefaults.persistentStorageConfig && {
239
- volumes: argsWithDefaults.persistentStorageConfig
240
- .volumes
241
- .map(volume => ({
240
+ volumes: argsWithDefaults.persistentStorageConfig.volumes.map(volume => ({
242
241
  name: volume.name,
243
242
  efsVolumeConfiguration: {
244
243
  fileSystemId,
@@ -247,7 +246,7 @@ class EcsService extends pulumi.ComponentResource {
247
246
  accessPointId: accessPoint.id,
248
247
  iam: 'ENABLED',
249
248
  },
250
- }
249
+ },
251
250
  })),
252
251
  })), { tags: Object.assign(Object.assign({}, constants_1.commonTags), argsWithDefaults.tags) }), { parent: this });
253
252
  return taskDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/components/mongo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,cAAc,EACd,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,cAAc,GAAG,MAAM,CACzE,GAAG;IACF,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,cAAc,CAAC,yBAAyB,CAAC,CAAC;CACrE,CAAC;AAEF,qBAAa,KAAM,SAAQ,MAAM,CAAC,iBAAiB;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAG1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,EACf,IAAI,GAAE,MAAM,CAAC,wBAA6B;CA4D7C"}
1
+ {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/components/mongo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,cAAc,EACd,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,cAAc,GAAG,MAAM,CACzE,GAAG;IACF,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,cAAc,CAAC,yBAAyB,CAAC,CAAC;CACrE,CAAC;AAEF,qBAAa,KAAM,SAAQ,MAAM,CAAC,iBAAiB;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAG1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,EACf,IAAI,GAAE,MAAM,CAAC,wBAA6B;CA8D7C"}
@@ -23,10 +23,12 @@ class Mongo extends pulumi.ComponentResource {
23
23
  const port = args.port || 27017;
24
24
  const persistentStorageConfig = args.persistentStorageConfig || {
25
25
  volumes: [{ name: 'mongo' }],
26
- mountPoints: [{
26
+ mountPoints: [
27
+ {
27
28
  sourceVolume: 'mongo',
28
- containerPath: '/data/db'
29
- }]
29
+ containerPath: '/data/db',
30
+ },
31
+ ],
30
32
  };
31
33
  const { username, password, privateSubnetIds } = args, ecsServiceArgs = __rest(args, ["username", "password", "privateSubnetIds"]);
32
34
  this.name = name;
@@ -68,6 +68,11 @@ export declare namespace EcsService {
68
68
  containers: EcsService.Container[];
69
69
  loadBalancers?: pulumi.Input<LoadBalancerConfig[]>;
70
70
  volumes?: pulumi.Input<pulumi.Input<EcsService.PersistentStorageVolume>[]>;
71
+ /**
72
+ * Type of deployment controller to use.
73
+ * @default "ECS"
74
+ */
75
+ deploymentController?: 'ECS' | 'CODE_DEPLOY' | 'EXTERNAL';
71
76
  /**
72
77
  * Number of instances of the task definition to place and keep running.
73
78
  * @default 1
@@ -144,7 +149,7 @@ export declare class EcsService extends pulumi.ComponentResource {
144
149
  private createContainerDefinition;
145
150
  private createTaskExecutionRole;
146
151
  private createTaskRole;
147
- addSecurityGroup(securityGroup: pulumi.Output<aws.ec2.SecurityGroup>): void;
152
+ addSecurityGroup(securityGroup: aws.ec2.SecurityGroup): void;
148
153
  private createDefaultSecurityGroup;
149
154
  private createEcsService;
150
155
  private createServiceDiscovery;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/ecs-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/ecs-service/index.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,10 @@ const STANDARD_DIRECTORY_PERMISSIONS = '0755';
17
17
  const FIRST_POSIX_NON_ROOT_USER = {
18
18
  userId: 1000,
19
19
  groupId: 1000,
20
- permissions: STANDARD_DIRECTORY_PERMISSIONS
20
+ permissions: STANDARD_DIRECTORY_PERMISSIONS,
21
21
  };
22
22
  const defaults = {
23
+ deploymentController: 'ECS',
23
24
  desiredCount: 1,
24
25
  size: 'small',
25
26
  environment: [],
@@ -39,7 +40,8 @@ class EcsService extends pulumi.ComponentResource {
39
40
  constructor(name, args, opts = {}) {
40
41
  super('studion:ecs:Service', name, {}, opts);
41
42
  const argsWithDefaults = Object.assign({}, defaults, args);
42
- const taskExecutionRoleInlinePolicies = pulumi.output(args.taskExecutionRoleInlinePolicies || defaults.taskExecutionRoleInlinePolicies);
43
+ const taskExecutionRoleInlinePolicies = pulumi.output(args.taskExecutionRoleInlinePolicies ||
44
+ defaults.taskExecutionRoleInlinePolicies);
43
45
  const taskRoleInlinePolicies = pulumi.output(args.taskRoleInlinePolicies || defaults.taskRoleInlinePolicies);
44
46
  this.name = name;
45
47
  this.securityGroups = [];
@@ -47,9 +49,11 @@ class EcsService extends pulumi.ComponentResource {
47
49
  this.logGroup = this.createLogGroup();
48
50
  this.taskExecutionRole = this.createTaskExecutionRole(taskExecutionRoleInlinePolicies);
49
51
  this.taskRole = this.createTaskRole(taskRoleInlinePolicies);
50
- if (argsWithDefaults.volumes.length) {
51
- this.persistentStorage = this.createPersistentStorage(this.vpc);
52
- }
52
+ pulumi.output(argsWithDefaults.volumes).apply(volume => {
53
+ if (volume.length) {
54
+ this.persistentStorage = this.createPersistentStorage(this.vpc);
55
+ }
56
+ });
53
57
  this.taskDefinition = this.createTaskDefinition(argsWithDefaults.containers, pulumi.output(argsWithDefaults.volumes), this.taskExecutionRole, this.taskRole, argsWithDefaults.size, Object.assign(Object.assign({}, constants_1.commonTags), argsWithDefaults.tags));
54
58
  if (argsWithDefaults.enableServiceAutoDiscovery) {
55
59
  this.serviceDiscoveryService = this.createServiceDiscovery();
@@ -64,7 +68,7 @@ class EcsService extends pulumi.ComponentResource {
64
68
  return {
65
69
  containerPort: port,
66
70
  hostPort: port,
67
- protocol: 'tcp'
71
+ protocol: 'tcp',
68
72
  };
69
73
  }
70
74
  createLogGroup() {
@@ -102,22 +106,24 @@ class EcsService extends pulumi.ComponentResource {
102
106
  accessPointId: this.persistentStorage.accessPoint.id,
103
107
  iam: 'ENABLED',
104
108
  },
105
- }
109
+ },
106
110
  }));
107
111
  });
108
112
  }
109
113
  createContainerDefinition(container) {
110
- return this.logGroup.name.apply(logGroupName => (Object.assign(Object.assign(Object.assign(Object.assign({}, container), { readonlyRootFilesystem: false }), container.mountPoints && {
111
- mountPoints: container.mountPoints.map(mountPoint => pulumi.all([
114
+ return this.logGroup.name.apply(logGroupName => (Object.assign(Object.assign(Object.assign(Object.assign({}, container), { readonlyRootFilesystem: false }), (container.mountPoints && {
115
+ mountPoints: container.mountPoints.map(mountPoint => pulumi
116
+ .all([
112
117
  mountPoint.sourceVolume,
113
118
  mountPoint.containerPath,
114
- mountPoint.readOnly
115
- ]).apply(([sourceVolume, containerPath, readOnly]) => ({
119
+ mountPoint.readOnly,
120
+ ])
121
+ .apply(([sourceVolume, containerPath, readOnly]) => ({
116
122
  containerPath,
117
123
  sourceVolume,
118
124
  readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : false,
119
- })))
120
- }), { logConfiguration: {
125
+ }))),
126
+ })), { logConfiguration: {
121
127
  logDriver: 'awslogs',
122
128
  options: {
123
129
  'awslogs-group': logGroupName,
@@ -187,35 +193,29 @@ class EcsService extends pulumi.ComponentResource {
187
193
  }, { parent: this });
188
194
  }
189
195
  addSecurityGroup(securityGroup) {
190
- this.securityGroups.push(securityGroup);
196
+ this.securityGroups.push(pulumi.output(securityGroup));
191
197
  }
192
198
  createDefaultSecurityGroup() {
193
- const securityGroup = pulumi.all([
194
- this.vpc,
195
- this.vpc.vpcId,
196
- this.vpc.vpc.cidrBlock
197
- ]).apply(([vpc, vpcId, cidrBlock]) => {
198
- return new aws.ec2.SecurityGroup(`${this.name}-service-security-group`, {
199
- vpcId,
200
- ingress: [
201
- {
202
- fromPort: 0,
203
- toPort: 0,
204
- protocol: '-1',
205
- cidrBlocks: [cidrBlock],
206
- },
207
- ],
208
- egress: [
209
- {
210
- fromPort: 0,
211
- toPort: 0,
212
- protocol: '-1',
213
- cidrBlocks: ['0.0.0.0/0'],
214
- },
215
- ],
216
- tags: constants_1.commonTags,
217
- }, { parent: this, dependsOn: [vpc] });
218
- });
199
+ const securityGroup = new aws.ec2.SecurityGroup(`${this.name}-service-security-group`, {
200
+ vpcId: this.vpc.vpcId,
201
+ ingress: [
202
+ {
203
+ fromPort: 0,
204
+ toPort: 0,
205
+ protocol: '-1',
206
+ cidrBlocks: [this.vpc.vpc.cidrBlock],
207
+ },
208
+ ],
209
+ egress: [
210
+ {
211
+ fromPort: 0,
212
+ toPort: 0,
213
+ protocol: '-1',
214
+ cidrBlocks: ['0.0.0.0/0'],
215
+ },
216
+ ],
217
+ tags: constants_1.commonTags,
218
+ }, { parent: this });
219
219
  this.addSecurityGroup(securityGroup);
220
220
  }
221
221
  createEcsService(ecsServiceArgs) {
@@ -223,16 +223,20 @@ class EcsService extends pulumi.ComponentResource {
223
223
  this.createDefaultSecurityGroup();
224
224
  const networkConfiguration = {
225
225
  assignPublicIp: ecsServiceArgs.assignPublicIp,
226
- subnets: ecsServiceArgs.assignPublicIp ? this.vpc.publicSubnetIds : this.vpc.privateSubnetIds,
226
+ subnets: ecsServiceArgs.assignPublicIp
227
+ ? this.vpc.publicSubnetIds
228
+ : this.vpc.privateSubnetIds,
227
229
  securityGroups: pulumi
228
230
  .all(this.securityGroups)
229
231
  .apply(groups => groups.map(it => it.id)),
230
232
  };
231
- return new aws.ecs.Service(`${this.name}-service`, Object.assign(Object.assign(Object.assign({ name: this.name, cluster: pulumi.output(ecsServiceArgs.cluster).id, launchType: 'FARGATE', desiredCount: ecsServiceArgs.desiredCount, taskDefinition: this.taskDefinition.arn, enableExecuteCommand: true, networkConfiguration }, ecsServiceArgs.loadBalancers && { loadBalancers: ecsServiceArgs.loadBalancers }), this.serviceDiscoveryService && {
233
+ return new aws.ecs.Service(`${this.name}-service`, Object.assign(Object.assign(Object.assign({ name: this.name, cluster: pulumi.output(ecsServiceArgs.cluster).id, launchType: 'FARGATE', deploymentController: { type: ecsServiceArgs.deploymentController }, desiredCount: ecsServiceArgs.desiredCount, taskDefinition: this.taskDefinition.arn, enableExecuteCommand: true, networkConfiguration }, (ecsServiceArgs.loadBalancers && {
234
+ loadBalancers: ecsServiceArgs.loadBalancers,
235
+ })), (this.serviceDiscoveryService && {
232
236
  serviceRegistries: {
233
237
  registryArn: this.serviceDiscoveryService.arn,
234
238
  },
235
- }), { tags: Object.assign(Object.assign({}, constants_1.commonTags), ecsServiceArgs.tags) }), { parent: this, });
239
+ })), { tags: Object.assign(Object.assign({}, constants_1.commonTags), ecsServiceArgs.tags) }), { parent: this });
236
240
  }
237
241
  createServiceDiscovery() {
238
242
  const privateDnsNamespace = this.createPrivateDnsNameSpace();
@@ -319,7 +323,7 @@ class EcsService extends pulumi.ComponentResource {
319
323
  ],
320
324
  tags: constants_1.commonTags,
321
325
  }, { parent: this });
322
- this.vpc.privateSubnetIds.apply((subnetIds) => {
326
+ this.vpc.privateSubnetIds.apply(subnetIds => {
323
327
  subnetIds.forEach(subnetId => {
324
328
  const mountTarget = new aws.efs.MountTarget(`${this.name}-mount-target-${subnetId}`, {
325
329
  fileSystemId: efs.id,
@@ -342,7 +346,7 @@ class EcsService extends pulumi.ComponentResource {
342
346
  permissions: FIRST_POSIX_NON_ROOT_USER.permissions,
343
347
  },
344
348
  },
345
- });
349
+ }, { parent: this });
346
350
  return { fileSystem: efs, accessPoint };
347
351
  }
348
352
  }
@@ -1,3 +1,3 @@
1
- export { default as WebServerSloDashboardBuilder } from "./web-server-slo";
1
+ export { default as WebServerSloDashboardBuilder } from './web-server-slo';
2
2
  export * as panel from './panels';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/grafana/dashboards/panels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQlC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GACrB,OAAO,CAAC,KAAK,CAsBf;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GACrB,OAAO,CAAC,KAAK,CAUf;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAwBf;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GACrB,OAAO,CAAC,KAAK,CAkCf"}
1
+ {"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/grafana/dashboards/panels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQlC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GACrB,OAAO,CAAC,KAAK,CA0Bf;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GACrB,OAAO,CAAC,KAAK,CAUf;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CA4Bf;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GACrB,OAAO,CAAC,KAAK,CAoCf"}
@@ -7,7 +7,7 @@ exports.createBurnRatePanel = createBurnRatePanel;
7
7
  const percentageFieldConfig = {
8
8
  unit: 'percent',
9
9
  min: 0,
10
- max: 100
10
+ max: 100,
11
11
  };
12
12
  function createStatPercentagePanel(title, position, dataSource, metric) {
13
13
  return {
@@ -15,18 +15,22 @@ function createStatPercentagePanel(title, position, dataSource, metric) {
15
15
  gridPos: position,
16
16
  type: 'stat',
17
17
  datasource: dataSource,
18
- targets: [{
18
+ targets: [
19
+ {
19
20
  expr: metric.query,
20
- legendFormat: metric.label
21
- }],
21
+ legendFormat: metric.label,
22
+ },
23
+ ],
22
24
  fieldConfig: {
23
- defaults: Object.assign(Object.assign({}, percentageFieldConfig), (metric.thresholds ? {
24
- thresholds: {
25
- mode: 'absolute',
26
- steps: metric.thresholds
25
+ defaults: Object.assign(Object.assign({}, percentageFieldConfig), (metric.thresholds
26
+ ? {
27
+ thresholds: {
28
+ mode: 'absolute',
29
+ steps: metric.thresholds,
30
+ },
27
31
  }
28
- } : {}))
29
- }
32
+ : {})),
33
+ },
30
34
  };
31
35
  }
32
36
  function createTimeSeriesPercentagePanel(title, position, dataSource, metric) {
@@ -38,20 +42,24 @@ function createTimeSeriesPanel(title, position, dataSource, metric, unit, min, m
38
42
  type: 'timeseries',
39
43
  datasource: dataSource,
40
44
  gridPos: position,
41
- targets: [{
45
+ targets: [
46
+ {
42
47
  expr: metric.query,
43
- legendFormat: metric.label
44
- }],
48
+ legendFormat: metric.label,
49
+ },
50
+ ],
45
51
  fieldConfig: {
46
52
  defaults: Object.assign({ unit,
47
53
  min,
48
- max }, (metric.thresholds ? {
49
- thresholds: {
50
- mode: 'absolute',
51
- steps: metric.thresholds
54
+ max }, (metric.thresholds
55
+ ? {
56
+ thresholds: {
57
+ mode: 'absolute',
58
+ steps: metric.thresholds,
59
+ },
52
60
  }
53
- } : {}))
54
- }
61
+ : {})),
62
+ },
55
63
  };
56
64
  }
57
65
  function createBurnRatePanel(title, position, dataSource, metric) {
@@ -60,19 +68,21 @@ function createBurnRatePanel(title, position, dataSource, metric) {
60
68
  title,
61
69
  gridPos: position,
62
70
  datasource: dataSource,
63
- targets: [{
71
+ targets: [
72
+ {
64
73
  expr: metric.query,
65
- legendFormat: metric.label
66
- }],
74
+ legendFormat: metric.label,
75
+ },
76
+ ],
67
77
  options: {
68
78
  reduceOptions: {
69
79
  calcs: ['last'],
70
80
  fields: '',
71
- values: false
81
+ values: false,
72
82
  },
73
83
  colorMode: 'value',
74
84
  graphMode: 'none',
75
- textMode: 'value'
85
+ textMode: 'value',
76
86
  },
77
87
  fieldConfig: {
78
88
  defaults: {
@@ -82,10 +92,10 @@ function createBurnRatePanel(title, position, dataSource, metric) {
82
92
  steps: [
83
93
  { color: 'green', value: null },
84
94
  { color: 'orange', value: 1 },
85
- { color: 'red', value: 2 }
86
- ]
87
- }
88
- }
95
+ { color: 'red', value: 2 },
96
+ ],
97
+ },
98
+ },
89
99
  },
90
100
  };
91
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/grafana/dashboards/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,yBAAiB,OAAO,CAAC;IAIvB,KAAY,SAAS,GAAG;QACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAY,MAAM,GAAG;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,SAAS,EAAE,CAAC;KACzB,CAAC;IAEF,KAAY,IAAI,GAAG;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC5C,CAAC;IAEF,KAAY,KAAK,GAAG;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,YAAY,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;QACJ,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,KAAK,CAAC,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC;iBACd,CAAC;gBACF,UAAU,CAAC,EAAE;oBACX,IAAI,EAAE,MAAM,CAAC;oBACb,KAAK,EAAE,SAAS,EAAE,CAAC;iBACpB,CAAC;gBACF,MAAM,CAAC,EAAE;oBACP,iBAAiB,CAAC,EAAE,MAAM,CAAC;oBAC3B,SAAS,EAAE,OAAO,CAAA;iBACnB,CAAA;aACF,CAAC;SACH,CAAC;QACF,OAAO,CAAC,EAAE;YACR,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,aAAa,CAAC,EAAE;gBACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,OAAO,CAAC;aAClB,CAAC;SACH,CAAC;KACH,CAAA;IAED,UAAiB,KAAK,CAAC;QACrB,KAAY,QAAQ,GAAG;YACrB,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;SACX,CAAA;KACF;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/grafana/dashboards/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,yBAAiB,OAAO,CAAC;IAIvB,KAAY,SAAS,GAAG;QACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAY,MAAM,GAAG;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,SAAS,EAAE,CAAC;KACzB,CAAC;IAEF,KAAY,IAAI,GAAG;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC5C,CAAC;IAEF,KAAY,KAAK,GAAG;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,YAAY,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;QACJ,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,KAAK,CAAC,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC;iBACd,CAAC;gBACF,UAAU,CAAC,EAAE;oBACX,IAAI,EAAE,MAAM,CAAC;oBACb,KAAK,EAAE,SAAS,EAAE,CAAC;iBACpB,CAAC;gBACF,MAAM,CAAC,EAAE;oBACP,iBAAiB,CAAC,EAAE,MAAM,CAAC;oBAC3B,SAAS,EAAE,OAAO,CAAC;iBACpB,CAAC;aACH,CAAC;SACH,CAAC;QACF,OAAO,CAAC,EAAE;YACR,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,aAAa,CAAC,EAAE;gBACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,OAAO,CAAC;aAClB,CAAC;SACH,CAAC;KACH,CAAC;IAEF,UAAiB,KAAK,CAAC;QACrB,KAAY,QAAQ,GAAG;YACrB,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;SACX,CAAC;KACH;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-server-slo.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/grafana/dashboards/web-server-slo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQlC,cAAM,4BAA4B;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAM;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAG7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CAAC,IAAI;IAMpB,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;IA0BP,eAAe,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;IAyCP,WAAW,CACT,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;IA0DP,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;CAuBvF;AAED,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"web-server-slo.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/grafana/dashboards/web-server-slo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQlC,cAAM,4BAA4B;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAM;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEnB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI;IAK5C,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;IAoCP,eAAe,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;IAwDP,WAAW,CACT,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,GAC1B,IAAI;IA4EP,KAAK,CACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GACxC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;CAmBxC;AAED,eAAe,4BAA4B,CAAC"}
@@ -16,12 +16,12 @@ class WebServerSloDashboardBuilder {
16
16
  const availabilitySloPanel = (0, panels_1.createStatPercentagePanel)('Availability', { x: 0, y: 0, w: 8, h: 8 }, dataSource, {
17
17
  label: 'Availability',
18
18
  query: availabilityPercentage,
19
- thresholds: []
19
+ thresholds: [],
20
20
  });
21
21
  const availabilityBurnRatePanel = (0, panels_1.createBurnRatePanel)('Availability Burn Rate', { x: 0, y: 8, w: 8, h: 4 }, dataSource, {
22
22
  label: 'Burn Rate',
23
23
  query: availabilityBurnRate,
24
- thresholds: []
24
+ thresholds: [],
25
25
  });
26
26
  this.panels.push(availabilitySloPanel, availabilityBurnRatePanel);
27
27
  return this;
@@ -33,17 +33,17 @@ class WebServerSloDashboardBuilder {
33
33
  const successRateSloPanel = (0, panels_1.createStatPercentagePanel)('Success Rate', { x: 8, y: 0, w: 8, h: 8 }, dataSource, {
34
34
  label: 'Success Rate',
35
35
  query: successRateSlo,
36
- thresholds: []
36
+ thresholds: [],
37
37
  });
38
38
  const successRatePanel = (0, panels_1.createTimeSeriesPercentagePanel)('HTTP Request Success Rate', { x: 0, y: 16, w: 12, h: 8 }, dataSource, {
39
39
  label: 'Success Rate',
40
40
  query: successRate,
41
- thresholds: []
41
+ thresholds: [],
42
42
  });
43
43
  const successRateBurnRatePanel = (0, panels_1.createBurnRatePanel)('Success Rate Burn Rate', { x: 8, y: 8, w: 8, h: 4 }, dataSource, {
44
44
  label: 'Burn Rate',
45
45
  query: successRateBurnRate,
46
- thresholds: []
46
+ thresholds: [],
47
47
  });
48
48
  this.panels.push(successRateSloPanel, successRatePanel, successRateBurnRatePanel);
49
49
  return this;
@@ -56,33 +56,30 @@ class WebServerSloDashboardBuilder {
56
56
  const latencySloPanel = (0, panels_1.createStatPercentagePanel)('Request % below 250ms', { x: 16, y: 0, w: 8, h: 8 }, dataSource, {
57
57
  label: 'Request % below 250ms',
58
58
  query: latencySlo,
59
- thresholds: []
59
+ thresholds: [],
60
60
  });
61
61
  const percentileLatencyPanel = (0, panels_1.createTimeSeriesPanel)('99th Percentile Latency', { x: 12, y: 16, w: 12, h: 8 }, dataSource, {
62
62
  label: '99th Percentile Latency',
63
63
  query: percentileLatency,
64
- thresholds: []
64
+ thresholds: [],
65
65
  }, 'ms');
66
66
  const latencyPercentagePanel = (0, panels_1.createTimeSeriesPercentagePanel)('Request percentage below 250ms', { x: 0, y: 24, w: 12, h: 8 }, dataSource, {
67
67
  label: 'Request percentage below 250ms',
68
68
  query: latencyBelowThreshold,
69
- thresholds: []
69
+ thresholds: [],
70
70
  });
71
71
  const latencyBurnRatePanel = (0, panels_1.createBurnRatePanel)('Latency Burn Rate', { x: 16, y: 8, w: 8, h: 4 }, dataSource, {
72
72
  label: 'Burn Rate',
73
73
  query: latencyBurnRate,
74
- thresholds: []
74
+ thresholds: [],
75
75
  });
76
76
  this.panels.push(latencySloPanel, percentileLatencyPanel, latencyPercentagePanel, latencyBurnRatePanel);
77
77
  return this;
78
78
  }
79
79
  build(provider) {
80
- return pulumi.all([
81
- this.title,
82
- this.panels,
83
- provider,
84
- this.tags
85
- ]).apply(([title, panels, provider, tags]) => {
80
+ return pulumi
81
+ .all([this.title, this.panels, provider, this.tags])
82
+ .apply(([title, panels, provider, tags]) => {
86
83
  return new grafana.oss.Dashboard(this.name, {
87
84
  configJson: JSON.stringify({
88
85
  title,
@@ -90,7 +87,7 @@ class WebServerSloDashboardBuilder {
90
87
  timezone: 'browser',
91
88
  refresh: '10s',
92
89
  panels,
93
- })
90
+ }),
94
91
  }, { provider });
95
92
  });
96
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/prometheus/queries.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAO1D,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,MAAM,CAaR;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAgBR;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAWR;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/prometheus/queries.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAO1D,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,MAAM,CAUR;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAYR;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAWR;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/web-server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAErE,KAAY,IAAI,GAAG,IAAI,CACrB,SAAS,CAAC,IAAI,EACZ,KAAK,GACL,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,cAAc,GACd,qBAAqB,CACxB,CAAA;CACF;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,IAAI,CAAC,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,gBAAgB,CAAC,CAAuB;IAChD,OAAO,CAAC,cAAc,CAAC,CAA8B;IACrD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,kBAAkB,CAAkD;IAC5E,OAAO,CAAC,QAAQ,CAA4C;gBAEhD,IAAI,EAAE,MAAM;IAIjB,kBAAkB,CACvB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EACjC,MAAM,GAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAM,GACvD,IAAI;IAUA,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI;IActD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAM9C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,uBAAuB,GAAG,IAAI;IAM5D,gBAAgB,CACrB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GACjC,IAAI;IAOA,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI;IAM3D,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI;IAMjE,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAMjD,yBAAyB,CAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,GACtC,IAAI;IAMA,KAAK,CAAC,IAAI,GAAE,MAAM,CAAC,wBAA6B,GAAG,SAAS;CAyBpE"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/web-server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAErE,KAAY,IAAI,GAAG,IAAI,CACrB,SAAS,CAAC,IAAI,EACZ,KAAK,GACL,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,cAAc,GACd,qBAAqB,CACxB,CAAC;CACH;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,IAAI,CAAC,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,gBAAgB,CAAC,CAAuB;IAChD,OAAO,CAAC,cAAc,CAAC,CAA8B;IACrD,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,kBAAkB,CAAkD;IAC5E,OAAO,CAAC,QAAQ,CAA4C;gBAEhD,IAAI,EAAE,MAAM;IAIjB,kBAAkB,CACvB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EACjC,MAAM,GAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAM,GACvD,IAAI;IAUA,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI;IAetD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAM9C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,uBAAuB,GAAG,IAAI;IAM5D,gBAAgB,CACrB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GACjC,IAAI;IAOA,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI;IAM3D,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI;IAMjE,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAMjD,yBAAyB,CAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,GACtC,IAAI;IAMA,KAAK,CAAC,IAAI,GAAE,MAAM,CAAC,wBAA6B,GAAG,SAAS;CAmCpE"}
@@ -18,6 +18,7 @@ class WebServerBuilder {
18
18
  configureEcs(config) {
19
19
  this._ecsConfig = {
20
20
  cluster: config.cluster,
21
+ deploymentController: config.deploymentController,
21
22
  desiredCount: config.desiredCount,
22
23
  autoscaling: config.autoscaling,
23
24
  size: config.size,
@@ -8,7 +8,7 @@ export declare namespace WebServer {
8
8
  type Container = Pick<EcsService.Container, 'image' | 'environment' | 'secrets' | 'mountPoints'> & {
9
9
  port: pulumi.Input<number>;
10
10
  };
11
- type EcsConfig = Pick<EcsService.Args, 'cluster' | 'vpc' | 'volumes' | 'desiredCount' | 'autoscaling' | 'size' | 'taskExecutionRoleInlinePolicies' | 'taskRoleInlinePolicies' | 'tags'>;
11
+ type EcsConfig = Pick<EcsService.Args, 'cluster' | 'vpc' | 'volumes' | 'deploymentController' | 'desiredCount' | 'autoscaling' | 'size' | 'taskExecutionRoleInlinePolicies' | 'taskRoleInlinePolicies' | 'tags'>;
12
12
  type InitContainer = Omit<EcsService.Container, 'essential'>;
13
13
  type SidecarContainer = Omit<EcsService.Container, 'essential' | 'healthCheck'> & Required<Pick<EcsService.Container, 'healthCheck'>>;
14
14
  type Args = EcsConfig & Container & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/web-server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/web-server/index.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,8 @@ class WebServer extends pulumi.ComponentResource {
24
24
  vpc,
25
25
  port: args.port,
26
26
  certificate: (_a = this.certificate) === null || _a === void 0 ? void 0 : _a.certificate,
27
- healthCheckPath: args.healthCheckPath
28
- });
27
+ healthCheckPath: args.healthCheckPath,
28
+ }, { parent: this });
29
29
  this.serviceSecurityGroup = this.createSecurityGroup(vpc);
30
30
  this.initContainers = this.getInitContainers(args);
31
31
  this.sidecarContainers = this.getSidecarContainers(args);
@@ -33,10 +33,9 @@ class WebServer extends pulumi.ComponentResource {
33
33
  this.ecsConfig = this.createEcsConfig(args);
34
34
  this.volumes = this.getVolumes(args);
35
35
  // TODO: Move output mapping to createEcsService
36
- this.service = pulumi.all([
37
- this.initContainers,
38
- this.sidecarContainers,
39
- ]).apply(([initContainers, sidecarContainers,]) => {
36
+ this.service = pulumi
37
+ .all([this.initContainers, this.sidecarContainers])
38
+ .apply(([initContainers, sidecarContainers]) => {
40
39
  return this.createEcsService(this.container, this.lb, this.ecsConfig, this.volumes, [...initContainers, ...sidecarContainers]);
41
40
  });
42
41
  if (hasCustomDomain) {
@@ -45,10 +44,9 @@ class WebServer extends pulumi.ComponentResource {
45
44
  this.registerOutputs();
46
45
  }
47
46
  getVolumes(args) {
48
- return pulumi.all([
49
- pulumi.output(args.volumes),
50
- args.otelCollector
51
- ]).apply(([passedVolumes, otelCollector]) => {
47
+ return pulumi
48
+ .all([pulumi.output(args.volumes), args.otelCollector])
49
+ .apply(([passedVolumes, otelCollector]) => {
52
50
  const volumes = [];
53
51
  if (passedVolumes)
54
52
  volumes.push(...passedVolumes);
@@ -58,10 +56,9 @@ class WebServer extends pulumi.ComponentResource {
58
56
  });
59
57
  }
60
58
  getInitContainers(args) {
61
- return pulumi.all([
62
- pulumi.output(args.initContainers),
63
- args.otelCollector
64
- ]).apply(([passedInits, otelCollector]) => {
59
+ return pulumi
60
+ .all([pulumi.output(args.initContainers), args.otelCollector])
61
+ .apply(([passedInits, otelCollector]) => {
65
62
  const containers = [];
66
63
  if (passedInits)
67
64
  containers.push(...passedInits);
@@ -71,10 +68,9 @@ class WebServer extends pulumi.ComponentResource {
71
68
  });
72
69
  }
73
70
  getSidecarContainers(args) {
74
- return pulumi.all([
75
- pulumi.output(args.sidecarContainers),
76
- args.otelCollector
77
- ]).apply(([passedSidecars, otelCollector]) => {
71
+ return pulumi
72
+ .all([pulumi.output(args.sidecarContainers), args.otelCollector])
73
+ .apply(([passedSidecars, otelCollector]) => {
78
74
  const containers = [];
79
75
  if (passedSidecars)
80
76
  containers.push(...passedSidecars);
@@ -84,10 +80,12 @@ class WebServer extends pulumi.ComponentResource {
84
80
  });
85
81
  }
86
82
  getTaskRoleInlinePolicies(args) {
87
- return pulumi.all([
83
+ return pulumi
84
+ .all([
88
85
  pulumi.output(args.taskExecutionRoleInlinePolicies),
89
- args.otelCollector
90
- ]).apply(([passedTaskRoleInlinePolicies, otelCollector]) => {
86
+ args.otelCollector,
87
+ ])
88
+ .apply(([passedTaskRoleInlinePolicies, otelCollector]) => {
91
89
  const inlinePolicies = [];
92
90
  if (passedTaskRoleInlinePolicies)
93
91
  inlinePolicies.push(...passedTaskRoleInlinePolicies);
@@ -101,6 +99,7 @@ class WebServer extends pulumi.ComponentResource {
101
99
  return {
102
100
  vpc: args.vpc,
103
101
  cluster: args.cluster,
102
+ deploymentController: args.deploymentController,
104
103
  desiredCount: args.desiredCount,
105
104
  autoscaling: args.autoscaling,
106
105
  size: args.size,
@@ -115,7 +114,7 @@ class WebServer extends pulumi.ComponentResource {
115
114
  mountPoints: args.mountPoints,
116
115
  environment: args.environment,
117
116
  secrets: args.secrets,
118
- port: args.port
117
+ port: args.port,
119
118
  };
120
119
  }
121
120
  createTlsCertificate({ domain, hostedZoneId, }) {
@@ -128,27 +127,38 @@ class WebServer extends pulumi.ComponentResource {
128
127
  const vpcId = pulumi.output(vpc).vpcId;
129
128
  return new aws.ec2.SecurityGroup(`${this.name}-security-group`, {
130
129
  vpcId,
131
- ingress: [{
130
+ ingress: [
131
+ {
132
132
  fromPort: 0,
133
133
  toPort: 0,
134
134
  protocol: '-1',
135
135
  securityGroups: [this.lb.securityGroup.id],
136
- }],
137
- egress: [{
136
+ },
137
+ ],
138
+ egress: [
139
+ {
138
140
  fromPort: 0,
139
141
  toPort: 0,
140
142
  protocol: '-1',
141
143
  cidrBlocks: ['0.0.0.0/0'],
142
- }],
144
+ },
145
+ ],
143
146
  tags: constants_1.commonTags,
144
147
  }, { parent: this });
145
148
  }
146
149
  createEcsService(webServerContainer, lb, ecsConfig, volumes, containers) {
147
- return new ecs_service_1.EcsService(`${this.name}-ecs`, Object.assign(Object.assign({}, ecsConfig), { volumes, containers: [Object.assign(Object.assign({}, webServerContainer), { name: this.name, portMappings: [ecs_service_1.EcsService.createTcpPortMapping(webServerContainer.port)], essential: true }), ...(containers || [])], enableServiceAutoDiscovery: false, loadBalancers: [{
150
+ return new ecs_service_1.EcsService(`${this.name}-ecs`, Object.assign(Object.assign({}, ecsConfig), { volumes, containers: [
151
+ Object.assign(Object.assign({}, webServerContainer), { name: this.name, portMappings: [
152
+ ecs_service_1.EcsService.createTcpPortMapping(webServerContainer.port),
153
+ ], essential: true }),
154
+ ...(containers || []),
155
+ ], enableServiceAutoDiscovery: false, loadBalancers: [
156
+ {
148
157
  containerName: this.name,
149
158
  containerPort: webServerContainer.port,
150
159
  targetGroupArn: lb.targetGroup.arn,
151
- }], assignPublicIp: true, securityGroup: this.serviceSecurityGroup }), {
160
+ },
161
+ ], assignPublicIp: true, securityGroup: this.serviceSecurityGroup }), {
152
162
  parent: this,
153
163
  dependsOn: [lb, lb.targetGroup],
154
164
  });
@@ -158,11 +168,13 @@ class WebServer extends pulumi.ComponentResource {
158
168
  type: 'A',
159
169
  name: domain,
160
170
  zoneId: hostedZoneId,
161
- aliases: [{
171
+ aliases: [
172
+ {
162
173
  name: this.lb.lb.dnsName,
163
174
  zoneId: this.lb.lb.zoneId,
164
175
  evaluateTargetHealth: true,
165
- }],
176
+ },
177
+ ],
166
178
  }, { parent: this });
167
179
  }
168
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"load-balancer.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/web-server/load-balancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAGrC,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,IAAI,GAAG;QACjB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,WAAW,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACxC,CAAC;CACH;AA0BD,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,iBAAiB;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC;IAChC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;IACzC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;gBAGnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,qBAAqB,CAAC,IAAI,EAChC,IAAI,GAAE,MAAM,CAAC,wBAA6B;IAoC5C,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;CAS9B"}
1
+ {"version":3,"file":"load-balancer.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/web-server/load-balancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAGrC,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,IAAI,GAAG;QACjB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,WAAW,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACxC,CAAC;CACH;AA+BD,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,iBAAiB;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC;IAChC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;IACzC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;gBAGnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,qBAAqB,CAAC,IAAI,EAChC,IAAI,GAAE,MAAM,CAAC,wBAA6B;IAyC5C,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,qBAAqB;CAa9B"}
@@ -5,23 +5,28 @@ const pulumi = require("@pulumi/pulumi");
5
5
  const aws = require("@pulumi/aws");
6
6
  const constants_1 = require("../../../constants");
7
7
  const webServerLoadBalancerNetworkConfig = {
8
- ingress: [{
8
+ ingress: [
9
+ {
9
10
  protocol: 'tcp',
10
11
  fromPort: 80,
11
12
  toPort: 80,
12
13
  cidrBlocks: ['0.0.0.0/0'],
13
- }, {
14
+ },
15
+ {
14
16
  protocol: 'tcp',
15
17
  fromPort: 443,
16
18
  toPort: 443,
17
19
  cidrBlocks: ['0.0.0.0/0'],
18
- }],
19
- egress: [{
20
+ },
21
+ ],
22
+ egress: [
23
+ {
20
24
  fromPort: 0,
21
25
  toPort: 0,
22
26
  protocol: '-1',
23
27
  cidrBlocks: ['0.0.0.0/0'],
24
- }]
28
+ },
29
+ ],
25
30
  };
26
31
  const defaults = {
27
32
  healthCheckPath: '/healthcheck',
@@ -44,8 +49,9 @@ class WebServerLoadBalancer extends pulumi.ComponentResource {
44
49
  }, { parent: this });
45
50
  this.targetGroup = this.createLbTargetGroup(port, vpc.vpcId, healthCheckPath);
46
51
  this.httpListener = this.createLbHttpListener(this.lb, this.targetGroup, !!certificate);
47
- this.tlsListener = certificate &&
48
- this.createLbTlsListener(this.lb, this.targetGroup, certificate);
52
+ this.tlsListener =
53
+ certificate &&
54
+ this.createLbTlsListener(this.lb, this.targetGroup, certificate);
49
55
  this.registerOutputs();
50
56
  }
51
57
  createLbTlsListener(lb, lbTargetGroup, certificate) {
@@ -55,10 +61,12 @@ class WebServerLoadBalancer extends pulumi.ComponentResource {
55
61
  protocol: 'HTTPS',
56
62
  sslPolicy: 'ELBSecurityPolicy-2016-08',
57
63
  certificateArn: certificate.arn,
58
- defaultActions: [{
64
+ defaultActions: [
65
+ {
59
66
  type: 'forward',
60
67
  targetGroupArn: lbTargetGroup.arn,
61
- }],
68
+ },
69
+ ],
62
70
  tags: constants_1.commonTags,
63
71
  }, { parent: this, dependsOn: [certificate] });
64
72
  }
@@ -71,10 +79,12 @@ class WebServerLoadBalancer extends pulumi.ComponentResource {
71
79
  statusCode: 'HTTP_301',
72
80
  },
73
81
  };
74
- const defaultAction = redirectToHttps ? httpsRedirectAction : {
75
- type: 'forward',
76
- targetGroupArn: lbTargetGroup.arn,
77
- };
82
+ const defaultAction = redirectToHttps
83
+ ? httpsRedirectAction
84
+ : {
85
+ type: 'forward',
86
+ targetGroupArn: lbTargetGroup.arn,
87
+ };
78
88
  return new aws.lb.Listener(`${this.name}-listener-80`, {
79
89
  loadBalancerArn: lb.arn,
80
90
  port: 80,
@@ -5,5 +5,5 @@ exports.defaults = {
5
5
  name: 'batch',
6
6
  size: 8192,
7
7
  maxSize: 10000,
8
- timeout: '5s'
8
+ timeout: '5s',
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/v2/otel/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,uBAAuB,CAAoD;gBAGjF,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACjC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAO3B,gBAAgB,CACd,SAAS,GAAE,YAAY,CAAC,QAAQ,EAAa,GAC5C,IAAI;IAMP,kBAAkB,CAChB,IAAI,SAA+B,EACnC,IAAI,SAA+B,EACnC,OAAO,SAAkC,EACzC,OAAO,SAAkC,GACxC,IAAI;IAMP,0BAA0B,CACxB,aAAa,SAAgD,EAC7D,eAAe,SAAkD,EACjE,oBAAoB,SAAuD,GAC1E,IAAI;IAUP,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzC,wBAAwB,CAAC,QAAQ,SAAkB,GAAG,IAAI;IAM1D,kBAAkB,CAAC,QAAQ,SAAiB,GAAG,IAAI;IAMnD,OAAO,CACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI;IAWP,SAAS,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAO,GAAG,UAAuB,GAAG,IAAI;IAMxE,aAAa,CACX,QAAQ,GAAE,OAAO,GAAG,MAAM,GAAG,OAAiB,EAC9C,gBAAgB,GAAE,OAAO,GAAG,QAAQ,GAAG,UAAoB,GAC1D,IAAI;IAMP,mBAAmB,CACjB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAUP,kBAAkB,CAChB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAUP,WAAW,CACT,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,mBAAmB,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EACtC,SAAS,EAAE,MAAM,GAChB,IAAI;IAYP,KAAK,IAAI,aAAa;IAStB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,mBAAmB;CAsB5B"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/v2/otel/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,uBAAuB,CAC1B;gBAEO,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAMxE,gBAAgB,CAAC,SAAS,GAAE,YAAY,CAAC,QAAQ,EAAa,GAAG,IAAI;IAMrE,kBAAkB,CAChB,IAAI,SAA+B,EACnC,IAAI,SAA+B,EACnC,OAAO,SAAkC,EACzC,OAAO,SAAkC,GACxC,IAAI;IAMP,0BAA0B,CACxB,aAAa,SAAgD,EAC7D,eAAe,SAAkD,EACjE,oBAAoB,SAAuD,GAC1E,IAAI;IAUP,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzC,wBAAwB,CAAC,QAAQ,SAAkB,GAAG,IAAI;IAM1D,kBAAkB,CAAC,QAAQ,SAAiB,GAAG,IAAI;IAMnD,OAAO,CACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI;IAWP,SAAS,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAO,GAAG,UAAuB,GAAG,IAAI;IAMxE,aAAa,CACX,QAAQ,GAAE,OAAO,GAAG,MAAM,GAAG,OAAiB,EAC9C,gBAAgB,GAAE,OAAO,GAAG,QAAQ,GAAG,UAAoB,GAC1D,IAAI;IAMP,mBAAmB,CACjB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAMP,kBAAkB,CAChB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAMP,WAAW,CACT,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,mBAAmB,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EACtC,SAAS,EAAE,MAAM,GAChB,IAAI;IAYP,KAAK,IAAI,aAAa;IAStB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,mBAAmB;CAwB5B"}
@@ -69,29 +69,30 @@ class OtelCollectorBuilder {
69
69
  return new _1.OtelCollector(this._serviceName, this._env, this._configBuilder.build(), { taskRoleInlinePolicies: this._taskRoleInlinePolicies });
70
70
  }
71
71
  createAPSInlinePolicy(workspace) {
72
- const policy = pulumi.all(([
73
- this._serviceName,
74
- workspace.arn
75
- ])).apply(([serviceName, workspaceArn]) => ({
72
+ const policy = pulumi
73
+ .all([this._serviceName, workspace.arn])
74
+ .apply(([serviceName, workspaceArn]) => ({
76
75
  name: `${serviceName}-task-role-aps-write`,
77
76
  policy: JSON.stringify({
78
77
  Version: '2012-10-17',
79
- Statement: [{
78
+ Statement: [
79
+ {
80
80
  Effect: 'Allow',
81
81
  Action: ['aps:RemoteWrite'],
82
82
  Resource: workspaceArn,
83
- }],
83
+ },
84
+ ],
84
85
  }),
85
86
  }));
86
87
  this._taskRoleInlinePolicies.push(policy);
87
88
  }
88
89
  createAWSXRayPolicy() {
89
- const policy = this._serviceName
90
- .apply(serviceName => ({
90
+ const policy = this._serviceName.apply(serviceName => ({
91
91
  name: `${serviceName}-task-role-xray`,
92
92
  policy: JSON.stringify({
93
93
  Version: '2012-10-17',
94
- Statement: [{
94
+ Statement: [
95
+ {
95
96
  Effect: 'Allow',
96
97
  Action: [
97
98
  'xray:PutTraceSegments',
@@ -101,7 +102,8 @@ class OtelCollectorBuilder {
101
102
  'xray:GetSamplingStatisticSummaries',
102
103
  ],
103
104
  Resource: '*',
104
- }],
105
+ },
106
+ ],
105
107
  }),
106
108
  }));
107
109
  this._taskRoleInlinePolicies.push(policy);
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/v2/otel/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAEvC,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;IAEF,gBAAgB,CACd,SAAS,GAAE,YAAY,CAAC,QAAQ,EAAa,GAC5C,IAAI;IAmBP,kBAAkB,CAChB,IAAI,SAAU,EACd,IAAI,SAAO,EACX,OAAO,SAAQ,EACf,OAAO,SAAO,GACb,IAAI;IAUP,0BAA0B,CACxB,aAAa,SAAO,EACpB,eAAe,SAAK,EACpB,oBAAoB,SAAK,GACxB,IAAI;IAUP,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMzC,wBAAwB,CAAC,QAAQ,SAAkB,GAAG,IAAI;IAM1D,kBAAkB,CAAC,QAAQ,SAAiB,GAAG,IAAI;IAMnD,OAAO,CACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,GACb,IAAI;IAiBP,SAAS,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAO,GAAG,UAAuB,GAAG,IAAI;IAMxE,aAAa,CACX,QAAQ,GAAE,OAAO,GAAG,MAAM,GAAG,OAAiB,EAC9C,gBAAgB,GAAE,OAAO,GAAG,QAAQ,GAAG,UAAoB,GAC1D,IAAI;IASP,mBAAmB,CACjB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAUP,kBAAkB,CAChB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAUP,WAAW,CACT,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAE,MAAM,GAChB,IAAI;IAqBP,KAAK,IAAI,aAAa,CAAC,MAAM;IAwB7B,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,0BAA0B;CAmBnC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/v2/otel/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAEvC,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;IAEF,gBAAgB,CAAC,SAAS,GAAE,YAAY,CAAC,QAAQ,EAAa,GAAG,IAAI;IAmBrE,kBAAkB,CAChB,IAAI,SAAU,EACd,IAAI,SAAO,EACX,OAAO,SAAQ,EACf,OAAO,SAAO,GACb,IAAI;IAUP,0BAA0B,CACxB,aAAa,SAAO,EACpB,eAAe,SAAK,EACpB,oBAAoB,SAAK,GACxB,IAAI;IAUP,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMzC,wBAAwB,CAAC,QAAQ,SAAkB,GAAG,IAAI;IAM1D,kBAAkB,CAAC,QAAQ,SAAiB,GAAG,IAAI;IAMnD,OAAO,CACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,GACb,IAAI;IAiBP,SAAS,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAO,GAAG,UAAuB,GAAG,IAAI;IAMxE,aAAa,CACX,QAAQ,GAAE,OAAO,GAAG,MAAM,GAAG,OAAiB,EAC9C,gBAAgB,GAAE,OAAO,GAAG,QAAQ,GAAG,UAAoB,GAC1D,IAAI;IASP,mBAAmB,CACjB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAUP,kBAAkB,CAChB,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,EACzC,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,GACtC,IAAI;IAUP,WAAW,CACT,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAE,MAAM,GAChB,IAAI;IAqBP,KAAK,IAAI,aAAa,CAAC,MAAM;IAwB7B,OAAO,CAAC,8BAA8B;IAiBtC,OAAO,CAAC,0BAA0B;CAyBnC"}
@@ -9,7 +9,7 @@ class OtelCollectorConfigBuilder {
9
9
  this._exporters = {};
10
10
  this._extensions = {};
11
11
  this._service = {
12
- pipelines: {}
12
+ pipelines: {},
13
13
  };
14
14
  }
15
15
  withOTLPReceiver(protocols = ['http']) {
@@ -28,9 +28,9 @@ class OtelCollectorConfigBuilder {
28
28
  }
29
29
  withBatchProcessor(name = 'batch', size = 8192, maxSize = 10000, timeout = '5s') {
30
30
  this._processors[name] = {
31
- 'send_batch_size': size,
32
- 'send_batch_max_size': maxSize,
33
- timeout
31
+ send_batch_size: size,
32
+ send_batch_max_size: maxSize,
33
+ timeout,
34
34
  };
35
35
  return this;
36
36
  }
@@ -38,7 +38,7 @@ class OtelCollectorConfigBuilder {
38
38
  this._processors.memory_limiter = {
39
39
  check_interval: checkInterval,
40
40
  limit_percentage: limitPercentage,
41
- spike_limit_percentage: spikeLimitPercentage
41
+ spike_limit_percentage: spikeLimitPercentage,
42
42
  };
43
43
  return this;
44
44
  }
@@ -59,12 +59,12 @@ class OtelCollectorConfigBuilder {
59
59
  endpoint,
60
60
  namespace,
61
61
  auth: {
62
- authenticator: 'sigv4auth'
63
- }
62
+ authenticator: 'sigv4auth',
63
+ },
64
64
  };
65
65
  this._extensions.sigv4auth = {
66
66
  region,
67
- service: 'aps'
67
+ service: 'aps',
68
68
  };
69
69
  return this;
70
70
  }
@@ -75,7 +75,7 @@ class OtelCollectorConfigBuilder {
75
75
  withTelemetry(logLevel = 'error', metricsVerbosity = 'basic') {
76
76
  this._service.telemetry = {
77
77
  logs: { level: logLevel },
78
- metrics: { level: metricsVerbosity }
78
+ metrics: { level: metricsVerbosity },
79
79
  };
80
80
  return this;
81
81
  }
@@ -83,7 +83,7 @@ class OtelCollectorConfigBuilder {
83
83
  this._service.pipelines.metrics = {
84
84
  receivers,
85
85
  processors,
86
- exporters
86
+ exporters,
87
87
  };
88
88
  return this;
89
89
  }
@@ -91,7 +91,7 @@ class OtelCollectorConfigBuilder {
91
91
  this._service.pipelines.traces = {
92
92
  receivers,
93
93
  processors,
94
- exporters
94
+ exporters,
95
95
  };
96
96
  return this;
97
97
  }
@@ -123,7 +123,7 @@ class OtelCollectorConfigBuilder {
123
123
  processors: this._processors,
124
124
  exporters: this._exporters,
125
125
  extensions: this._extensions,
126
- service: this._service
126
+ service: this._service,
127
127
  };
128
128
  }
129
129
  validatePipelineProcessorOrder(pipelineType) {
@@ -131,8 +131,7 @@ class OtelCollectorConfigBuilder {
131
131
  if (!pipeline)
132
132
  return;
133
133
  const { processors } = pipeline;
134
- const memoryLimiterIndex = processors
135
- .findIndex(processor => processor === 'memory_limiter');
134
+ const memoryLimiterIndex = processors.findIndex(processor => processor === 'memory_limiter');
136
135
  if (memoryLimiterIndex > 0) {
137
136
  throw new Error(`memory_limiter processor is not the first processor in the ${pipelineType} pipeline.`);
138
137
  }
@@ -4,5 +4,5 @@ exports.defaults = void 0;
4
4
  exports.defaults = {
5
5
  checkInterval: '1s',
6
6
  limitPercentage: 80,
7
- spikeLimitPercentage: 15
7
+ spikeLimitPercentage: 15,
8
8
  };
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Protocol = void 0;
4
4
  exports.Protocol = {
5
5
  grpc: {
6
- endpoint: '0.0.0.0:4317'
6
+ endpoint: '0.0.0.0:4317',
7
7
  },
8
8
  http: {
9
- endpoint: '0.0.0.0:4318'
10
- }
9
+ endpoint: '0.0.0.0:4318',
10
+ },
11
11
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studion/infra-code-blocks",
3
- "version": "0.8.0-next.0",
3
+ "version": "0.8.0-next.2",
4
4
  "description": "Studion common infra components",
5
5
  "keywords": [
6
6
  "infrastructure",
@@ -28,9 +28,10 @@
28
28
  "clean": "rm -rf dist",
29
29
  "build": "npm run clean && tsc -b src",
30
30
  "format": "prettier -w .",
31
- "release": "npm run build && release-it",
31
+ "release": "release-it --only-version",
32
32
  "test": "TS_NODE_PROJECT=tests node --test --test-concurrency=none -r ts-node/register tests/**[!build]/index.test.ts",
33
- "test:build": "npm run build && tstyche build"
33
+ "test:build": "npm run build && tstyche build",
34
+ "prepare": "husky"
34
35
  },
35
36
  "prettier": "@studion/prettier-config",
36
37
  "dependencies": {
@@ -56,6 +57,8 @@
56
57
  "@types/node": "^22",
57
58
  "exponential-backoff": "^3.1.2",
58
59
  "http-status": "^2.1.0",
60
+ "husky": "^9.1.7",
61
+ "lint-staged": "^16.1.2",
59
62
  "nanospinner": "^1.2.2",
60
63
  "pathe": "^2.0.3",
61
64
  "prettier": "^3.4.2",
@@ -68,13 +71,5 @@
68
71
  },
69
72
  "publishConfig": {
70
73
  "access": "public"
71
- },
72
- "release-it": {
73
- "git": {
74
- "commitMessage": "chore: release ${version}"
75
- },
76
- "github": {
77
- "release": true
78
- }
79
74
  }
80
75
  }