* feat(preview-generator): add new preview generator webapp
* wip(preview-service): reworking the preview service backend
* feat(previews): logging
* feat(preview-service): streamline payloads
* fix(preview-service): do not log the full payload
* feat(preview-service): build new preview service
* feat(preview-service): add separate response queue
* feat(previews): integrate preview queues with the server
* feat(previews): use module alias
* chore(previews): remove old preview service code
* feat(previews): log stuff on job statuses
* fix(previews): add missing deps and scripts
* fix(previews): package deps fix
* fix(server): moar typing fixes
* Metrics related to jobs: total count, request failures, response errors & durations
* duration should include unit.
- histogram metric should be summary
- error responses include duration in seconds
- attempt to remove metric before adding it (prevent errors with duplicate metrics)
* fix(server, frontend): some ts fixes
* fixes
* fix(frontend): remove unneeded ts-expect-error
* chore(preview-service): eslint
* TS fix
* feat(previews): more smoal fixes
* fix(preview-service): alias loading
* feat(helm): updates for new preview service queue setup
* feat(preview-service): launch new browser for each job
* feat(preview-service): add timeout, fix liveliness
* fix(helm): add access to new secret in service accounts
* tidy metrics into a separate file
* Remove broken preview service acceptance test
* fix broken import
* Add metrics to test
* feat(preview-service): handle preview service shutdown properly
* fix(previews): merge bork
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
* fix(server/prometheus): ensure consistent Prometheus registry is used
- there was a conflicting dependency between Metrics initialization and Modules initialization; resolved by separating registry initialization from metrics initialization
- pass in the registry to prevent implicit dependency being broken
- when registering a metric, first attempt to remove any of existing metrics with same name to prevent errors
- to prevent sneaky uses of the implicit registry, replace default import with explicit import so it is clearer when prometheusClient.registry is used
* Add tests for registering metrics
* New middleware. New page structure
* Changes from designs
* New workspace creation flow
* FF Hide SSO
* No middleware with no FF
* When to show join
* Update Join description text based on count
* Use new FF
* Major changes
* Update join text
* New FF in middleware
* Discoverable Banners
* Fix cache warning
* Undo merge conflict
* Revert merge conflicts
* Remove unneeded change
* Rename
* Revert merge issues
* Fix error
* Remove FF
* Check workspaces is enabled
* Use FF to show old onboarding flow
* Remove unused FF
* Fixes from PR
* Remove Region & SSO
* Revert workspace wizard changes
* WorkspaceDiscoverableWorkspacesCard
* Remove old code that was hidden with FF
* Fix
* Changes from call with Mike
* Fix typo
* Fix typo
* Update JoinPage.vue
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>