ydb-embedded-ui 4.10.0 → 4.10.1

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 (44) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/InfoViewer/formatters/schema.ts +3 -1
  3. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +32 -0
  4. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.tsx +43 -0
  5. package/dist/containers/AsideNavigation/AsideNavigation.tsx +2 -2
  6. package/dist/containers/Cluster/Cluster.scss +4 -5
  7. package/dist/containers/Cluster/Cluster.tsx +3 -22
  8. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +4 -0
  9. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.tsx +7 -0
  10. package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.tsx +1 -1
  11. package/dist/containers/Cluster/utils.tsx +0 -11
  12. package/dist/containers/Header/Header.scss +1 -5
  13. package/dist/containers/Nodes/Nodes.scss +1 -24
  14. package/dist/containers/Nodes/Nodes.tsx +28 -38
  15. package/dist/containers/Storage/Storage.scss +1 -14
  16. package/dist/containers/Storage/Storage.tsx +15 -18
  17. package/dist/containers/Storage/StorageTypeFilter/StorageTypeFilter.tsx +3 -1
  18. package/dist/containers/Storage/{StorageVisibleEntityFilter/StorageVisibleEntityFilter.tsx → StorageVisibleEntitiesFilter/StorageVisibleEntitiesFilter.tsx} +4 -2
  19. package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +6 -2
  20. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +3 -12
  21. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.tsx +2 -7
  22. package/dist/containers/Tenant/Query/i18n/en.json +1 -1
  23. package/dist/containers/Tenant/Query/i18n/ru.json +1 -1
  24. package/dist/containers/Tenants/Tenants.scss +1 -13
  25. package/dist/containers/Tenants/Tenants.tsx +17 -24
  26. package/dist/store/reducers/nodes/nodes.ts +4 -112
  27. package/dist/store/reducers/nodes/selectors.ts +74 -0
  28. package/dist/store/reducers/nodes/utils.ts +46 -0
  29. package/dist/store/reducers/storage/selectors.ts +1 -1
  30. package/dist/types/api/compute.ts +27 -2
  31. package/dist/types/api/nodes.ts +12 -1
  32. package/dist/types/api/schema/cdcStream.ts +32 -0
  33. package/dist/types/api/schema/columnEntity.ts +138 -0
  34. package/dist/types/api/schema/externalDataSource.ts +24 -0
  35. package/dist/types/api/schema/externalTable.ts +14 -0
  36. package/dist/types/api/schema/index.ts +10 -0
  37. package/dist/types/api/schema/persQueueGroup.ts +191 -0
  38. package/dist/types/api/schema/schema.ts +299 -0
  39. package/dist/types/api/schema/shared.ts +42 -0
  40. package/dist/types/api/schema/table.ts +616 -0
  41. package/dist/types/api/schema/tableIndex.ts +33 -0
  42. package/package.json +1 -1
  43. package/dist/assets/icons/versions.svg +0 -3
  44. package/dist/types/api/schema.ts +0 -1326
