@norskvideo/norsk-manager-sdk 1.0.367 → 1.0.368

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.
@@ -0,0 +1,830 @@
1
+ /**
2
+ * @public
3
+ */
4
+ export declare interface AwsHealth {
5
+ provider: "aws";
6
+ regions: {
7
+ [key: AwsRegion]: Health;
8
+ };
9
+ }
10
+
11
+ /** @public */
12
+ export declare type AwsInstanceId = string;
13
+
14
+ /** @public */
15
+ export declare type AwsInstanceType = string;
16
+
17
+ /** @public */
18
+ export declare interface AwsLaunchTemplateId {
19
+ id: string;
20
+ version?: string;
21
+ }
22
+
23
+ /** @public */
24
+ export declare interface AwsLaunchTemplateName {
25
+ name: string;
26
+ version?: string;
27
+ }
28
+
29
+ /** @public */
30
+ export declare type AwsMetadata = {
31
+ provider: "aws";
32
+ instanceType: AwsInstanceType;
33
+ region: AwsRegion;
34
+ };
35
+
36
+ /** @public */
37
+ export declare interface AwsNodeCreate {
38
+ nodeId: NodeId;
39
+ /**
40
+ * Tags to associate with the node
41
+ */
42
+ tags: {
43
+ [key: string]: string;
44
+ };
45
+ region: AwsRegion;
46
+ instanceType: string;
47
+ /**
48
+ * Launch template to use for the node
49
+ */
50
+ template?: AwsLaunchTemplateName | AwsLaunchTemplateId;
51
+ workerImageVersion?: NorskVersion;
52
+ workerDaemonVersion?: NorskVersion;
53
+ }
54
+
55
+ /** @public */
56
+ export declare type AwsNodeId = string;
57
+
58
+ /** @public */
59
+ export declare type AwsRegion = string;
60
+
61
+ /** @public */
62
+ export declare type ClientCode = DockerContainer;
63
+
64
+ /** @public */
65
+ export declare type Cloud = "aws" | "oci";
66
+
67
+ /** @public */
68
+ export declare type ContainerUrl = string;
69
+
70
+ /** @public */
71
+ export declare type CreateJob = Omit<Job, "state" | "currentHash">;
72
+
73
+ /**
74
+ * @public
75
+ */
76
+ export declare interface CurrentJob {
77
+ job: Job;
78
+ instances: RunningJob[];
79
+ }
80
+
81
+ /** @public */
82
+ export declare type DaemonVersion = string;
83
+
84
+ /** @public */
85
+ export declare type DateComparison = {
86
+ comparison: "eq";
87
+ value: Date;
88
+ } | {
89
+ comparison: "lt";
90
+ value: Date;
91
+ } | {
92
+ comparison: "lte";
93
+ value: Date;
94
+ } | {
95
+ comparison: "gt";
96
+ value: Date;
97
+ } | {
98
+ comparison: "gte";
99
+ value: Date;
100
+ } | {
101
+ comparison: "between";
102
+ from: Date;
103
+ to: Date;
104
+ };
105
+
106
+ /** @public */
107
+ export declare interface DateFilter {
108
+ filterType: "date";
109
+ dateType: "start" | "end";
110
+ comparison: DateComparison;
111
+ }
112
+
113
+ /** @public */
114
+ export declare type DockerContainer = {
115
+ codeType: "docker";
116
+ url: ContainerUrl;
117
+ };
118
+
119
+ /** @public */
120
+ export declare type EnvironmentVariable = {
121
+ name: string;
122
+ value: string;
123
+ };
124
+
125
+ /** @public */
126
+ export declare type EphemeralHostPort = {
127
+ type: "ephemeral";
128
+ };
129
+
130
+ /** @public */
131
+ export declare function eventStream(norsk: NorskManager, options: {
132
+ pendingWindow: number;
133
+ }): Promise<[EventStreamInitialState, EventStreamAsyncIterable]>;
134
+
135
+ declare interface EventStreamAsyncIterable {
136
+ [Symbol.asyncIterator](): AsyncIterator<EventStreamEvent, EventStreamEvent>;
137
+ }
138
+
139
+ /**
140
+ * @public
141
+ * The manager activity stream has closed
142
+ * */
143
+ export declare interface EventStreamClosed {
144
+ event: "eventStreamClosed";
145
+ error?: Error;
146
+ }
147
+
148
+ /**
149
+ * @public
150
+ */
151
+ export declare type EventStreamEvent = JobUpdated | JobPending | JobOutOfWindow | JobDeleted | JobInfo | NodeStarting | NodeStarted | NodeStopping | NodeStopped | PhysicalNodeConnected | ProviderHealthChange | EventStreamClosed;
152
+
153
+ /**
154
+ * @public
155
+ */
156
+ export declare interface EventStreamInitialState {
157
+ nodesStarting: NodeStarting[];
158
+ nodesRunning: NodeRunning[];
159
+ activeJobs: JobWithHistory[];
160
+ health: ProviderHealth[];
161
+ closeStream: () => void;
162
+ }
163
+
164
+ /**
165
+ * @public
166
+ * Configuration for creating an event stream
167
+ */
168
+ export declare interface EventStreamSettings {
169
+ /**
170
+ * The number of seconds in the future to consider jobs as pending.
171
+ * Jobs that are further in the future will not surface in the event stream,
172
+ * and instead be only reachable through the search API.
173
+ */
174
+ pendingWindow: number;
175
+ /**
176
+ * Callback for handling events from the event stream
177
+ * @param event - Event from the Manager
178
+ */
179
+ onEvent: (event: EventStreamEvent) => void;
180
+ }
181
+
182
+ /**
183
+ * @public
184
+ */
185
+ export declare type Health = "healthy" | "unstable" | "failed";
186
+
187
+ /** @public */
188
+ export declare type HostPort = EphemeralHostPort | RangeHostPort | SpecificHostPort;
189
+
190
+ /** @public */
191
+ export declare type IdComparison = {
192
+ comparison: "eq";
193
+ value: string;
194
+ } | {
195
+ comparison: "neq";
196
+ value: string;
197
+ } | {
198
+ comparison: "re";
199
+ value: string;
200
+ };
201
+
202
+ /** @public */
203
+ export declare interface IdFilter {
204
+ filterType: "id";
205
+ comparison: IdComparison;
206
+ }
207
+
208
+ /** @public */
209
+ export declare interface Job {
210
+ jobId: JobId;
211
+ cloud: Cloud;
212
+ description: string;
213
+ /**
214
+ * Tags to associate with the job
215
+ */
216
+ tags: {
217
+ [key: string]: string;
218
+ };
219
+ /**
220
+ * Date and time for when the job should be started
221
+ */
222
+ startDateTime: Date;
223
+ currentHash: bigint;
224
+ /**
225
+ * Additional services to be run as part of the job
226
+ */
227
+ services: Service[];
228
+ volumes?: string[];
229
+ /**
230
+ * JSON configuration to be passed to the manager and stored with the job
231
+ */
232
+ managerConfiguration?: string;
233
+ norskMediaVersion: NorskVersion;
234
+ /**
235
+ * Service parameters to be passed to the Norsk Media container when it is started
236
+ */
237
+ norskServiceParameters?: ServiceParameters;
238
+ state: JobState;
239
+ shape: string;
240
+ availabilityDomain: string;
241
+ subnet: string;
242
+ architecture: string;
243
+ }
244
+
245
+ /**
246
+ * @public
247
+ * A job has been deleted
248
+ * */
249
+ export declare interface JobDeleted {
250
+ event: "jobDeleted";
251
+ jobId: JobId;
252
+ }
253
+
254
+ /** @public */
255
+ export declare type JobFilter = TagFilter | IdFilter | DateFilter;
256
+
257
+ /** @public */
258
+ export declare type JobHistoryEntry = JobHistoryJobCreated | JobHistoryJobUpdated | JobHistoryJobProvisioned | JobHistoryJobRunning | JobHistoryJobStopping | JobHistoryJobStopped | JobHistoryJobCompleted;
259
+
260
+ /** @public */
261
+ export declare type JobHistoryJobCompleted = {
262
+ event: "completed";
263
+ timestamp: Date;
264
+ };
265
+
266
+ /** @public */
267
+ export declare type JobHistoryJobCreated = {
268
+ event: "created";
269
+ timestamp: Date;
270
+ };
271
+
272
+ /** @public */
273
+ export declare type JobHistoryJobProvisioned = {
274
+ event: "provisioned";
275
+ timestamp: Date;
276
+ role: Role;
277
+ nodeMetadata: NodeMetadata;
278
+ runningNodeMetadata: RunningNodeMetadata;
279
+ };
280
+
281
+ /** @public */
282
+ export declare type JobHistoryJobRunning = {
283
+ event: "running";
284
+ timestamp: Date;
285
+ role: Role;
286
+ nodeMetadata: NodeMetadata;
287
+ runningNodeMetadata: RunningNodeMetadata;
288
+ };
289
+
290
+ /** @public */
291
+ export declare type JobHistoryJobStopped = {
292
+ event: "stopped";
293
+ timestamp: Date;
294
+ role: Role;
295
+ nodeMetadata: NodeMetadata;
296
+ runningNodeMetadata?: RunningNodeMetadata;
297
+ };
298
+
299
+ /** @public */
300
+ export declare type JobHistoryJobStopping = {
301
+ event: "stopping";
302
+ timestamp: Date;
303
+ role: Role;
304
+ nodeMetadata: NodeMetadata;
305
+ runningNodeMetadata?: RunningNodeMetadata;
306
+ reason: "nodeStopped" | "nodeTerminated" | "userRequested" | "unknownJob" | "jobFailed";
307
+ };
308
+
309
+ /** @public */
310
+ export declare type JobHistoryJobUpdated = {
311
+ event: "updated";
312
+ timestamp: Date;
313
+ previousJob: Job;
314
+ };
315
+
316
+ /** @public */
317
+ export declare type JobId = string;
318
+
319
+ /**
320
+ * @public
321
+ * Informational messages about a job
322
+ * */
323
+ export declare interface JobInfo {
324
+ event: "jobInfo";
325
+ jobId: JobId;
326
+ role: Role;
327
+ timestamp: Date;
328
+ message: JobInfoMessage;
329
+ }
330
+
331
+ /** @public */
332
+ declare type JobInfoComponseMessage = {
333
+ type: "composeMessage";
334
+ stage: JobInfoComposeStage;
335
+ text: string;
336
+ };
337
+
338
+ /** @public */
339
+ declare type JobInfoComposeStage = "build" | "create" | "start" | "stop" | "down";
340
+
341
+ /** @public */
342
+ declare type JobInfoContainerEvent = {
343
+ type: "containerEvent";
344
+ serviceName: string;
345
+ text: string;
346
+ };
347
+
348
+ /** @public */
349
+ declare type JobInfoMessage = JobInfoServiceStarted | JobInfoServiceRestarting | JobInfoContainerEvent | JobInfoComponseMessage;
350
+
351
+ /** @public */
352
+ declare type JobInfoServiceRestarting = {
353
+ type: "serviceRestarting";
354
+ serviceName: string;
355
+ };
356
+
357
+ /** @public */
358
+ declare type JobInfoServiceStarted = {
359
+ type: "serviceStarted";
360
+ serviceName: string;
361
+ };
362
+
363
+ /**
364
+ * @public
365
+ * List of events that can be raised by the jobList API - TODO - link
366
+ */
367
+ export declare type JobListEvent = JobUpdated | JobPending;
368
+
369
+ /**
370
+ * @public
371
+ * A job has been updated such that it no longer matches the search criteria
372
+ * */
373
+ export declare interface JobOutOfWindow {
374
+ event: "jobOutOfWindow";
375
+ jobWithHistory: JobWithHistory;
376
+ }
377
+
378
+ /**
379
+ * @public
380
+ * Job is almost ready to start - "almost" defined by property passed into
381
+ * the list functions - todo, sort out this description
382
+ * */
383
+ export declare interface JobPending {
384
+ event: "jobPending";
385
+ jobWithHistory: JobWithHistory;
386
+ }
387
+
388
+ /**
389
+ * @public
390
+ */
391
+ export declare interface JobSearchSettings {
392
+ filter: JobFilter[];
393
+ }
394
+
395
+ /** @public */
396
+ export declare type JobState = "pre" | "active" | "post";
397
+
398
+ /**
399
+ * @public
400
+ * Job details have been updated
401
+ * */
402
+ export declare interface JobUpdated {
403
+ event: "jobUpdated";
404
+ jobWithHistory: JobWithHistory;
405
+ }
406
+
407
+ /** @public */
408
+ export declare interface JobWithHistory {
409
+ job: Job;
410
+ /**
411
+ * All the events related to this job
412
+ * */
413
+ history: JobHistoryEntry[];
414
+ }
415
+
416
+ /** @public */
417
+ export declare type Log = {
418
+ level: "emergency" | "alert" | "critical" | "error" | "warning" | "notice" | "info" | "debug";
419
+ timestamp: Date;
420
+ message: string;
421
+ };
422
+
423
+ /** @public */
424
+ export declare type NodeId = string;
425
+
426
+ /** @public */
427
+ export declare type NodeMetadata = {
428
+ nodeId: NodeId;
429
+ tags: {
430
+ [key: string]: string;
431
+ };
432
+ createdAt?: Date;
433
+ providerMetadata: ProviderMetadata;
434
+ };
435
+
436
+ /**
437
+ * @public
438
+ * A node is running - used in initial state messages
439
+ * */
440
+ export declare interface NodeRunning {
441
+ event: "nodeRunning";
442
+ nodeMetadata: NodeMetadata;
443
+ runningNodeMetadata: RunningNodeMetadata;
444
+ instances: RunningJob[];
445
+ }
446
+
447
+ /**
448
+ * @public
449
+ * A node has started
450
+ * */
451
+ export declare type NodeStarted = {
452
+ event: "nodeStarted";
453
+ nodeMetadata: NodeMetadata;
454
+ runningNodeMetadata: RunningNodeMetadata;
455
+ };
456
+
457
+ /**
458
+ * @public
459
+ * A node is starting
460
+ * */
461
+ export declare interface NodeStarting {
462
+ event: "nodeStarting";
463
+ nodeMetadata: NodeMetadata;
464
+ }
465
+
466
+ /**
467
+ * @public
468
+ * A node has stopped
469
+ * */
470
+ export declare interface NodeStopped {
471
+ event: "nodeStopped";
472
+ nodeId: NodeId;
473
+ }
474
+
475
+ /**
476
+ * @public
477
+ * A node is stopping
478
+ * */
479
+ export declare interface NodeStopping {
480
+ event: "nodeStopping";
481
+ nodeId: NodeId;
482
+ reason: "createFailed" | "pendingTimeExceeded" | "startupTimeExceeded" | "initialisationHealthPingTimeExceeded" | "healthPingTimeExceeded" | "duplicateJob" | "providerStop" | "providerTerminate" | "userRequested" | "unknownNode";
483
+ }
484
+
485
+ /**
486
+ * @public
487
+ * The entrypoint for all Norsk Manager applications
488
+ *
489
+ * @example
490
+ * ```ts
491
+ * const norsk = await NorskManager.connect({ url: "localhost:6790" });
492
+ * ```
493
+ */
494
+ export declare class NorskManager {
495
+ /** @public
496
+ * Connect to the Norsk Manager
497
+ */
498
+ static connect(settings: NorskSettings): Promise<NorskManager>;
499
+ /**
500
+ * @public
501
+ * Norsk Runtime version information
502
+ */
503
+ version: VersionInfo;
504
+ /**
505
+ * @public
506
+ * Close down the Norsk connection
507
+ */
508
+ close(): void;
509
+ /**
510
+ * @public
511
+ * Create a new job
512
+ */
513
+ createJob(job: CreateJob): Promise<Job>;
514
+ /**
515
+ * @public
516
+ * Update a job
517
+ */
518
+ updateJob(job: Job): Promise<Job>;
519
+ /**
520
+ * @public
521
+ * Deletes a job
522
+ */
523
+ deleteJob(jobId: JobId): Promise<void>;
524
+ /**
525
+ * @public
526
+ * Stops a running job
527
+ */
528
+ completeJob(jobId: JobId): Promise<void>;
529
+ /**
530
+ * @public
531
+ * Spawn a new EC2 instance running the worker image, and make it available for picking up jobs
532
+ */
533
+ createAwsNode(node: AwsNodeCreate): Promise<void>;
534
+ /**
535
+ * @public
536
+ * Spawn a new OCI instance running the worker image, and make it available for picking up jobs
537
+ */
538
+ createOciNode(node: OciNodeCreate): Promise<void>;
539
+ /**
540
+ * @private
541
+ */
542
+ private updatePhysicalNode;
543
+ /**
544
+ * @public
545
+ * Forcibly stop a node
546
+ */
547
+ terminateNode(nodeId: NodeId): Promise<void>;
548
+ /**
549
+ * @public
550
+ * Start a job on a node
551
+ * @param jobId - The job to start
552
+ * @param role - The role for this node, such as e.g. "primary" or "backup"
553
+ * @param nodeId - The node to start the job on
554
+ */
555
+ startJob(jobId: JobId, role: Role, nodeId: NodeId): Promise<void>;
556
+ /**
557
+ * @public
558
+ * Stop a job running on a node
559
+ * @param jobId - The job to stop
560
+ * @param role - The role for this node, such as e.g. "primary" or "backup"
561
+ * @param nodeId - The node to stop the job on
562
+ */
563
+ stopJob(jobId: JobId, role: Role, nodeId: NodeId): Promise<void>;
564
+ /**
565
+ * @public
566
+ * Provides a stream of the activity that is happening on the server-side.
567
+ * Reacting to these events is essential for the creation of client-side management logic.
568
+ */
569
+ eventStream(settings: EventStreamSettings): Promise<[EventStreamInitialState, () => void]>;
570
+ /**
571
+ * @public
572
+ * Search for jobs by id
573
+ */
574
+ jobById(id: JobId): Promise<CurrentJob | undefined>;
575
+ /**
576
+ * @public
577
+ * Search for jobs by tag/date/etc. See {@link JobSearchSettings}
578
+ */
579
+ jobSearch(settings: JobSearchSettings): Promise<CurrentJob[]>;
580
+ }
581
+
582
+ /**
583
+ * @public
584
+ * Top level Norsk configuration
585
+ */
586
+ export declare interface NorskSettings {
587
+ /**
588
+ * Callback URL to listen on for gRPC session with Norsk Manager
589
+ *
590
+ */
591
+ url?: string;
592
+ /**
593
+ * Called when attempting a connection to the Norsk Manager
594
+ */
595
+ onAttemptingToConnect?: () => void;
596
+ /**
597
+ * Called when a connection to the Norsk Manager is being established
598
+ */
599
+ onConnecting?: () => void;
600
+ /**
601
+ * Called when a connection to the Norsk Manager is ready
602
+ */
603
+ onReady?: () => void;
604
+ /**
605
+ * Called when a connection to the Norsk Manager has failed
606
+ */
607
+ onFailedToConnect?: () => void;
608
+ /**
609
+ * Called when Norsk Manager is shutting down the connection
610
+ */
611
+ onShutdown?: () => void;
612
+ /**
613
+ * Called when receiving the version information from the Norsk Manager
614
+ * @param version - Version information
615
+ * */
616
+ onHello?: (version: VersionInfo) => void;
617
+ /**
618
+ * Called whenever a log event is received from the Norsk Manager
619
+ * @param log - Log event
620
+ * */
621
+ onLogEvent?: (log: Log) => void;
622
+ }
623
+
624
+ /** @public */
625
+ export declare type NorskVersion = "latest" | "recommended" | "previousRecommended" | "LTS";
626
+
627
+ /**
628
+ * @public
629
+ */
630
+ export declare interface OciHealth {
631
+ provider: "oci";
632
+ }
633
+
634
+ /** @public */
635
+ export declare type OciMetadata = {
636
+ provider: "oci";
637
+ };
638
+
639
+ /** @public */
640
+ export declare interface OciNodeCreate {
641
+ nodeId: NodeId;
642
+ /**
643
+ * Tags to associate with the node
644
+ */
645
+ tags: {
646
+ [key: string]: string;
647
+ };
648
+ availabilityDomain: OciRegion;
649
+ architecture: string;
650
+ shape: string;
651
+ subnet: string;
652
+ workerImageVersion?: NorskVersion;
653
+ workerDaemonVersion?: NorskVersion;
654
+ }
655
+
656
+ /** @public */
657
+ export declare type OciRegion = string;
658
+
659
+ /** @public */
660
+ export declare type PhysicalNode = {
661
+ nodeType: "physical";
662
+ id: PhysicalNodeId;
663
+ tags: {
664
+ [key: string]: string;
665
+ };
666
+ ipAddress: string;
667
+ };
668
+
669
+ /**
670
+ * @public
671
+ * A physical node has connected
672
+ * */
673
+ export declare interface PhysicalNodeConnected {
674
+ event: "physicalNodeConnected";
675
+ node: PhysicalNode;
676
+ instances: RunningJob[];
677
+ }
678
+
679
+ /** @public */
680
+ export declare type PhysicalNodeId = string;
681
+
682
+ /** @public */
683
+ export declare type PortMapping = {
684
+ containerPort: number;
685
+ protocol?: "tcp" | "udp";
686
+ hostPort: HostPort;
687
+ hostAddress?: string;
688
+ group?: string;
689
+ };
690
+
691
+ /**
692
+ * @public
693
+ */
694
+ export declare type ProviderHealth = AwsHealth | OciHealth;
695
+
696
+ /**
697
+ * @public
698
+ * The health status of a provider has changed
699
+ * */
700
+ export declare interface ProviderHealthChange {
701
+ event: "providerHealthChange";
702
+ health: ProviderHealth;
703
+ }
704
+
705
+ /** @public */
706
+ export declare type ProviderMetadata = AwsMetadata | OciMetadata;
707
+
708
+ /** @public */
709
+ export declare type RangeHostPort = {
710
+ type: "range";
711
+ minPort: number;
712
+ maxPort: number;
713
+ };
714
+
715
+ /** @public */
716
+ export declare type RestartIntensity = {
717
+ count: number;
718
+ period: number;
719
+ };
720
+
721
+ /** @public */
722
+ export declare type Role = string;
723
+
724
+ /** @public */
725
+ export declare type RunningAwsMetadata = {
726
+ provider: "aws";
727
+ instanceId: AwsInstanceId;
728
+ };
729
+
730
+ /** @public */
731
+ export declare type RunningJob = {
732
+ jobId: JobId;
733
+ role: Role;
734
+ nodeId: NodeId;
735
+ };
736
+
737
+ /** @public */
738
+ export declare type RunningNodeMetadata = {
739
+ publicDnsName: string;
740
+ privateDnsName: string;
741
+ privateIpAddress: string;
742
+ publicIpAddress: string;
743
+ providerMetadata: RunningNodeProviderMetadata;
744
+ };
745
+
746
+ /** @public */
747
+ export declare type RunningNodeProviderMetadata = RunningAwsMetadata | RunningOciMetadata;
748
+
749
+ /** @public */
750
+ export declare type RunningOciMetadata = {
751
+ provider: "oci";
752
+ };
753
+
754
+ /** @public */
755
+ export declare type Service = {
756
+ name: string;
757
+ container: ClientCode;
758
+ restart?: ServiceRestart;
759
+ dependsOn?: Set<string>;
760
+ configuration?: string;
761
+ restartIntensity?: RestartIntensity;
762
+ command?: string;
763
+ parameters?: ServiceParameters;
764
+ };
765
+
766
+ /** @public */
767
+ export declare type ServiceParameters = {
768
+ portMappings?: PortMapping[];
769
+ environmentVariables?: EnvironmentVariable[];
770
+ sharedMemorySize?: bigint;
771
+ cpuSet?: number[];
772
+ volumeMounts?: VolumeMount[];
773
+ };
774
+
775
+ /** @public */
776
+ export declare type ServiceRestart = "never" | "onFailure" | "always";
777
+
778
+ /** @public */
779
+ export declare type SpecificHostPort = {
780
+ type: "specific";
781
+ port: number;
782
+ };
783
+
784
+ /** @public */
785
+ export declare type TagComparison = {
786
+ comparison: "eq";
787
+ value: string;
788
+ } | {
789
+ comparison: "neq";
790
+ value: string;
791
+ } | {
792
+ comparison: "re";
793
+ value: string;
794
+ } | {
795
+ comparison: "exists";
796
+ value: boolean;
797
+ };
798
+
799
+ /** @public */
800
+ export declare interface TagFilter {
801
+ filterType: "tag";
802
+ tagName: string;
803
+ comparison: TagComparison;
804
+ }
805
+
806
+ /**
807
+ * @public
808
+ * Norsk Manager Version information
809
+ */
810
+ export declare interface VersionInfo {
811
+ /** Major version */
812
+ majorVersion: number;
813
+ /** Minor version */
814
+ minorVersion: number;
815
+ /** Build number for this version */
816
+ buildNumber: number;
817
+ /** Git branch at time of build */
818
+ branchName: string;
819
+ /** Unique identifier for this build */
820
+ label: string;
821
+ }
822
+
823
+ /** @public */
824
+ export declare type VolumeMount = {
825
+ volumeName: string;
826
+ containerPath: string;
827
+ readOnly: boolean;
828
+ };
829
+
830
+ export { }