@ytsaurus/ui

1.38.2 • Public • Published

YTsaurus platform interface

User interface for a YTsaurus platform cluster.

How to work with the repo

First of all you have to provide clusters-config.json file with description of your cluster, the file should be placed in the root of the repository (see clusters-config.json.example).

Additionally you have to provide secrets/yt-interface-secret.json file with a token of a special user (UIRobot) for some service requests like handling settings and other, example:

{
  // common oauth token, the token is used if there is no cluster-specific token in the file
  "oauthToken": "special-user-secret-tocken",
  "cluster_id1": {
    // cluster_id1 specific oauth token
    "oauthToken": "cluster1-special-user-secret-token"
  },
  "cluster_id2": {
    // cluster_id2 specific oauth token
    "oauthToken": "cluster2-special-user-secret-token"
  }
}

Development

To run the development environment you need to prepare and run nginx:

  1. Install nginx
  2. Copy file deploy/nginx/yt.development.conf.example to /etc/nginx/sites-enabled/yt.development.conf
  3. Modify /etc/nginx/sites-enabled/yt.development.conf
    • change server_name
    • replace all /path/to/the/repo to correct path
  4. sudo systemctl restart nginx

Install required dependencies:

$ npm deps:install

A simple way to start development is using your local-yt cluster. The command bellow suggests to start local-yt cluster as docker-container:

$ npm run dev:localmode

Another way is to provide clusters-config.json and run the command like:

$ npm run dev:app

Docker

There is ability to build docker-image:

$ docker build . -t ytsaurus-ui:my-tag

All application files in a resulting docker-image will be placed in /opt/app, so you have to mount /opt/app/cluster-config.json and /opt/app/secrets/yt-interface-secret.json.

Environment variables

  • YT_AUTH_ALLOW_INSECURE - if defined allows insecure (over http) authentication, do not use it for production
  • ALLOW_PASSWORD_AUTH - If defined, the app requires a password for cluster access

Feature flags

There is yt-api command get_supported_feature and it is a good place to describe some features. But some cases require ability to turn on/off a feature manually on a cluster. Such feature flags are placed placed in:

  • //sys/@ui_config (values affects all users)
  • //sys/@ui_config_dev_overrides (values affects only developers)

(see more detail in YTFRONT-2804)

It is supposed that a user is developer on a cluster if he has write access to admins group of the cluster.

Available flags (default values are highlighted in bold):

Flag name Allowed values Description
enable_per_bundle_tablet_accounting true, false Allows editing of resources of tablets through BundleEditorDialog YTFRONT-2851
enable_per_account_tablet_accounting false, true Allows editing of resources of tablets through AccountEditorDialog YTFRONT-2851
per_bundle_accounting_help_link null, url as string Help link for resources of tablets to display from AccountEditorDialog about moving the resources to bundles YTFRONT-2851
enable_maintenance_api_nodes null, boolean Allows to use add_maintenance/remove_maintenance commands from Comopnents/Nodes page YTFRONT-3792
enable_maintenance_api_proxies null, boolean Allows to use add_maintenance/remove_maintenance commands from Components/HTTP Proxies and Components/RPC Proxies pages YTFRONT-3792
chyt_controller_base_url null, url as string Base url for chyt-controller

Configuration

By default the application uses base configuration from path_to_dist/server/configs/common.js file. The behavior might be adjusted through APP_ENV and APP_INSTALLATION environment variables, see README.config.md for more details.

Migration

v1.17.0

Readme

Keywords

none

Package Sidebar

Install

npm i @ytsaurus/ui

Weekly Downloads

257

Version

1.38.2

License

none

Unpacked Size

67.1 MB

Total Files

460

Last publish

Collaborators

  • robot-dataui-npm