Skip to content

Commit

Permalink
Merge pull request #188 from FlowFuse/feat-add-sentry-telemetry
Browse files Browse the repository at this point in the history
Add support for configuring sentry telemetry
  • Loading branch information
hardillb authored Oct 3, 2023
2 parents 02de75a + 92b5f83 commit 8190f89
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 1 deletion.
3 changes: 3 additions & 0 deletions helm/flowforge/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ Enables FlowForge Telemetry
- `forge.telemetry.posthog.apikey` enables posthog logging if set (not default)
- `forge.telemetry.posthog.apiurl` sets posthog target host (default `https://app.posthog.com`)
- `forge.telemetry.posthog.capture_pageview` (default `true`)
- `forge.telemetry.sentry.frontend_dsn` enables sentry reporting if set
- `forge.telemetry.sentry.backend_dsn` enables sentry reporting if set
- `forge.telemetry.sentry.production_mode` rate limit reporting (default `true`)

### Support

Expand Down
16 changes: 15 additions & 1 deletion helm/flowforge/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ data:
http: info
telemetry:
enabled: {{ .Values.forge.telemetry.enabled }}
{{ if or (.Values.forge.telemetry.plausible) (.Values.forge.telemetry.posthog) }}
{{ if or (.Values.forge.telemetry.plausible) (.Values.forge.telemetry.posthog) (hasKey .Values.forge.telemetry.sentry "frontend_dsn") }}
frontend:
{{ if .Values.forge.telemetry.plausible -}}
plausible:
Expand All @@ -147,7 +147,21 @@ data:
capture_pageview: true
{{ end }}
{{ end -}}
{{ if and (hasKey .Values.forge.telemetry "sentry") (hasKey .Values.forge.telemetry.sentry "frontend_dsn") -}}
sentry:
dsn: {{ .Values.forge.telemetry.sentry.frontend_dsn}}
{{ if hasKey .Values.forge.telemetry.sentry "production_mode" }}
production_mode: {{ .Values.forge.telemetry.sentry.production_mode }}
{{ else }}
production_mode: true
{{ end }}
{{ end -}}
{{- end }}
{{ if and (hasKey .Values.forge.telemetry "sentry") (hasKey .Values.forge.telemetry.sentry "backend_dsn") -}}
backend:
sentry:
dsn: {{ .Values.forge.telemetry.sentry.backend_dsn}}
{{ end -}}
{{- if .Values.forge.support.enabled }}
support:
enabled: true
Expand Down
14 changes: 14 additions & 0 deletions helm/flowforge/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,20 @@
"required": [
"apikey"
]
},
"sentry": {
"type": "object",
"properties": {
"frontend_dsn":{
"type": "string"
},
"backend_dsn": {
"type": "string"
},
"production_mode": {
"type": "boolean"
}
}
}
}
},
Expand Down
4 changes: 4 additions & 0 deletions test/customizations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ forge:
posthog:
capture_pageview: false
apikey: phc_fdlksajfdfadfsafsaf
sentry:
production_mode: false
frontend_dsn: 'https://sentry.io/flowforge/flowforge-frontend'
backend_dsn: 'https://sentry.io/flowforge/flowforge-backend'
support:
enabled: true
hubspot: 12345678
Expand Down
19 changes: 19 additions & 0 deletions test/unit/configmap_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,23 @@ describe('Examine Config Maps', function () {
})
})
})

describe('customizations.yml', async function () {
let yml
beforeEach(function () {
const d = configMaps.filter(doc => doc.metadata.name === 'flowforge-config')[0]
yml = yaml.parse(d.data['flowforge.yml'])
})
it('has sentry telemetry', function () {
console.log(yml.telemetry)
yml.telemetry.frontend.sentry.should.have.property('production_mode')
yml.telemetry.frontend.sentry.production_mode.should.equal(false)

yml.telemetry.frontend.sentry.should.have.property('dsn')
yml.telemetry.frontend.sentry.dsn.should.equal('https://sentry.io/flowforge/flowforge-frontend')

yml.telemetry.backend.sentry.should.have.property('dsn')
yml.telemetry.backend.sentry.dsn.should.equal('https://sentry.io/flowforge/flowforge-backend')
})
})
})

0 comments on commit 8190f89

Please sign in to comment.