diff --git a/App/FeatureSet/Home/Static/img/skillable-logo.svg b/App/FeatureSet/Home/Static/img/skillable-logo.svg
index 2d3f95a33f..960e80644c 100644
--- a/App/FeatureSet/Home/Static/img/skillable-logo.svg
+++ b/App/FeatureSet/Home/Static/img/skillable-logo.svg
@@ -1 +1,12 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/App/FeatureSet/Home/Views/logo-roll.ejs b/App/FeatureSet/Home/Views/logo-roll.ejs
index 092dd02462..79437ae119 100644
--- a/App/FeatureSet/Home/Views/logo-roll.ejs
+++ b/App/FeatureSet/Home/Views/logo-roll.ejs
@@ -11,7 +11,7 @@
-
+
diff --git a/App/FeatureSet/Notification/Templates/IncidentOwnerResourceCreated.hbs b/App/FeatureSet/Notification/Templates/IncidentOwnerResourceCreated.hbs
index 1a7d9d6dd8..696f7692b6 100644
--- a/App/FeatureSet/Notification/Templates/IncidentOwnerResourceCreated.hbs
+++ b/App/FeatureSet/Notification/Templates/IncidentOwnerResourceCreated.hbs
@@ -19,6 +19,10 @@
{{> DetailBoxField title="" text=rootCause }}
{{> DetailBoxField title="Description: " text="" }}
{{> DetailBoxField title="" text=incidentDescription }}
+{{#ifNotCond remediationNotes ""}}
+{{> DetailBoxField title="Remediation Notes: " text="" }}
+{{> DetailBoxField title="" text=remediationNotes }}
+{{/ifNotCond}}
{{> DetailBoxEnd this }}
diff --git a/App/FeatureSet/Workers/Jobs/IncidentOwners/SendCreatedResourceNotification.ts b/App/FeatureSet/Workers/Jobs/IncidentOwners/SendCreatedResourceNotification.ts
index 90b0355e1b..f07c7f810b 100644
--- a/App/FeatureSet/Workers/Jobs/IncidentOwners/SendCreatedResourceNotification.ts
+++ b/App/FeatureSet/Workers/Jobs/IncidentOwners/SendCreatedResourceNotification.ts
@@ -102,6 +102,7 @@ RunCron(
date: incidentIdentifiedDate,
timezones: user.timezone ? [user.timezone] : [],
}),
+ remediationNotes: incident.remediationNotes || "",
rootCause:
incident.rootCause || "No root cause identified for this incident",
incidentViewLink: (
diff --git a/Common/Types/Monitor/CriteriaIncident.ts b/Common/Types/Monitor/CriteriaIncident.ts
index a641e564fd..f8558154af 100644
--- a/Common/Types/Monitor/CriteriaIncident.ts
+++ b/Common/Types/Monitor/CriteriaIncident.ts
@@ -5,6 +5,7 @@ export interface CriteriaIncident {
description: string;
incidentSeverityId?: ObjectID | undefined;
autoResolveIncident?: boolean | undefined;
+ remediationNotes?: string | undefined;
id: string;
onCallPolicyIds?: Array
| undefined;
}
diff --git a/Dashboard/src/Components/Form/Monitor/MonitorCriteriaIncidentForm.tsx b/Dashboard/src/Components/Form/Monitor/MonitorCriteriaIncidentForm.tsx
index 9d4e56e37e..eafa8f8390 100644
--- a/Dashboard/src/Components/Form/Monitor/MonitorCriteriaIncidentForm.tsx
+++ b/Dashboard/src/Components/Form/Monitor/MonitorCriteriaIncidentForm.tsx
@@ -1,10 +1,11 @@
import { CriteriaIncident } from "Common/Types/Monitor/CriteriaIncident";
+import Button, { ButtonStyleType } from "CommonUI/src/Components/Button/Button";
import { DropdownOption } from "CommonUI/src/Components/Dropdown/Dropdown";
import BasicForm from "CommonUI/src/Components/Forms/BasicForm";
import FormFieldSchemaType from "CommonUI/src/Components/Forms/Types/FormFieldSchemaType";
import FormValues from "CommonUI/src/Components/Forms/Types/FormValues";
import Incident from "Model/Models/Incident";
-import React, { FunctionComponent, ReactElement } from "react";
+import React, { FunctionComponent, ReactElement, useEffect } from "react";
export interface ComponentProps {
initialValue?: undefined | CriteriaIncident;
@@ -17,6 +18,16 @@ export interface ComponentProps {
const MonitorCriteriaIncidentForm: FunctionComponent = (
props: ComponentProps,
): ReactElement => {
+
+
+ const [showAdvancedFields, setShowAdvancedFields] = React.useState(false);
+
+ useEffect(() => {
+ if (props.initialValue && props.initialValue.remediationNotes) {
+ setShowAdvancedFields(true);
+ }
+ }, [props.initialValue]);
+
return (
= (
"Notes to help the on-call engineer resolve this incident.",
fieldType: FormFieldSchemaType.Markdown,
required: false,
+ showIf: () => {
+ return showAdvancedFields;
+ }
},
]}
/>
+ {!showAdvancedFields && setShowAdvancedFields(true)} buttonStyle={ButtonStyleType.SECONDARY_LINK} />}
+
{/*
{
diff --git a/Probe/Dockerfile.tpl b/Probe/Dockerfile.tpl
index 7bca55e9b9..125b478dc4 100644
--- a/Probe/Dockerfile.tpl
+++ b/Probe/Dockerfile.tpl
@@ -3,7 +3,7 @@
#
# Pull base image nodejs image.
-FROM node:21.6
+FROM node:22.3.0
RUN mkdir /tmp/npm && chmod 2777 /tmp/npm && chown 1000:1000 /tmp/npm && npm config set cache /tmp/npm --global
ARG GIT_SHA
@@ -11,6 +11,11 @@ ARG APP_VERSION
ENV GIT_SHA=${GIT_SHA}
ENV APP_VERSION=${APP_VERSION}
+ENV NODE_OPTIONS="--use-openssl-ca"
+
+## Add Intermediate Certs
+COPY ./SslCertificates /usr/local/share/ca-certificates
+RUN update-ca-certificates
# IF APP_VERSION is not set, set it to 1.0.0
diff --git a/SslCertificates/GlobalSign.crt b/SslCertificates/GlobalSign.crt
new file mode 100644
index 0000000000..619b81c0e0
--- /dev/null
+++ b/SslCertificates/GlobalSign.crt
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIETjCCAzagAwIBAgINAe5fIh38YjvUMzqFVzANBgkqhkiG9w0BAQsFADBMMSAw
+HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFs
+U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xODExMjEwMDAwMDBaFw0yODEx
+MjEwMDAwMDBaMFAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52
+LXNhMSYwJAYDVQQDEx1HbG9iYWxTaWduIFJTQSBPViBTU0wgQ0EgMjAxODCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKdaydUMGCEAI9WXD+uu3Vxoa2uP
+UGATeoHLl+6OimGUSyZ59gSnKvuk2la77qCk8HuKf1UfR5NhDW5xUTolJAgvjOH3
+idaSz6+zpz8w7bXfIa7+9UQX/dhj2S/TgVprX9NHsKzyqzskeU8fxy7quRU6fBhM
+abO1IFkJXinDY+YuRluqlJBJDrnw9UqhCS98NE3QvADFBlV5Bs6i0BDxSEPouVq1
+lVW9MdIbPYa+oewNEtssmSStR8JvA+Z6cLVwzM0nLKWMjsIYPJLJLnNvBhBWk0Cq
+o8VS++XFBdZpaFwGue5RieGKDkFNm5KQConpFmvv73W+eka440eKHRwup08CAwEA
+AaOCASkwggElMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
+A1UdDgQWBBT473/yzXhnqN5vjySNiPGHAwKz6zAfBgNVHSMEGDAWgBSP8Et/qC5F
+JK5NUPpjmove4t0bvDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6
+Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9yb290cjMwNgYDVR0fBC8wLTAroCmgJ4Yl
+aHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9yb290LXIzLmNybDBHBgNVHSAEQDA+
+MDwGBFUdIAAwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5j
+b20vcmVwb3NpdG9yeS8wDQYJKoZIhvcNAQELBQADggEBAJmQyC1fQorUC2bbmANz
+EdSIhlIoU4r7rd/9c446ZwTbw1MUcBQJfMPg+NccmBqixD7b6QDjynCy8SIwIVbb
+0615XoFYC20UgDX1b10d65pHBf9ZjQCxQNqQmJYaumxtf4z1s4DfjGRzNpZ5eWl0
+6r/4ngGPoJVpjemEuunl1Ig423g7mNA2eymw0lIYkN5SQwCuaifIFJ6GlazhgDEw
+fpolu4usBCOmmQDo8dIm7A9+O4orkjgTHY+GzYZSR+Y0fFukAj6KYXwidlNalFMz
+hriSqHKvoflShx8xpfywgVcvzfTO3PYkz6fiNJBonf6q8amaEsybwMbDqKWwIX7e
+SPY=
+-----END CERTIFICATE-----
diff --git a/SslCertificates/Readme.md b/SslCertificates/Readme.md
new file mode 100644
index 0000000000..317a1c1736
--- /dev/null
+++ b/SslCertificates/Readme.md
@@ -0,0 +1,3 @@
+# SSL Certificates
+
+If there are missing SSL Certificates in the distro, then add them here. They will be added to Docker images.
\ No newline at end of file