@@ -0,0 +1,24 @@
1
+ import type {TPathID} from './shared';
2
+
3
+ export interface TExternalDataSourceDescription {
4
+ Name?: string;
5
+ PathId?: TPathID;
6
+ /** uint64 */
7
+ Version?: string;
8
+ SourceType?: string;
9
+ Location?: string;
10
+ Installation?: string;
11
+ Auth?: TAuth;
12
+ }
13
+
14
+ interface TAuth {
15
+ None?: NoneAuth;
16
+ ServiceAccount?: ServiceAccountAuth;
17
+ }
18
+
19
+ interface NoneAuth {}
20
+
21
+ interface ServiceAccountAuth {
22
+ Id?: string;
23
+ SecretName?: string;
24
+ }
@@ -0,0 +1,14 @@
1
+ import type {TColumnDescription, TPathID} from './shared';
2
+
3
+ export interface TExternalTableDescription {
4
+ Name?: string;
5
+ PathId?: TPathID;
6
+ /** uint64 */
7
+ Version?: string;
8
+ SourceType?: string;
9
+ DataSourcePath?: string;
10
+ Location?: string;
11
+ Columns?: TColumnDescription[];
12
+ /** bytes */
13
+ Content?: unknown;
14
+ }
@@ -0,0 +1,10 @@
1
+ export * from './schema';
2
+ export * from './shared';
3
+
4
+ export * from './cdcStream';
5
+ export * from './columnEntity';
6
+ export * from './externalDataSource';
7
+ export * from './externalTable';
8
+ export * from './persQueueGroup';
9
+ export * from './table';
10
+ export * from './tableIndex';
@@ -0,0 +1,191 @@
1
+ export interface TPersQueueGroupDescription {
2
+ Name: string;
3
+ /** uint64 */
4
+ PathId?: string;
5
+ TotalGroupCount: number;
6
+
7
+ PartitionsToAdd?: TPartitionToAdd[];
8
+ PartitionsToDelete?: number[];
9
+ NextPartitionId?: number;
10
+ PartitionPerTablet?: number;
11
+ PQTabletConfig: TPQTabletConfig;
12
+ Partitions?: TPartition[];
13
+ /** uint64 */
14
+ AlterVersion?: string;
15
+ /** uint64 */
16
+ BalancerTabletID?: string;
17
+
18
+ PartitionBoundaries?: unknown;
19
+
20
+ BootstrapConfig?: TBootstrapConfig;
21
+ }
22
+
23
+ export interface TPQTabletConfig {
24
+ /** uint64 */
25
+ CacheSize?: string;
26
+ PartitionConfig: TPQPartitionConfig;
27
+ /** @deprecated use Partitions */
28
+ PartitionIds?: number[];
29
+ TopicName?: string;
30
+ Version?: number;
31
+ LocalDC?: boolean;
32
+ RequireAuthWrite?: boolean;
33
+ RequireAuthRead?: boolean;
34
+ Producer?: string;
35
+ Ident?: string;
36
+ Topic?: string;
37
+ DC?: string;
38
+
39
+ ReadRules?: string[];
40
+ /** uint64[] */
41
+ ReadFromTimestampsMs?: number[];
42
+ /** uint64[] */
43
+ ConsumerFormatVersions?: number[];
44
+
45
+ ConsumerCodecs?: TCodecs[];
46
+ ReadRuleServiceTypes?: string;
47
+
48
+ /** uint64 */
49
+ FormatVersion?: string;
50
+ Codecs?: TCodecs;
51
+
52
+ /** uint64[] */
53
+ ReadRuleVersions?: string[];
54
+ /** uint64[] */
55
+ ReadRuleGenerations?: string[];
56
+
57
+ TopicPath?: string;
58
+
59
+ YcCloudId?: string;
60
+ YcFolderId?: string;
61
+ YdbDatabaseId?: string;
62
+ YdbDatabasePath?: string;
63
+ FederationAccount?: string;
64
+
65
+ PartitionKeySchema?: TKeyComponentSchema[];
66
+
67
+ Partitions?: TPartition[];
68
+
69
+ MeteringMode?: EMeteringMode;
70
+ }
71
+
72
+ export interface TPQPartitionConfig {
73
+ MaxCountInPartition?: number;
74
+ /** int64 */
75
+ MaxSizeInPartition?: string;
76
+ LifetimeSeconds: number;
77
+ /** uint64 */
78
+ StorageLimitBytes?: string;
79
+
80
+ ImportantClientId?: string[];
81
+ LowWatermark?: number;
82
+ SourceIdLifetimeSeconds?: number;
83
+ SourceIdMaxCounts?: number;
84
+
85
+ /** uint64 */
86
+ WriteSpeedInBytesPerSecond?: string;
87
+ /** uint64 */
88
+ BurstSize?: string;
89
+
90
+ ReadQuota?: TReadQuota[];
91
+ /** uint64 */
92
+ MaxWriteInflightSize?: string;
93
+ /** uint64 */
94
+ BorderWriteInflightSize?: string;
95
+
96
+ NumChannels?: number;
97
+
98
+ TotalPartitions?: number;
99
+
100
+ ExplicitChannelProfiles?: TChannelProfile[];
101
+
102
+ MirrorFrom?: TMirrorPartitionConfig;
103
+ }
104
+
105
+ interface TMirrorPartitionConfig {
106
+ Endpoint?: string;
107
+ EndpointPort?: number;
108
+ Topic?: string;
109
+ Consumer?: string;
110
+ /** uint64 */
111
+ ReadFromTimestampsMs?: string;
112
+ Credentials?: TCredentials;
113
+ Database?: string;
114
+ UseSecureConnection?: boolean;
115
+ SyncWriteTime?: boolean;
116
+ }
117
+
118
+ interface TChannelProfile {
119
+ PoolKind?: string;
120
+ /** uint64 */
121
+ Size?: string;
122
+ ReadIops?: number;
123
+ ReadBandwidth?: number;
124
+ WriteIops?: number;
125
+ WriteBandwidth?: number;
126
+ }
127
+
128
+ interface IamCredentials {
129
+ Endpoint?: string;
130
+ ServiceAccountKey?: string;
131
+ }
132
+
133
+ interface TCredentials {
134
+ OauthToken?: string;
135
+ JwtParams?: string;
136
+ Iam?: IamCredentials;
137
+ }
138
+
139
+ interface TBootstrapConfig {
140
+ ExplicitMessageGroups?: TMessageGroup[];
141
+ }
142
+
143
+ interface TMessageGroup {
144
+ // Id of message group (SourceId)
145
+ Id?: string;
146
+ // Range of the key to which it is allowed to write.
147
+ KeyRange?: TPartitionKeyRange;
148
+ }
149
+
150
+ interface TKeyComponentSchema {
151
+ Name?: string;
152
+ TypeId?: number;
153
+ }
154
+
155
+ interface TReadQuota {
156
+ ClientId?: string;
157
+ /** uint64 */
158
+ SpeedInBytesPerSecond?: string;
159
+ /** uint64 */
160
+ BurstSize?: string;
161
+ }
162
+
163
+ interface TPartition {
164
+ PartitionId?: number;
165
+ /** uint64 */
166
+ TabletId?: string;
167
+ KeyRange?: TPartitionKeyRange;
168
+ }
169
+
170
+ interface TPartitionToAdd {
171
+ PartitionId?: number;
172
+ GroupId?: number;
173
+ }
174
+
175
+ interface TCodecs {
176
+ /** int64 */
177
+ Ids?: string[];
178
+ Codecs?: string[];
179
+ }
180
+
181
+ interface TPartitionKeyRange {
182
+ // Inclusive left border. Emptiness means -inf.
183
+ FromBound?: string;
184
+ // Exclusive right border. Emptiness means +inf.
185
+ ToBound?: string;
186
+ }
187
+
188
+ export enum EMeteringMode {
189
+ METERING_MODE_RESERVED_CAPACITY = 'METERING_MODE_RESERVED_CAPACITY',
190
+ METERING_MODE_REQUEST_UNITS = 'METERING_MODE_REQUEST_UNITS',
191
+ }
@@ -0,0 +1,299 @@
1
+ import type {TMetrics} from '../tenant';
2
+
3
+ import type {TCdcStreamDescription} from './cdcStream';
4
+ import type {TColumnStoreDescription, TColumnTableDescription} from './columnEntity';
5
+ import type {TExternalDataSourceDescription} from './externalDataSource';
6
+ import type {TExternalTableDescription} from './externalTable';
7
+ import type {TPersQueueGroupDescription} from './persQueueGroup';
8
+ import type {TTableDescription, TTableStats} from './table';
9
+ import type {TIndexDescription} from './tableIndex';
10
+
11
+ /**
12
+ * source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/flat_tx_scheme.proto
13
+ */
14
+ export interface TEvDescribeSchemeResult {
15
+ Status?: EStatus;
16
+ Reason?: string;
17
+ Path?: string;
18
+ PathDescription?: TPathDescription;
19
+ /** fixed64 */
20
+ PathOwner?: string;
21
+ /** fixed64 */
22
+ PathId?: string;
23
+
24
+ LastExistedPrefixPath?: string;
25
+ /** fixed64 */
26
+ LastExistedPrefixPathId?: string;
27
+ LastExistedPrefixDescription?: TPathDescription;
28
+ /** fixed64 */
29
+ PathOwnerId?: string;
30
+ }
31
+
32
+ enum EStatus {
33
+ StatusSuccess = 'StatusSuccess',
34
+ StatusAccepted = 'StatusAccepted',
35
+ StatusPathDoesNotExist = 'StatusPathDoesNotExist',
36
+ StatusPathIsNotDirectory = 'StatusPathIsNotDirectory',
37
+ StatusAlreadyExists = 'StatusAlreadyExists',
38
+ StatusSchemeError = 'StatusSchemeError',
39
+ StatusNameConflict = 'StatusNameConflict',
40
+ StatusInvalidParameter = 'StatusInvalidParameter',
41
+ StatusMultipleModifications = 'StatusMultipleModifications',
42
+ StatusReadOnly = 'StatusReadOnly',
43
+ StatusTxIdNotExists = 'StatusTxIdNotExists',
44
+ StatusTxIsNotCancellable = 'StatusTxIsNotCancellable',
45
+ StatusAccessDenied = 'StatusAccessDenied',
46
+ StatusNotAvailable = 'StatusNotAvailable',
47
+ StatusPreconditionFailed = 'StatusPreconditionFailed',
48
+ StatusRedirectDomain = 'StatusRedirectDomain',
49
+ StatusQuotaExceeded = 'StatusQuotaExceeded',
50
+ StatusResourceExhausted = 'StatusResourceExhausted',
51
+ }
52
+
53
+ /**
54
+ * source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/flat_scheme_op.proto
55
+ *
56
+ * incomplete interface, only currently used fields are covered
57
+ */
58
+ export interface TPathDescription {
59
+ /** info about the path itself */
60
+ Self?: TDirEntry;
61
+ DomainDescription?: TDomainDescription;
62
+
63
+ // for directory
64
+ Children?: TDirEntry[];
65
+
66
+ // for table
67
+ Table?: TTableDescription;
68
+ TableStats?: TTableStats;
69
+ TabletMetrics?: TMetrics;
70
+ TablePartitions?: TTablePartition[];
71
+ TablePartitionStats?: TTableStats[];
72
+ TablePartitionMetrics?: TMetrics[];
73
+
74
+ ColumnStoreDescription?: TColumnStoreDescription;
75
+ ColumnTableDescription?: TColumnTableDescription;
76
+
77
+ TableIndex?: TIndexDescription;
78
+
79
+ CdcStreamDescription?: TCdcStreamDescription;
80
+ PersQueueGroup?: TPersQueueGroupDescription;
81
+
82
+ ExternalTableDescription?: TExternalTableDescription;
83
+ ExternalDataSourceDescription?: TExternalDataSourceDescription;
84
+ }
85
+
86
+ export interface TDirEntry {
87
+ Name?: string;
88
+ /** uint64 */
89
+ PathId?: string;
90
+ /** uint64 */
91
+ SchemeshardId?: string;
92
+ PathType?: EPathType;
93
+ CreateFinished?: boolean;
94
+ /** uint64 */
95
+ CreateTxId?: string;
96
+ /** uint64 */
97
+ CreateStep?: string;
98
+ /** uint64 */
99
+ ParentPathId?: string;
100
+ PathState?: EPathState;
101
+ Owner?: string;
102
+ ACL?: string;
103
+ EffectiveACL?: string;
104
+ /** uint64 */
105
+ PathVersion?: string;
106
+ PathSubType?: EPathSubType;
107
+ Version?: TPathVersion;
108
+ }
109
+
110
+ interface TDomainDescription {
111
+ ProcessingParams?: TProcessingParams;
112
+
113
+ DomainKey?: TDomainKey;
114
+
115
+ StoragePools?: TStoragePool[];
116
+
117
+ /** uint64 */
118
+ PathsInside?: string;
119
+ /** uint64 */
120
+ PathsLimit?: string;
121
+ /** uint64 */
122
+ ShardsInside?: string;
123
+ /** uint64 */
124
+ ShardsLimit?: string;
125
+
126
+ ResourcesDomainKey?: TDomainKey;
127
+
128
+ DiskSpaceUsage?: TDiskSpaceUsage;
129
+
130
+ /** uint64 */
131
+ PQPartitionsInside?: string;
132
+ /** uint64 */
133
+ PQPartitionsLimit?: string;
134
+
135
+ DomainState?: TDomainState;
136
+
137
+ DeclaredSchemeQuotas?: TSchemeQuotas;
138
+ DatabaseQuotas?: DatabaseQuotas;
139
+ SecurityState?: TSecurityState;
140
+ }
141
+
142
+ interface TDomainKey {
143
+ /** fixed64 */
144
+ SchemeShard?: string;
145
+ /** fixed64 */
146
+ PathId?: string;
147
+ }
148
+
149
+ interface TProcessingParams {
150
+ Version?: number;
151
+ /** uint64 */
152
+ PlanResolution?: string;
153
+ /** fixed64 */
154
+ Coordinators?: string[];
155
+ /** uint64 */
156
+ TimeCastBucketsPerMediator?: string;
157
+ /** fixed64 */
158
+ Mediators?: string[];
159
+ /** fixed64 */
160
+ SchemeShard?: string;
161
+ /** fixed64 */
162
+ Hive?: string;
163
+ /** fixed64 */
164
+ SysViewProcessor?: string;
165
+ }
166
+
167
+ interface TDomainState {
168
+ DiskQuotaExceeded?: boolean;
169
+ }
170
+
171
+ interface TDiskSpaceUsage {
172
+ Tables?: TTables;
173
+ }
174
+
175
+ interface TTables {
176
+ /** uint64 */
177
+ TotalSize?: string;
178
+ /** uint64 */
179
+ DataSize?: string;
180
+ /** uint64 */
181
+ IndexSize?: string;
182
+ }
183
+
184
+ interface TStoragePool {
185
+ Name?: string;
186
+ Kind?: string;
187
+ }
188
+
189
+ interface TSchemeQuotas {
190
+ SchemeQuotas?: TSchemeQuota[];
191
+ }
192
+
193
+ interface TSchemeQuota {
194
+ /** double */
195
+ BucketSize?: number;
196
+ /** uint64 */
197
+ BucketSeconds?: string;
198
+ }
199
+
200
+ interface TSecurityState {
201
+ PublicKeys?: TPublicKey[];
202
+ Sids?: TSid[];
203
+ Audience: string;
204
+ }
205
+
206
+ interface TPublicKey {
207
+ /** uint64 */
208
+ KeyId: string;
209
+ KeyDataPEM: string;
210
+ /** uint64 */
211
+ ExpiresAt: string;
212
+ }
213
+
214
+ interface TSid {
215
+ Name: string;
216
+ Type: SidType;
217
+
218
+ Hash: string;
219
+ Members?: string[];
220
+ }
221
+
222
+ enum SidType {
223
+ 'UNKNOWN' = 'UNKNOWN',
224
+ 'USER' = 'USER',
225
+ 'GROUP' = 'GROUP',
226
+ }
227
+
228
+ interface DatabaseQuotas {
229
+ /** uint64 */
230
+ // eslint-disable-next-line camelcase
231
+ data_size_hard_quota: string;
232
+
233
+ /** uint64 */
234
+ // eslint-disable-next-line camelcase
235
+ data_size_soft_quota: string;
236
+
237
+ /** uint64 */
238
+ // eslint-disable-next-line camelcase
239
+ data_stream_shards_quota: string;
240
+
241
+ /** uint64 */
242
+ // eslint-disable-next-line camelcase
243
+ data_stream_reserved_storage_quota: string;
244
+
245
+ // eslint-disable-next-line camelcase
246
+ ttl_min_run_internal_seconds: number;
247
+ }
248
+
249
+ // incomplete
250
+ export enum EPathType {
251
+ EPathTypeInvalid = 'EPathTypeInvalid',
252
+ EPathTypeDir = 'EPathTypeDir',
253
+ EPathTypeTable = 'EPathTypeTable',
254
+ EPathTypePersQueueGroup = 'EPathTypePersQueueGroup',
255
+ EPathTypeSubDomain = 'EPathTypeSubDomain',
256
+
257
+ EPathTypeTableIndex = 'EPathTypeTableIndex',
258
+ EPathTypeExtSubDomain = 'EPathTypeExtSubDomain',
259
+
260
+ EPathTypeColumnStore = 'EPathTypeColumnStore',
261
+ EPathTypeColumnTable = 'EPathTypeColumnTable',
262
+ EPathTypeCdcStream = 'EPathTypeCdcStream',
263
+ }
264
+
265
+ export enum EPathSubType {
266
+ EPathSubTypeEmpty = 'EPathSubTypeEmpty',
267
+ EPathSubTypeSyncIndexImplTable = 'EPathSubTypeSyncIndexImplTable',
268
+ EPathSubTypeAsyncIndexImplTable = 'EPathSubTypeAsyncIndexImplTable',
269
+ EPathSubTypeStreamImpl = 'EPathSubTypeStreamImpl',
270
+ }
271
+
272
+ enum EPathState {
273
+ EPathStateNotExist = 'EPathStateNotExist',
274
+ EPathStateNoChanges = 'EPathStateNoChanges',
275
+ EPathStateCreate = 'EPathStateCreate',
276
+ EPathStateAlter = 'EPathStateAlter',
277
+ EPathStateDrop = 'EPathStateDrop',
278
+ EPathStateCopying = 'EPathStateCopying',
279
+ EPathStateBackup = 'EPathStateBackup',
280
+ EPathStateUpgrade = 'EPathStateUpgrade',
281
+ EPathStateMigrated = 'EPathStateMigrated',
282
+ EPathStateRestore = 'EPathStateRestore',
283
+ EPathStateMoving = 'EPathStateMoving',
284
+ }
285
+
286
+ // incomplete
287
+ interface TPathVersion {
288
+ /** uint64 */
289
+ GeneralVersion?: string;
290
+ }
291
+
292
+ interface TTablePartition {
293
+ /** bytes */
294
+ EndOfRangeKeyPrefix?: unknown;
295
+ IsPoint?: boolean;
296
+ IsInclusive?: boolean;
297
+ /** uint64 */
298
+ DatashardId?: string;
299
+ }
@@ -0,0 +1,42 @@
1
+ export interface TStorageSettings {
2
+ PreferredPoolKind?: string;
3
+ AllowOtherKinds?: boolean;
4
+ }
5
+
6
+ export interface TPathID {
7
+ /** fixed64 */
8
+ OwnerId?: string;
9
+ /** uint64 */
10
+ LocalId?: string;
11
+ }
12
+
13
+ export interface TTypeInfo {
14
+ PgTypeId?: number;
15
+ }
16
+
17
+ export interface TColumnDescription {
18
+ Name?: string;
19
+ Type?: string;
20
+ TypeId?: number;
21
+ TypeInfo?: TTypeInfo;
22
+ Id?: number;
23
+ Family?: number;
24
+ FamilyName?: string;
25
+ /** Path to sequence for default values */
26
+ DefaultFromSequence?: string;
27
+ NotNull?: boolean;
28
+ }
29
+
30
+ export enum EColumnCodec {
31
+ ColumnCodecPlain,
32
+ ColumnCodecLZ4,
33
+ ColumnCodecZSTD,
34
+ }
35
+
36
+ export enum EUnit {
37
+ UNIT_AUTO = 'UNIT_AUTO',
38
+ UNIT_SECONDS = 'UNIT_SECONDS',
39
+ UNIT_MILLISECONDS = 'UNIT_MILLISECONDS',
40
+ UNIT_MICROSECONDS = 'UNIT_MICROSECONDS',
41
+ UNIT_NANOSECONDS = 'UNIT_NANOSECONDS',
42
+ }