|
|
|
@ -83,28 +83,35 @@ const StatusWithStatusIndicator = withStatusIndicator(StatusContent);
|
|
|
|
|
|
|
|
|
|
StatusContent.displayName = 'Status';
|
|
|
|
|
|
|
|
|
|
const Status: FC = () => {
|
|
|
|
|
const StatusResult: FC<{ fetchPath: string; title: string; agentMode: boolean }> = ({ fetchPath, title, agentMode }) => {
|
|
|
|
|
const { response, isLoading, error } = useFetch(fetchPath);
|
|
|
|
|
return (
|
|
|
|
|
<StatusWithStatusIndicator
|
|
|
|
|
key={title}
|
|
|
|
|
data={response.data}
|
|
|
|
|
title={title}
|
|
|
|
|
isLoading={isLoading}
|
|
|
|
|
error={error}
|
|
|
|
|
componentTitle={title}
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const Status: FC<{ agentMode: boolean }> = ({ agentMode }) => {
|
|
|
|
|
const pathPrefix = usePathPrefix();
|
|
|
|
|
const path = `${pathPrefix}/${API_PATH}`;
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
{[
|
|
|
|
|
{ fetchResult: useFetch<Record<string, string>>(`${path}/status/runtimeinfo`), title: 'Runtime Information' },
|
|
|
|
|
{ fetchResult: useFetch<Record<string, string>>(`${path}/status/buildinfo`), title: 'Build Information' },
|
|
|
|
|
{ fetchResult: useFetch<Record<string, string>>(`${path}/alertmanagers`), title: 'Alertmanagers' },
|
|
|
|
|
].map(({ fetchResult, title }) => {
|
|
|
|
|
const { response, isLoading, error } = fetchResult;
|
|
|
|
|
return (
|
|
|
|
|
<StatusWithStatusIndicator
|
|
|
|
|
key={title}
|
|
|
|
|
data={response.data}
|
|
|
|
|
title={title}
|
|
|
|
|
isLoading={isLoading}
|
|
|
|
|
error={error}
|
|
|
|
|
componentTitle={title}
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
{ fetchPath: `${path}/status/runtimeinfo`, title: 'Runtime Information' },
|
|
|
|
|
{ fetchPath: `${path}/status/buildinfo`, title: 'Build Information' },
|
|
|
|
|
{ fetchPath: `${path}/alertmanagers`, title: 'Alertmanagers' },
|
|
|
|
|
].map(({ fetchPath, title }) => {
|
|
|
|
|
if (agentMode && title === 'Alertmanagers') {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return <StatusResult fetchPath={fetchPath} title={title} agentMode={agentMode} />;
|
|
|
|
|
})}
|
|
|
|
|
</>
|
|
|
|
|
);
|
|
|
|
|