@controlplane/schema 1.0.1 → 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 (76) hide show
  1. package/build/src/interfaces/accessreport.d.ts +18 -0
  2. package/build/src/interfaces/agent.d.ts +30 -0
  3. package/build/src/interfaces/auditctx.d.ts +17 -0
  4. package/build/src/interfaces/base.d.ts +37 -0
  5. package/build/src/interfaces/cloudaccount.d.ts +37 -0
  6. package/build/src/interfaces/command.d.ts +203 -0
  7. package/build/src/interfaces/config.d.ts +11 -0
  8. package/build/src/interfaces/containerstatus.d.ts +13 -0
  9. package/build/src/interfaces/cronjob.d.ts +20 -0
  10. package/build/src/interfaces/dbcluster.d.ts +42 -0
  11. package/build/src/interfaces/deployment.d.ts +33 -0
  12. package/build/src/interfaces/discovery.d.ts +22 -0
  13. package/build/src/interfaces/domain.d.ts +83 -0
  14. package/build/src/interfaces/env.d.ts +7 -0
  15. package/build/src/interfaces/envoy.d.ts +14 -0
  16. package/build/src/interfaces/envoy.js +3 -0
  17. package/build/src/interfaces/envoyAccessLog.d.ts +21 -0
  18. package/build/src/interfaces/envoyAccessLog.js +3 -0
  19. package/build/src/interfaces/envoyCluster.d.ts +64 -0
  20. package/build/src/interfaces/envoyCluster.js +3 -0
  21. package/build/src/interfaces/envoyCommon.d.ts +437 -0
  22. package/build/src/interfaces/envoyCommon.js +3 -0
  23. package/build/src/interfaces/envoyExcExtAuth.d.ts +12 -0
  24. package/build/src/interfaces/envoyExcExtAuth.js +3 -0
  25. package/build/src/interfaces/envoyHttp.d.ts +273 -0
  26. package/build/src/interfaces/envoyHttp.js +3 -0
  27. package/build/src/interfaces/envoyRateLimit.d.ts +45 -0
  28. package/build/src/interfaces/envoyRateLimit.js +3 -0
  29. package/build/src/interfaces/event.d.ts +25 -0
  30. package/build/src/interfaces/group.d.ts +20 -0
  31. package/build/src/interfaces/gvc.d.ts +57 -0
  32. package/build/src/interfaces/identity.d.ts +102 -0
  33. package/build/src/interfaces/image.d.ts +25 -0
  34. package/build/src/interfaces/links.d.ts +0 -0
  35. package/build/src/interfaces/location.d.ts +31 -0
  36. package/build/src/interfaces/memcache.d.ts +46 -0
  37. package/build/src/interfaces/mk8s.d.ts +99 -0
  38. package/build/src/interfaces/mk8sAddons.d.ts +69 -0
  39. package/build/src/interfaces/mk8sAws.d.ts +46 -0
  40. package/build/src/interfaces/mk8sCommon.d.ts +24 -0
  41. package/build/src/interfaces/mk8sEphemeral.d.ts +18 -0
  42. package/build/src/interfaces/mk8sEphemeral.js +3 -0
  43. package/build/src/interfaces/mk8sGeneric.d.ts +21 -0
  44. package/build/src/interfaces/mk8sHetzner.d.ts +42 -0
  45. package/build/src/interfaces/mk8sLambdalabs.d.ts +23 -0
  46. package/build/src/interfaces/mk8sLinode.d.ts +28 -0
  47. package/build/src/interfaces/mk8sOblivus.d.ts +13 -0
  48. package/build/src/interfaces/mk8sPaperspace.d.ts +24 -0
  49. package/build/src/interfaces/org.d.ts +78 -0
  50. package/build/src/interfaces/orgLogging.d.ts +68 -0
  51. package/build/src/interfaces/orgTracing.d.ts +4 -0
  52. package/build/src/interfaces/permissions.d.ts +14 -0
  53. package/build/src/interfaces/policy.d.ts +23 -0
  54. package/build/src/interfaces/policyMembership.d.ts +11 -0
  55. package/build/src/interfaces/port.d.ts +1 -0
  56. package/build/src/interfaces/port.js +3 -0
  57. package/build/src/interfaces/query.d.ts +27 -0
  58. package/build/src/interfaces/quota.d.ts +18 -0
  59. package/build/src/interfaces/resourcePolicy.d.ts +13 -0
  60. package/build/src/interfaces/secret.d.ts +58 -0
  61. package/build/src/interfaces/serviceaccount.d.ts +20 -0
  62. package/build/src/interfaces/spicedb.d.ts +26 -0
  63. package/build/src/interfaces/statefulSet.d.ts +5 -0
  64. package/build/src/interfaces/task.d.ts +19 -0
  65. package/build/src/interfaces/tenant.d.ts +20 -0
  66. package/build/src/interfaces/tracing.d.ts +24 -0
  67. package/build/src/interfaces/user.d.ts +24 -0
  68. package/build/src/interfaces/util.d.ts +0 -0
  69. package/build/src/interfaces/util.js +2 -0
  70. package/build/src/interfaces/volumeSet.d.ts +79 -0
  71. package/build/src/interfaces/volumeSpec.d.ts +5 -0
  72. package/build/src/interfaces/volumeSpec.js +3 -0
  73. package/build/src/interfaces/workload.d.ts +260 -0
  74. package/build/src/interfaces/workloadOptions.d.ts +18 -0
  75. package/build/src/interfaces/workloadOptions.js +3 -0
  76. package/package.json +2 -2
