### 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
Switched all file operations from ioutil package to io and os packages due to the deprecation of ioutil in Go 1.16. This change contributes to the maintainability of the codebase, ensuring it's up-to-date with the current standard library. Additionally, implemented usage of filepath.Join for platform-independent file paths.
* feat: auto provisioning of SSO users rather than needing invite link to login each user
* updating errors
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: set IsUser: true when SSO feature is available
* fix: signoz login from IDP (#3396)
* fix: enable login from IDP with relayState set with domainName
* update comments on function
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: added error checks to fetch domain from SAML relay state
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* [feat] initial version for google oauth
* chore: arranged the sso packages and added prepare request for google auth
* feat: added google auth config page and backend to handle the request
* chore: code cleanup for domain SSO parsing
* Update constants.go
* chore: moved redirect sso error
* chore: lint issue fixed with domain
* chore: added tooltip for enforce sso and few changes to auth domain
* chore: moved question mark in enforce sso
* fix: resolved pr review comments
* chore: fixed type check for saml config
* fix: fixed saml config form
* chore: added util for transformed form values to samlconfig
Co-authored-by: mindhash <mindhash@mindhashs-MacBook-Pro.local>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>