Skip to content

Commit 429aa0e

Browse files
authored
feat: add multi clusters support (#701)
Release-as: 5.0.0
1 parent 3ec8368 commit 429aa0e

File tree

135 files changed

+24058
-18622
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+24058
-18622
lines changed

.editorconfig

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = space
8+
insert_final_newline = true
9+
max_line_length = 100
10+
trim_trailing_whitespace = true
11+
12+
[{*.json, *.yaml, *.yml}]
13+
indent_size = 2
14+
15+
[*.md]
16+
max_line_length = 0
17+
trim_trailing_whitespace = false

.eslintignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
build
2+
dist

.github/workflows/ci.yml

+15-8
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,37 @@ jobs:
88
commitlint:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v4
1212
with:
1313
fetch-depth: 0
14-
- uses: actions/setup-node@v2
14+
- uses: actions/setup-node@v4
15+
with:
16+
node-version: 18
1517
- run: npm ci
1618
- run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
1719

1820
typecheck:
1921
runs-on: ubuntu-latest
2022
steps:
21-
- uses: actions/checkout@v2
23+
- uses: actions/checkout@v4
2224
with:
2325
fetch-depth: 0
24-
- uses: actions/setup-node@v2
26+
- uses: actions/setup-node@v4
27+
with:
28+
node-version: 18
2529
- run: npm ci
2630
- run: npm run typecheck
31+
- run: npm run lint
2732

2833
unit_tests:
2934
runs-on: ubuntu-latest
3035
steps:
31-
- uses: actions/checkout@v2
36+
- uses: actions/checkout@v4
3237
with:
3338
fetch-depth: 0
34-
- uses: actions/setup-node@v2
39+
- uses: actions/setup-node@v4
40+
with:
41+
node-version: 18
3542
- run: npm ci
3643
- run: npm test
3744

@@ -47,10 +54,10 @@ jobs:
4754
options: --hostname localhost -e YDB_ALLOW_ORIGIN="http://localhost:3000"
4855

4956
steps:
50-
- uses: actions/checkout@v2
57+
- uses: actions/checkout@v4
5158
with:
5259
fetch-depth: 0
53-
- uses: actions/setup-node@v2
60+
- uses: actions/setup-node@v4
5461
with:
5562
node-version: 18
5663

.github/workflows/publication.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
types: [released]
44

55
name: Publication
6-
6+
77
jobs:
88
publication:
99
runs-on: ubuntu-latest
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@v4
1414
- uses: actions/setup-node@v4
1515
with:
16-
node-version: 16
16+
node-version: 18
1717
registry-url: https://registry.npmjs.org
1818
- run: npm ci
1919
- run: npm publish

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- uses: actions/checkout@v4
1313
- uses: actions/setup-node@v4
1414
with:
15-
node-version: 16
15+
node-version: 18
1616
- run: npm ci
1717
- run: npm test
1818
- uses: GoogleCloudPlatform/release-please-action@v3

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,5 @@
2525
npm-debug.log*
2626
yarn-debug.log*
2727
yarn-error.log*
28+
29+
.env

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
18.19.0

.prettierignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
packaje-lock.json
2+
3+
build
4+
dist
5+
CHANGELOG.md
6+
CONTRIBUTING.md

README.md

+20-4
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
Local viewer for YDB clusters
44

5-
* [Docs for users](https://ydb.tech/en/docs/maintenance/embedded_monitoring/ydb_monitoring)
6-
* [Project Roadmap](ROADMAP.md)
5+
- [Docs for users](https://ydb.tech/en/docs/maintenance/embedded_monitoring/ydb_monitoring)
6+
- [Project Roadmap](ROADMAP.md)
77

88
## Preview
99

1010
You can preview working UI using YDB docker image. It will be UI with the latest stable ydb version.
1111

1212
Run on a machine with Docker installed:
13+
1314
```
1415
docker pull cr.yandex/yc/yandex-docker-local-ydb
1516
docker run -dp 8765:8765 cr.yandex/yc/yandex-docker-local-ydb
@@ -40,11 +41,26 @@ To test new features, you can use ydb version that is currently in testing mode
4041

4142
### Custom backend in dev mode
4243

43-
YDB docker represents a single node cluster with only one version, small amount of storage groups, PDisks and VDisks. It may be not enough for development purposes. If you have your own development cluster with sufficient amount of entities, you can run the app in the dev mode with this cluster as backend. To do it, set you host to `REACT_APP_BACKEND` variable in `dev` script. For example:
44+
YDB docker represents a single node cluster with only one version, small amount of storage groups, PDisks and VDisks. It may be not enough for development purposes. If you have your own development cluster with sufficient amount of entities, you can run the app in the dev mode with this cluster as backend. To do it, set you host to `REACT_APP_BACKEND` variable in `dev` script. For example:
45+
4446
```
4547
"dev": "DISABLE_ESLINT_PLUGIN=true TSC_COMPILE_ON_ERROR=true REACT_APP_BACKEND=http://your-cluster-host:8765 npm start"
4648
```
4749

50+
### Meta backend in dev mode (multi cluster)
51+
52+
If you have meta backend, you can run the app in dev mode with this backend like this:
53+
54+
```
55+
DISABLE_ESLINT_PLUGIN=true TSC_COMPILE_ON_ERROR=true REACT_APP_BACKEND= REACT_APP_META_BACKEND=http://your-meta-host:8765 npm start
56+
```
57+
58+
if you need to connect to the meta backend from a server then run the app like this:
59+
60+
```
61+
DISABLE_ESLINT_PLUGIN=true TSC_COMPILE_ON_ERROR=true REACT_APP_BACKEND= REACT_APP_META_BACKEND= META_YDB_BACKEND=http://your-meta-host:8765 npm start
62+
```
63+
4864
## E2E Tests
4965

5066
For e2e tests we use `@playwright/tests`. Tests configuration is in `playwright.config.ts`. Tests are set up in `tests` dir.
@@ -90,4 +106,4 @@ It also could be usefull for development purposes, because some operations, that
90106
2. Copy your build files from `build` folder to `/contentmonitoring` folder on desired cluster host
91107
3. Open `http://your-cluster-host:8765/monitoring` to see updated UI
92108

93-
It's assumed, that you have all the necessary access rights to update files on the host.
109+
It's assumed, that you have all the necessary access rights to update files on the host.

ROADMAP.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# YDB Embedded UI Roadmap
22

33
## Legend
4+
45
We use the following symbols as abbreviations:
56

67
1. ㉕ - feature appeared in the Roadmap for 2025;
@@ -17,7 +18,6 @@ We use the following symbols as abbreviations:
1718
1. 🔥 ㉔ **Display Table Hot Keys** – on a tab **Hot Keys** for a [column-oriented](https://ydb.tech/docs/en/concepts/datamodel/table#olap-data-types) and [row-oriented table](https://ydb.tech/docs/en/concepts/datamodel/table#row-orineted_table) display Hot Keys based on query statistics
1819
1.**Network diagnostics** – display signals about cluster network performance and help to discover reasons for potential problems
1920

20-
2121
## Cluster Administration
2222

2323
1.**VDisk Eviction** – a special page for [VDisk](https://ydb.tech/docs/en/concepts/cluster/distributed_storage) with infos and support for [VDisk eviction](https://ydb.tech/docs/en/maintenance/manual/moving_vdisks) launch
@@ -29,7 +29,7 @@ We use the following symbols as abbreviations:
2929

3030
1. 🔥 ㉔ **Autocompletion** – autosuggestions to complete sql keywords and schema elements' names
3131
1.**Support VIEWS** – basic support for new schema object type – `VIEW`
32-
1.**Support Asyncronous Replication** – basic support for new feature – cluster-to-cluster asyncrounous replication
32+
1.**Support Asyncronous Replication** – basic support for new feature – cluster-to-cluster asyncrounous replication
3333
1.**Display Keys and Column Families** – add wider schema tab in Diagnostics mode with information about column families, primary and partitioning keys.
3434
1.**Enhance Column Tables support** – display all parameters from `CREATE TABLE` statement on info Tab, add create/alter queries templates
3535
1. ✅ ㉓ **Support YDB Topics** (add support for viewing metadata of YDB topics, its data, lag, etc)
@@ -38,6 +38,6 @@ We use the following symbols as abbreviations:
3838
1. ✅ ㉓ **Support Read Replicas**
3939
1. ✅ ㉓ **Support Column-oriented Tables**
4040

41-
## Appearence
41+
## Appearence
4242

4343
1.**Change Table Column Width** – make it possible to alter a column (e.g. on a nodes page) width by dragging

commitlint.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
module.exports = {extends: ['@commitlint/config-conventional']}
1+
module.exports = {extends: ['@commitlint/config-conventional']};

0 commit comments

Comments
 (0)