@controlplane/schema 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/src/interfaces/command.d.ts +175 -1
  2. package/build/src/interfaces/discovery.d.ts +1 -0
  3. package/build/src/interfaces/domain.d.ts +2 -1
  4. package/build/src/interfaces/env.d.ts +1 -0
  5. package/build/src/interfaces/envoy.d.ts +14 -0
  6. package/build/src/interfaces/envoy.js +3 -0
  7. package/build/src/interfaces/envoyAccessLog.d.ts +21 -0
  8. package/build/src/interfaces/envoyAccessLog.js +3 -0
  9. package/build/src/interfaces/envoyCluster.d.ts +64 -0
  10. package/build/src/interfaces/envoyCluster.js +3 -0
  11. package/build/src/interfaces/envoyCommon.d.ts +437 -0
  12. package/build/src/interfaces/envoyCommon.js +3 -0
  13. package/build/src/interfaces/envoyExcExtAuth.d.ts +12 -0
  14. package/build/src/interfaces/envoyExcExtAuth.js +3 -0
  15. package/build/src/interfaces/envoyHttp.d.ts +273 -0
  16. package/build/src/interfaces/envoyHttp.js +3 -0
  17. package/build/src/interfaces/envoyRateLimit.d.ts +45 -0
  18. package/build/src/interfaces/envoyRateLimit.js +3 -0
  19. package/build/src/interfaces/gvc.d.ts +7 -3
  20. package/build/src/interfaces/mk8s.d.ts +27 -3
  21. package/build/src/interfaces/mk8sAddons.d.ts +20 -2
  22. package/build/src/interfaces/mk8sAws.d.ts +12 -3
  23. package/build/src/interfaces/mk8sCommon.d.ts +5 -1
  24. package/build/src/interfaces/mk8sEphemeral.d.ts +18 -0
  25. package/build/src/interfaces/mk8sEphemeral.js +3 -0
  26. package/build/src/interfaces/mk8sGeneric.d.ts +4 -0
  27. package/build/src/interfaces/mk8sHetzner.d.ts +10 -1
  28. package/build/src/interfaces/mk8sLambdalabs.d.ts +1 -1
  29. package/build/src/interfaces/mk8sLinode.d.ts +2 -1
  30. package/build/src/interfaces/mk8sPaperspace.d.ts +2 -1
  31. package/build/src/interfaces/org.d.ts +21 -1
  32. package/build/src/interfaces/orgLogging.d.ts +22 -0
  33. package/build/src/interfaces/port.d.ts +1 -0
  34. package/build/src/interfaces/port.js +3 -0
  35. package/build/src/interfaces/secret.d.ts +1 -0
  36. package/build/src/interfaces/tracing.d.ts +9 -0
  37. package/build/src/interfaces/util.d.ts +0 -0
  38. package/build/src/interfaces/util.js +2 -0
  39. package/build/src/interfaces/volumeSet.d.ts +15 -14
  40. package/build/src/interfaces/volumeSpec.d.ts +5 -0
  41. package/build/src/interfaces/volumeSpec.js +3 -0
  42. package/build/src/interfaces/workload.d.ts +15 -60
  43. package/build/src/interfaces/workloadOptions.d.ts +18 -0
  44. package/build/src/interfaces/workloadOptions.js +3 -0
  45. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { S3Logging, CoralogixLogging, DatadogLogging, LogzioLogging, ElasticLogging } from './orgLogging';
1
+ import { S3Logging, CoralogixLogging, DatadogLogging, LogzioLogging, ElasticLogging, CloudWatchLogging, FluentdLogging, StackdriverLogging, SyslogLogging } from './orgLogging';
2
2
  import { Tracing } from './tracing';
3
3
  import { Name, Kind, Tags, Links } from './base';
