Skip to content

Commit 76edf84

Browse files
committedDec 12, 2023
fix(kibana-security-health-check): improve "Dashboard" tracker view
1 parent 2295472 commit 76edf84

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed
 

‎kibana-security-health-check/src/dashboard.ts

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import type { KibanaMetadata } from './index';
2+
13
interface Meta {
24
lastRevisionId: string;
35
}
@@ -31,21 +33,37 @@ export async function run(previousContent: string | undefined, params: Params):
3133
})
3234
).json()) as WebPageContentRevision[];
3335

34-
const meta: Meta = {
35-
lastRevisionId: revisions.length > 0 ? revisions[revisions.length - 1].id : '',
36-
};
36+
if (revisions.length === 0) {
37+
return prependMeta(`:red_circle: Data is not available`, { lastRevisionId: '' });
38+
}
3739

40+
const lastRevision = revisions[revisions.length - 1];
41+
const kibanaMetadata = JSON.parse(lastRevision.data) as KibanaMetadata;
3842
const state = `
3943
# Project information
40-
:construction:
44+
|||
45+
| ------ | ----------- |
46+
| **Environment** | ${kibanaMetadata.env.mode.name} |
47+
| **Branch** | ${kibanaMetadata.env.packageInfo.branch} |
48+
| **Project ID / Cluster Name** | ${kibanaMetadata.clusterInfo?.cluster_name ?? '?'} |
49+
| **Build Flavour** | ${kibanaMetadata.env.packageInfo.buildFlavor} |
50+
| **Build Date** | ${kibanaMetadata.env.packageInfo.buildDate} |
51+
| **Build Number** | ${kibanaMetadata.env.packageInfo.buildNum} |
52+
| **Build Commit** | [${kibanaMetadata.env.packageInfo.buildSha.slice(
53+
6,
54+
)}](https://github.com/elastic/kibana/commit/${kibanaMetadata.env.packageInfo.buildSha}) |
55+
| **Version** | ${kibanaMetadata.env.packageInfo.version}|
56+
4157
# Security headers
4258
## Content Security Policy
4359
Status: ${
44-
meta.lastRevisionId === previousMeta?.lastRevisionId || !previousMeta ? ':white_check_mark:' : ':red_circle:'
60+
lastRevision.id === previousMeta?.lastRevisionId || !previousMeta ? ':white_check_mark:' : ':red_circle:'
4561
} [view policy](${location.origin}/ws/web_security__csp__policies?x-user-share-id=${params.targetCspShareId})
4662
`;
4763

48-
return prependMeta(state, meta);
64+
return prependMeta(state, {
65+
lastRevisionId: lastRevision.id,
66+
});
4967
}
5068

5169
// HACK: Prepend the meta to the markdown content as part of the link to not clutter the markdown.

‎kibana-security-health-check/src/index.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,26 @@ export interface SecurityResponseHeaders {
1717
'x-found-handling-cluster': string;
1818
'x-frame-options': string;
1919
}
20+
21+
export interface KibanaMetadata {
22+
anonymousStatusPage: boolean;
23+
clusterInfo: {
24+
cluster_build_flavor: 'serverless';
25+
cluster_name: 'b5781f679cf342218a5fb77db34863d2';
26+
cluster_uuid: '8s9cUhNXR4Wa9oUu_czSPw';
27+
cluster_version: '8.11.0';
28+
};
29+
env: {
30+
mode: {
31+
name: string;
32+
};
33+
packageInfo: {
34+
branch: string;
35+
buildDate: string;
36+
buildFlavor: string;
37+
buildNum: number;
38+
buildSha: string;
39+
version: string;
40+
};
41+
};
42+
}

0 commit comments

Comments
 (0)
Please sign in to comment.