From 2ab43be8e2b3947dbd82b95e768711c8135074ec Mon Sep 17 00:00:00 2001 From: "Andrew J. Stone" Date: Fri, 11 Oct 2024 20:05:23 +0000 Subject: [PATCH] remove old clickhouse-admin.json --- openapi/clickhouse-admin.json | 1182 --------------------------------- 1 file changed, 1182 deletions(-) delete mode 100644 openapi/clickhouse-admin.json diff --git a/openapi/clickhouse-admin.json b/openapi/clickhouse-admin.json deleted file mode 100644 index 5f5b4932ed..0000000000 --- a/openapi/clickhouse-admin.json +++ /dev/null @@ -1,1182 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "ClickHouse Cluster Admin API", - "description": "API for interacting with the Oxide control plane's ClickHouse cluster", - "contact": { - "url": "https://oxide.computer", - "email": "api@oxide.computer" - }, - "version": "0.0.1" - }, - "paths": { - "/keeper/cluster-membership": { - "get": { - "summary": "Retrieve cluster membership information from a keeper node.", - "operationId": "keeper_cluster_membership", - "responses": { - "200": { - "description": "successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClickhouseKeeperClusterMembership" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } - } - }, - "/keeper/conf": { - "get": { - "summary": "Retrieve configuration information from a keeper node.", - "operationId": "keeper_conf", - "responses": { - "200": { - "description": "successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeeperConf" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } - } - }, - "/keeper/config-and-enable": { - "put": { - "summary": "Generate a ClickHouse configuration file for a keeper node on a specified", - "description": "directory and enable the SMF service.", - "operationId": "generate_keeper_config_and_enable", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeeperConfigurableSettings" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "successful creation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeeperConfig" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } - } - }, - "/keeper/lgif": { - "get": { - "summary": "Retrieve a logically grouped information file from a keeper node.", - "description": "This information is used internally by ZooKeeper to manage snapshots and logs for consistency and recovery.", - "operationId": "lgif", - "responses": { - "200": { - "description": "successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Lgif" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } - } - }, - "/keeper/raft-config": { - "get": { - "summary": "Retrieve information from ClickHouse virtual node /keeper/config which", - "description": "contains last committed cluster configuration.", - "operationId": "raft_config", - "responses": { - "200": { - "description": "successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RaftConfig" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } - } - }, - "/server/config-and-enable": { - "put": { - "summary": "Generate a ClickHouse configuration file for a server node on a specified", - "description": "directory and enable the SMF service.", - "operationId": "generate_server_config_and_enable", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerConfigurableSettings" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "successful creation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplicaConfig" - } - } - } - }, - "4XX": { - "$ref": "#/components/responses/Error" - }, - "5XX": { - "$ref": "#/components/responses/Error" - } - } - } - } - }, - "components": { - "schemas": { - "ClickhouseHost": { - "oneOf": [ - { - "type": "object", - "properties": { - "ipv6": { - "type": "string", - "format": "ipv6" - } - }, - "required": [ - "ipv6" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "ipv4": { - "type": "string", - "format": "ipv4" - } - }, - "required": [ - "ipv4" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "domain_name": { - "type": "string" - } - }, - "required": [ - "domain_name" - ], - "additionalProperties": false - } - ] - }, - "ClickhouseKeeperClusterMembership": { - "description": "The configuration of the clickhouse keeper raft cluster returned from a single keeper node\n\nEach keeper is asked for its known raft configuration via `clickhouse-admin` dropshot servers running in `ClickhouseKeeper` zones. state. We include the leader committed log index known to the current keeper node (whether or not it is the leader) to determine which configuration is newest.", - "type": "object", - "properties": { - "leader_committed_log_index": { - "description": "Index of the last committed log entry from the leader's perspective", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "queried_keeper": { - "description": "Keeper ID of the keeper being queried", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperId" - } - ] - }, - "raft_config": { - "description": "Keeper IDs of all keepers in the cluster", - "type": "array", - "items": { - "$ref": "#/components/schemas/KeeperId" - }, - "uniqueItems": true - } - }, - "required": [ - "leader_committed_log_index", - "queried_keeper", - "raft_config" - ] - }, - "Error": { - "description": "Error information from a response.", - "type": "object", - "properties": { - "error_code": { - "type": "string" - }, - "message": { - "type": "string" - }, - "request_id": { - "type": "string" - } - }, - "required": [ - "message", - "request_id" - ] - }, - "Generation": { - "description": "Generation numbers stored in the database, used for optimistic concurrency control", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "KeeperConf": { - "description": "Keeper configuration information", - "type": "object", - "properties": { - "auto_forwarding": { - "description": "Allow to forward write requests from followers to the leader.", - "type": "boolean" - }, - "compress_logs": { - "description": "Whether to write compressed coordination logs in ZSTD format.", - "type": "boolean" - }, - "compress_snapshots_with_zstd_format": { - "description": "Whether to write compressed snapshots in ZSTD format (instead of custom LZ4).", - "type": "boolean" - }, - "configuration_change_tries_count": { - "description": "How many times we will try to apply configuration change (add/remove server) to the cluster.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "dead_session_check_period_ms": { - "description": "How often ClickHouse Keeper checks for dead sessions and removes them (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "election_timeout_lower_bound_ms": { - "description": "If the follower does not receive a heartbeat from the leader in this interval, then it can initiate leader election. Must be less than or equal to election_timeout_upper_bound_ms. Ideally they shouldn't be equal.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "election_timeout_upper_bound_ms": { - "description": "If the follower does not receive a heartbeat from the leader in this interval, then it must initiate leader election.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "enable_ipv6": { - "description": "Whether Ipv6 is enabled.", - "type": "boolean" - }, - "force_sync": { - "description": "Whether to call fsync on each change in RAFT changelog.", - "type": "boolean" - }, - "four_letter_word_allow_list": { - "description": "Allow list of 4lw commands.", - "type": "string" - }, - "fresh_log_gap": { - "description": "When the node became fresh.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "heart_beat_interval_ms": { - "description": "How often a ClickHouse Keeper leader will send heartbeats to followers (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "log_storage_disk": { - "description": "Name of disk used for logs.", - "type": "string" - }, - "log_storage_path": { - "description": "Path to coordination logs, just like ZooKeeper it is best to store logs on non-busy nodes.", - "type": "string", - "format": "Utf8PathBuf" - }, - "max_request_queue_size": { - "description": "Maximum number of requests that can be in queue for processing.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "max_requests_batch_bytes_size": { - "description": "Max size in bytes of batch of requests that can be sent to RAFT.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "max_requests_batch_size": { - "description": "Max size of batch in requests count before it will be sent to RAFT.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "max_requests_quick_batch_size": { - "description": "Max size of batch of requests to try to get before proceeding with RAFT. Keeper will not wait for requests but take only requests that are already in the queue.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "min_session_timeout_ms": { - "description": "Min timeout for client session (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "operation_timeout_ms": { - "description": "Timeout for a single client operation (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "quorum_reads": { - "description": "Whether to execute read requests as writes through whole RAFT consesus with similar speed.", - "type": "boolean" - }, - "raft_limits_reconnect_limit": { - "description": "If connection to a peer is silent longer than this limit * (heartbeat interval), we re-establish the connection.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "raft_logs_level": { - "description": "Text logging level about coordination (trace, debug, and so on).", - "allOf": [ - { - "$ref": "#/components/schemas/LogLevel" - } - ] - }, - "reserved_log_items": { - "description": "How many coordination log records to store before compaction.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "rotate_log_storage_interval": { - "description": "How many log records to store in a single file.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "server_id": { - "description": "Unique server id, each participant of the ClickHouse Keeper cluster must have a unique number (1, 2, 3, and so on).", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperId" - } - ] - }, - "session_timeout_ms": { - "description": "Max timeout for client session (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "shutdown_timeout": { - "description": "Wait to finish internal connections and shutdown (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "snapshot_distance": { - "description": "How often ClickHouse Keeper will create new snapshots (in the number of records in logs).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "snapshot_storage_disk": { - "description": "Name of disk used for storage.", - "type": "string" - }, - "snapshot_storage_path": { - "description": "Path to coordination snapshots.", - "type": "string", - "format": "Utf8PathBuf" - }, - "snapshots_to_keep": { - "description": "How many snapshots to keep.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "stale_log_gap": { - "description": "Threshold when leader considers follower as stale and sends the snapshot to it instead of logs.", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "startup_timeout": { - "description": "If the server doesn't connect to other quorum participants in the specified timeout it will terminate (ms).", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "tcp_port": { - "description": "Port for a client to connect.", - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "auto_forwarding", - "compress_logs", - "compress_snapshots_with_zstd_format", - "configuration_change_tries_count", - "dead_session_check_period_ms", - "election_timeout_lower_bound_ms", - "election_timeout_upper_bound_ms", - "enable_ipv6", - "force_sync", - "four_letter_word_allow_list", - "fresh_log_gap", - "heart_beat_interval_ms", - "log_storage_disk", - "log_storage_path", - "max_request_queue_size", - "max_requests_batch_bytes_size", - "max_requests_batch_size", - "max_requests_quick_batch_size", - "min_session_timeout_ms", - "operation_timeout_ms", - "quorum_reads", - "raft_limits_reconnect_limit", - "raft_logs_level", - "reserved_log_items", - "rotate_log_storage_interval", - "server_id", - "session_timeout_ms", - "shutdown_timeout", - "snapshot_distance", - "snapshot_storage_disk", - "snapshot_storage_path", - "snapshots_to_keep", - "stale_log_gap", - "startup_timeout", - "tcp_port" - ] - }, - "KeeperConfig": { - "description": "Configuration for a ClickHouse keeper", - "type": "object", - "properties": { - "coordination_settings": { - "description": "Internal coordination settings", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperCoordinationSettings" - } - ] - }, - "datastore_path": { - "description": "Directory for all files generated by ClickHouse itself", - "type": "string", - "format": "Utf8PathBuf" - }, - "listen_host": { - "description": "Address the keeper is listening on", - "type": "string", - "format": "ipv6" - }, - "log_storage_path": { - "description": "Directory for coordination logs", - "type": "string", - "format": "Utf8PathBuf" - }, - "logger": { - "description": "Logging settings", - "allOf": [ - { - "$ref": "#/components/schemas/LogConfig" - } - ] - }, - "raft_config": { - "description": "Settings for each server in the keeper cluster", - "allOf": [ - { - "$ref": "#/components/schemas/RaftServers" - } - ] - }, - "server_id": { - "description": "Unique ID for this keeper node", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperId" - } - ] - }, - "snapshot_storage_path": { - "description": "Directory for coordination snapshot storage", - "type": "string", - "format": "Utf8PathBuf" - }, - "tcp_port": { - "description": "Port for TCP connections", - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "coordination_settings", - "datastore_path", - "listen_host", - "log_storage_path", - "logger", - "raft_config", - "server_id", - "snapshot_storage_path", - "tcp_port" - ] - }, - "KeeperConfigsForReplica": { - "type": "object", - "properties": { - "nodes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeeperNodeConfig" - } - } - }, - "required": [ - "nodes" - ] - }, - "KeeperConfigurableSettings": { - "type": "object", - "properties": { - "generation": { - "description": "A unique identifier for the configuration generation.", - "allOf": [ - { - "$ref": "#/components/schemas/Generation" - } - ] - }, - "settings": { - "description": "Configurable settings for a ClickHouse keeper node.", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperSettings" - } - ] - } - }, - "required": [ - "generation", - "settings" - ] - }, - "KeeperCoordinationSettings": { - "type": "object", - "properties": { - "operation_timeout_ms": { - "type": "integer", - "format": "uint32", - "minimum": 0 - }, - "raft_logs_level": { - "$ref": "#/components/schemas/LogLevel" - }, - "session_timeout_ms": { - "type": "integer", - "format": "uint32", - "minimum": 0 - } - }, - "required": [ - "operation_timeout_ms", - "raft_logs_level", - "session_timeout_ms" - ] - }, - "KeeperId": { - "description": "A unique ID for a ClickHouse Keeper", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "KeeperNodeConfig": { - "type": "object", - "properties": { - "host": { - "$ref": "#/components/schemas/ClickhouseHost" - }, - "port": { - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "host", - "port" - ] - }, - "KeeperServerInfo": { - "type": "object", - "properties": { - "host": { - "description": "Host of the keeper server", - "allOf": [ - { - "$ref": "#/components/schemas/ClickhouseHost" - } - ] - }, - "priority": { - "description": "non-negative integer telling which nodes should be prioritised on leader elections. Priority of 0 means server will never be a leader.", - "type": "integer", - "format": "uint16", - "minimum": 0 - }, - "raft_port": { - "description": "Keeper server raft port", - "type": "integer", - "format": "uint16", - "minimum": 0 - }, - "server_id": { - "description": "Unique, immutable ID of the keeper server", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperId" - } - ] - }, - "server_type": { - "description": "A keeper server either participant or learner (learner does not participate in leader elections).", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperServerType" - } - ] - } - }, - "required": [ - "host", - "priority", - "raft_port", - "server_id", - "server_type" - ] - }, - "KeeperServerType": { - "type": "string", - "enum": [ - "participant", - "learner" - ] - }, - "KeeperSettings": { - "description": "Configurable settings for a ClickHouse keeper node.", - "type": "object", - "properties": { - "config_dir": { - "description": "Directory for the generated keeper configuration XML file", - "type": "string", - "format": "Utf8PathBuf" - }, - "datastore_path": { - "description": "Directory for all files generated by ClickHouse itself", - "type": "string", - "format": "Utf8PathBuf" - }, - "id": { - "description": "Unique ID of the keeper node", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperId" - } - ] - }, - "listen_addr": { - "description": "Address the keeper is listening on", - "type": "string", - "format": "ipv6" - }, - "raft_servers": { - "description": "ID and host of each server in the keeper cluster", - "type": "array", - "items": { - "$ref": "#/components/schemas/RaftServerSettings" - } - } - }, - "required": [ - "config_dir", - "datastore_path", - "id", - "listen_addr", - "raft_servers" - ] - }, - "Lgif": { - "description": "Logically grouped information file from a keeper node", - "type": "object", - "properties": { - "first_log_idx": { - "description": "Index of the first log entry in the current log segment", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "first_log_term": { - "description": "Term of the leader when the first log entry was created", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "last_committed_log_idx": { - "description": "Index of the last committed log entry", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "last_log_idx": { - "description": "Index of the last log entry in the current log segment", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "last_log_term": { - "description": "Term of the leader when the last log entry was created", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "last_snapshot_idx": { - "description": "Index of the most recent snapshot taken", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "leader_committed_log_idx": { - "description": "Index of the last committed log entry from the leader's perspective", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "target_committed_log_idx": { - "description": "Target index for log commitment during replication or recovery", - "type": "integer", - "format": "uint64", - "minimum": 0 - } - }, - "required": [ - "first_log_idx", - "first_log_term", - "last_committed_log_idx", - "last_log_idx", - "last_log_term", - "last_snapshot_idx", - "leader_committed_log_idx", - "target_committed_log_idx" - ] - }, - "LogConfig": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "uint", - "minimum": 0 - }, - "errorlog": { - "type": "string", - "format": "Utf8PathBuf" - }, - "level": { - "$ref": "#/components/schemas/LogLevel" - }, - "log": { - "type": "string", - "format": "Utf8PathBuf" - }, - "size": { - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "count", - "errorlog", - "level", - "log", - "size" - ] - }, - "LogLevel": { - "type": "string", - "enum": [ - "trace", - "debug" - ] - }, - "Macros": { - "type": "object", - "properties": { - "cluster": { - "type": "string" - }, - "replica": { - "$ref": "#/components/schemas/ServerId" - }, - "shard": { - "type": "integer", - "format": "uint64", - "minimum": 0 - } - }, - "required": [ - "cluster", - "replica", - "shard" - ] - }, - "RaftConfig": { - "description": "Keeper raft configuration information", - "type": "object", - "properties": { - "keeper_servers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeeperServerInfo" - }, - "uniqueItems": true - } - }, - "required": [ - "keeper_servers" - ] - }, - "RaftServerConfig": { - "type": "object", - "properties": { - "hostname": { - "$ref": "#/components/schemas/ClickhouseHost" - }, - "id": { - "$ref": "#/components/schemas/KeeperId" - }, - "port": { - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "hostname", - "id", - "port" - ] - }, - "RaftServerSettings": { - "type": "object", - "properties": { - "host": { - "$ref": "#/components/schemas/ClickhouseHost" - }, - "id": { - "$ref": "#/components/schemas/KeeperId" - } - }, - "required": [ - "host", - "id" - ] - }, - "RaftServers": { - "type": "object", - "properties": { - "servers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RaftServerConfig" - } - } - }, - "required": [ - "servers" - ] - }, - "RemoteServers": { - "type": "object", - "properties": { - "cluster": { - "type": "string" - }, - "replicas": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ServerNodeConfig" - } - }, - "secret": { - "type": "string" - } - }, - "required": [ - "cluster", - "replicas", - "secret" - ] - }, - "ReplicaConfig": { - "description": "Configuration for a ClickHouse replica server", - "type": "object", - "properties": { - "data_path": { - "description": "Directory for all files generated by ClickHouse itself", - "type": "string", - "format": "Utf8PathBuf" - }, - "http_port": { - "description": "Port for HTTP connections", - "type": "integer", - "format": "uint16", - "minimum": 0 - }, - "interserver_http_port": { - "description": "Port for interserver HTTP connections", - "type": "integer", - "format": "uint16", - "minimum": 0 - }, - "keepers": { - "description": "Contains settings that allow ClickHouse servers to interact with a Keeper cluster", - "allOf": [ - { - "$ref": "#/components/schemas/KeeperConfigsForReplica" - } - ] - }, - "listen_host": { - "description": "Address the server is listening on", - "type": "string", - "format": "ipv6" - }, - "logger": { - "description": "Logging settings", - "allOf": [ - { - "$ref": "#/components/schemas/LogConfig" - } - ] - }, - "macros": { - "description": "Parameter substitutions for replicated tables", - "allOf": [ - { - "$ref": "#/components/schemas/Macros" - } - ] - }, - "remote_servers": { - "description": "Configuration of clusters used by the Distributed table engine and bythe cluster table function", - "allOf": [ - { - "$ref": "#/components/schemas/RemoteServers" - } - ] - }, - "tcp_port": { - "description": "Port for TCP connections", - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "data_path", - "http_port", - "interserver_http_port", - "keepers", - "listen_host", - "logger", - "macros", - "remote_servers", - "tcp_port" - ] - }, - "ServerConfigurableSettings": { - "type": "object", - "properties": { - "generation": { - "description": "A unique identifier for the configuration generation.", - "allOf": [ - { - "$ref": "#/components/schemas/Generation" - } - ] - }, - "settings": { - "description": "Configurable settings for a ClickHouse replica server node.", - "allOf": [ - { - "$ref": "#/components/schemas/ServerSettings" - } - ] - } - }, - "required": [ - "generation", - "settings" - ] - }, - "ServerId": { - "description": "A unique ID for a Clickhouse Server", - "type": "integer", - "format": "uint64", - "minimum": 0 - }, - "ServerNodeConfig": { - "type": "object", - "properties": { - "host": { - "$ref": "#/components/schemas/ClickhouseHost" - }, - "port": { - "type": "integer", - "format": "uint16", - "minimum": 0 - } - }, - "required": [ - "host", - "port" - ] - }, - "ServerSettings": { - "description": "Configurable settings for a ClickHouse replica server node.", - "type": "object", - "properties": { - "config_dir": { - "description": "Directory for the generated server configuration XML file", - "type": "string", - "format": "Utf8PathBuf" - }, - "datastore_path": { - "description": "Directory for all files generated by ClickHouse itself", - "type": "string", - "format": "Utf8PathBuf" - }, - "id": { - "description": "Unique ID of the server node", - "allOf": [ - { - "$ref": "#/components/schemas/ServerId" - } - ] - }, - "keepers": { - "description": "Addresses for each of the individual nodes in the Keeper cluster", - "type": "array", - "items": { - "$ref": "#/components/schemas/ClickhouseHost" - } - }, - "listen_addr": { - "description": "Address the server is listening on", - "type": "string", - "format": "ipv6" - }, - "remote_servers": { - "description": "Addresses for each of the individual replica servers", - "type": "array", - "items": { - "$ref": "#/components/schemas/ClickhouseHost" - } - } - }, - "required": [ - "config_dir", - "datastore_path", - "id", - "keepers", - "listen_addr", - "remote_servers" - ] - } - }, - "responses": { - "Error": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } -}