diff --git a/html/index.html b/html/index.html
index 35db76c5..184aa66f 100644
--- a/html/index.html
+++ b/html/index.html
@@ -254,6 +254,9 @@
{{ i18n.version }}: {{ version }}
+
+ fa-exclamation-triangle
+
diff --git a/html/js/app.js b/html/js/app.js
index 20ac7757..18b0b3cd 100644
--- a/html/js/app.js
+++ b/html/js/app.js
@@ -739,6 +739,13 @@ $(document).ready(function() {
return "#"+RR+GG+BB;
},
+ eol_color(nowDate) {
+ const eolDate = Date.parse("2024-04-06T00:00:00.000Z");
+ if (nowDate > eolDate) {
+ return "error";
+ }
+ return "warning";
+ },
truncate(value, max) {
const ellipses = "...";
if (value.length > max + ellipses.length) {
diff --git a/html/js/app.test.js b/html/js/app.test.js
index 5cc1129e..3e8be8ce 100644
--- a/html/js/app.test.js
+++ b/html/js/app.test.js
@@ -95,6 +95,13 @@ test('populateUserDetails', async () => {
expect(obj.owner).toBe('hi@there.net');
});
+test('eol_color', () => {
+ const dec23 = Date.parse("2023-12-20T01:01:59.000Z");
+ const may24 = Date.parse("2024-05-01T01:01:59.000Z");
+ expect(app.eol_color(dec23)).toBe("warning");
+ expect(app.eol_color(may24)).toBe("error");
+});
+
test('loadServerSettings', async () => {
const fakeInfo = {
version: 'myVersion',
diff --git a/html/js/i18n.js b/html/js/i18n.js
index 85f627e1..af3a29da 100644
--- a/html/js/i18n.js
+++ b/html/js/i18n.js
@@ -510,6 +510,7 @@ const i18n = {
users: 'Users',
value: 'Value',
version: 'Version',
+ versionEolHelp: 'The Security Onion 2.3 platform is nearing or has exceeded its End-of-Life (EOL). Upgrading to the latest Security Onion platform version is highly recommended.',
view: 'View',
viewCase: 'Case Details',
weeks: 'weeks',