@@ -0,0 +1,18 @@
1
+ import { Links } from './base';
2
+ export interface PrincipalBinding {
3
+ principalLink?: string;
4
+ grantingPolicyLink?: string;
5
+ grantedPermissions?: string[];
6
+ match?: 'link' | 'query' | 'all';
7
+ }
8
+ export interface GrantedPermission {
9
+ name?: string;
10
+ description?: string;
11
+ bindings?: PrincipalBinding[];
12
+ }
13
+ export interface AccessReport {
14
+ kind?: 'accessreport';
15
+ permissions?: GrantedPermission[];
16
+ created?: Date;
17
+ links?: Links;
18
+ }
@@ -0,0 +1,30 @@
1
+ import { Name, Kind, Tags, Links } from './base';
2
+ export interface BootstrapConfig {
3
+ registrationToken: string;
4
+ agentId: string;
5
+ agentLink: string;
6
+ hubEndpoint: string;
7
+ }
8
+ export interface AgentStatus {
9
+ bootstrapConfig?: BootstrapConfig;
10
+ }
11
+ export interface Agent {
12
+ id?: string;
13
+ name?: Name;
14
+ kind?: Kind;
15
+ version?: number;
16
+ description?: string;
17
+ tags?: Tags;
18
+ created?: Date;
19
+ lastModified?: Date;
20
+ links?: Links;
21
+ status?: AgentStatus;
22
+ }
23
+ export interface AgentInfo {
24
+ lastActive?: Date;
25
+ env?: {
26
+ [x: string]: any;
27
+ };
28
+ peerCount?: number;
29
+ serviceCount?: number;
30
+ }
@@ -0,0 +1,17 @@
1
+ import { Name, Kind, Tags, Links } from './base';
2
+ export interface AuditContextStatus {
3
+ [x: string]: any;
4
+ }
5
+ export interface AuditContext {
6
+ id?: string;
7
+ name?: Name;
8
+ kind?: Kind;
9
+ version?: number;
10
+ description?: string;
11
+ tags?: Tags;
12
+ created?: Date;
13
+ lastModified?: Date;
14
+ links?: Links;
15
+ status?: AuditContextStatus;
16
+ origin?: 'default' | 'builtin';
17
+ }
@@ -0,0 +1,37 @@
1
+ export type LocalLink = string;
2
+ export type ImageLink = string;
3
+ export type Kind = 'org' | 'cloudaccount' | 'policy' | 'user' | 'group' | 'resource' | 'task' | 'permissions' | 'serviceaccount' | 'secret' | 'location' | 'gvc' | 'workload' | 'quota' | 'identity' | 'deployment' | 'event' | 'domain' | 'image' | 'resourcepolicy' | 'agent' | 'accessreport' | 'policymembership' | 'dbcluster' | 'auditctx' | 'memcachecluster' | 'spicedbcluster' | 'tenant' | 'mk8s' | 'command' | 'imagesummary' | 'volumeset';
4
+ export type CloudProvider = 'aws' | 'gcp' | 'azure' | 'ngs';
5
+ export type Name = string;
6
+ export interface Tags {
7
+ [x: string]: any;
8
+ }
9
+ export interface Link {
10
+ rel: string;
11
+ href: string;
12
+ }
13
+ export type Links = Link[];
14
+ export interface Base {
15
+ id?: string;
16
+ name?: Name;
17
+ kind?: Kind;
18
+ version?: number;
19
+ description?: string;
20
+ tags?: Tags;
21
+ created?: Date;
22
+ lastModified?: Date;
23
+ links?: Links;
24
+ }
25
+ export interface List {
26
+ kind?: 'list';
27
+ itemKind?: 'org' | 'cloudaccount' | 'policy' | 'user' | 'group' | 'resource' | 'task' | 'permissions' | 'serviceaccount' | 'secret' | 'location' | 'gvc' | 'workload' | 'quota' | 'identity' | 'deployment' | 'event' | 'account' | 'domain' | 'image' | 'resourcepolicy' | 'accessreport' | 'agent' | 'auditctx' | 'dbcluster' | 'memcachecluster' | 'spicedbcluster' | 'tenant' | 'mk8s' | 'command' | 'policymembership' | 'primitive' | 'foreign' | 'link' | 'imagesummary' | 'volumeset';
28
+ items: any[];
29
+ links: Link[];
30
+ }
31
+ export interface ApiError {
32
+ status?: number;
33
+ message?: string;
34
+ code?: string;
35
+ details?: any;
36
+ id?: string;
37
+ }
@@ -0,0 +1,37 @@
1
+ import { Name, Kind, Tags, Links, CloudProvider } from './base';
2
+ export interface AwsConfig {
3
+ roleArn: string;
4
+ }
5
+ export interface GcpConfig {
6
+ projectId: string;
7
+ }
8
+ export interface NgsConfig {
9
+ secretLink: string;
10
+ }
11
+ export interface AzureConfig {
12
+ secretLink: string;
13
+ }
14
+ export interface CloudAccount {
15
+ id?: string;
16
+ name?: Name;
17
+ kind?: Kind;
18
+ version?: number;
19
+ description?: string;
20
+ tags?: Tags;
21
+ created?: Date;
22
+ lastModified?: Date;
23
+ links?: Links;
24
+ provider?: CloudProvider;
25
+ data?: GcpConfig | AwsConfig | AzureConfig | NgsConfig;
26
+ status?: {
27
+ usable?: boolean;
28
+ lastChecked?: Date;
29
+ lastError?: string;
30
+ };
31
+ }
32
+ export interface Instructions {
33
+ message?: string;
34
+ data?: {
35
+ [x: string]: any;
36
+ };
37
+ }
@@ -0,0 +1,203 @@
1
+ import { Kind, Links, ImageLink, Name, Tags } from './base';
2
+ import { EnvVar } from './env';
3
+ import { Memory, Cpu } from './workload';
4
+ import { VolumeSnapshot, SnapshotSpec, VolumeSetStatus } from './volumeSet';
5
+ export type CommandLifecycleStage = 'pending' | 'running' | 'cancelled' | 'completed' | 'failed';
6
+ export interface Command {
7
+ id?: string;
8
+ ownerId?: string;
9
+ kind?: Kind;
10
+ version?: number;
11
+ created?: Date;
12
+ lastModified?: Date;
13
+ links?: Links;
14
+ type: string;
15
+ lifecycleStage?: CommandLifecycleStage;
16
+ spec?: {
17
+ [x: string]: any;
18
+ };
19
+ status?: {
20
+ [x: string]: any;
21
+ };
22
+ }
23
+ export interface CronWorkloadContainerOverrides {
24
+ name: string;
25
+ env?: EnvVar[];
26
+ command?: string;
27
+ args?: string[];
28
+ memory?: Memory;
29
+ cpu?: Cpu;
30
+ image?: ImageLink;
31
+ }
32
+ export interface RunCronWorkloadSpec {
33
+ location: string;
34
+ containerOverrides?: CronWorkloadContainerOverrides[];
35
+ }
36
+ export interface RunCronWorkloadStatus {
37
+ replica?: string;
38
+ }
39
+ export interface StopReplicaSpec {
40
+ location: string;
41
+ replica?: string;
42
+ }
43
+ export interface StopReplicaStatus {
44
+ clusterId?: string;
45
+ podCreatedByCommandLink?: string;
46
+ podId: string;
47
+ }
48
+ export interface ReplaceVolumeSpec {
49
+ location: string;
50
+ volumeIndex: number;
51
+ }
52
+ export interface RestoreVolumeSpec {
53
+ location: string;
54
+ volumeIndex: number;
55
+ snapshotName: string;
56
+ }
57
+ export interface ReplaceVolumeStatus {
58
+ stage: 'create-volume' | 'cleanup-after-volume-creation' | 'update-volume-set' | 'shutdown-replica' | 'await-replica-termination' | 'restart-replica' | 'cleanup-k8s' | 'cleanup-old-storage-device' | 'revert';
59
+ messages?: string[];
60
+ clusterId?: string;
61
+ inUseByWorkloadId?: string;
62
+ storageDeviceIdToRemove?: string;
63
+ newStorageDeviceId?: string;
64
+ nextVolumeSize?: number;
65
+ }
66
+ export interface CreateVolumeSnapshotSpec {
67
+ location: string;
68
+ volumeIndex: number;
69
+ snapshotName: string;
70
+ snapshotExpirationDate?: Date;
71
+ snapshotTags?: {
72
+ [x: string]: string;
73
+ }[];
74
+ }
75
+ export interface CreateVolumeSnapshotStatus {
76
+ stage: 'create-snapshot' | 'update-volume-set' | 'cleanup-k8s' | 'revert';
77
+ messages?: string[];
78
+ clusterId?: string;
79
+ newSnapshotId?: string;
80
+ newSnapshotSize?: number;
81
+ creationStartTime?: Date;
82
+ }
83
+ export interface ExpandVolumeSpec {
84
+ location: string;
85
+ volumeIndex: number;
86
+ newStorageCapacity: number;
87
+ }
88
+ export interface ExpandVolumeStatus {
89
+ clusterId?: string;
90
+ messages?: string[];
91
+ stage: 'expand-volume' | 'await-replica-termination' | 'update-volume-set' | 'cleanup-k8s' | 'revert';
92
+ replicaRestartedAt?: Date;
93
+ }
94
+ export interface DeleteVolumeSpec {
95
+ location: string;
96
+ volumeIndex: number;
97
+ }
98
+ export interface SnapshotDeletionStatus {
99
+ stage?: 'pending' | 'k8s-resources-created' | 'deleted';
100
+ messages?: string[];
101
+ }
102
+ export interface DeleteVolumeStatus {
103
+ clusterId?: string;
104
+ volume: {
105
+ lifecycle?: 'creating' | 'unused' | 'unbound' | 'bound' | 'deleted' | 'repairing';
106
+ storageDeviceId?: string;
107
+ index: number;
108
+ currentSize: number;
109
+ currentBytesUsed?: number;
110
+ iops?: number;
111
+ throughput?: number;
112
+ driver: string;
113
+ volumeSnapshots?: VolumeSnapshot[];
114
+ attributes?: {
115
+ [x: string]: string;
116
+ };
117
+ };
118
+ stage: 'delete-snapshots' | 'delete-volume' | 'finalize-volume-deletion' | 'update-volume-set';
119
+ messages?: string[];
120
+ pvcRef?: {
121
+ namespace: string;
122
+ name: string;
123
+ };
124
+ snapshotDeletionStatus: {
125
+ [x: string]: SnapshotDeletionStatus;
126
+ };
127
+ }
128
+ export interface DeleteVolumeSnapshotSpec {
129
+ location: string;
130
+ volumeIndex: number;
131
+ snapshotName: string;
132
+ }
133
+ export interface DeleteVolumeSnapshotStatus {
134
+ clusterId?: string;
135
+ snapshot: {
136
+ name: string;
137
+ id?: string;
138
+ created: Date;
139
+ expires?: Date;
140
+ size?: number;
141
+ tags?: {
142
+ [x: string]: string;
143
+ }[];
144
+ };
145
+ stage: 'delete-snapshot' | 'update-volume-set';
146
+ messages?: string[];
147
+ }
148
+ export interface Cluster {
149
+ clusterId?: string;
150
+ since?: Date;
151
+ }
152
+ export interface Clusters {
153
+ [x: string]: Cluster;
154
+ }
155
+ export interface DeleteVolumeSetSpec {
156
+ volumeSet: {
157
+ id?: string;
158
+ name?: Name;
159
+ kind?: Kind;
160
+ version?: number;
161
+ description?: string;
162
+ tags?: Tags;
163
+ created?: Date;
164
+ lastModified?: Date;
165
+ links?: Links;
166
+ spec: {
167
+ initialCapacity: number;
168
+ performanceClass: 'general-purpose-ssd' | 'high-throughput-ssd';
169
+ storageClassSuffix?: string;
170
+ fileSystemType?: 'xfs' | 'ext4';
171
+ snapshots?: SnapshotSpec;
172
+ autoscaling?: {
173
+ maxCapacity?: number;
174
+ minFreePercentage?: number;
175
+ scalingFactor?: number;
176
+ };
177
+ };
178
+ status?: VolumeSetStatus;
179
+ gvc?: any;
180
+ };
181
+ }
182
+ export interface DeleteVolumeSetLocationStatus {
183
+ stage: 'delete-volumes' | 'delete-orphaned-volumes' | 'complete';
184
+ volumes?: {
185
+ [x: string]: DeleteVolumeStatus;
186
+ };
187
+ }
188
+ export interface DeleteVolumeSetStatus {
189
+ [x: string]: DeleteVolumeSetLocationStatus;
190
+ }
191
+ export interface DeleteOrphanedVolumeSpec {
192
+ storageDeviceId: string;
193
+ org: string;
194
+ gvc: string;
195
+ workloadName: string;
196
+ volumeSetUri: string;
197
+ driver: string;
198
+ }
199
+ export interface DeleteOrphanedVolumeStatus {
200
+ clusterId?: string;
201
+ stage?: 'create-deletion-records' | 'delete' | 'cleanup-k8s';
202
+ messages?: string[];
203
+ }
@@ -0,0 +1,11 @@
1
+ import { Links } from './base';
2
+ export interface Config {
3
+ kind?: 'config';
4
+ id?: string;
5
+ lastModified?: Date;
6
+ version?: number;
7
+ data?: {
8
+ [x: string]: any;
9
+ };
10
+ links?: Links;
11
+ }
@@ -0,0 +1,13 @@
1
+ export interface DeploymentResources {
2
+ replicas?: number;
3
+ replicasReady?: number;
4
+ cpu?: number;
5
+ memory?: number;
6
+ }
7
+ export interface ContainerStatus {
8
+ name?: string;
9
+ image?: string;
10
+ ready?: boolean;
11
+ resources?: DeploymentResources;
12
+ message?: string;
13
+ }
@@ -0,0 +1,20 @@
1
+ import { ContainerStatus } from './containerstatus';
2
+ export interface JobExecutionCondition {
3
+ status?: 'True' | 'False' | 'Unknown';
4
+ type: 'Complete' | 'Failed' | 'Suspended';
5
+ lastDetectionTime?: Date;
6
+ lastTransitionTime?: Date;
7
+ message?: string;
8
+ reason?: string;
9
+ }
10
+ export interface JobExecutionStatus {
11
+ workloadVersion: number;
12
+ status?: 'successful' | 'failed' | 'active' | 'pending' | 'invalid' | 'removed' | '';
13
+ startTime?: Date;
14
+ completionTime?: Date;
15
+ conditions?: JobExecutionCondition[];
16
+ name: string;
17
+ containers?: {
18
+ [x: string]: ContainerStatus;
19
+ };
20
+ }
@@ -0,0 +1,42 @@
1
+ import { Name, Kind, Tags, Links } from './base';
2
+ export interface ClusterSpec {
3
+ externalAccessEnabled?: boolean;
4
+ postgres: {
5
+ version?: '12.8' | '13.4';
6
+ storageGB: number;
7
+ defaults?: {
8
+ size: 'developer-2c-4g' | 'small-2c-8g' | 'standard-4c-16g' | 'large-8c-32g' | 'xlarge-16c-64g';
9
+ instances: number;
10
+ };
11
+ locations?: ({
12
+ name?: string;
13
+ writable?: boolean;
14
+ size?: 'developer-2c-4g' | 'small-2c-8g' | 'standard-4c-16g' | 'large-8c-32g' | 'xlarge-16c-64g';
15
+ instances?: number;
16
+ })[];
17
+ };
18
+ }
19
+ export interface ClusterStatus {
20
+ parentId?: string;
21
+ externalEndpoint?: string;
22
+ [x: string]: any;
23
+ }
24
+ export interface DbCluster {
25
+ id?: string;
26
+ name?: Name;
27
+ kind?: Kind;
28
+ version?: number;
29
+ description?: string;
30
+ tags?: Tags;
31
+ created?: Date;
32
+ lastModified?: Date;
33
+ links?: Links;
34
+ spec?: ClusterSpec;
35
+ status?: ClusterStatus;
36
+ alias?: string;
37
+ }
38
+ export interface DbClusterStatus {
39
+ data?: ClusterStatus;
40
+ lastModified?: Date;
41
+ version?: number;
42
+ }
@@ -0,0 +1,33 @@
1
+ import { ContainerStatus } from './containerstatus';
2
+ import { JobExecutionStatus } from './cronjob';
3
+ import { Kind, Links } from './base';
4
+ export interface DeploymentVersion {
5
+ name?: string;
6
+ created?: Date;
7
+ workload?: number;
8
+ gvc?: number;
9
+ containers?: {
10
+ [x: string]: ContainerStatus;
11
+ };
12
+ ready?: boolean;
13
+ message?: string;
14
+ }
15
+ export interface DeploymentStatus {
16
+ endpoint?: string;
17
+ remote?: string;
18
+ lastProcessedVersion?: number;
19
+ expectedDeploymentVersion?: number;
20
+ internal?: any;
21
+ ready?: boolean;
22
+ deploying?: boolean;
23
+ versions?: DeploymentVersion[];
24
+ jobExecutions?: JobExecutionStatus[];
25
+ message?: string;
26
+ }
27
+ export interface Deployment {
28
+ name: string;
29
+ kind?: Kind;
30
+ links?: Links;
31
+ lastModified?: Date;
32
+ status?: DeploymentStatus;
33
+ }
@@ -0,0 +1,22 @@
1
+ export interface Discovery {
2
+ endpoints?: {
3
+ billing?: string;
4
+ console?: string;
5
+ browser?: string;
6
+ hub?: string;
7
+ registry?: string;
8
+ audit?: string;
9
+ logs?: string;
10
+ metrics?: string;
11
+ tracing?: string;
12
+ metering?: string;
13
+ "billing-ng"?: string;
14
+ grafana?: string;
15
+ "terraform-exporter"?: string;
16
+ };
17
+ firebase?: {
18
+ apiKey?: string;
19
+ authDomain?: string;
20
+ projectId?: string;
21
+ };
22
+ }
@@ -0,0 +1,83 @@
1
+ import { LocalLink, Kind, Tags, Links } from './base';
2
+ export interface Route {
3
+ replacePrefix?: string;
4
+ regex?: string;
5
+ prefix?: string;
6
+ workloadLink: string;
7
+ port?: number;
8
+ hostPrefix?: string;
9
+ }
10
+ export interface ExternalPortTLS {
11
+ minProtocolVersion?: 'TLSV1_2' | 'TLSV1_1' | 'TLSV1_0';
12
+ cipherSuites?: ('ECDHE-ECDSA-AES256-GCM-SHA384' | 'ECDHE-ECDSA-CHACHA20-POLY1305' | 'ECDHE-ECDSA-AES128-GCM-SHA256' | 'ECDHE-RSA-AES256-GCM-SHA384' | 'ECDHE-RSA-CHACHA20-POLY1305' | 'ECDHE-RSA-AES128-GCM-SHA256' | 'AES256-GCM-SHA384' | 'AES128-GCM-SHA256' | 'TLS_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256' | 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_CHACHA20_POLY1305_SHA256' | 'TLS_AES_256_GCM_SHA384' | 'TLS_AES_128_GCM_SHA256' | 'DES-CBC3-SHA' | 'ECDHE-RSA-AES128-SHA' | 'ECDHE-RSA-AES256-SHA' | 'AES128-SHA' | 'AES256-SHA')[];
13
+ clientCertificate?: {
14
+ secretLink?: string;
15
+ };
16
+ serverCertificate?: {
17
+ secretLink?: string;
18
+ };
19
+ }
20
+ export interface ExternalPort {
21
+ number?: number;
22
+ protocol?: 'http' | 'http2' | 'tcp';
23
+ routes?: Route[];
24
+ cors?: {
25
+ allowOrigins?: {
26
+ exact?: string;
27
+ }[];
28
+ allowMethods?: string[];
29
+ allowHeaders?: string[];
30
+ exposeHeaders?: string[];
31
+ maxAge?: string;
32
+ allowCredentials?: boolean;
33
+ };
34
+ tls?: {
35
+ minProtocolVersion?: 'TLSV1_2' | 'TLSV1_1' | 'TLSV1_0';
36
+ cipherSuites?: ('ECDHE-ECDSA-AES256-GCM-SHA384' | 'ECDHE-ECDSA-CHACHA20-POLY1305' | 'ECDHE-ECDSA-AES128-GCM-SHA256' | 'ECDHE-RSA-AES256-GCM-SHA384' | 'ECDHE-RSA-CHACHA20-POLY1305' | 'ECDHE-RSA-AES128-GCM-SHA256' | 'AES256-GCM-SHA384' | 'AES128-GCM-SHA256' | 'TLS_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256' | 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_CHACHA20_POLY1305_SHA256' | 'TLS_AES_256_GCM_SHA384' | 'TLS_AES_128_GCM_SHA256' | 'DES-CBC3-SHA' | 'ECDHE-RSA-AES128-SHA' | 'ECDHE-RSA-AES256-SHA' | 'AES128-SHA' | 'AES256-SHA')[];
37
+ clientCertificate?: {
38
+ secretLink?: string;
39
+ };
40
+ serverCertificate?: {
41
+ secretLink?: string;
42
+ };
43
+ };
44
+ }
45
+ export interface DomainSpec {
46
+ dnsMode?: 'cname' | 'ns';
47
+ gvcLink?: string;
48
+ acceptAllHosts?: boolean;
49
+ ports?: ExternalPort[];
50
+ }
51
+ export interface DnsConfigRecord {
52
+ type?: string;
53
+ ttl?: number;
54
+ host?: string;
55
+ value?: string;
56
+ }
57
+ export interface DomainStatus {
58
+ endpoints?: {
59
+ url: string;
60
+ workloadLink?: LocalLink;
61
+ }[];
62
+ status?: 'initializing' | 'ready' | 'pendingDnsConfig' | 'pendingCertificate' | 'usedByGvc' | 'warning';
63
+ warning?: string;
64
+ locations?: ({
65
+ name: string;
66
+ certificateStatus?: 'initializing' | 'ready' | 'pendingDnsConfig' | 'pendingCertificate' | 'ignored';
67
+ })[];
68
+ fingerprint?: string;
69
+ dnsConfig?: DnsConfigRecord[];
70
+ }
71
+ export interface Domain {
72
+ id?: string;
73
+ kind?: Kind;
74
+ version?: number;
75
+ description?: string;
76
+ tags?: Tags;
77
+ created?: Date;
78
+ lastModified?: Date;
79
+ links?: Links;
80
+ name?: string;
81
+ spec?: DomainSpec;
82
+ status?: DomainStatus;
83
+ }
@@ -0,0 +1,7 @@
1
+ export type EnvName = string;
2
+ export interface EnvVar {
3
+ name: string;
4
+ value?: string;
5
+ fieldRef?: 'metadata.name' | 'metadata.namespace' | 'spec.nodeName' | 'status.hostIP' | 'status.podIP' | 'status.podIPs';
6
+ }
7
+ export type EnvCollection = EnvVar[];
@@ -0,0 +1,14 @@
1
+ import { AccessLog } from './envoyAccessLog';
2
+ import { Cluster } from './envoyCluster';
3
+ import { ExcExtAuth, ExcludedRateLimit } from './envoyExcExtAuth';
4
+ import { HttpFilter } from './envoyHttp';
5
+ import { VolumeSpec } from './volumeSpec';
6
+ export interface EnvoyFilters {
7
+ accessLog?: AccessLog[];
8
+ clusters?: Cluster[];
9
+ excludedExternalAuth?: ExcExtAuth[];
10
+ excludedRateLimit?: ExcludedRateLimit[];
11
+ http?: HttpFilter[];
12
+ network?: any[];
13
+ volumes?: VolumeSpec[];
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ import { Priority, GrpcService, ApiVersion, Duration, UInt32, RetryPolicy } from './envoyCommon';
2
+ export interface AccessLog {
3
+ priority?: Priority;
4
+ name?: 'envoy.http_grpc_access_log';
5
+ excludedWorkloads?: string[];
6
+ typed_config?: {
7
+ "@type"?: any;
8
+ common_config?: {
9
+ log_name: string;
10
+ grpc_service?: GrpcService;
11
+ transport_api_version?: ApiVersion;
12
+ buffer_flush_interval?: Duration;
13
+ buffer_size_bytes?: UInt32;
14
+ filter_state_objects_to_log?: string[];
15
+ grpc_stream_retry_policy?: RetryPolicy;
16
+ };
17
+ additional_request_headers_to_log?: string[];
18
+ additional_response_headers_to_log?: string[];
19
+ additional_response_trailers_to_log?: string[];
20
+ };
21
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* auto-generated */
3
+ Object.defineProperty(exports, "__esModule", { value: true });