diff --git a/applications/squareone/Chart.yaml b/applications/squareone/Chart.yaml
index b6eca47a8c..5da469e3e2 100644
--- a/applications/squareone/Chart.yaml
+++ b/applications/squareone/Chart.yaml
@@ -10,4 +10,4 @@ maintainers:
url: https://github.com/jonathansick
# The default version tag of the squareone docker image
-appVersion: "0.15.0"
+appVersion: "0.16.0"
diff --git a/applications/squareone/README.md b/applications/squareone/README.md
index c6d0746d99..ec8d49c1e1 100644
--- a/applications/squareone/README.md
+++ b/applications/squareone/README.md
@@ -22,10 +22,16 @@ Squareone is the homepage UI for the Rubin Science Platform.
| config.docsBaseUrl | string | `"https://rsp.lsst.io"` | Base URL for user documentation (excludes trailing slash) |
| config.docsPageMdx | string | See `values.yaml` | MDX content for the `/docs` page |
| config.emailVerifiedPageMdx | string | See `values.yaml` | MDX content for the `/enrollment/thanks-for-verifying` page |
+| config.enableSentry | bool | See `values.yaml` | Enable Sentry |
| config.pendingApprovalPageMdx | string | See `values.yaml` | MDX content for the `/enrollment/pending-approval` page |
| config.pendingVerificationPageMdx | string | See `values.yaml` | MDX content for the `/enrollment/pending-confirmation` |
| config.plausibleDomain | string | `nil` | Plausible tracking domain. For example, `data.lsst.cloud`. @default null disables Plausible tracking |
| config.semaphoreUrl | string | `nil` | URL to the Semaphore (user notifications) API service. @default null disables the Semaphore integration |
+| config.sentryDebug | bool | See `values.yaml` | Sentry debug mode |
+| config.sentryDsn | string | See `values.yaml` | Sentry DSN |
+| config.sentryReplaysOnErrorSampleRate | int | See `values.yaml` | Sentry error replays sample rate |
+| config.sentryReplaysSessionSampleRate | int | See `values.yaml` | Sentry replays sample rate |
+| config.sentryTracesSampleRate | int | See `values.yaml` | Sentry traces sample rate |
| config.siteDescription | string | `"Access Rubin Observatory Legacy Survey of Space and Time data.\n"` | Site description, used in meta tags |
| config.siteName | string | `"Rubin Science Platform"` | Name of the site, used in the title and meta tags. |
| config.supportPageMdx | string | See `values.yaml` | MDX content for the `/support` page |
@@ -33,6 +39,7 @@ Squareone is the homepage UI for the Rubin Science Platform.
| config.verifyEmailPageMdx | string | See `values.yaml` | MDX content for the `/enrollment/thanks-for-signing-up` page |
| fullnameOverride | string | `""` | Overrides the full name for resources (includes the release name) |
| global.baseUrl | string | Set by Argo CD Application | Base URL for the environment |
+| global.environmentName | string | Set by Argo CD Application | Name of the Phalanx environment |
| global.host | string | Set by Argo CD Application | Host name for ingress |
| global.vaultSecretsPathPrefix | string | Set by Argo CD Application | Base path for Vault secrets |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy (tip: use Always for development) |
diff --git a/applications/squareone/secrets.yaml b/applications/squareone/secrets.yaml
new file mode 100644
index 0000000000..d189def65a
--- /dev/null
+++ b/applications/squareone/secrets.yaml
@@ -0,0 +1,5 @@
+sentry-dsn:
+ description: >-
+ The Sentry DSN for the the squareone Sentry project.
+ This is a URL that includes an authentication token that tells the Sentry SDK where to send events.
+ It can be found here: https://rubin-observatory.sentry.io/settings/projects/squareone/keys/
diff --git a/applications/squareone/templates/configmap.yaml b/applications/squareone/templates/configmap.yaml
index c2362a58b4..586874459d 100644
--- a/applications/squareone/templates/configmap.yaml
+++ b/applications/squareone/templates/configmap.yaml
@@ -8,6 +8,7 @@ data:
squareone.config.yaml: |
siteName: {{ .Values.config.siteName | quote }}
baseUrl: {{ .Values.global.baseUrl | quote }}
+ environmentName: {{ .Values.global.environmentName | quote }}
siteDescription: {{ .Values.config.siteDescription | quote }}
docsBaseUrl: {{ .Values.config.docsBaseUrl | quote }}
{{- if .Values.config.semaphoreUrl }}
@@ -29,3 +30,10 @@ data:
emailVerifiedPageMdx: {{ .Values.config.emailVerifiedPageMdx | quote }}
pendingApprovalPageMdx: {{ .Values.config.pendingApprovalPageMdx | quote }}
pendingVerificationPageMdx: {{ .Values.config.pendingVerificationPageMdx | quote }}
+ {{- if .Values.config.sentryDsn }}
+ sentryDsn: {{ .Values.config.sentryDsn | quote }}
+ {{- end}}
+ sentryTracesSampleRate: {{ .Values.config.sentryTracesSampleRate }}
+ sentryReplaysSessionSampleRate: {{ .Values.config.sentryReplaysSessionSampleRate }}
+ sentryReplaysOnErrorSampleRate: {{ .Values.config.sentryReplaysOnErrorSampleRate }}
+ sentryDebug: {{ .Values.config.sentryDebug }}
diff --git a/applications/squareone/templates/deployment.yaml b/applications/squareone/templates/deployment.yaml
index 0df5c20a04..0a90405a6a 100644
--- a/applications/squareone/templates/deployment.yaml
+++ b/applications/squareone/templates/deployment.yaml
@@ -48,6 +48,13 @@ spec:
env:
- name: "SQUAREONE_CONFIG_PATH"
value: "/etc/squareone/squareone.config.yaml"
+ {{- if .Values.config.enableSentry }}
+ - name: "SENTRY_DSN"
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "squareone.fullname" . }}-secret
+ key: "sentry-dsn"
+ {{- end }}
volumeMounts:
- name: "config"
mountPath: "/etc/squareone"
diff --git a/applications/squareone/templates/vault-secrets.yaml b/applications/squareone/templates/vault-secrets.yaml
index 8755456d29..0295e46e43 100644
--- a/applications/squareone/templates/vault-secrets.yaml
+++ b/applications/squareone/templates/vault-secrets.yaml
@@ -7,3 +7,13 @@ metadata:
spec:
path: "{{- .Values.global.vaultSecretsPathPrefix }}/pull-secret"
type: kubernetes.io/dockerconfigjson
+---
+apiVersion: ricoberger.de/v1alpha1
+kind: VaultSecret
+metadata:
+ name: {{ template "squareone.fullname" . }}-secret
+ labels:
+ {{- include "squareone.labels" . | nindent 4 }}
+spec:
+ path: "{{- .Values.global.vaultSecretsPathPrefix }}/squareone"
+ type: "Opaque"
diff --git a/applications/squareone/values-idfdev.yaml b/applications/squareone/values-idfdev.yaml
index bf5c55a7dc..ca5271fc8c 100644
--- a/applications/squareone/values-idfdev.yaml
+++ b/applications/squareone/values-idfdev.yaml
@@ -1,6 +1,5 @@
image:
pullPolicy: Always
- # tag: tickets-DM-34723
ingress:
timesSquareScope: "exec:admin"
@@ -25,3 +24,7 @@ config:
- [data-int.lsst.cloud](https://data-int.lsst.cloud) — for Rubin RSP developers
Don't forget to check the documentation.
+
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
diff --git a/applications/squareone/values-idfint.yaml b/applications/squareone/values-idfint.yaml
index 48e16d8615..1fe8a6f54d 100644
--- a/applications/squareone/values-idfint.yaml
+++ b/applications/squareone/values-idfint.yaml
@@ -171,3 +171,7 @@ config:
[#dm-rsp-team channel](https://lsstc.slack.com/archives/C8EEUGDSA).
Don't forget to check the documentation.
+
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
diff --git a/applications/squareone/values-idfprod.yaml b/applications/squareone/values-idfprod.yaml
index 8d2d9353f9..dc16f736ef 100644
--- a/applications/squareone/values-idfprod.yaml
+++ b/applications/squareone/values-idfprod.yaml
@@ -9,3 +9,6 @@ config:
semaphoreUrl: "https://data.lsst.cloud/semaphore"
coManageRegistryUrl: "https://id.lsst.cloud"
plausibleDomain: "data.lsst.cloud"
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
diff --git a/applications/squareone/values-roundtable-dev.yaml b/applications/squareone/values-roundtable-dev.yaml
index 51d60bb1bd..4fc38199a8 100644
--- a/applications/squareone/values-roundtable-dev.yaml
+++ b/applications/squareone/values-roundtable-dev.yaml
@@ -1,2 +1,5 @@
config:
siteName: "Roundtable (dev)"
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
diff --git a/applications/squareone/values-roundtable-prod.yaml b/applications/squareone/values-roundtable-prod.yaml
index a5a115b710..ab8965e0d9 100644
--- a/applications/squareone/values-roundtable-prod.yaml
+++ b/applications/squareone/values-roundtable-prod.yaml
@@ -1,2 +1,5 @@
config:
siteName: "Roundtable"
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
diff --git a/applications/squareone/values-usdfdev.yaml b/applications/squareone/values-usdfdev.yaml
index d490acfb3e..91ee6fde73 100644
--- a/applications/squareone/values-usdfdev.yaml
+++ b/applications/squareone/values-usdfdev.yaml
@@ -4,5 +4,8 @@ config:
semaphoreUrl: "https://usdf-rsp-dev.slac.stanford.edu/semaphore"
timesSquareUrl: "https://usdf-rsp-dev.slac.stanford.edu/times-square/api"
docsBaseUrl: "https://rsp.lsst.io/v/usdfdev"
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
ingress:
timesSquareScope: "exec:notebook"
diff --git a/applications/squareone/values-usdfint.yaml b/applications/squareone/values-usdfint.yaml
index 2116e1a1e0..47adef95c7 100644
--- a/applications/squareone/values-usdfint.yaml
+++ b/applications/squareone/values-usdfint.yaml
@@ -4,3 +4,6 @@ config:
semaphoreUrl: "https://usdf-rsp-int.slac.stanford.edu/semaphore"
docsBaseUrl: "https://rsp.lsst.io/v/usdfint"
timesSquareUrl: "https://usdf-rsp-int.slac.stanford.edu/times-square/api"
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
diff --git a/applications/squareone/values-usdfprod.yaml b/applications/squareone/values-usdfprod.yaml
index 01c0faf52d..6ddaa7c19e 100644
--- a/applications/squareone/values-usdfprod.yaml
+++ b/applications/squareone/values-usdfprod.yaml
@@ -4,5 +4,8 @@ config:
semaphoreUrl: "https://usdf-rsp.slac.stanford.edu/semaphore"
timesSquareUrl: "https://usdf-rsp.slac.stanford.edu/times-square/api"
docsBaseUrl: "https://rsp.lsst.io/v/usdfprod"
+ enableSentry: true
+ sentryTracesSampleRate: 1.0
+ sentryReplaysOnErrorSampleRate: 1.0
ingress:
timesSquareScope: "exec:notebook"
diff --git a/applications/squareone/values.yaml b/applications/squareone/values.yaml
index 84c8cb3470..538a2bb7fc 100644
--- a/applications/squareone/values.yaml
+++ b/applications/squareone/values.yaml
@@ -332,6 +332,30 @@ config:
contact us to have the confirmation
email resent.
+ # -- Enable Sentry
+ # @default -- See `values.yaml`
+ enableSentry: false
+
+ # -- Sentry DSN
+ # @default -- See `values.yaml`
+ sentryDsn: null
+
+ # -- Sentry traces sample rate
+ # @default -- See `values.yaml`
+ sentryTracesSampleRate: 0
+
+ # -- Sentry replays sample rate
+ # @default -- See `values.yaml`
+ sentryReplaysSessionSampleRate: 0
+
+ # -- Sentry error replays sample rate
+ # @default -- See `values.yaml`
+ sentryReplaysOnErrorSampleRate: 0
+
+ # -- Sentry debug mode
+ # @default -- See `values.yaml`
+ sentryDebug: false
+
# Global parameters are set by parameters injected by the Argo CD Application
# and should not be set in the individual environment values files.
global:
@@ -346,3 +370,7 @@ global:
# -- Base path for Vault secrets
# @default -- Set by Argo CD Application
vaultSecretsPathPrefix: ""
+
+ # -- Name of the Phalanx environment
+ # @default -- Set by Argo CD Application
+ environmentName: ""
diff --git a/environments/templates/applications/rsp/squareone.yaml b/environments/templates/applications/rsp/squareone.yaml
index 9977e677b9..ac082123bd 100644
--- a/environments/templates/applications/rsp/squareone.yaml
+++ b/environments/templates/applications/rsp/squareone.yaml
@@ -28,6 +28,8 @@ spec:
value: "https://{{ .Values.fqdn }}"
- name: "global.vaultSecretsPathPrefix"
value: {{ .Values.vaultPathPrefix | quote }}
+ - name: "global.environmentName"
+ value: {{ .Values.name | quote }}
valueFiles:
- "values.yaml"
- "values-{{ .Values.name }}.yaml"