* feat(user): support sso and api key
* feat(user): remove ee references from pkg
* feat(user): remove ee references from pkg
* feat(user): related client changes
* feat(user): remove the sso available check
* feat(user): fix go tests
* feat(user): move the middleware from ee to pkg
* feat(user): some more error code cleanup
* feat(user): some more error code cleanup
* feat(user): skip flaky UI tests
* feat(user): some more error code cleanup
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(savedview): refactor into module and handler
* chore(rule): move telemetry inside telemetry
* chore(apdex): refactor apdex and delete dao
* chore(dashboard): create a dashboard module
* chore(ee): get rid of the init nonesense
* chore(dashboard): fix err and apierror confusion
* chore: address comments
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added support for custom quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat(zeus): add zeus package
* feat(signoz): add DI for zeus
* feat(zeus): integrate with the codebase
* ci(make): change makefile
* ci: change workflows to point to the new zeus url
* Update ee/query-service/usage/manager.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update ee/query-service/license/manager.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix nil retriable
* fix: fix zeus DI
* fix: fix path of ldflag
* feat(zeus): added zeus integration tests
* feat(zeus): added zeus integration tests
* feat(zeus): format the pytest
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: vikrantgupta25 <vikrant.thomso@gmail.com>
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* feat(organization): add hname and alias for organization
* fix: boolean values are not shown in the list panel's column
* fix: moved logic to component level
* fix: added type
* fix: added test cases
* fix: added test cases
* chore: update copy webpack plugin
* Revert "fix: display same key with multiple data types in filter suggestions by enhancing the deduping logic (#7255)"
This reverts commit 1e85981a17a8e715e948308d3e85072d976907d3.
* fix: use query search v2 for traces data source to handle multiple data types for the same key
* fix(QueryBuilderSearchV2): add user typed option if it doesn't exist in the payload
* fix(QueryBuilderSearchV2): increase the height of search dropdown for non-logs data sources
* fix: display span scope selector for trace data source
* chore: remove the span scope selector from qb search v1 and move the component to search v2
* fix: write test to ensure that we display span scope selector for traces data source
* fix: limit converting -> only to log data source
* fix: don't display empty suggestion if only spaces are typed
* chore: tests for span scope selector
* chore: qb search flow (key, operator, value) test cases
* refactor: fix the Maximum update depth reached issue while running tests
* chore: overall improvements to span scope selector tests
Resource attr filter: style fix and quick filter changes (#7691)
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
* fix: scroll fix
* chore: add data source traces to quick filters
* chore: replace div with fragment
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
fix: handle rate operators for table panel (#7695)
* fix: handle rate operators for table panel
chore: fix error rate (#7701)
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat(organization): minor cleanups
* feat(organization): better naming for api and usecase
* feat(organization): better packaging for modules
* feat(organization): change hname to displayName
* feat(organization): update the migration to use dialect
* feat(organization): update the migration to use dialect
* feat(organization): update the migration to use dialect
* feat(organization): revert back to impl
* feat(organization): remove DI from organization
* feat(organization): address review comments
* feat(organization): address review comments
* feat(organization): address review comments
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: multitenancy in integrations
* chore: multitenancy in cloud integration accounts
* chore: changes to cloudintegrationservice
* chore: rename migration
* chore: update scan function
* chore: update scan function
* chore: fix migration
* chore: fix struct
* chore: remove unwanted code
* chore: update scan function
* chore: migrate user and pat for integrations
* fix: changes to the user for integrations
* fix: address comments
* fix: copy created_at
* fix: update non revoked token
* chore: don't allow deleting pat and user for integrations
* fix: address comments
* chore: address comments
* chore: add checks for fk in dialect
* fix: service migration
* fix: don't update user if user is already migrated
* fix: update correct service config
* fix: remove unwanted code
* fix: remove migration for multiple same services which is not required
* fix: fix migration and disable disaboard if metrics disabled
* fix: don't use ee types
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* feat(sqlmigration): update apdex and TTL status tables (#7481)
* feat(sqlmigration): update the apdex and ttl tables
* feat(sqlmigration): register the new migration and rename table
* feat(sqlmigration): fix the ttl queries
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): fix the reset password and pat tables (#7482)
* feat(sqlmigration): fix the reset password and pat tables
* feat(sqlmigration): revert PAT changes
* feat(sqlmigration): register and rename the new migration
* feat(sqlmigration): handle updates for user tables
* feat(sqlmigration): remove unwanted changes
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* chore: add migration for pat to add default values
* fix: minor changes
* fix: don't panic in GetClickhouseColumnName
* fix: use new function for pat
* fix: address minor comments
* fix: address comments
* fix: remove generatepat
* fix: minor changes
* fix: remove extra check
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* fix: inital commit for pat
* fix: add migration file
* fix: add domain changes
* fix: minor fixes
* fix: update migration
* fix: update migration
* fix: update pat and old migration
* fix: move domain and sso type to ee
* fix: support multitenancy in dashboards
* fix: support multitenancy in saved views
* fix: move migrations to provider file
* fix: remove getUserFromClaims and use new errors
* fix: remove getUserFromClaims and use new errors
* fix: use new errors in dashboards.go
* Update ee/query-service/app/api/dashboard.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: minor changes
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
### Summary
Integrate the new implementations of the alertmanager along with changes to the ruler. This change can be broadly categoried into 3 parts:
#### Frontend
- The earlier `/api/v1/alerts` api was double encoding the response in json and sending it to the frontend. This PR fixes the json response object.
For instance, we have gone from the response `{
"status": "success",
"data": "{\"status\":\"success\",\"data\":[{\"labels\":{\"alertname\":\"[platform][consumer] consumer is above 100% memory utilization\",\"bu\":\"platform\",\"......
}` to the response `{"status":"success","data":[{"labels":{"alertname":"[Metrics] Pod CP......`
- `msteams` has been changed to `msteamsv2` wherever applicable
#### Ruler
The following changes have been done in the ruler component:
- Removal of the old alertmanager and notifier
- The RuleDB methods `Create`, `Edit` and `Delete` have been made transactional
- Introduction of a new `testPrepareNotifyFunc` for sending test notifications
- Integration with the new alertmanager
#### Alertmanager
Although a huge chunk of the alertmanagers have been merged in previous PRs (the list can be found at https://github.com/SigNoz/platform-pod/issues/404), this PR takes care of changes needed in order to incorporate it with the ruler
- Addition of ruleId based matching
- Support for marshalling the global configuration directly from the upstream alertmanager
- Addition of orgId to the legacy alertmanager
- Support for always adding defaults to both routes and receivers while creating them
- Migration to create the required alertmanager tables
- Migration for msteams to msteamsv2 has been added. We will start using msteamv2 config for the new alertmanager and keep using msteams for the old one.
#### Related Issues / PR's
Closes https://github.com/SigNoz/platform-pod/issues/404
Closes https://github.com/SigNoz/platform-pod/issues/176
* fix: support multitenancy in org
* fix: register and login working now
* fix: changes to migration
* fix: migrations run both on sqlite and postgres
* fix: remove user flags from fe and be
* fix: remove ingestion keys from update
* fix: multitenancy support for apdex settings
* fix: render ts for users correctly
* fix: fix migration to run for new tenants
* fix: clean up migrations
* fix: address comments
* Update pkg/sqlmigration/013_update_organization.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix build
* fix: force invites with org id
* Update pkg/query-service/auth/auth.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address comments
* fix: address comments
* fix: provier with their own dialect
* fix: update dialects
* fix: remove unwanted change
* Update pkg/query-service/app/http_handler.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: different files for types
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: get started on PAT provisioning for AWS integration
* chore: include cloud integration PAT in connection params
* chore: some cleanup
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: include GatewayUrl in APIHandler options
* feat: logic for getting or creating an ingestion key when available
* feat: helper for generating ingestion url
* feat: also include deduced SigNoz API URL in connection params response
* chore: some cleanup
* chore: some more cleanup
* chore: address a PR comment
* chore: some cleanup
* chore: pass down context
* fix: inital changes for telemetry store
* fix: add tests and use proper config for conn
* fix: add telemetry store test
* fix: add backward compatibility for old variables and update example conf
* fix: move wrapper to telemetry store
* fix: no need to pass query for settings
* fix: remove redundant config for ch conn
* fix: use clickhouse dsn instead
* fix: update example config
* fix: update backward compatibility code
* fix: use hooks in telemetrystore
* fix: address minor comments
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* feat: init app/cloud_integrations
* feat: get API test started for cloudintegrations account lifecycle
* feat: cloudintegrations: get controller started
* feat: cloud integrations: add cloudintegrations.Controller to APIHandler and servers
* feat: cloud integrations: get routes started
* feat: cloud integrations: get accounts table schema started
* feat: cloud integrations: get cloudProviderAccountsSQLRepository started
* feat: cloud integrations: cloudProviderAccountsSQLRepository.listAccounts
* feat: cloud integrations: http handler and controller plumbing for /generate-connection-url
* feat: cloud integrations: cloudProviderAccountsSQLRepository.upsert
* feat: cloud integrations: finish up with /generate-connection-url
* feat: cloud integrations: add cloudProviderAccountsRepository.get
* feat: cloud integrations: add API test expectation for being able to get account status
* feat: cloud integrations: add http handler and controller method for getting account status
* feat: cloud integrations: ensure unconnected accounts aren't included in list of connected accounts
* feat: cloud integrations: add test expectation for agent check in request
* feat: cloud integrations: agent check in API
* feat: cloud integrations: ensure polling for status after agent check in works
* feat: cloud integrations: ensure account included in connected account list after agent check in
* feat: cloud integrations: add API expectation for updating account config
* feat: cloud integrations: API for updating cloud account config
* feat: cloud integrations: expectation for agent receiving latest config after account config update
* feat: cloud integrations: expectation for disconnecting cloud accounts from UI
* feat: cloud integrations: API for disconnecting cloud accounts
* feat: cloud integrations: some cleanup
* feat: cloud integrations: some more cleanup
* feat: cloud integrations: repo: scope rows by cloud provider
* feat: testutils: refactor out helper for creating a test sqlite DB
* feat: cloud integrations: controller: add test validating regeneration of connection url
* feat: cloud integrations: controller: validations for agent check ins
* feat: cloud integrations: connected account response structure
* feat: cloud integrations: API response account structure
* feat: cloud integrations: some more cleanup
* feat: cloud integrations: remove cloudProviderAccountsRepository.GetById
* feat: cloud integrations: shouldn't be able to disconnect non-existent account
* feat: cloud integrations: validate agents can't check in to cloud account with 2 signoz ids
* feat: cloud integrations: ensure agents can't check in to cloud account with 2 signoz ids
* feat: cloud integrations: remove stray import of ee/model in cloudintegrations controller
* feat: added new API endpoint for fetching the active license
* feat: add setup for apis on frontend
* feat: frontend infrastructure changes for app context and workspace suspended
* feat: added workspace suspended component
* feat: send back to application if workspace is not suspended
* feat: added the missing creative
* chore: only move to suspended state when state is payment_failed
* chore: address review comments
* fix: tab naming
* feat: trace v4 inital commit
* fix: add remaining files
* fix: integrate with querier
* fix: get trace by id api updated
* fix: add servicename resource filter
* fix: tests
* fix: use correct prepQUery
* fix: services page
* fix: minor fixes to use the new table in api's and querier
* fix: add support for window based pagination
* feat: support for faster trace detail
* fix: searchTraces
* fix: attribute enrichment updated and issue in group by
* fix: issues in group by
* fix: enrichment using alias
* fix: test file added
* fix: tests
* fix: group by with filters
* fix: add subquery
* fix: trigger builde
* fix: update pagination logic and few ch column names
* fix: update qb
* fix: add tests
* feat: minor fixes
* fix: update pagination logic
* fix: update pagination logic
* fix: remove utils
* fix: remove unwanted API's
* fix: attribute and attribute values v2
* fix: autocomplete api's updated
* fix: tests fixed
* feat: minor fixes
* fix: update telemetry functions
* fix: dont use alias, use proper col names
* fix: move models to it's own file
* fix: minor fixes
* fix: address comments
* fix: add to serviceoverview function
* fix: add changes to overview function
* fix: address comments
* fix: remove printlines
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: setup for licenses v3 integration
* feat: added some more logic
* feat: validator changes
* chore: added a couple of todos
* feat: added config parameter for licenses v3 and the boot option
* feat: some typo fix
* feat: added refresh licenses handler
* feat: handle the start manager license activation
* chore: text updates
* feat: added list licenses call
* chore: refactor the entire code to cleanup interfaces
* fix: nil pointer error
* chore: some minor edits
* feat: model changes
* feat: model changes
* fix: utilise factory pattern
* feat: added default basic plan
* chore: added test cases for new license function
* feat: added more test cases
* chore: make the licenses id not null
* feat: cosmetic changes
* feat: cosmetic changes
* feat: update zeus URL
* chore: license testing fixes
* feat: added license status and category handling for query-service
* chore: added v3 support in v2 endpoint
* chore: http response codes and some code cleanup
* chore: added detailed test cases
* chore: address review comments
* chore: some misc cleanup