@ytsaurus/ui 1.12.1 → 1.12.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.
- package/build/cjs/server/controllers/login.js +1 -1
- package/build/cjs/server/controllers/login.js.map +1 -1
- package/build/cjs/ui/constants/docsUrls.d.ts +1 -0
- package/build/cjs/ui/constants/docsUrls.js +1 -0
- package/build/cjs/ui/constants/docsUrls.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +11 -7
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/tablet_cell_bundles/index.d.ts +8 -0
- package/build/cjs/ui/store/reducers/tablet_cell_bundles/index.js.map +1 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.d.ts +2 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +16 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/esm/server/controllers/login.js +1 -1
- package/build/esm/server/controllers/login.js.map +1 -1
- package/build/esm/ui/constants/docsUrls.d.ts +1 -0
- package/build/esm/ui/constants/docsUrls.js +1 -0
- package/build/esm/ui/constants/docsUrls.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +12 -8
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
- package/build/esm/ui/store/reducers/tablet_cell_bundles/index.d.ts +8 -0
- package/build/esm/ui/store/reducers/tablet_cell_bundles/index.js.map +1 -1
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.d.ts +2 -1
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +15 -0
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/dist/public/build/assets-manifest.json +4 -4
- package/dist/public/build/js/main.f91e3651.js +3 -0
- package/dist/public/build/js/{main.69fdeec5.js.map → main.f91e3651.js.map} +1 -1
- package/dist/public/build/manifest.json +2 -2
- package/dist/server/controllers/login.js +1 -1
- package/package.json +2 -2
- package/dist/public/build/js/main.69fdeec5.js +0 -3
- /package/dist/public/build/js/{main.69fdeec5.js.LICENSE.txt → main.f91e3651.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_utils","require","_tablets","_interopRequireDefault","obj","__esModule","default","persistedState","bundlesSort","column","order","cellsSort","bundlesNameFilter","bundlesAccountFilter","bundlesTagNodeFilter","cellsBundleFilter","cellsHostFilter","activeBundle","bundlesTableMode","ephemeralState","loading","loaded","error","undefined","cells","bundles","writableByName","Map","cellsIdFilter","bundleDefaultConfig","initialState","exports","_objectSpread","reducer","state","arguments","length","action","type","TABLETS_BUNDLES_LOAD_REQUEST","TABLETS_BUNDLES_LOAD_FAILURE","data","TABLETS_BUNDLES_LOAD_SUCCESS","TABLETS_BUNDLES_PARTIAL","TABLETS_BUNDLES_ACTIVE_ACCOUNT","tablet_cell_bundles","mergeStateOnClusterChange","_default"],"sources":["index.ts"],"sourcesContent":["import {mergeStateOnClusterChange} from '../../../store/reducers/utils';\nimport {Action} from 'redux';\nimport {\n TABLETS_BUNDLES_ACTIVE_ACCOUNT,\n TABLETS_BUNDLES_LOAD_FAILURE,\n TABLETS_BUNDLES_LOAD_REQUEST,\n TABLETS_BUNDLES_LOAD_SUCCESS,\n TABLETS_BUNDLES_PARTIAL,\n} from '../../../constants/tablets';\nimport {ActionD, SortState, YTError} from '../../../types';\n\nexport interface TabletsBundlesState {\n loaded: boolean;\n loading: boolean;\n error: YTError | undefined;\n\n cells: Array<TabletCell>;\n bundles: Array<TabletBundle>;\n\n writableByName: Map<string, boolean>;\n\n bundlesNameFilter: string;\n bundlesAccountFilter: string;\n bundlesTagNodeFilter: string;\n\n cellsIdFilter: string;\n cellsBundleFilter: string;\n cellsHostFilter: string;\n\n bundlesSort: SortState<keyof TabletBundle>;\n cellsSort: SortState<keyof TabletCell>;\n\n activeBundle: string;\n\n bundlesTableMode: BundlesTableMode;\n bundleDefaultConfig?: BundleDefaultConfig;\n}\n\nexport type BundlesTableMode = 'default' | 'tablets' | 'tablets_memory';\n\nexport interface TabletCell {\n id: string;\n bundle: string;\n health: TabletBundle['health'];\n memory: number;\n compressed: number;\n tablets: number;\n uncompressed: number;\n peerAddress: string;\n state: string;\n\n peer: TabletCellPeer;\n peers: Array<TabletCellPeer>;\n}\n\nexport interface TabletCellPeer {\n address: string;\n last_seen: string;\n state: string;\n}\n\nexport interface BundleControllerConfig {\n cpu_limits: CPULimits;\n memory_limits: MemoryLimits;\n tablet_node_count: number;\n tablet_node_resource_guarantee: BundleResourceGuarantee;\n rpc_proxy_count: number;\n rpc_proxy_resource_guarantee: BundleResourceGuarantee;\n}\n\nexport interface BundleResourceGuarantee {\n memory: number;\n vcpu: number;\n net: number;\n // The type field, generated by us when saving the config for the first time. Those this field is not from DTO\n type?: string;\n}\n\nexport interface MemoryLimits {\n reserved?: number;\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n key_filter_block_cache?: number;\n}\n\nexport interface CPULimits {\n write_thread_pool_size: number;\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n}\n\nexport interface BundleDefaultConfigData {\n tablet_node_sizes: {\n [size: string]: {\n resource_guarantee: BundleResourceGuarantee;\n default_config: {\n cpu_limits: {\n write_thread_pool_size: number;\n };\n memory_limits: {};\n };\n };\n };\n rpc_proxy_sizes: {\n [size: string]: {\n resource_guarantee: BundleResourceGuarantee;\n };\n };\n}\n\nexport interface BundleDefaultConfig {\n [zoneName: string]: BundleDefaultConfigData;\n}\n\nexport interface OrchidBundleResource {\n vcpu: number;\n memory: number;\n net?: number;\n}\n\ntype Alert = {\n id: string;\n description: string;\n};\n\nexport interface OrchidBundlesData {\n alerts: Alert[];\n\n assigned_spare_tablet_nodes: {};\n allocated_tablet_nodes: AllocatedInstancesMap;\n allocating_tablet_nodes: InProgressInstancesMap;\n allocating_tablet_node_count: number;\n deallocating_tablet_node_count: number;\n\n assigned_spare_rpc_proxies: {};\n allocated_rpc_proxies: AllocatedInstancesMap;\n allocating_rpc_proxies: InProgressInstancesMap;\n allocating_rpc_proxy_count: number;\n deallocating_rpc_proxy_count: number;\n\n removing_cell_count: number;\n resource_quota: OrchidBundleResource;\n resource_allocated: OrchidBundleResource;\n}\n\nexport type AllocatedInstancesMap = Record<string, AllocatedInstance>;\nexport interface AllocatedInstance {\n resource: OrchidBundleResource;\n pod_id: string;\n yp_cluster: string;\n removing?: boolean;\n}\n\nexport type InProgressInstancesMap = Record<string, InProgressInstance>;\nexport interface InProgressInstance {\n hulk_request_link: string;\n hulk_request_state: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED';\n instance_info: AllocatedInstance;\n}\n\nexport interface OrchidBundles {\n [bundleName: string]: OrchidBundlesData;\n}\n\nexport interface TabletBundle {\n $attributes: unknown;\n\n alerts: number;\n banned: number;\n decommissioned: number;\n health: 'good' | 'failed' | 'initializing';\n full: number;\n online: number;\n offline: number;\n bundle: string;\n compressed: number;\n memory: number;\n nodes?: Array<string>;\n tabletCells: number;\n tablets: number;\n uncompressed: number;\n\n bundle_controller_target_config: BundleControllerConfig;\n enable_bundle_balancer: boolean;\n enable_bundle_controller: boolean;\n changelog_account: string;\n snapshot_account: string;\n node_tag_filter: string;\n unique_node_tag: boolean;\n zone?: string;\n\n tablet_count: number;\n tablet_count_limit: number;\n tablet_count_free: number;\n tablet_count_percentage: number;\n\n tablet_static_memory: number;\n tablet_static_memory_limit: number;\n tablet_static_memory_free: number;\n tablet_static_memory_percentage: number;\n}\n\nconst persistedState: Pick<\n TabletsBundlesState,\n | 'bundlesSort'\n | 'cellsSort'\n | 'bundlesNameFilter'\n | 'bundlesAccountFilter'\n | 'bundlesTagNodeFilter'\n | 'cellsHostFilter'\n | 'cellsBundleFilter'\n | 'activeBundle'\n | 'bundlesTableMode'\n> = {\n bundlesSort: {column: 'bundle', order: 'asc'},\n cellsSort: {},\n\n bundlesNameFilter: '',\n bundlesAccountFilter: '',\n bundlesTagNodeFilter: '',\n\n cellsBundleFilter: '',\n cellsHostFilter: '',\n\n activeBundle: '',\n bundlesTableMode: 'default',\n};\n\nconst ephemeralState: Pick<\n TabletsBundlesState,\n Exclude<keyof TabletsBundlesState, keyof typeof persistedState>\n> = {\n loading: false,\n loaded: false,\n error: undefined,\n\n cells: [],\n bundles: [],\n\n writableByName: new Map<string, boolean>(),\n\n cellsIdFilter: '',\n\n bundleDefaultConfig: undefined,\n};\n\nexport const initialState: TabletsBundlesState = {\n ...ephemeralState,\n ...persistedState,\n};\n\nfunction reducer(state = initialState, action: TabletsBundlesAction): TabletsBundlesState {\n switch (action.type) {\n case TABLETS_BUNDLES_LOAD_REQUEST:\n return {...state, loading: true};\n case TABLETS_BUNDLES_LOAD_FAILURE:\n return {...state, loading: false, error: action.data};\n case TABLETS_BUNDLES_LOAD_SUCCESS:\n return {...state, ...action.data, loaded: true, loading: false};\n case TABLETS_BUNDLES_PARTIAL:\n return {...state, ...action.data};\n case TABLETS_BUNDLES_ACTIVE_ACCOUNT:\n return {...state, ...action.data};\n }\n return state;\n}\n\nexport type TabletsPartialAction = ActionD<\n typeof TABLETS_BUNDLES_PARTIAL,\n Partial<\n Pick<\n TabletsBundlesState,\n | 'bundlesSort'\n | 'bundlesNameFilter'\n | 'bundlesAccountFilter'\n | 'bundlesTagNodeFilter'\n | 'cellsSort'\n | 'cellsIdFilter'\n | 'cellsBundleFilter'\n | 'cellsHostFilter'\n | 'bundlesTableMode'\n | 'writableByName'\n >\n >\n>;\n\nexport type TabletsBundlesAction =\n | Action<typeof TABLETS_BUNDLES_LOAD_REQUEST>\n | ActionD<typeof TABLETS_BUNDLES_LOAD_FAILURE, YTError>\n | ActionD<\n typeof TABLETS_BUNDLES_LOAD_SUCCESS,\n Pick<TabletsBundlesState, 'cells' | 'bundles' | 'bundleDefaultConfig'>\n >\n | TabletsPartialAction\n | ActionD<typeof TABLETS_BUNDLES_ACTIVE_ACCOUNT, Pick<TabletsBundlesState, 'activeBundle'>>;\n\nconst tablet_cell_bundles = mergeStateOnClusterChange(ephemeralState, persistedState, reducer);\n\nexport default tablet_cell_bundles;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAMmC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAsMnC,IAAMG,cAWL,GAAG;EACAC,WAAW,EAAE;IAACC,MAAM,EAAE,QAAQ;IAAEC,KAAK,EAAE;EAAK,CAAC;EAC7CC,SAAS,EAAE,CAAC,CAAC;EAEbC,iBAAiB,EAAE,EAAE;EACrBC,oBAAoB,EAAE,EAAE;EACxBC,oBAAoB,EAAE,EAAE;EAExBC,iBAAiB,EAAE,EAAE;EACrBC,eAAe,EAAE,EAAE;EAEnBC,YAAY,EAAE,EAAE;EAChBC,gBAAgB,EAAE;AACtB,CAAC;AAED,IAAMC,cAGL,GAAG;EACAC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,KAAK,EAAEC,SAAS;EAEhBC,KAAK,EAAE,EAAE;EACTC,OAAO,EAAE,EAAE;EAEXC,cAAc,EAAE,IAAIC,GAAG,CAAkB,CAAC;EAE1CC,aAAa,EAAE,EAAE;EAEjBC,mBAAmB,EAAEN;AACzB,CAAC;AAEM,IAAMO,YAAiC,GAAAC,OAAA,CAAAD,YAAA,OAAAE,sBAAA,MAAAA,sBAAA,MACvCb,cAAc,GACdZ,cAAc,CACpB;AAED,SAAS0B,OAAOA,CAAA,EAA0E;EAAA,IAAzEC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAZ,SAAA,GAAAY,SAAA,MAAGL,YAAY;EAAA,IAAEO,MAA4B,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAZ,SAAA;EAC/D,QAAQc,MAAM,CAACC,IAAI;IACf,KAAKC,qCAA4B;MAC7B,WAAAP,sBAAA,MAAAA,sBAAA,MAAWE,KAAK;QAAEd,OAAO,EAAE;MAAI;IACnC,KAAKoB,qCAA4B;MAC7B,WAAAR,sBAAA,MAAAA,sBAAA,MAAWE,KAAK;QAAEd,OAAO,EAAE,KAAK;QAAEE,KAAK,EAAEe,MAAM,CAACI;MAAI;IACxD,KAAKC,qCAA4B;MAC7B,WAAAV,sBAAA,MAAAA,sBAAA,MAAAA,sBAAA,MAAWE,KAAK,GAAKG,MAAM,CAACI,IAAI;QAAEpB,MAAM,EAAE,IAAI;QAAED,OAAO,EAAE;MAAK;IAClE,KAAKuB,gCAAuB;MACxB,WAAAX,sBAAA,MAAAA,sBAAA,MAAWE,KAAK,GAAKG,MAAM,CAACI,IAAI;IACpC,KAAKG,uCAA8B;MAC/B,WAAAZ,sBAAA,MAAAA,sBAAA,MAAWE,KAAK,GAAKG,MAAM,CAACI,IAAI;EACxC;EACA,OAAOP,KAAK;AAChB;AA+BA,IAAMW,mBAAmB,GAAG,IAAAC,gCAAyB,EAAC3B,cAAc,EAAEZ,cAAc,EAAE0B,OAAO,CAAC;AAAA,IAAAc,QAAA,GAAAhB,OAAA,CAAAzB,OAAA,GAE/EuC,mBAAmB"}
|
1
|
+
{"version":3,"names":["_utils","require","_tablets","_interopRequireDefault","obj","__esModule","default","persistedState","bundlesSort","column","order","cellsSort","bundlesNameFilter","bundlesAccountFilter","bundlesTagNodeFilter","cellsBundleFilter","cellsHostFilter","activeBundle","bundlesTableMode","ephemeralState","loading","loaded","error","undefined","cells","bundles","writableByName","Map","cellsIdFilter","bundleDefaultConfig","initialState","exports","_objectSpread","reducer","state","arguments","length","action","type","TABLETS_BUNDLES_LOAD_REQUEST","TABLETS_BUNDLES_LOAD_FAILURE","data","TABLETS_BUNDLES_LOAD_SUCCESS","TABLETS_BUNDLES_PARTIAL","TABLETS_BUNDLES_ACTIVE_ACCOUNT","tablet_cell_bundles","mergeStateOnClusterChange","_default"],"sources":["index.ts"],"sourcesContent":["import {mergeStateOnClusterChange} from '../../../store/reducers/utils';\nimport {Action} from 'redux';\nimport {\n TABLETS_BUNDLES_ACTIVE_ACCOUNT,\n TABLETS_BUNDLES_LOAD_FAILURE,\n TABLETS_BUNDLES_LOAD_REQUEST,\n TABLETS_BUNDLES_LOAD_SUCCESS,\n TABLETS_BUNDLES_PARTIAL,\n} from '../../../constants/tablets';\nimport {ActionD, SortState, YTError} from '../../../types';\n\nexport interface TabletsBundlesState {\n loaded: boolean;\n loading: boolean;\n error: YTError | undefined;\n\n cells: Array<TabletCell>;\n bundles: Array<TabletBundle>;\n\n writableByName: Map<string, boolean>;\n\n bundlesNameFilter: string;\n bundlesAccountFilter: string;\n bundlesTagNodeFilter: string;\n\n cellsIdFilter: string;\n cellsBundleFilter: string;\n cellsHostFilter: string;\n\n bundlesSort: SortState<keyof TabletBundle>;\n cellsSort: SortState<keyof TabletCell>;\n\n activeBundle: string;\n\n bundlesTableMode: BundlesTableMode;\n bundleDefaultConfig?: BundleDefaultConfig;\n}\n\nexport type BundlesTableMode = 'default' | 'tablets' | 'tablets_memory';\n\nexport interface TabletCell {\n id: string;\n bundle: string;\n health: TabletBundle['health'];\n memory: number;\n compressed: number;\n tablets: number;\n uncompressed: number;\n peerAddress: string;\n state: string;\n\n peer: TabletCellPeer;\n peers: Array<TabletCellPeer>;\n}\n\nexport interface TabletCellPeer {\n address: string;\n last_seen: string;\n state: string;\n}\n\nexport interface BundleControllerConfig {\n cpu_limits: CPULimits;\n memory_limits: MemoryLimits;\n tablet_node_count: number;\n tablet_node_resource_guarantee: BundleResourceGuarantee;\n rpc_proxy_count: number;\n rpc_proxy_resource_guarantee: BundleResourceGuarantee;\n}\n\nexport interface BundleResourceGuarantee {\n memory: number;\n vcpu: number;\n net: number;\n // The type field, generated by us when saving the config for the first time. Those this field is not from DTO\n type?: string;\n}\n\nexport interface MemoryLimits {\n reserved?: number;\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n key_filter_block_cache?: number;\n}\n\nexport interface CPULimits {\n write_thread_pool_size: number;\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n}\n\nexport interface BundleDataCenter {\n rpc_proxy_nanny_service: string;\n tablet_node_nanny_service: string;\n yp_cluster: string;\n}\n\nexport interface BundleDefaultConfigData {\n tablet_node_sizes: {\n [size: string]: {\n resource_guarantee: BundleResourceGuarantee;\n default_config: {\n cpu_limits: {\n write_thread_pool_size: number;\n };\n memory_limits: {};\n };\n };\n };\n rpc_proxy_sizes: {\n [size: string]: {\n resource_guarantee: BundleResourceGuarantee;\n };\n };\n data_centers?: {\n [name: string]: BundleDataCenter;\n };\n}\n\nexport interface BundleDefaultConfig {\n [zoneName: string]: BundleDefaultConfigData;\n}\n\nexport interface OrchidBundleResource {\n vcpu: number;\n memory: number;\n net?: number;\n}\n\ntype Alert = {\n id: string;\n description: string;\n};\n\nexport interface OrchidBundlesData {\n alerts: Alert[];\n\n assigned_spare_tablet_nodes: {};\n allocated_tablet_nodes: AllocatedInstancesMap;\n allocating_tablet_nodes: InProgressInstancesMap;\n allocating_tablet_node_count: number;\n deallocating_tablet_node_count: number;\n\n assigned_spare_rpc_proxies: {};\n allocated_rpc_proxies: AllocatedInstancesMap;\n allocating_rpc_proxies: InProgressInstancesMap;\n allocating_rpc_proxy_count: number;\n deallocating_rpc_proxy_count: number;\n\n removing_cell_count: number;\n resource_quota: OrchidBundleResource;\n resource_allocated: OrchidBundleResource;\n}\n\nexport type AllocatedInstancesMap = Record<string, AllocatedInstance>;\nexport interface AllocatedInstance {\n resource: OrchidBundleResource;\n pod_id: string;\n yp_cluster: string;\n removing?: boolean;\n}\n\nexport type InProgressInstancesMap = Record<string, InProgressInstance>;\nexport interface InProgressInstance {\n hulk_request_link: string;\n hulk_request_state: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED';\n instance_info: AllocatedInstance;\n}\n\nexport interface OrchidBundles {\n [bundleName: string]: OrchidBundlesData;\n}\n\nexport interface TabletBundle {\n $attributes: unknown;\n\n alerts: number;\n banned: number;\n decommissioned: number;\n health: 'good' | 'failed' | 'initializing';\n full: number;\n online: number;\n offline: number;\n bundle: string;\n compressed: number;\n memory: number;\n nodes?: Array<string>;\n tabletCells: number;\n tablets: number;\n uncompressed: number;\n\n bundle_controller_target_config: BundleControllerConfig;\n enable_bundle_balancer: boolean;\n enable_bundle_controller: boolean;\n changelog_account: string;\n snapshot_account: string;\n node_tag_filter: string;\n unique_node_tag: boolean;\n zone?: string;\n\n tablet_count: number;\n tablet_count_limit: number;\n tablet_count_free: number;\n tablet_count_percentage: number;\n\n tablet_static_memory: number;\n tablet_static_memory_limit: number;\n tablet_static_memory_free: number;\n tablet_static_memory_percentage: number;\n}\n\nconst persistedState: Pick<\n TabletsBundlesState,\n | 'bundlesSort'\n | 'cellsSort'\n | 'bundlesNameFilter'\n | 'bundlesAccountFilter'\n | 'bundlesTagNodeFilter'\n | 'cellsHostFilter'\n | 'cellsBundleFilter'\n | 'activeBundle'\n | 'bundlesTableMode'\n> = {\n bundlesSort: {column: 'bundle', order: 'asc'},\n cellsSort: {},\n\n bundlesNameFilter: '',\n bundlesAccountFilter: '',\n bundlesTagNodeFilter: '',\n\n cellsBundleFilter: '',\n cellsHostFilter: '',\n\n activeBundle: '',\n bundlesTableMode: 'default',\n};\n\nconst ephemeralState: Pick<\n TabletsBundlesState,\n Exclude<keyof TabletsBundlesState, keyof typeof persistedState>\n> = {\n loading: false,\n loaded: false,\n error: undefined,\n\n cells: [],\n bundles: [],\n\n writableByName: new Map<string, boolean>(),\n\n cellsIdFilter: '',\n\n bundleDefaultConfig: undefined,\n};\n\nexport const initialState: TabletsBundlesState = {\n ...ephemeralState,\n ...persistedState,\n};\n\nfunction reducer(state = initialState, action: TabletsBundlesAction): TabletsBundlesState {\n switch (action.type) {\n case TABLETS_BUNDLES_LOAD_REQUEST:\n return {...state, loading: true};\n case TABLETS_BUNDLES_LOAD_FAILURE:\n return {...state, loading: false, error: action.data};\n case TABLETS_BUNDLES_LOAD_SUCCESS:\n return {...state, ...action.data, loaded: true, loading: false};\n case TABLETS_BUNDLES_PARTIAL:\n return {...state, ...action.data};\n case TABLETS_BUNDLES_ACTIVE_ACCOUNT:\n return {...state, ...action.data};\n }\n return state;\n}\n\nexport type TabletsPartialAction = ActionD<\n typeof TABLETS_BUNDLES_PARTIAL,\n Partial<\n Pick<\n TabletsBundlesState,\n | 'bundlesSort'\n | 'bundlesNameFilter'\n | 'bundlesAccountFilter'\n | 'bundlesTagNodeFilter'\n | 'cellsSort'\n | 'cellsIdFilter'\n | 'cellsBundleFilter'\n | 'cellsHostFilter'\n | 'bundlesTableMode'\n | 'writableByName'\n >\n >\n>;\n\nexport type TabletsBundlesAction =\n | Action<typeof TABLETS_BUNDLES_LOAD_REQUEST>\n | ActionD<typeof TABLETS_BUNDLES_LOAD_FAILURE, YTError>\n | ActionD<\n typeof TABLETS_BUNDLES_LOAD_SUCCESS,\n Pick<TabletsBundlesState, 'cells' | 'bundles' | 'bundleDefaultConfig'>\n >\n | TabletsPartialAction\n | ActionD<typeof TABLETS_BUNDLES_ACTIVE_ACCOUNT, Pick<TabletsBundlesState, 'activeBundle'>>;\n\nconst tablet_cell_bundles = mergeStateOnClusterChange(ephemeralState, persistedState, reducer);\n\nexport default tablet_cell_bundles;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAMmC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA+MnC,IAAMG,cAWL,GAAG;EACAC,WAAW,EAAE;IAACC,MAAM,EAAE,QAAQ;IAAEC,KAAK,EAAE;EAAK,CAAC;EAC7CC,SAAS,EAAE,CAAC,CAAC;EAEbC,iBAAiB,EAAE,EAAE;EACrBC,oBAAoB,EAAE,EAAE;EACxBC,oBAAoB,EAAE,EAAE;EAExBC,iBAAiB,EAAE,EAAE;EACrBC,eAAe,EAAE,EAAE;EAEnBC,YAAY,EAAE,EAAE;EAChBC,gBAAgB,EAAE;AACtB,CAAC;AAED,IAAMC,cAGL,GAAG;EACAC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,KAAK,EAAEC,SAAS;EAEhBC,KAAK,EAAE,EAAE;EACTC,OAAO,EAAE,EAAE;EAEXC,cAAc,EAAE,IAAIC,GAAG,CAAkB,CAAC;EAE1CC,aAAa,EAAE,EAAE;EAEjBC,mBAAmB,EAAEN;AACzB,CAAC;AAEM,IAAMO,YAAiC,GAAAC,OAAA,CAAAD,YAAA,OAAAE,sBAAA,MAAAA,sBAAA,MACvCb,cAAc,GACdZ,cAAc,CACpB;AAED,SAAS0B,OAAOA,CAAA,EAA0E;EAAA,IAAzEC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAZ,SAAA,GAAAY,SAAA,MAAGL,YAAY;EAAA,IAAEO,MAA4B,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAZ,SAAA;EAC/D,QAAQc,MAAM,CAACC,IAAI;IACf,KAAKC,qCAA4B;MAC7B,WAAAP,sBAAA,MAAAA,sBAAA,MAAWE,KAAK;QAAEd,OAAO,EAAE;MAAI;IACnC,KAAKoB,qCAA4B;MAC7B,WAAAR,sBAAA,MAAAA,sBAAA,MAAWE,KAAK;QAAEd,OAAO,EAAE,KAAK;QAAEE,KAAK,EAAEe,MAAM,CAACI;MAAI;IACxD,KAAKC,qCAA4B;MAC7B,WAAAV,sBAAA,MAAAA,sBAAA,MAAAA,sBAAA,MAAWE,KAAK,GAAKG,MAAM,CAACI,IAAI;QAAEpB,MAAM,EAAE,IAAI;QAAED,OAAO,EAAE;MAAK;IAClE,KAAKuB,gCAAuB;MACxB,WAAAX,sBAAA,MAAAA,sBAAA,MAAWE,KAAK,GAAKG,MAAM,CAACI,IAAI;IACpC,KAAKG,uCAA8B;MAC/B,WAAAZ,sBAAA,MAAAA,sBAAA,MAAWE,KAAK,GAAKG,MAAM,CAACI,IAAI;EACxC;EACA,OAAOP,KAAK;AAChB;AA+BA,IAAMW,mBAAmB,GAAG,IAAAC,gCAAyB,EAAC3B,cAAc,EAAEZ,cAAc,EAAE0B,OAAO,CAAC;AAAA,IAAAc,QAAA,GAAAhB,OAAA,CAAAzB,OAAA,GAE/EuC,mBAAmB"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BundleControllerConfig, BundleDefaultConfigData } from '../../../../store/reducers/tablet_cell_bundles';
|
1
|
+
import { BundleControllerConfig, BundleDataCenter, BundleDefaultConfigData } from '../../../../store/reducers/tablet_cell_bundles';
|
2
2
|
import { BundleParam } from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';
|
3
3
|
import { BundleEditorDialogFormValues } from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';
|
4
4
|
import { FormApi } from '../../../../components/Dialog/Dialog';
|
@@ -33,5 +33,6 @@ export declare const prepareSubmitBundle: (form: FormApi<BundleEditorDialogFormV
|
|
33
33
|
[path: string]: any;
|
34
34
|
};
|
35
35
|
export declare const simpleBundleValidate: (v?: number | string) => string | undefined;
|
36
|
+
export declare const instanceCountValidate: ({ length, }: BundleDataCenter[]) => (input?: number | string) => string | undefined;
|
36
37
|
export declare function getBundleControllerResource<K extends 'cpu_limits' | 'memory_limits'>(current: Partial<Required<BundleEditorDialogFormValues>[K]>, defaultValues: Partial<Required<BundleEditorDialogFormValues>[K]>, resourceName: K): Partial<BundleEditorDialogFormValues[K]>;
|
37
38
|
export {};
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.createParams = exports.createConfigurationList = exports.bundleEditorDict = void 0;
|
7
7
|
exports.getBundleControllerResource = getBundleControllerResource;
|
8
|
-
exports.simpleBundleValidate = exports.prepareSubmitBundle = exports.getResourceData = exports.getInitialFormValues = void 0;
|
8
|
+
exports.simpleBundleValidate = exports.prepareSubmitBundle = exports.instanceCountValidate = exports.getResourceData = exports.getInitialFormValues = void 0;
|
9
9
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
10
10
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
11
11
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
@@ -226,6 +226,21 @@ var simpleBundleValidate = exports.simpleBundleValidate = function simpleBundleV
|
|
226
226
|
}
|
227
227
|
return error;
|
228
228
|
};
|
229
|
+
var instanceCountValidate = exports.instanceCountValidate = function instanceCountValidate(_ref3) {
|
230
|
+
var length = _ref3.length;
|
231
|
+
return function (input) {
|
232
|
+
var number = Number(input);
|
233
|
+
var error;
|
234
|
+
if (!Number.isFinite(number)) {
|
235
|
+
error = 'Incorrect value';
|
236
|
+
} else if (number < 0) {
|
237
|
+
error = 'Must be greater than or equal to zero';
|
238
|
+
} else if (length > 0 && number % length !== 0) {
|
239
|
+
error = "Must be divisible by ".concat(length);
|
240
|
+
}
|
241
|
+
return error;
|
242
|
+
};
|
243
|
+
};
|
229
244
|
function getBundleControllerResource(current, defaultValues, resourceName) {
|
230
245
|
var result = {};
|
231
246
|
var _iterator = (0, _createForOfIteratorHelper2.default)(bundleEditorDict.keys[resourceName]),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","obj","__esModule","default","bundleEditorDict","exports","keys","resources","memory_limits","cpu_limits","defaults","error","memory_reset","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","key_filter_block_cache","threadPool_reset","lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size","getResourceData","source","resourceType","usage","ypath","getValue","concat","limit","getInitialFormValues","data","bundleControllerConfig","slug","changelogAccount","snapshotAccount","_getResourceData","tablet_count","_getResourceData2","tablet_static_memory","general","abc","changelog_account","snapshot_account","rpc_proxy_count","tablet_node_count","rpc_proxy_resource_guarantee","tablet_node_resource_guarantee","info","undefined","reserved","formatNetwork","value","formatted","toPrecision","createConfigurationList","Object","entries","map","_ref","_ref2","_slicedToArray","type","itemData","_itemData$resource_gu","resource_guarantee","net","vcpu","memory","id","hammer","format","initialData","_objectSpread","createParams","formatType","total","used","_hammer$format$format","split","_hammer$format$format2","totalVal","totalPref","params","title","postfix","difference","_hammer$format$format3","_hammer$format$format4","usedVal","usedPref","push","NO_VALUE","prepareAbc","prepareSubmitBundle","form","prepare","_form$getState","getState","dirtyFields","values","addToChange","attr","field","prepareValue","_get","simpleBundleValidate","v","toNumber","Number","isFinite","getBundleControllerResource","current","defaultValues","resourceName","result","_iterator","_createForOfIteratorHelper","_step","s","n","done","_current$key","key","err","e","f"],"sources":["index.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../../common/thor/ypath';\nimport hammer from '../../../../common/hammer';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n BundleControllerConfig,\n BundleDefaultConfigData,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {BundleParam} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';\nimport {BundleEditorDialogFormValues} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';\nimport {FormApi} from '../../../../components/Dialog/Dialog';\n\ntype InnerKeys<T> = {[K in keyof T]: Array<keyof T[K]>};\ntype FormKeys = InnerKeys<Required<BundleEditorDialogFormValues>>;\n\nexport const bundleEditorDict: {\n keys: Pick<FormKeys, 'memory_limits' | 'resources' | 'cpu_limits'>;\n defaults: Pick<Required<BundleEditorDialogFormValues>, 'memory_limits' | 'cpu_limits'>;\n} = {\n keys: {\n resources: [\n 'rpc_proxy_count',\n 'rpc_proxy_resource_guarantee',\n 'tablet_node_count',\n 'tablet_node_resource_guarantee',\n ],\n memory_limits: [\n 'reserved',\n 'tablet_static',\n 'tablet_dynamic',\n 'compressed_block_cache',\n 'uncompressed_block_cache',\n 'versioned_chunk_meta',\n 'lookup_row_cache',\n 'key_filter_block_cache',\n ],\n cpu_limits: ['lookup_thread_pool_size', 'query_thread_pool_size', 'write_thread_pool_size'],\n },\n defaults: {\n memory_limits: {\n error: false,\n memory_reset: false,\n tablet_static: 0,\n tablet_dynamic: 0,\n compressed_block_cache: 0,\n uncompressed_block_cache: 0,\n versioned_chunk_meta: 0,\n lookup_row_cache: 0,\n key_filter_block_cache: 0,\n },\n cpu_limits: {\n threadPool_reset: false,\n lookup_thread_pool_size: 0,\n query_thread_pool_size: 0,\n write_thread_pool_size: 0,\n },\n },\n};\n\nexport const getResourceData = (source: object, resourceType: string) => {\n const usage = ypath.getValue(source, `/@resource_usage/${resourceType}`);\n const limit = ypath.getValue(source, `/@resource_limits/${resourceType}`);\n return {\n usage,\n limit,\n };\n};\n\nexport const getInitialFormValues = (\n data: object,\n bundleControllerConfig?: BundleControllerConfig,\n): Partial<BundleEditorDialogFormValues> => {\n const slug = ypath.getValue(data, '/@abc/slug');\n const changelogAccount = ypath.getValue(data, `/@options/changelog_account`);\n const snapshotAccount = ypath.getValue(data, `/@options/snapshot_account`);\n const {limit: tablet_count} = getResourceData(data, 'tablet_count');\n const {limit: tablet_static_memory} = getResourceData(data, 'tablet_static_memory');\n\n if (!bundleControllerConfig) {\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n tablet_count: tablet_count || 0,\n tablet_static_memory: tablet_static_memory || 0,\n },\n };\n }\n\n const {\n rpc_proxy_count,\n tablet_node_count,\n cpu_limits,\n memory_limits,\n rpc_proxy_resource_guarantee,\n tablet_node_resource_guarantee,\n } = bundleControllerConfig;\n\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n info: '', // system\n tablet_count: tablet_count || 0,\n rpc_proxy_count: rpc_proxy_count, // todo\n rpc_proxy_resource_guarantee: rpc_proxy_resource_guarantee || undefined,\n tablet_node_count: tablet_node_count,\n tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined,\n },\n memory_limits: {\n error: false, // system\n memory_reset: false, // system\n reserved: memory_limits?.reserved || 0,\n tablet_static: memory_limits?.tablet_static || 0,\n tablet_dynamic: memory_limits?.tablet_dynamic || 0,\n compressed_block_cache: memory_limits?.compressed_block_cache || 0,\n uncompressed_block_cache: memory_limits?.uncompressed_block_cache || 0,\n versioned_chunk_meta: memory_limits?.versioned_chunk_meta || 0,\n lookup_row_cache: memory_limits?.lookup_row_cache || 0,\n key_filter_block_cache: memory_limits?.key_filter_block_cache || 0,\n },\n cpu_limits: {\n threadPool_reset: false, //system\n lookup_thread_pool_size: cpu_limits?.lookup_thread_pool_size || 0,\n query_thread_pool_size: cpu_limits?.query_thread_pool_size || 0,\n write_thread_pool_size: cpu_limits?.write_thread_pool_size || 0,\n },\n };\n};\n\nfunction formatNetwork(value?: number) {\n const formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;\n return `${formatted} Gbit RX/TX`;\n}\n\nexport const createConfigurationList = (\n data: BundleDefaultConfigData['rpc_proxy_sizes'] | BundleDefaultConfigData['tablet_node_sizes'],\n) => {\n return Object.entries(data).map(([type, itemData]) => {\n const {net, vcpu, memory} = itemData.resource_guarantee;\n return {\n id: type,\n type,\n memory: hammer.format['Bytes'](memory),\n net: formatNetwork(net),\n vcpu: hammer.format['vCores'](vcpu),\n initialData: {...itemData.resource_guarantee, type},\n };\n });\n};\n\nexport const createParams = (formatType: 'Bytes' | 'vCores', total: number, used?: number) => {\n const [totalVal, totalPref] = hammer.format[formatType](total).split(' ');\n const params: BundleParam[] = [{title: 'Total', value: totalVal, postfix: totalPref}];\n\n if (typeof used !== 'undefined') {\n const difference = total - used;\n const [usedVal, usedPref] = hammer.format[formatType](difference).split(' ');\n params.push({\n title: 'Free',\n value: usedVal === hammer.format.NO_VALUE ? '0' : usedVal,\n postfix: usedPref,\n type: difference >= 0 ? 'positive' : 'negative',\n });\n }\n return params;\n};\n\nfunction prepareAbc(value: {id: number; slug: string}) {\n const {id, slug} = value;\n return id && slug ? {id, slug} : undefined;\n}\n\nexport const prepareSubmitBundle = (form: FormApi<BundleEditorDialogFormValues>) => {\n const prepare: {[path: string]: any} = {};\n const {dirtyFields, values} = form.getState();\n\n function addToChange(attr: string, field: string, prepareValue?: Function) {\n if (!dirtyFields[field]) {\n return;\n }\n const value = _.get(values, field);\n prepare[attr] = typeof prepareValue === 'function' ? prepareValue(value) : value;\n }\n\n // Generel\n addToChange('@abc', 'general.abc', prepareAbc);\n addToChange('@options/changelog_account', 'general.changelog_account');\n addToChange('@options/snapshot_account', 'general.snapshot_account');\n // Resources\n addToChange('@resource_limits/tablet_count', 'resources.tablet_count');\n addToChange('@resource_limits/tablet_static_memory', 'resources.tablet_static_memory');\n addToChange('@bundle_controller_target_config/rpc_proxy_count', 'resources.rpc_proxy_count');\n addToChange(\n '@bundle_controller_target_config/tablet_node_count',\n 'resources.tablet_node_count',\n );\n addToChange(\n '@bundle_controller_target_config/rpc_proxy_resource_guarantee',\n 'resources.rpc_proxy_resource_guarantee',\n );\n addToChange(\n '@bundle_controller_target_config/tablet_node_resource_guarantee',\n 'resources.tablet_node_resource_guarantee',\n );\n // Memory_limits\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_static',\n 'memory_limits.tablet_static',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_dynamic',\n 'memory_limits.tablet_dynamic',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/compressed_block_cache',\n 'memory_limits.compressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/uncompressed_block_cache',\n 'memory_limits.uncompressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/versioned_chunk_meta',\n 'memory_limits.versioned_chunk_meta',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/lookup_row_cache',\n 'memory_limits.lookup_row_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/key_filter_block_cache',\n 'memory_limits.key_filter_block_cache',\n );\n // Cpu_limits\n addToChange(\n '@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size',\n 'cpu_limits.lookup_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/query_thread_pool_size',\n 'cpu_limits.query_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/write_thread_pool_size',\n 'cpu_limits.write_thread_pool_size',\n );\n\n return prepare;\n};\n\nexport const simpleBundleValidate = (v?: number | string) => {\n const toNumber = Number(v);\n let error;\n if (!Number.isFinite(toNumber)) {\n error = 'Incorrect value';\n }\n\n if (toNumber < 0) {\n error = 'Must be greater than or equal to zero';\n }\n\n return error;\n};\n\nexport function getBundleControllerResource<K extends 'cpu_limits' | 'memory_limits'>(\n current: Partial<Required<BundleEditorDialogFormValues>[K]>,\n defaultValues: Partial<Required<BundleEditorDialogFormValues>[K]>,\n resourceName: K,\n) {\n const result: Partial<BundleEditorDialogFormValues[K]> = {};\n\n for (const key of bundleEditorDict.keys[resourceName]) {\n result[key] = current[key] ?? defaultValues[key];\n }\n\n return result;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","obj","__esModule","default","bundleEditorDict","exports","keys","resources","memory_limits","cpu_limits","defaults","error","memory_reset","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","key_filter_block_cache","threadPool_reset","lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size","getResourceData","source","resourceType","usage","ypath","getValue","concat","limit","getInitialFormValues","data","bundleControllerConfig","slug","changelogAccount","snapshotAccount","_getResourceData","tablet_count","_getResourceData2","tablet_static_memory","general","abc","changelog_account","snapshot_account","rpc_proxy_count","tablet_node_count","rpc_proxy_resource_guarantee","tablet_node_resource_guarantee","info","undefined","reserved","formatNetwork","value","formatted","toPrecision","createConfigurationList","Object","entries","map","_ref","_ref2","_slicedToArray","type","itemData","_itemData$resource_gu","resource_guarantee","net","vcpu","memory","id","hammer","format","initialData","_objectSpread","createParams","formatType","total","used","_hammer$format$format","split","_hammer$format$format2","totalVal","totalPref","params","title","postfix","difference","_hammer$format$format3","_hammer$format$format4","usedVal","usedPref","push","NO_VALUE","prepareAbc","prepareSubmitBundle","form","prepare","_form$getState","getState","dirtyFields","values","addToChange","attr","field","prepareValue","_get","simpleBundleValidate","v","toNumber","Number","isFinite","instanceCountValidate","_ref3","length","input","number","getBundleControllerResource","current","defaultValues","resourceName","result","_iterator","_createForOfIteratorHelper","_step","s","n","done","_current$key","key","err","e","f"],"sources":["index.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../../common/thor/ypath';\nimport hammer from '../../../../common/hammer';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n BundleControllerConfig,\n BundleDataCenter,\n BundleDefaultConfigData,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {BundleParam} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';\nimport {BundleEditorDialogFormValues} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';\nimport {FormApi} from '../../../../components/Dialog/Dialog';\n\ntype InnerKeys<T> = {[K in keyof T]: Array<keyof T[K]>};\ntype FormKeys = InnerKeys<Required<BundleEditorDialogFormValues>>;\n\nexport const bundleEditorDict: {\n keys: Pick<FormKeys, 'memory_limits' | 'resources' | 'cpu_limits'>;\n defaults: Pick<Required<BundleEditorDialogFormValues>, 'memory_limits' | 'cpu_limits'>;\n} = {\n keys: {\n resources: [\n 'rpc_proxy_count',\n 'rpc_proxy_resource_guarantee',\n 'tablet_node_count',\n 'tablet_node_resource_guarantee',\n ],\n memory_limits: [\n 'reserved',\n 'tablet_static',\n 'tablet_dynamic',\n 'compressed_block_cache',\n 'uncompressed_block_cache',\n 'versioned_chunk_meta',\n 'lookup_row_cache',\n 'key_filter_block_cache',\n ],\n cpu_limits: ['lookup_thread_pool_size', 'query_thread_pool_size', 'write_thread_pool_size'],\n },\n defaults: {\n memory_limits: {\n error: false,\n memory_reset: false,\n tablet_static: 0,\n tablet_dynamic: 0,\n compressed_block_cache: 0,\n uncompressed_block_cache: 0,\n versioned_chunk_meta: 0,\n lookup_row_cache: 0,\n key_filter_block_cache: 0,\n },\n cpu_limits: {\n threadPool_reset: false,\n lookup_thread_pool_size: 0,\n query_thread_pool_size: 0,\n write_thread_pool_size: 0,\n },\n },\n};\n\nexport const getResourceData = (source: object, resourceType: string) => {\n const usage = ypath.getValue(source, `/@resource_usage/${resourceType}`);\n const limit = ypath.getValue(source, `/@resource_limits/${resourceType}`);\n return {\n usage,\n limit,\n };\n};\n\nexport const getInitialFormValues = (\n data: object,\n bundleControllerConfig?: BundleControllerConfig,\n): Partial<BundleEditorDialogFormValues> => {\n const slug = ypath.getValue(data, '/@abc/slug');\n const changelogAccount = ypath.getValue(data, `/@options/changelog_account`);\n const snapshotAccount = ypath.getValue(data, `/@options/snapshot_account`);\n const {limit: tablet_count} = getResourceData(data, 'tablet_count');\n const {limit: tablet_static_memory} = getResourceData(data, 'tablet_static_memory');\n\n if (!bundleControllerConfig) {\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n tablet_count: tablet_count || 0,\n tablet_static_memory: tablet_static_memory || 0,\n },\n };\n }\n\n const {\n rpc_proxy_count,\n tablet_node_count,\n cpu_limits,\n memory_limits,\n rpc_proxy_resource_guarantee,\n tablet_node_resource_guarantee,\n } = bundleControllerConfig;\n\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n info: '', // system\n tablet_count: tablet_count || 0,\n rpc_proxy_count: rpc_proxy_count, // todo\n rpc_proxy_resource_guarantee: rpc_proxy_resource_guarantee || undefined,\n tablet_node_count: tablet_node_count,\n tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined,\n },\n memory_limits: {\n error: false, // system\n memory_reset: false, // system\n reserved: memory_limits?.reserved || 0,\n tablet_static: memory_limits?.tablet_static || 0,\n tablet_dynamic: memory_limits?.tablet_dynamic || 0,\n compressed_block_cache: memory_limits?.compressed_block_cache || 0,\n uncompressed_block_cache: memory_limits?.uncompressed_block_cache || 0,\n versioned_chunk_meta: memory_limits?.versioned_chunk_meta || 0,\n lookup_row_cache: memory_limits?.lookup_row_cache || 0,\n key_filter_block_cache: memory_limits?.key_filter_block_cache || 0,\n },\n cpu_limits: {\n threadPool_reset: false, //system\n lookup_thread_pool_size: cpu_limits?.lookup_thread_pool_size || 0,\n query_thread_pool_size: cpu_limits?.query_thread_pool_size || 0,\n write_thread_pool_size: cpu_limits?.write_thread_pool_size || 0,\n },\n };\n};\n\nfunction formatNetwork(value?: number) {\n const formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;\n return `${formatted} Gbit RX/TX`;\n}\n\nexport const createConfigurationList = (\n data: BundleDefaultConfigData['rpc_proxy_sizes'] | BundleDefaultConfigData['tablet_node_sizes'],\n) => {\n return Object.entries(data).map(([type, itemData]) => {\n const {net, vcpu, memory} = itemData.resource_guarantee;\n return {\n id: type,\n type,\n memory: hammer.format['Bytes'](memory),\n net: formatNetwork(net),\n vcpu: hammer.format['vCores'](vcpu),\n initialData: {...itemData.resource_guarantee, type},\n };\n });\n};\n\nexport const createParams = (formatType: 'Bytes' | 'vCores', total: number, used?: number) => {\n const [totalVal, totalPref] = hammer.format[formatType](total).split(' ');\n const params: BundleParam[] = [{title: 'Total', value: totalVal, postfix: totalPref}];\n\n if (typeof used !== 'undefined') {\n const difference = total - used;\n const [usedVal, usedPref] = hammer.format[formatType](difference).split(' ');\n params.push({\n title: 'Free',\n value: usedVal === hammer.format.NO_VALUE ? '0' : usedVal,\n postfix: usedPref,\n type: difference >= 0 ? 'positive' : 'negative',\n });\n }\n return params;\n};\n\nfunction prepareAbc(value: {id: number; slug: string}) {\n const {id, slug} = value;\n return id && slug ? {id, slug} : undefined;\n}\n\nexport const prepareSubmitBundle = (form: FormApi<BundleEditorDialogFormValues>) => {\n const prepare: {[path: string]: any} = {};\n const {dirtyFields, values} = form.getState();\n\n function addToChange(attr: string, field: string, prepareValue?: Function) {\n if (!dirtyFields[field]) {\n return;\n }\n const value = _.get(values, field);\n prepare[attr] = typeof prepareValue === 'function' ? prepareValue(value) : value;\n }\n\n // Generel\n addToChange('@abc', 'general.abc', prepareAbc);\n addToChange('@options/changelog_account', 'general.changelog_account');\n addToChange('@options/snapshot_account', 'general.snapshot_account');\n // Resources\n addToChange('@resource_limits/tablet_count', 'resources.tablet_count');\n addToChange('@resource_limits/tablet_static_memory', 'resources.tablet_static_memory');\n addToChange('@bundle_controller_target_config/rpc_proxy_count', 'resources.rpc_proxy_count');\n addToChange(\n '@bundle_controller_target_config/tablet_node_count',\n 'resources.tablet_node_count',\n );\n addToChange(\n '@bundle_controller_target_config/rpc_proxy_resource_guarantee',\n 'resources.rpc_proxy_resource_guarantee',\n );\n addToChange(\n '@bundle_controller_target_config/tablet_node_resource_guarantee',\n 'resources.tablet_node_resource_guarantee',\n );\n // Memory_limits\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_static',\n 'memory_limits.tablet_static',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_dynamic',\n 'memory_limits.tablet_dynamic',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/compressed_block_cache',\n 'memory_limits.compressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/uncompressed_block_cache',\n 'memory_limits.uncompressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/versioned_chunk_meta',\n 'memory_limits.versioned_chunk_meta',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/lookup_row_cache',\n 'memory_limits.lookup_row_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/key_filter_block_cache',\n 'memory_limits.key_filter_block_cache',\n );\n // Cpu_limits\n addToChange(\n '@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size',\n 'cpu_limits.lookup_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/query_thread_pool_size',\n 'cpu_limits.query_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/write_thread_pool_size',\n 'cpu_limits.write_thread_pool_size',\n );\n\n return prepare;\n};\n\nexport const simpleBundleValidate = (v?: number | string) => {\n const toNumber = Number(v);\n let error;\n if (!Number.isFinite(toNumber)) {\n error = 'Incorrect value';\n }\n\n if (toNumber < 0) {\n error = 'Must be greater than or equal to zero';\n }\n\n return error;\n};\n\nexport const instanceCountValidate = ({\n length,\n}: BundleDataCenter[]): ((input?: number | string) => string | undefined) => {\n return (input?: number | string): string | undefined => {\n const number = Number(input);\n let error: string | undefined;\n\n if (!Number.isFinite(number)) {\n error = 'Incorrect value';\n } else if (number < 0) {\n error = 'Must be greater than or equal to zero';\n } else if (length > 0 && number % length !== 0) {\n error = `Must be divisible by ${length}`;\n }\n\n return error;\n };\n};\n\nexport function getBundleControllerResource<K extends 'cpu_limits' | 'memory_limits'>(\n current: Partial<Required<BundleEditorDialogFormValues>[K]>,\n defaultValues: Partial<Required<BundleEditorDialogFormValues>[K]>,\n resourceName: K,\n) {\n const result: Partial<BundleEditorDialogFormValues[K]> = {};\n\n for (const key of bundleEditorDict.keys[resourceName]) {\n result[key] = current[key] ?? defaultValues[key];\n }\n\n return result;\n}\n"],"mappings":"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"}
|
@@ -133,7 +133,7 @@ function _handleLogout() {
|
|
133
133
|
return _context3.abrupt("return", throwAuthDisabled());
|
134
134
|
case 4:
|
135
135
|
res.setHeader('set-cookie', "".concat(YT_CYPRESS_COOKIE_NAME, "=deleted; Path=/; Max-Age=0;"));
|
136
|
-
res.
|
136
|
+
res.status(401).send('Logout');
|
137
137
|
_context3.next = 11;
|
138
138
|
break;
|
139
139
|
case 8:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["axios","YT_CYPRESS_COOKIE_NAME","getUserYTApiSetup","getYTApiClusterSetup","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","crypto","ytLib","getXSRFToken","yt","throwAuthDisabled","Error","handleLogin","_x","_x2","_handleLogin","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","req","res","ytAuthCluster","_ref","username","password","_getYTApiClusterSetup","proxyBaseUrl","requestUrl","basicAuth","wrap","_callee2$","_context2","prev","next","ctx","config","abrupt","JSON","parse","body","concat","Buffer","from","toString","request","url","method","headers","_objectSpread","getMetadata","Authorization","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","undefined","removeSecureFlagIfOriginInsecure","sent","stop","_x7","t0","ytAuthAllowInsecure","origin","startsWith","_reduce","acc","v","k","tmp","_map","item","replace","handleLogout","_x3","_x4","_handleLogout","_callee3","_callee3$","_context3","setHeader","sendStatus","send","handleChangePassword","_x5","_x6","_handleChangePassword","_callee4","_ref3","newPassword","currentPassword","new_password_sha256","current_password_sha256","cfg","_cfg","setup","_yield$getXSRFToken","login","csrf_token","_callee4$","_context4","createHash","update","digest","createOption","v4","setUserPassword","parameters","user","result","status","err","t1"],"sources":["login.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport axios from 'axios';\nimport _ from 'lodash';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\nimport {getUserYTApiSetup, getYTApiClusterSetup} from '../components/requestsSetup';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport crypto from 'crypto';\n\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {getXSRFToken} from '../components/cluster-queries';\n\nconst yt = ytLib();\n\nfunction throwAuthDisabled() {\n throw new Error(\n 'Cluster for password authentication is disabled. You have to define ytAuthCluster to use it.',\n );\n}\n\nexport async function handleLogin(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.ctx.config;\n if (!ytAuthCluster) {\n return throwAuthDisabled();\n }\n\n const {username, password} = JSON.parse(req.body) || {};\n if (!username || !password) {\n throw new Error('Username and password must not be empty');\n }\n\n const {proxyBaseUrl} = getYTApiClusterSetup(ytAuthCluster);\n const requestUrl = `${proxyBaseUrl}/login`;\n\n const basicAuth = Buffer.from(`${username}:${password}`).toString('base64');\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {...req.ctx.getMetadata(), Authorization: `Basic ${basicAuth}`},\n timeout: 10000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(\n req.ctx,\n res,\n response,\n undefined,\n (headers) => removeSecureFlagIfOriginInsecure(req, headers),\n );\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n\nfunction removeSecureFlagIfOriginInsecure(\n req: Request,\n headers: Record<string, string | Array<string>>,\n) {\n const {ytAuthAllowInsecure} = req.ctx.config;\n const {origin} = req.headers;\n\n if (!ytAuthAllowInsecure || 'string' !== typeof origin || !origin.startsWith('http://')) {\n return headers;\n }\n\n return _.reduce(\n headers,\n (acc, v, k) => {\n if (k !== 'set-cookie') {\n acc[k] = v;\n } else {\n const tmp = _.map(v as Array<string>, (item) => {\n if (item.startsWith(YT_CYPRESS_COOKIE_NAME)) {\n return item.replace(/\\s*Secure;/, '');\n }\n return item;\n });\n acc[k] = tmp;\n }\n return acc;\n },\n {} as typeof headers,\n );\n}\n\nexport async function handleLogout(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.ctx.config;\n if (!ytAuthCluster) {\n return throwAuthDisabled();\n }\n res.setHeader('set-cookie', `${YT_CYPRESS_COOKIE_NAME}=deleted; Path=/; Max-Age=0;`);\n res.sendStatus(401).send('Logout');\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n\nexport async function handleChangePassword(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.ctx.config;\n if (!ytAuthCluster) {\n return throwAuthDisabled();\n }\n\n const {newPassword, currentPassword} = JSON.parse(req.body) || {};\n if (!newPassword || !currentPassword) {\n throw new Error('New and current password must not be empty');\n }\n\n const new_password_sha256 = crypto.createHash('sha256').update(newPassword).digest('hex');\n const current_password_sha256 = crypto\n .createHash('sha256')\n .update(currentPassword)\n .digest('hex');\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(ytAuthCluster, req);\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 400, e);\n return;\n }\n\n const {setup} = cfg;\n const {login, csrf_token} = await getXSRFToken(req, cfg);\n\n yt.setup.createOption('requestHeaders', 'object', {\n 'X-Csrf-Token': csrf_token,\n });\n\n await yt.v4\n .setUserPassword({\n setup,\n parameters: {user: login, new_password_sha256, current_password_sha256},\n })\n .then((result: unknown) => {\n res.status(200).send({result});\n })\n .catch((err: any) => {\n sendAndLogError(req.ctx, res, 500, err);\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["axios","YT_CYPRESS_COOKIE_NAME","getUserYTApiSetup","getYTApiClusterSetup","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","crypto","ytLib","getXSRFToken","yt","throwAuthDisabled","Error","handleLogin","_x","_x2","_handleLogin","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","req","res","ytAuthCluster","_ref","username","password","_getYTApiClusterSetup","proxyBaseUrl","requestUrl","basicAuth","wrap","_callee2$","_context2","prev","next","ctx","config","abrupt","JSON","parse","body","concat","Buffer","from","toString","request","url","method","headers","_objectSpread","getMetadata","Authorization","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","undefined","removeSecureFlagIfOriginInsecure","sent","stop","_x7","t0","ytAuthAllowInsecure","origin","startsWith","_reduce","acc","v","k","tmp","_map","item","replace","handleLogout","_x3","_x4","_handleLogout","_callee3","_callee3$","_context3","setHeader","status","send","handleChangePassword","_x5","_x6","_handleChangePassword","_callee4","_ref3","newPassword","currentPassword","new_password_sha256","current_password_sha256","cfg","_cfg","setup","_yield$getXSRFToken","login","csrf_token","_callee4$","_context4","createHash","update","digest","createOption","v4","setUserPassword","parameters","user","result","err","t1"],"sources":["login.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport axios from 'axios';\nimport _ from 'lodash';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\nimport {getUserYTApiSetup, getYTApiClusterSetup} from '../components/requestsSetup';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport crypto from 'crypto';\n\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {getXSRFToken} from '../components/cluster-queries';\n\nconst yt = ytLib();\n\nfunction throwAuthDisabled() {\n throw new Error(\n 'Cluster for password authentication is disabled. You have to define ytAuthCluster to use it.',\n );\n}\n\nexport async function handleLogin(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.ctx.config;\n if (!ytAuthCluster) {\n return throwAuthDisabled();\n }\n\n const {username, password} = JSON.parse(req.body) || {};\n if (!username || !password) {\n throw new Error('Username and password must not be empty');\n }\n\n const {proxyBaseUrl} = getYTApiClusterSetup(ytAuthCluster);\n const requestUrl = `${proxyBaseUrl}/login`;\n\n const basicAuth = Buffer.from(`${username}:${password}`).toString('base64');\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {...req.ctx.getMetadata(), Authorization: `Basic ${basicAuth}`},\n timeout: 10000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(\n req.ctx,\n res,\n response,\n undefined,\n (headers) => removeSecureFlagIfOriginInsecure(req, headers),\n );\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n\nfunction removeSecureFlagIfOriginInsecure(\n req: Request,\n headers: Record<string, string | Array<string>>,\n) {\n const {ytAuthAllowInsecure} = req.ctx.config;\n const {origin} = req.headers;\n\n if (!ytAuthAllowInsecure || 'string' !== typeof origin || !origin.startsWith('http://')) {\n return headers;\n }\n\n return _.reduce(\n headers,\n (acc, v, k) => {\n if (k !== 'set-cookie') {\n acc[k] = v;\n } else {\n const tmp = _.map(v as Array<string>, (item) => {\n if (item.startsWith(YT_CYPRESS_COOKIE_NAME)) {\n return item.replace(/\\s*Secure;/, '');\n }\n return item;\n });\n acc[k] = tmp;\n }\n return acc;\n },\n {} as typeof headers,\n );\n}\n\nexport async function handleLogout(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.ctx.config;\n if (!ytAuthCluster) {\n return throwAuthDisabled();\n }\n res.setHeader('set-cookie', `${YT_CYPRESS_COOKIE_NAME}=deleted; Path=/; Max-Age=0;`);\n res.status(401).send('Logout');\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n\nexport async function handleChangePassword(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.ctx.config;\n if (!ytAuthCluster) {\n return throwAuthDisabled();\n }\n\n const {newPassword, currentPassword} = JSON.parse(req.body) || {};\n if (!newPassword || !currentPassword) {\n throw new Error('New and current password must not be empty');\n }\n\n const new_password_sha256 = crypto.createHash('sha256').update(newPassword).digest('hex');\n const current_password_sha256 = crypto\n .createHash('sha256')\n .update(currentPassword)\n .digest('hex');\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(ytAuthCluster, req);\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 400, e);\n return;\n }\n\n const {setup} = cfg;\n const {login, csrf_token} = await getXSRFToken(req, cfg);\n\n yt.setup.createOption('requestHeaders', 'object', {\n 'X-Csrf-Token': csrf_token,\n });\n\n await yt.v4\n .setUserPassword({\n setup,\n parameters: {user: login, new_password_sha256, current_password_sha256},\n })\n .then((result: unknown) => {\n res.status(200).send({result});\n })\n .catch((err: any) => {\n sendAndLogError(req.ctx, res, 500, err);\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n"],"mappings":"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"}
|
@@ -8,6 +8,7 @@ export declare const docsUrls: {
|
|
8
8
|
'faq:enablepathautocorrection': string;
|
9
9
|
'storage:static_tables': string;
|
10
10
|
'dynamic-tables:overview': string;
|
11
|
+
'dynamic-tables:cross-dc': string;
|
11
12
|
'storage:compression#compression_codecs': string;
|
12
13
|
'storage:replication#replication': string;
|
13
14
|
'storage:replication#erasure': string;
|
@@ -10,6 +10,7 @@ export var docsUrls = {
|
|
10
10
|
'faq:enablepathautocorrection': "".concat(baseUrl, "/faq/faq#enablepathautocorrection"),
|
11
11
|
'storage:static_tables': "".concat(baseUrl, "/user-guide/storage/static-tables"),
|
12
12
|
'dynamic-tables:overview': "".concat(baseUrl, "/user-guide/dynamic-tables/overview"),
|
13
|
+
'dynamic-tables:cross-dc': "".concat(baseUrl, "/user-guide/dynamic-tables/dynamic-tables-resources#georaspredelyonnye-klastery-cross-dc"),
|
13
14
|
'storage:compression#compression_codecs': "".concat(baseUrl, "/user-guide/storage/compression#compression_codecs"),
|
14
15
|
'storage:replication#replication': "".concat(baseUrl, "/user-guide/storage/replication#replication"),
|
15
16
|
'storage:replication#erasure': "".concat(baseUrl, "/user-guide/storage/replication#erasure"),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getDocsBaseUrl","baseUrl","docsUrls","concat"],"sources":["docsUrls.ts"],"sourcesContent":["import {getDocsBaseUrl} from '../config';\n\nconst baseUrl = getDocsBaseUrl() || '';\n\nexport const docsUrls = {\n 'bundle-controller:reserved-memory': ``,\n 'cypress:ttl': `${baseUrl}/user-guide/storage/cypress#TTL`,\n 'storage:compression': `${baseUrl}/user-guide/storage/compression`,\n 'operations:recommendations#slishkom-melkie-chanki': `${baseUrl}/user-guide/data-processing/operations/recommendations#slishkom-melkie-chanki`,\n 'scheduler:integral_guarantees': `${baseUrl}/user-guide/data-processing/scheduler/integral-guarantees`,\n 'overview:quickstart': `${baseUrl}/overview/try-yt`,\n 'faq:enablepathautocorrection': `${baseUrl}/faq/faq#enablepathautocorrection`,\n 'storage:static_tables': `${baseUrl}/user-guide/storage/static-tables`,\n 'dynamic-tables:overview': `${baseUrl}/user-guide/dynamic-tables/overview`,\n 'storage:compression#compression_codecs': `${baseUrl}/user-guide/storage/compression#compression_codecs`,\n 'storage:replication#replication': `${baseUrl}/user-guide/storage/replication#replication`,\n 'storage:replication#erasure': `${baseUrl}/user-guide/storage/replication#erasure`,\n 'storage:static_schema': `${baseUrl}/user-guide/storage/static-schema`,\n 'storage:data_types#schema': `${baseUrl}/user-guide/storage/data-types#schema`,\n 'storage:data_types#schema_optional': `${baseUrl}/user-guide/storage/data-types#schema_optional`,\n 'storage:static_schema#overview': `${baseUrl}/user-guide/storage/static-schema`,\n 'dynamic-tables:transactions#conflicts': `${baseUrl}/user-guide/dynamic-tables/transactions#conflicts`,\n 'dynamic-tables:sorted_dynamic_tables#aggr_columns': `${baseUrl}/user-guide/dynamic-tables/sorted-dynamic-tables#aggr_columns`,\n 'problems:jobstatistics': `${baseUrl}/user-guide/problems/jobstatistics`,\n 'storage:formats': `${baseUrl}/user-guide/storage/formats`,\n 'storage:excel#skachivanie': `${baseUrl}/user-guide/storage/excel#skachivanie`,\n 'storage:excel': `${baseUrl}/user-guide/storage/excel`,\n 'faq:web_interface_table_download': `${baseUrl}/faq/faq#web_interface_table_download`,\n 'dynamic-tables:overview#in_memory': `${baseUrl}/user-guide/dynamic-tables/overview#in_memory`,\n 'storage:chunks#optimize_for': `${baseUrl}/user-guide/storage/chunks#optimize_for`,\n 'storage:accounts': `${baseUrl}/user-guide/storage/accounts`,\n 'storage:media#primary': `${baseUrl}/user-guide/storage/media#primary`,\n 'dynamic-tables:concepts#tablet_cell_bundles': `${baseUrl}/user-guide/dynamic-tables/concepts#tablet_cell_bundles`,\n 'operations:operations_options#obshie-opcii-dlya-vseh-tipov-operacij': `${baseUrl}/user-guide/data-processing/operations/operations-options#common_options`,\n 'operations:erase': `${baseUrl}/user-guide/data-processing/operations/erase`,\n 'operations:merge': `${baseUrl}/user-guide/data-processing/operations/merge`,\n 'operations:overview#aborted_jobs': `${baseUrl}/user-guide/data-processing/operations/overview#aborted_jobs`,\n 'operations:overview#completed_jobs': `${baseUrl}/user-guide/data-processing/operations/overview#completed_jobs`,\n 'operations:operations_options': `${baseUrl}/user-guide/data-processing/operations/operations-options`,\n 'operations:remote_copy': `${baseUrl}/user-guide/data-processing/operations/remote-copy`,\n 'scheduler:scheduler_and_pools': `${baseUrl}/user-guide/data-processing/scheduler/scheduler-and-pools`,\n 'faq:alert_type': `${baseUrl}/faq/faq#`,\n 'common:quotas#request_quota': '',\n 'common:quota_request': '',\n 'api:cli': `${baseUrl}/api/cli/cli`,\n 'chyt:yt_tables#dynamic': `${baseUrl}/user-guide/data-processing/chyt/yt-tables#dynamic`,\n 'common:regular_system_processes': '',\n 'acl:permissions': `${baseUrl}/user-guide/storage/access-control#authorization`,\n};\n\nexport type DocsUrls = typeof docsUrls;\n"],"mappings":"AAAA,SAAQA,cAAc,QAAO,WAAW;AAExC,IAAMC,OAAO,GAAGD,cAAc,CAAC,CAAC,IAAI,EAAE;AAEtC,OAAO,IAAME,QAAQ,GAAG;EACpB,mCAAmC,IAAI;EACvC,aAAa,KAAAC,MAAA,CAAKF,OAAO,oCAAiC;EAC1D,qBAAqB,KAAAE,MAAA,CAAKF,OAAO,oCAAiC;EAClE,mDAAmD,KAAAE,MAAA,CAAKF,OAAO,kFAA+E;EAC9I,+BAA+B,KAAAE,MAAA,CAAKF,OAAO,8DAA2D;EACtG,qBAAqB,KAAAE,MAAA,CAAKF,OAAO,qBAAkB;EACnD,8BAA8B,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EAC7E,uBAAuB,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EACtE,yBAAyB,KAAAE,MAAA,CAAKF,OAAO,wCAAqC;EAC1E,wCAAwC,KAAAE,MAAA,CAAKF,OAAO,uDAAoD;EACxG,iCAAiC,KAAAE,MAAA,CAAKF,OAAO,gDAA6C;EAC1F,6BAA6B,KAAAE,MAAA,CAAKF,OAAO,4CAAyC;EAClF,uBAAuB,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EACtE,2BAA2B,KAAAE,MAAA,CAAKF,OAAO,0CAAuC;EAC9E,oCAAoC,KAAAE,MAAA,CAAKF,OAAO,mDAAgD;EAChG,gCAAgC,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EAC/E,uCAAuC,KAAAE,MAAA,CAAKF,OAAO,sDAAmD;EACtG,mDAAmD,KAAAE,MAAA,CAAKF,OAAO,kEAA+D;EAC9H,wBAAwB,KAAAE,MAAA,CAAKF,OAAO,uCAAoC;EACxE,iBAAiB,KAAAE,MAAA,CAAKF,OAAO,gCAA6B;EAC1D,2BAA2B,KAAAE,MAAA,CAAKF,OAAO,0CAAuC;EAC9E,eAAe,KAAAE,MAAA,CAAKF,OAAO,8BAA2B;EACtD,kCAAkC,KAAAE,MAAA,CAAKF,OAAO,0CAAuC;EACrF,mCAAmC,KAAAE,MAAA,CAAKF,OAAO,kDAA+C;EAC9F,6BAA6B,KAAAE,MAAA,CAAKF,OAAO,4CAAyC;EAClF,kBAAkB,KAAAE,MAAA,CAAKF,OAAO,iCAA8B;EAC5D,uBAAuB,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EACtE,6CAA6C,KAAAE,MAAA,CAAKF,OAAO,4DAAyD;EAClH,qEAAqE,KAAAE,MAAA,CAAKF,OAAO,6EAA0E;EAC3J,kBAAkB,KAAAE,MAAA,CAAKF,OAAO,iDAA8C;EAC5E,kBAAkB,KAAAE,MAAA,CAAKF,OAAO,iDAA8C;EAC5E,kCAAkC,KAAAE,MAAA,CAAKF,OAAO,iEAA8D;EAC5G,oCAAoC,KAAAE,MAAA,CAAKF,OAAO,mEAAgE;EAChH,+BAA+B,KAAAE,MAAA,CAAKF,OAAO,8DAA2D;EACtG,wBAAwB,KAAAE,MAAA,CAAKF,OAAO,uDAAoD;EACxF,+BAA+B,KAAAE,MAAA,CAAKF,OAAO,8DAA2D;EACtG,gBAAgB,KAAAE,MAAA,CAAKF,OAAO,cAAW;EACvC,6BAA6B,EAAE,EAAE;EACjC,sBAAsB,EAAE,EAAE;EAC1B,SAAS,KAAAE,MAAA,CAAKF,OAAO,iBAAc;EACnC,wBAAwB,KAAAE,MAAA,CAAKF,OAAO,uDAAoD;EACxF,iCAAiC,EAAE,EAAE;EACrC,iBAAiB,KAAAE,MAAA,CAAKF,OAAO;AACjC,CAAC"}
|
1
|
+
{"version":3,"names":["getDocsBaseUrl","baseUrl","docsUrls","concat"],"sources":["docsUrls.ts"],"sourcesContent":["import {getDocsBaseUrl} from '../config';\n\nconst baseUrl = getDocsBaseUrl() || '';\n\nexport const docsUrls = {\n 'bundle-controller:reserved-memory': ``,\n 'cypress:ttl': `${baseUrl}/user-guide/storage/cypress#TTL`,\n 'storage:compression': `${baseUrl}/user-guide/storage/compression`,\n 'operations:recommendations#slishkom-melkie-chanki': `${baseUrl}/user-guide/data-processing/operations/recommendations#slishkom-melkie-chanki`,\n 'scheduler:integral_guarantees': `${baseUrl}/user-guide/data-processing/scheduler/integral-guarantees`,\n 'overview:quickstart': `${baseUrl}/overview/try-yt`,\n 'faq:enablepathautocorrection': `${baseUrl}/faq/faq#enablepathautocorrection`,\n 'storage:static_tables': `${baseUrl}/user-guide/storage/static-tables`,\n 'dynamic-tables:overview': `${baseUrl}/user-guide/dynamic-tables/overview`,\n 'dynamic-tables:cross-dc': `${baseUrl}/user-guide/dynamic-tables/dynamic-tables-resources#georaspredelyonnye-klastery-cross-dc`,\n 'storage:compression#compression_codecs': `${baseUrl}/user-guide/storage/compression#compression_codecs`,\n 'storage:replication#replication': `${baseUrl}/user-guide/storage/replication#replication`,\n 'storage:replication#erasure': `${baseUrl}/user-guide/storage/replication#erasure`,\n 'storage:static_schema': `${baseUrl}/user-guide/storage/static-schema`,\n 'storage:data_types#schema': `${baseUrl}/user-guide/storage/data-types#schema`,\n 'storage:data_types#schema_optional': `${baseUrl}/user-guide/storage/data-types#schema_optional`,\n 'storage:static_schema#overview': `${baseUrl}/user-guide/storage/static-schema`,\n 'dynamic-tables:transactions#conflicts': `${baseUrl}/user-guide/dynamic-tables/transactions#conflicts`,\n 'dynamic-tables:sorted_dynamic_tables#aggr_columns': `${baseUrl}/user-guide/dynamic-tables/sorted-dynamic-tables#aggr_columns`,\n 'problems:jobstatistics': `${baseUrl}/user-guide/problems/jobstatistics`,\n 'storage:formats': `${baseUrl}/user-guide/storage/formats`,\n 'storage:excel#skachivanie': `${baseUrl}/user-guide/storage/excel#skachivanie`,\n 'storage:excel': `${baseUrl}/user-guide/storage/excel`,\n 'faq:web_interface_table_download': `${baseUrl}/faq/faq#web_interface_table_download`,\n 'dynamic-tables:overview#in_memory': `${baseUrl}/user-guide/dynamic-tables/overview#in_memory`,\n 'storage:chunks#optimize_for': `${baseUrl}/user-guide/storage/chunks#optimize_for`,\n 'storage:accounts': `${baseUrl}/user-guide/storage/accounts`,\n 'storage:media#primary': `${baseUrl}/user-guide/storage/media#primary`,\n 'dynamic-tables:concepts#tablet_cell_bundles': `${baseUrl}/user-guide/dynamic-tables/concepts#tablet_cell_bundles`,\n 'operations:operations_options#obshie-opcii-dlya-vseh-tipov-operacij': `${baseUrl}/user-guide/data-processing/operations/operations-options#common_options`,\n 'operations:erase': `${baseUrl}/user-guide/data-processing/operations/erase`,\n 'operations:merge': `${baseUrl}/user-guide/data-processing/operations/merge`,\n 'operations:overview#aborted_jobs': `${baseUrl}/user-guide/data-processing/operations/overview#aborted_jobs`,\n 'operations:overview#completed_jobs': `${baseUrl}/user-guide/data-processing/operations/overview#completed_jobs`,\n 'operations:operations_options': `${baseUrl}/user-guide/data-processing/operations/operations-options`,\n 'operations:remote_copy': `${baseUrl}/user-guide/data-processing/operations/remote-copy`,\n 'scheduler:scheduler_and_pools': `${baseUrl}/user-guide/data-processing/scheduler/scheduler-and-pools`,\n 'faq:alert_type': `${baseUrl}/faq/faq#`,\n 'common:quotas#request_quota': '',\n 'common:quota_request': '',\n 'api:cli': `${baseUrl}/api/cli/cli`,\n 'chyt:yt_tables#dynamic': `${baseUrl}/user-guide/data-processing/chyt/yt-tables#dynamic`,\n 'common:regular_system_processes': '',\n 'acl:permissions': `${baseUrl}/user-guide/storage/access-control#authorization`,\n};\n\nexport type DocsUrls = typeof docsUrls;\n"],"mappings":"AAAA,SAAQA,cAAc,QAAO,WAAW;AAExC,IAAMC,OAAO,GAAGD,cAAc,CAAC,CAAC,IAAI,EAAE;AAEtC,OAAO,IAAME,QAAQ,GAAG;EACpB,mCAAmC,IAAI;EACvC,aAAa,KAAAC,MAAA,CAAKF,OAAO,oCAAiC;EAC1D,qBAAqB,KAAAE,MAAA,CAAKF,OAAO,oCAAiC;EAClE,mDAAmD,KAAAE,MAAA,CAAKF,OAAO,kFAA+E;EAC9I,+BAA+B,KAAAE,MAAA,CAAKF,OAAO,8DAA2D;EACtG,qBAAqB,KAAAE,MAAA,CAAKF,OAAO,qBAAkB;EACnD,8BAA8B,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EAC7E,uBAAuB,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EACtE,yBAAyB,KAAAE,MAAA,CAAKF,OAAO,wCAAqC;EAC1E,yBAAyB,KAAAE,MAAA,CAAKF,OAAO,6FAA0F;EAC/H,wCAAwC,KAAAE,MAAA,CAAKF,OAAO,uDAAoD;EACxG,iCAAiC,KAAAE,MAAA,CAAKF,OAAO,gDAA6C;EAC1F,6BAA6B,KAAAE,MAAA,CAAKF,OAAO,4CAAyC;EAClF,uBAAuB,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EACtE,2BAA2B,KAAAE,MAAA,CAAKF,OAAO,0CAAuC;EAC9E,oCAAoC,KAAAE,MAAA,CAAKF,OAAO,mDAAgD;EAChG,gCAAgC,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EAC/E,uCAAuC,KAAAE,MAAA,CAAKF,OAAO,sDAAmD;EACtG,mDAAmD,KAAAE,MAAA,CAAKF,OAAO,kEAA+D;EAC9H,wBAAwB,KAAAE,MAAA,CAAKF,OAAO,uCAAoC;EACxE,iBAAiB,KAAAE,MAAA,CAAKF,OAAO,gCAA6B;EAC1D,2BAA2B,KAAAE,MAAA,CAAKF,OAAO,0CAAuC;EAC9E,eAAe,KAAAE,MAAA,CAAKF,OAAO,8BAA2B;EACtD,kCAAkC,KAAAE,MAAA,CAAKF,OAAO,0CAAuC;EACrF,mCAAmC,KAAAE,MAAA,CAAKF,OAAO,kDAA+C;EAC9F,6BAA6B,KAAAE,MAAA,CAAKF,OAAO,4CAAyC;EAClF,kBAAkB,KAAAE,MAAA,CAAKF,OAAO,iCAA8B;EAC5D,uBAAuB,KAAAE,MAAA,CAAKF,OAAO,sCAAmC;EACtE,6CAA6C,KAAAE,MAAA,CAAKF,OAAO,4DAAyD;EAClH,qEAAqE,KAAAE,MAAA,CAAKF,OAAO,6EAA0E;EAC3J,kBAAkB,KAAAE,MAAA,CAAKF,OAAO,iDAA8C;EAC5E,kBAAkB,KAAAE,MAAA,CAAKF,OAAO,iDAA8C;EAC5E,kCAAkC,KAAAE,MAAA,CAAKF,OAAO,iEAA8D;EAC5G,oCAAoC,KAAAE,MAAA,CAAKF,OAAO,mEAAgE;EAChH,+BAA+B,KAAAE,MAAA,CAAKF,OAAO,8DAA2D;EACtG,wBAAwB,KAAAE,MAAA,CAAKF,OAAO,uDAAoD;EACxF,+BAA+B,KAAAE,MAAA,CAAKF,OAAO,8DAA2D;EACtG,gBAAgB,KAAAE,MAAA,CAAKF,OAAO,cAAW;EACvC,6BAA6B,EAAE,EAAE;EACjC,sBAAsB,EAAE,EAAE;EAC1B,SAAS,KAAAE,MAAA,CAAKF,OAAO,iBAAc;EACnC,wBAAwB,KAAAE,MAAA,CAAKF,OAAO,uDAAoD;EACxF,iCAAiC,EAAE,EAAE;EACrC,iBAAiB,KAAAE,MAAA,CAAKF,OAAO;AACjC,CAAC"}
|
package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js
CHANGED
@@ -17,7 +17,7 @@ import { getClusterUiConfig, isDeveloper } from '../../../../store/selectors/glo
|
|
17
17
|
import { hideTabletCellBundleEditor, setBundleEditorController } from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';
|
18
18
|
import { getBundleEditorData, getTabletBundlesWriteableByName } from '../../../../store/selectors/tablet_cell_bundles';
|
19
19
|
import { getTabletCellBundleEditorState } from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';
|
20
|
-
import { bundleEditorDict, createConfigurationList, createParams, getBundleControllerResource, getInitialFormValues, getResourceData, prepareSubmitBundle, simpleBundleValidate } from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';
|
20
|
+
import { bundleEditorDict, createConfigurationList, createParams, getBundleControllerResource, getInitialFormValues, getResourceData, instanceCountValidate, prepareSubmitBundle, simpleBundleValidate } from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';
|
21
21
|
import UIFactory, { isAbcAllowed } from '../../../../UIFactory';
|
22
22
|
import { makeLink } from '../../../../utils/utils';
|
23
23
|
import { docsUrl } from '../../../../config';
|
@@ -56,15 +56,17 @@ export function BundleEditorDialog() {
|
|
56
56
|
}();
|
57
57
|
var _ref = function () {
|
58
58
|
if (!bundleDefaultConfig) {
|
59
|
-
return [[], []];
|
59
|
+
return [[], [], []];
|
60
60
|
}
|
61
61
|
var rpc_proxy_sizes = bundleDefaultConfig.rpc_proxy_sizes,
|
62
|
-
tablet_node_sizes = bundleDefaultConfig.tablet_node_sizes
|
63
|
-
|
62
|
+
tablet_node_sizes = bundleDefaultConfig.tablet_node_sizes,
|
63
|
+
data_centers = bundleDefaultConfig.data_centers;
|
64
|
+
return [createConfigurationList(rpc_proxy_sizes), createConfigurationList(tablet_node_sizes), data_centers ? _toConsumableArray(Object.values(data_centers)) : []];
|
64
65
|
}(),
|
65
|
-
_ref2 = _slicedToArray(_ref,
|
66
|
+
_ref2 = _slicedToArray(_ref, 3),
|
66
67
|
rpcConfigurations = _ref2[0],
|
67
|
-
nodeConfigurations = _ref2[1]
|
68
|
+
nodeConfigurations = _ref2[1],
|
69
|
+
dcConfigurations = _ref2[2];
|
68
70
|
var renderGeneralTabs = {
|
69
71
|
name: 'general',
|
70
72
|
title: 'General',
|
@@ -149,7 +151,8 @@ export function BundleEditorDialog() {
|
|
149
151
|
withoutDetailedBar: true,
|
150
152
|
hasClear: true
|
151
153
|
},
|
152
|
-
|
154
|
+
tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),
|
155
|
+
validator: instanceCountValidate(dcConfigurations)
|
153
156
|
}, {
|
154
157
|
type: 'bundle-table-field',
|
155
158
|
name: 'rpc_proxy_resource_guarantee',
|
@@ -169,7 +172,8 @@ export function BundleEditorDialog() {
|
|
169
172
|
withoutDetailedBar: true,
|
170
173
|
hasClear: true
|
171
174
|
},
|
172
|
-
|
175
|
+
tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),
|
176
|
+
validator: instanceCountValidate(dcConfigurations)
|
173
177
|
}, {
|
174
178
|
type: 'bundle-table-field',
|
175
179
|
name: 'tablet_node_resource_guarantee',
|