From a73297a96073c86e5cd90af2d238cfb3e83a057b Mon Sep 17 00:00:00 2001
From: "a.sabirov" <a.sabirov@picodata.io>
Date: Tue, 11 Feb 2025 01:04:57 +0300
Subject: [PATCH] cli.md: add picodata status command

Address changes from picodata@55404dc9 (24.7.0-1102)
---
 docs/reference/cli.md | 90 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 1 deletion(-)

diff --git a/docs/reference/cli.md b/docs/reference/cli.md
index 96f6b74a..807c1826 100644
--- a/docs/reference/cli.md
+++ b/docs/reference/cli.md
@@ -8,7 +8,7 @@ Picodata является консольным приложением, кото
 
 Полная справка доступна с помощью команды `picodata help`:
 
-```txt
+```text
 USAGE:
     picodata <SUBCOMMAND>
 
@@ -24,6 +24,7 @@ SUBCOMMANDS:
     help       Print this message or the help of the given subcommand(s)
     plugin     Subcommand related to plugin management
     run        Run the picodata instance
+    status     Display the status of all instances in the cluster
     test       Run picodata integration tests
 ```
 
@@ -678,3 +679,90 @@ picodata plugin configure --service-names service_1,service_2
 
 Аналогичная переменная окружения: `PICODATA_SERVICE_PASSWORD_FILE`<br>
 Аналогичный параметр файла конфигурации: [`instance.service_password_file`]
+
+## picodata status {: #status }
+
+Выводит статус всех инстансов в кластере.
+
+```
+picodata status [OPTIONS]
+```
+
+Статус инстанса содержит следующие параметры:
+
+* `instance_name` — имя инстанса
+* `current_state` — текущее состояние инстанса
+* `target_state` — целевое состояние инстанса
+* `instance_uuid` — [UUID] инстанса
+* `replicaset_uuid` — [UUID] репликасета, которому принадлежит инстанс
+* `tier` — имя тира, которому принадлежит инстанс
+* `uri` — публичный сетевой адрес инстанса
+
+[UUID]: sql_types.md#uuid
+
+**Пример**
+
+```text
+$ picodata status
+Enter password for pico_service:
+
+
+CLUSTER NAME: demo
+
+
++-----------+-----------+-----------+----------+----------+---------+----------+
+| instance_ | current_s | target_st | instance | replicas | tier    | uri      |
+| name      | tate      | ate       | _uuid    | et_uuid  |         |          |
++==============================================================================+
+| default_1 | ["Online" | ["Online" | 38307bf4 | 50c2ed56 | default | 127.0.0. |
+| _1        | , 1]      | , 1]      | -33ec-47 | -ccd1-49 |         | 1:3301   |
+|           |           |           | 44-b830- | 73-b9f2- |         |          |
+|           |           |           | 8262a58d | 8aec11d8 |         |          |
+|           |           |           | cc9a     | dff5     |         |          |
++-----------+-----------+-----------+----------+----------+---------+----------+
+(1 rows)
+```
+
+!!! note "Примечание"
+    По умолчанию паролем системного пользователя `pico_service` является
+    пустая строка.
+
+### --peer {: #status_peer }
+
+`--peer <[HOST][:PORT]>`
+
+Адрес любого инстанса из состава кластера.
+
+Значение по умолчанию: `127.0.0.1:3301`
+
+Аналогичная переменная окружения: `PICODATA_PEER`<br>
+Аналогичный параметр файла конфигурации: [`instance.peer`]
+
+### --service-password-file {: #status_service_password_file }
+
+`--service-password-file <SERVICE_PASSWORD_FILE>`
+
+Путь к файлу с паролем для системного пользователя `pico_service`. Этот
+пароль используется для взаимодействия с другими инстансами кластера и
+является одинаковым для всех инстансов. При несовпадении пароля будет
+выведена ошибка. При отсутствии параметра пароль будет запрошен в
+интерактивном режиме, см. [Безопасный запуск](../tutorial/run.md#secure_run).
+
+Аналогичная переменная окружения: `PICODATA_SERVICE_PASSWORD_FILE`<br>
+Аналогичный параметр файла конфигурации: [`instance.service_password_file`]
+
+### --timeout {: #status_timeout }
+
+`-t, --timeout <TIMEOUT>`
+
+Максимальное время обработки запроса в секундах.
+
+Значение по умолчанию: `5`
+
+Аналогичная переменная окружения: `PICODATA_CONNECT_TIMEOUT`
+
+**Пример**
+
+```
+picodata status -t 10
+```
-- 
GitLab