4
4
  export interface OrgStatus {
@@ -14,6 +14,15 @@ export interface ObservabilityConfig {
14
14
  metricsRetentionDays?: number;
15
15
  tracesRetentionDays?: number;
16
16
  }
17
+ export interface ThreatDetection {
18
+ enabled: boolean;
19
+ minimumSeverity?: 'warning' | 'error' | 'critical';
20
+ syslog?: {
21
+ transport?: 'tcp' | 'udp';
22
+ host: string;
23
+ port: number;
24
+ };
25
+ }
17
26
  export interface OrgSpec {
18
27
  logging?: {
19
28
  s3?: S3Logging;
@@ -21,6 +30,10 @@ export interface OrgSpec {
21
30
  datadog?: DatadogLogging;
22
31
  logzio?: LogzioLogging;
23
32
  elastic?: ElasticLogging;
33
+ cloudWatch?: CloudWatchLogging;
34
+ fluentd?: FluentdLogging;
35
+ stackdriver?: StackdriverLogging;
36
+ syslog?: SyslogLogging;
24
37
  };
25
38
  extraLogging?: {
26
39
  s3?: S3Logging;
@@ -28,11 +41,18 @@ export interface OrgSpec {
28
41
  datadog?: DatadogLogging;
29
42
  logzio?: LogzioLogging;
30
43
  elastic?: ElasticLogging;
44
+ cloudWatch?: CloudWatchLogging;
45
+ fluentd?: FluentdLogging;
46
+ stackdriver?: StackdriverLogging;
47
+ syslog?: SyslogLogging;
31
48
  }[];
32
49
  tracing?: Tracing;
33
50
  sessionTimeoutSeconds?: number;
34
51
  authConfig?: AuthConfig;
35
52
  observability?: ObservabilityConfig;
53
+ security?: {
54
+ threatDetection?: ThreatDetection;
55
+ };
36
56
  }
37
57
  export interface Org {
38
58
  id?: string;
@@ -4,6 +4,13 @@ export interface S3Logging {
4
4
  prefix?: string;
5
5
  credentials: string;
6
6
  }
7
+ export interface SyslogLogging {
8
+ host: string;
9
+ port: number;
10
+ mode: 'tcp' | 'udp' | 'tls';
11
+ format: 'rfc3164' | 'rfc5424';
12
+ severity: number;
13
+ }
7
14
  export interface DatadogLogging {
8
15
  host: 'http-intake.logs.datadoghq.com' | 'http-intake.logs.us3.datadoghq.com' | 'http-intake.logs.us5.datadoghq.com' | 'http-intake.logs.datadoghq.eu';
9
16
  credentials: string;
@@ -12,6 +19,17 @@ export interface LogzioLogging {
12
19
  listenerHost: 'listener.logz.io' | 'listener-nl.logz.io';
13
20
  credentials: string;
14
21
  }
22
+ export interface FluentdLogging {
23
+ host: string;
24
+ port?: number;
25
+ }
26
+ export interface CloudWatchLogging {
27
+ region: 'us-east-1' | 'us-east-2' | 'us-west-1' | 'us-west-2' | 'ap-south-1' | 'ap-northeast-2' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-northeast-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'eu-south-1' | 'eu-west-3' | 'eu-north-1' | 'me-south-1' | 'sa-east-1' | 'af-south-1';
28
+ credentials: string;
29
+ retentionDays?: number;
30
+ groupName: string;
31
+ streamName: string;
32
+ }
15
33
  export interface CoralogixLogging {
16
34
  cluster: 'coralogix.com' | 'coralogix.us' | 'app.coralogix.in' | 'app.eu2.coralogix.com' | 'app.coralogixsg.com';
17
35
  credentials: string;
@@ -44,3 +62,7 @@ export interface ElasticLogging {
44
62
  password?: string;
45
63
  };
46
64
  }
65
+ export interface StackdriverLogging {
66
+ credentials: string;
67
+ location: 'us-east1' | 'us-east4' | 'us-central1' | 'us-west1' | 'europe-west4' | 'europe-west1' | 'europe-west3' | 'europe-west2' | 'asia-east1' | 'asia-southeast1' | 'asia-northeast1' | 'asia-south1' | 'australia-southeast1' | 'southamerica-east1' | 'africa-south1' | 'asia-east2' | 'asia-northeast2' | 'asia-northeast3' | 'asia-south2' | 'asia-southeast2' | 'australia-southeast2' | 'europe-central2' | 'europe-north1' | 'europe-southwest1' | 'europe-west10' | 'europe-west12' | 'europe-west6' | 'europe-west8' | 'europe-west9' | 'me-central1' | 'me-central2' | 'me-west1' | 'northamerica-northeast1' | 'northamerica-northeast2' | 'southamerica-west1' | 'us-east5' | 'us-south1' | 'us-west2' | 'us-west3' | 'us-west4';
68
+ }
@@ -0,0 +1 @@
1
+ export type Port = number;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -13,6 +13,7 @@ export interface EcrPull {
13
13
  accessKey: string;
14
14
  secretKey: string;
15
15
  roleArn?: string;
16
+ externalId?: string;
16
17
  repos?: string[];
17
18
  }
18
19
  export interface UsernamePassword {
@@ -5,11 +5,20 @@ export interface LightstepTracing {
5
5
  export interface OpenTelemetry {
6
6
  endpoint: string;
7
7
  }
8
+ export interface TracingCustomTag {
9
+ literal?: {
10
+ value?: string;
11
+ };
12
+ }
8
13
  export interface Tracing {
9
14
  sampling: number;
10
15
  lightstep?: LightstepTracing;
16
+ customTags?: {
17
+ [x: string]: TracingCustomTag;
18
+ };
11
19
  provider?: {
12
20
  otel?: OpenTelemetry;
13
21
  lightstep?: LightstepTracing;
22
+ controlplane?: {};
14
23
  };
15
24
  }
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ /* auto-generated */
@@ -1,10 +1,4 @@
1
1
  import { Name, Kind, Tags, Links } from './base';
2
- export interface PerformanceClass {
3
- name: string;
4
- minCapacity?: number;
5
- maxCapacity: number;
6
- featuresSupported?: ('automatic-expansion' | 'snapshots')[];
7
- }
8
2
  export interface VolumeSnapshot {
9
3
  name: string;
10
4
  id?: string;
@@ -20,29 +14,38 @@ export interface PersistentVolumeStatus {
20
14
  storageDeviceId?: string;
21
15
  index: number;
22
16
  currentSize: number;
17
+ currentBytesUsed?: number;
23
18
  iops?: number;
24
19
  throughput?: number;
25
20
  driver: string;
26
21
  volumeSnapshots?: VolumeSnapshot[];
22
+ attributes?: {
23
+ [x: string]: string;
24
+ };
27
25
  }
28
26
  export interface VolumeSetStatusLocation {
29
27
  name: string;
30
28
  volumes?: PersistentVolumeStatus[];
31
29
  desiredVolumeCount?: number;
30
+ clusterId?: string;
32
31
  }
33
32
  export interface VolumeSetStatus {
34
33
  parentId?: string;
35
34
  usedByWorkload?: string;
35
+ bindingId?: string;
36
36
  locations?: VolumeSetStatusLocation[];
37
37
  }
38
+ export interface SnapshotSpec {
39
+ createFinalSnapshot?: boolean;
40
+ retentionDuration?: string;
41
+ schedule?: string;
42
+ }
38
43
  export interface VolumeSetSpec {
39
44
  initialCapacity: number;
40
45
  performanceClass: 'general-purpose-ssd' | 'high-throughput-ssd';
46
+ storageClassSuffix?: string;
41
47
  fileSystemType?: 'xfs' | 'ext4';
42
- snapshots?: {
43
- createFinalSnapshot?: boolean;
44
- retentionDuration?: string;
45
- };
48
+ snapshots?: SnapshotSpec;
46
49
  autoscaling?: {
47
50
  maxCapacity?: number;
48
51
  minFreePercentage?: number;
@@ -62,11 +65,9 @@ export interface VolumeSet {
62
65
  spec: {
63
66
  initialCapacity: number;
64
67
  performanceClass: 'general-purpose-ssd' | 'high-throughput-ssd';
68
+ storageClassSuffix?: string;
65
69
  fileSystemType?: 'xfs' | 'ext4';
66
- snapshots?: {
67
- createFinalSnapshot?: boolean;
68
- retentionDuration?: string;
69
- };
70
+ snapshots?: SnapshotSpec;
70
71
  autoscaling?: {
71
72
  maxCapacity?: number;
72
73
  minFreePercentage?: number;
@@ -0,0 +1,5 @@
1
+ export interface VolumeSpec {
2
+ uri: string;
3
+ recoveryPolicy?: 'retain' | 'recycle';
4
+ path: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,11 @@
1
+ import { Port } from './port';
1
2
  import { EnvVar } from './env';
3
+ import { VolumeSpec } from './volumeSpec';
4
+ import { DefaultOptions, LocalOptions } from './workloadOptions';
5
+ import { EnvoyFilters } from './envoy';
2
6
  import { Kind, Tags, Links } from './base';
3
- export type Port = number;
7
+ export type Memory = string;
8
+ export type Cpu = string;
4
9
  export interface HealthCheckSpec {
5
10
  exec?: {
6
11
  command?: string[];
@@ -26,11 +31,6 @@ export interface HealthCheckSpec {
26
31
  successThreshold?: number;
27
32
  failureThreshold?: number;
28
33
  }
29
- export interface VolumeSpec {
30
- uri: string;
31
- recoveryPolicy?: 'retain' | 'recycle';
32
- path: string;
33
- }
34
34
  export interface RolloutOptions {
35
35
  minReadySeconds?: number;
36
36
  maxUnavailableReplicas?: string;
@@ -111,6 +111,8 @@ export interface ContainerSpec {
111
111
  failureThreshold?: number;
112
112
  };
113
113
  cpu?: string;
114
+ minCpu?: string;
115
+ minMemory?: string;
114
116
  env?: EnvVar[];
115
117
  gpu?: {
116
118
  nvidia: {
@@ -158,6 +160,7 @@ export interface ResolvedImage {
158
160
  export interface ResolvedImages {
159
161
  resolvedForVersion?: number;
160
162
  resolvedAt?: Date;
163
+ errorMessages?: string[];
161
164
  images?: ResolvedImage[];
162
165
  }
163
166
  export interface WorkloadStatus {
@@ -170,22 +173,6 @@ export interface WorkloadStatus {
170
173
  resolvedImages?: ResolvedImages;
171
174
  [x: string]: any;
172
175
  }
173
- export interface Options {
174
- autoscaling?: {
175
- metric?: 'concurrency' | 'cpu' | 'rps' | 'latency' | 'disabled';
176
- metricPercentile?: 'p50' | 'p75' | 'p99';
177
- target?: number;
178
- maxScale?: number;
179
- minScale?: number;
180
- scaleToZeroDelay?: number;
181
- maxConcurrency?: number;
182
- };
183
- timeoutSeconds?: number;
184
- capacityAI?: boolean;
185
- spot?: boolean;
186
- debug?: boolean;
187
- suspend?: boolean;
188
- }
189
176
  export interface FirewallSpec {
190
177
  external?: {
191
178
  inboundAllowCIDR?: string[];
@@ -201,8 +188,9 @@ export interface FirewallSpec {
201
188
  inboundAllowWorkload?: string[];
202
189
  };
203
190
  }
191
+ export type ScheduleType = string;
204
192
  export interface JobSpec {
205
- schedule: string;
193
+ schedule: ScheduleType;
206
194
  concurrencyPolicy?: 'Forbid' | 'Replace';
207
195
  historyLimit?: number;
208
196
  restartPolicy?: 'OnFailure' | 'Never';
@@ -227,50 +215,17 @@ export interface WorkloadSpec {
227
215
  inboundAllowWorkload?: string[];
228
216
  };
229
217
  };
230
- defaultOptions?: {
231
- autoscaling?: {
232
- metric?: 'concurrency' | 'cpu' | 'rps' | 'latency' | 'disabled';
233
- metricPercentile?: 'p50' | 'p75' | 'p99';
234
- target?: number;
235
- maxScale?: number;
236
- minScale?: number;
237
- scaleToZeroDelay?: number;
238
- maxConcurrency?: number;
239
- };
240
- timeoutSeconds?: number;
241
- capacityAI?: boolean;
242
- spot?: boolean;
243
- debug?: boolean;
244
- suspend?: boolean;
245
- };
246
- localOptions?: ({
247
- autoscaling?: {
248
- metric?: 'concurrency' | 'cpu' | 'rps' | 'latency' | 'disabled';
249
- metricPercentile?: 'p50' | 'p75' | 'p99';
250
- target?: number;
251
- maxScale?: number;
252
- minScale?: number;
253
- scaleToZeroDelay?: number;
254
- maxConcurrency?: number;
255
- };
256
- timeoutSeconds?: number;
257
- capacityAI?: boolean;
258
- spot?: boolean;
259
- debug?: boolean;
260
- suspend?: boolean;
261
- location: string;
262
- })[];
218
+ defaultOptions?: DefaultOptions;
219
+ localOptions?: LocalOptions;
263
220
  job?: {
264
- schedule: string;
221
+ schedule: ScheduleType;
265
222
  concurrencyPolicy?: 'Forbid' | 'Replace';
266
223
  historyLimit?: number;
267
224
  restartPolicy?: 'OnFailure' | 'Never';
268
225
  activeDeadlineSeconds?: number;
269
226
  };
270
227
  sidecar?: {
271
- envoy?: {
272
- [x: string]: any;
273
- };
228
+ envoy?: EnvoyFilters;
274
229
  };
275
230
  supportDynamicTags?: boolean;
276
231
  rolloutOptions?: {
@@ -0,0 +1,18 @@
1
+ export interface Options {
2
+ autoscaling?: {
3
+ metric?: 'concurrency' | 'cpu' | 'rps' | 'latency' | 'disabled';
4
+ metricPercentile?: any;
5
+ target?: number;
6
+ maxScale?: number;
7
+ minScale?: number;
8
+ scaleToZeroDelay?: number;
9
+ maxConcurrency?: number;
10
+ };
11
+ timeoutSeconds?: number;
12
+ capacityAI?: boolean;
13
+ spot?: boolean;
14
+ debug?: boolean;
15
+ suspend?: boolean;
16
+ }
17
+ export type DefaultOptions = any;
18
+ export type LocalOptions = any[];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@controlplane/schema",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Control Plane Corporation Schema",
5
5
  "scripts": {
6
6
  "build": "tsc",