Skip to content

Commit 24c7737

Browse files
Show rocks versions in webui (#2272)
1 parent f485e17 commit 24c7737

File tree

6 files changed

+32
-4
lines changed

6 files changed

+32
-4
lines changed

cartridge/lua-api/boxinfo.lua

+13
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ local function set_webui_prefix(prefix)
2121
vars.webui_prefix = prefix
2222
end
2323

24+
local rocks_cache = {}
25+
2426
--- Retrieve `box.cfg` and `box.info` of a remote server.
2527
-- @function get_info
2628
-- @local
@@ -126,6 +128,16 @@ local function get_info(uri)
126128
listen = box_cfg.listen.uri or box_cfg.listen[1].uri
127129
end
128130

131+
if next(rocks_cache) == nil then
132+
local rocks = box.internal.feedback_daemon:generate_feedback().rocks
133+
rocks.cartridge = nil
134+
rocks.ddl = nil
135+
rocks.vshard = nil
136+
for rock_name, rock_version in pairs(rocks) do
137+
table.insert(rocks_cache, ("%s == %s"):format(rock_name, rock_version))
138+
end
139+
end
140+
129141
local ret = {
130142
general = {
131143
version = (package and (package .. ' ') or '') .. box_info.version,
@@ -197,6 +209,7 @@ local function get_info(uri)
197209
version = require('cartridge').VERSION,
198210
vshard_version = vshard_version,
199211
ddl_version = ddl_version,
212+
rocks = rocks_cache,
200213
state = server_state,
201214
error = server_error,
202215
},

cartridge/webui/gql-boxinfo.lua

+4
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,10 @@ local boxinfo_schema = {
365365
kind = gql_types.string,
366366
description = 'DDL version',
367367
},
368+
rocks = {
369+
kind = gql_types.list(gql_types.string),
370+
description = 'List of rocks and their versions',
371+
},
368372
}
369373
}).nonNull,
370374
membership = gql_types.object({

doc/schema.graphql

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# source: http://127.0.0.1:8081/admin/api
2-
# timestamp: Wed May 15 2024 19:16:51 GMT+0300 (Moscow Standard Time)
2+
# timestamp: Thu Aug 22 2024 19:23:56 GMT+0300 (Moscow Standard Time)
33

44
"""Custom scalar specification."""
55
directive @specifiedBy(
@@ -739,6 +739,9 @@ type ServerInfoCartridge {
739739

740740
"""DDL version"""
741741
ddl_version: String
742+
743+
"""List of rocks and their versions"""
744+
rocks: [String]
742745
}
743746

744747
type ServerInfoGeneral {

webui/src/generated/graphql-typing-flow.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,8 @@ export type ServerInfoCartridge = {|
617617
vshard_version?: $ElementType<Scalars, 'String'>,
618618
/** DDL version */
619619
ddl_version?: $ElementType<Scalars, 'String'>,
620+
/** Rocks Versions */
621+
rocks?: ?Array<?$ElementType<Scalars, 'String'>>,
620622
|};
621623

622624
export type ServerInfoGeneral = {|
@@ -1065,7 +1067,7 @@ export type ServerDetailsFieldsFragment = ({
10651067
...{ __typename?: 'ServerInfo' },
10661068
...{| cartridge: ({
10671069
...{ __typename?: 'ServerInfoCartridge' },
1068-
...$Pick<ServerInfoCartridge, {| version: *, vshard_version?: *, ddl_version?: * |}>
1070+
...$Pick<ServerInfoCartridge, {| version: *, vshard_version?: *, ddl_version?: * , rocks?: * |}>
10691071
}), membership: ({
10701072
...{ __typename?: 'ServerInfoMembership' },
10711073
...$Pick<ServerInfoMembership, {| status?: *, incarnation?: *, PROTOCOL_PERIOD_SECONDS?: *, ACK_TIMEOUT_SECONDS?: *, ANTI_ENTROPY_PERIOD_SECONDS?: *, SUSPECT_TIMEOUT_SECONDS?: *, NUM_FAILURE_DETECTION_SUBGROUPS?: * |}>
@@ -1122,7 +1124,7 @@ export type InstanceDataQuery = ({
11221124
...{ __typename?: 'ServerInfo' },
11231125
...{| cartridge: ({
11241126
...{ __typename?: 'ServerInfoCartridge' },
1125-
...$Pick<ServerInfoCartridge, {| version: *, vshard_version?: *, ddl_version?: * |}>
1127+
...$Pick<ServerInfoCartridge, {| version: *, vshard_version?: *, ddl_version?: *, rocks?: * |}>
11261128
}), membership: ({
11271129
...{ __typename?: 'ServerInfoMembership' },
11281130
...$Pick<ServerInfoMembership, {| status?: *, incarnation?: *, PROTOCOL_PERIOD_SECONDS?: *, ACK_TIMEOUT_SECONDS?: *, ANTI_ENTROPY_PERIOD_SECONDS?: *, SUSPECT_TIMEOUT_SECONDS?: *, NUM_FAILURE_DETECTION_SUBGROUPS?: * |}>
@@ -1228,7 +1230,7 @@ export type BoxInfoQuery = ({
12281230
...{ __typename?: 'ServerInfo' },
12291231
...{| cartridge: ({
12301232
...{ __typename?: 'ServerInfoCartridge' },
1231-
...$Pick<ServerInfoCartridge, {| version: *, vshard_version?: *, ddl_version?: * |}>
1233+
...$Pick<ServerInfoCartridge, {| version: *, vshard_version?: *, ddl_version?: *, rocks?: * |}>
12321234
}), membership: ({
12331235
...{ __typename?: 'ServerInfoMembership' },
12341236
...$Pick<ServerInfoMembership, {| status?: *, incarnation?: *, PROTOCOL_PERIOD_SECONDS?: *, ACK_TIMEOUT_SECONDS?: *, ANTI_ENTROPY_PERIOD_SECONDS?: *, SUSPECT_TIMEOUT_SECONDS?: *, NUM_FAILURE_DETECTION_SUBGROUPS?: * |}>

webui/src/generated/graphql-typing-ts.ts

+5
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,8 @@ export type ServerInfoCartridge = {
594594
vshard_version?: Maybe<Scalars['String']>;
595595
/** DDL version */
596596
ddl_version?: Maybe<Scalars['String']>;
597+
/** Rocks versions */
598+
rocks?: Maybe<Array<Maybe<Scalars['String']>>>;
597599
};
598600

599601
export type ServerInfoGeneral = {
@@ -1177,6 +1179,7 @@ export type ServerDetailsFieldsFragment = {
11771179
version: string;
11781180
vshard_version: string | null;
11791181
ddl_version: string | null;
1182+
rocks: Array<string | null> | null;
11801183
};
11811184
membership: {
11821185
__typename?: 'ServerInfoMembership';
@@ -1310,6 +1313,7 @@ export type InstanceDataQuery = {
13101313
version: string;
13111314
vshard_version: string | null;
13121315
ddl_version: string | null;
1316+
rocks: Array<string | null> | null;
13131317
};
13141318
membership: {
13151319
__typename?: 'ServerInfoMembership';
@@ -1476,6 +1480,7 @@ export type BoxInfoQuery = {
14761480
version: string;
14771481
vshard_version: string | null;
14781482
ddl_version: string | null;
1483+
rocks: Array<string | null> | null;
14791484
};
14801485
membership: {
14811486
__typename?: 'ServerInfoMembership';

webui/src/store/request/queries.graphql.js

+1
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ export const serverDetailsFields = gql`
144144
version
145145
vshard_version
146146
ddl_version
147+
rocks
147148
}
148149
membership {
149150
status

0 commit comments

Comments
 (0)