Commit Graph
60 Commits
Author SHA1 Message Date
Joan López de la Franca Beltran 584381e838 Swagger: Type postDashboardResponse.id as int instead of string (#76749)
* Swagger: Type postDashboardResponse.id as int instead of string

* Swagger: Type postDashboardResponse.id as int64
2023-10-19 09:16:53 +02:00
Joan López de la Franca Beltran 81a639bd1b Secrets: Add user_auth.o_auth_id_token column to migrator (#72239) 2023-08-28 15:20:20 +02:00
Joan López de la Franca Beltran fb0165ab87 Kinds: Reconcile verify-kinds.go with kind-registry changes (#73689)
* Kinds: Reconcile verify-kinds.go with kind-registry changes

* Remove handwritten value specific for manual test

* Update grafana/kindsys dep

* Revert "Update grafana/kindsys dep"

This reverts commit e437e1879e.

* Fix generated code
2023-08-23 16:51:50 +02:00
cc65b4d46a Secrets: Make the Migrator extensible (#67307)
* [Chore] Remove setting provider from secret service

Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>

* Add a ShouldBeRedacted func

Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>

* Secrets: Make Migrator extensible

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Tania B <yalyna.ts@gmail.com>

* Alerting: Fix tests after refactor

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Tania B <yalyna.ts@gmail.com>

* Remove commented code no longer used

* Fix Wire bindings

Co-authored-by: Tania B <yalyna.ts@gmail.com>

* Add constructors to secrets

* Linting

* Undo undesired change

---------

Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-06-19 23:44:01 +02:00
Joan López de la Franca Beltran 87a0c95164 Rendering: Experimental support to use JWTs as auth method (#60841)
* Rendering: Add support for auth through JWT

* Goimports

* Apply review suggestions

* Correct feature toggle ref

* Minor changes
2023-04-03 18:53:38 +02:00
f9abd8608e Docs: Add 'tenant_id' for Loki clients (Auditing & Analytics) (#63098)
* Docs: Add 'tenant_id' for Loki clients (Auditing & Analytics)

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2023-03-27 22:44:16 +02:00
Joan López de la Franca Beltran a0b563f596 Docs: Auditing non-JSON requests/responses (#63066)
Docs: Don't emit error logs when auditing non-JSON request/response
2023-02-08 14:57:19 +01:00
Joan López de la Franca BeltranandTania B 19ed9181e1 Kindsys: Extend DocsJenny with support for 'allOf' (#62558)
* Kindsys: Extend DocsJenny with support for 'allOf'

* Update generated docs

* Multiple refinements

* Minor fixes

* Undo undesired changes

* Fix

* Fix linter complains

---------

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2023-02-02 16:12:31 +01:00
Joan López de la Franca Beltran c4e067d49d Encryption: Cache new DEKs (only) after a caution period (#60664)
* Encryption: Cache new DEKs (only) after commit

* Fix typo

* Update secrets manager tests with new failing case

* Update secrets manager tests with new clarifications (comments)

* Correct broken method calls

* Unify methods

* Cache data keys only after a caution period

* Caution period for data keys caching only for encrypt ops
2023-01-26 10:54:31 +01:00
Joan López de la Franca Beltran 6e126596e0 Kindsys: Include CODEOWNERS to Kinds report (#61978)
* Kindsys: Include CODEOWNERS to Kinds report

* Sort CODEOWNERS for the sake of reproducibility

* Fix linter complains
2023-01-24 15:53:01 +01:00
Joan López de la Franca Beltran 479da46a9e Kindsys: Include @grafanamaturity counts to Kinds report (#61911)
* Kindsys: Include @grafanamaturity counts to Kinds report

* Replace reflect.DeepEqual with regular (in)equality op

* Move reference check to its use (inline)

* Fix linter complains
2023-01-24 09:37:32 +01:00
Joan López de la Franca Beltran c621693db0 Kindsys: Include generated-code links to Kinds report (#61910)
* Kindsys: Include generated-code links to Kinds report

* Apply feedback suggestions
2023-01-24 01:47:42 +00:00
Joan López de la Franca Beltran afef0c926c Loki: Push support for multi-tenancy mode (#60866)
* Loki: Add multitenancy support for the HTTP client

* Loki: Support to push with multitenancy mode

* Apply feedback suggestions
2023-01-23 16:24:22 +01:00
Joan López de la Franca Beltran 2b0de82aa9 SQLStore: Add test for nested transactions events (#60500)
* SQLStore: Add test for nested transactions events

* Replace fmt.Print* with t.Log*

* Add different test cases
2023-01-23 14:17:56 +01:00
Joan López de la Franca Beltran dc20b776bb Kindsys: New schema for Kinds report (#61034)
* New (desired) report output

* Kinds: New schema for kinds report

* Update report.json

* Sort dimension items
2023-01-05 22:48:13 +01:00
Joan López de la Franca Beltran 329fedb55d Codegen: Fix mudball gen (#60812)
* Codegen: Fix mudball gen

* Fix Go build tags annotations
2022-12-29 12:48:27 +01:00
Joan López de la Franca Beltran 61cd9eeb24 Kinds: Generate JSON report (#59742)
* Kinds: Generate JSON report

* Kinds: Add Validate/Write support for JSON report

* Kinds: Report format

* Kinds: Report new line

* Kinds: Use kindsys.SomeKindMeta to generate the report

* Move kinds report generation to the end

* Re-structure kinds report JSON output

* Make prettier to ignore kinds json report

* Minor on kinds report generation

* Fix toggles_gen test
2022-12-12 15:47:19 +01:00
Joan López de la Franca BeltranandIeva 0864994bcb Docs: Update Auditing docs (#57867)
* Docs: Update Auditing docs

* Update docs/sources/setup-grafana/configure-grafana/enterprise-configuration/index.md

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-10-31 14:53:46 +01:00
Joan López de la Franca Beltran 5d18b41857 Docs: Database encryption corrections (#57503)
* Docs: Database encryption corrections

* Fix relref links

* Additional corrections
2022-10-24 20:07:32 +02:00
Joan López de la Franca Beltran 1ca5c347d3 Analytics: Add datasource UID to events (#56852)
* Analytics: Add datasource UID to events
2022-10-13 17:41:52 +02:00
Joan López de la Franca Beltran ef17f12c23 Docs: Fix caching.memcached setting name (#56606) 2022-10-11 10:47:57 +02:00
Joan López de la Franca Beltran 6ec06f66b9 Rendering: Add support for renderer token (#54425)
(cherry picked from commit a4f75cc0438712c90b02d24740416f8615e3a0cb)
2022-08-30 12:09:38 +02:00
Joan López de la Franca Beltran 6b8316d510 Encryption: Fall back to AES-CFB on empty algorithm metadata (#53266) 2022-08-04 09:37:53 +02:00
Joan López de la Franca Beltran 28e27e1365 Encryption: De-duplicate encryption code with extensible service (#52472)
* Encryption: De-duplicate encryption code with extensible service

* Fix Wire injections

* Fix tests

* Register reload handler
2022-08-02 15:08:09 +02:00
Joan López de la Franca Beltran 9abe9fa702 Encryption: Expose secrets migrations through HTTP API (#51707)
* Encryption: Move secrets migrations into secrets.Migrator

* Encryption: Refactor secrets.Service initialization

* Encryption: Add support to run secrets migrations even when EE is disabled

* Encryption: Expose secrets migrations through HTTP API

* Update docs

* Fix docs links

* Some adjustments to makes errors explicit through HTTP response
2022-07-18 08:57:58 +02:00
Joan López de la Franca Beltran 7b40322bbe Encryption: Add support to run secrets migrations even when EE is disabled (#51705)
* Encryption: Move secrets migrations into secrets.Migrator

* Encryption: Refactor secrets.Service initialization

* Encryption: Add support to run secrets migrations even when EE is disabled

* Init EE providers on-demand (only when needed)

* Add multiple tests + some adjustments

* Apply feedback
2022-07-15 18:33:34 +02:00
Joan López de la Franca Beltran 973b3112d7 Encryption: Re-order error check (#52251) 2022-07-14 23:53:43 +02:00
Joan López de la Franca Beltran 81753526bd Encryption: Refactor secrets.Service initialization (#51091)
* Encryption: Refactor secrets.Service initialization
2022-07-07 09:48:25 +02:00
Joan López de la Franca Beltran 38bcd37fba Encryption: Move secrets migrations into secrets.Migrator (#51014) 2022-07-04 12:17:21 +02:00
Joan López de la Franca BeltranandTania fcf6b29987 Docs: Add envelope encryption as breaking change (#50716)
* Docs: Add envelope encryption as breaking change

* Minor improvements

* Apply suggestions from code review

Co-authored-by: Tania <yalyna.ts@gmail.com>
2022-06-14 10:04:21 +02:00
Joan López de la Franca Beltran 97baa6911d Metrics: Expose functions to initialize counters at zero (#50122) 2022-06-13 17:35:10 +02:00
Joan López de la Franca BeltranandLeonard Gram 219e848e73 SQLStore: Prevent migration_id duplicates (#47774)
* SQLStore: Prevent migration_id duplicates

* Migrations: Remove non-executed migration (duplicated id)

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-06-04 01:59:49 +02:00
Joan López de la Franca Beltran 5f1305d280 SQLStore: Add deprecation comments for breaking migrations (#49740)
* Migrator: Extend support to rename columns

* SQLStore: Add deprecation comments for breaking migrations
2022-06-03 17:42:08 +02:00
Joan López de la Franca Beltranandjguer 73a729bbe8 Login: Fix AuthInfo update process (#49556)
* Login: Fix AuthInfo update process

* Fix GoDoc

* Add regression test for oauth info overwrite

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-05-25 10:00:21 +02:00
Joan López de la Franca BeltranandTania 3e4b4dba46 Encryption: Enable envelope encryption by default (#49301)
* Encryption: Enable envelope encryption by default

* Stop relying on feature toggles from settings (deprecated)

* Database encryption docs (envelope encryption)

* Remove deprecated (and no longer used) FT

* Apply suggestions from code review

Co-authored-by: Tania <yalyna.ts@gmail.com>
2022-05-24 10:34:47 +02:00
Joan López de la Franca BeltranandTania e43879e55d Encryption: Add support for multiple data keys per day (#47765)
* Add database migrations

* Use short uids as data key ids

* Add support for manual data key rotation

* Fix duplicated mutex unlocks

* Fix migration

* Manage current data keys per name

* Adjust key re-encryption and test

* Modify rename column migration for MySQL compatibility

* Refactor secrets manager and data keys cache

* Multiple o11y adjustments

* Fix stats query

* Apply suggestions from code review

Co-authored-by: Tania <yalyna.ts@gmail.com>

* Fix linter

* Docs: Rotate data encryption keys API endpoint

Co-authored-by: Tania <yalyna.ts@gmail.com>
2022-05-23 13:13:55 +02:00
Joan López de la Franca Beltran 5645d7a5e3 Encryption: Fix b64 encoding on CLI secretsmigrations commands (#49340) 2022-05-23 07:57:48 +02:00
Joan López de la Franca Beltran 15605b6c80 Encryption: Add support for decrypting ciphertexts with algorithm metadata (#49312) 2022-05-20 17:11:51 +02:00
Joan López de la Franca Beltran 6c4eae710f Encryption: Split database transactions within migration/rollback commands (#48394) 2022-05-11 02:22:14 +02:00
Joan López de la Franca Beltran 9826a694a8 Encryption: Add Prometheus metrics (#48603) 2022-05-06 10:21:55 +02:00
Joan López de la Franca Beltran 2c2cf10405 Azure: Update Azure SDK dependencies (#46535)
* Azure: Update Azure SDK dependencies

* Add missing underscore imports for extensions
2022-04-06 10:19:04 +02:00
Joan López de la Franca Beltran 2081f37e95 Encryption: Make DEKs cache TTL & cleanup interval configurable (#46042)
* Make DEKs cache TTL & cleanup interval configurable

* Improve 'data_keys_cache_ttl' setting description

* Fix test
2022-03-16 20:05:13 +01:00
Joan López de la Franca Beltran e6a85826e9 Encryption: Refine secrets-related commands (#45201)
* CLI: Adjust 're-encrypt-data-keys' command

* CLI: Adjust 're-encrypt' command

* Multiple improvements on re-encrypt secrets migration

* Another bunch of code improvements

* Lint fixes
2022-02-23 16:04:53 +01:00
Joan López de la Franca BeltranandLeonard Gram b2655750e8 Encryption: Add support for data keys re-encryption (#43548)
* Encryption: Add support for data keys re-encryption

* Add tests for data keys re-encryption

* Update code after refactorings

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-02-03 09:15:38 +01:00
Joan López de la Franca Beltran f8105efff3 Encryption: CLI rollback command (#43935)
* Encryption: CLI rollback command

* Update flag reference to 'featuremgmt' pkg

* Update feature toggles usage

* Clean up data keys table after envelope encryption rollback
2022-02-03 07:19:18 +01:00
Joan López de la Franca Beltran 3b4e812449 Encryption: Keep legacy default provider id on providers map (#44721)
* Encryption: Keep legacy default provider id on providers map

* Minor fixes

* Refactor
2022-02-02 12:10:46 +01:00
Joan López de la Franca Beltran 532e71554f Usage Stats: Add metrics to count enabled kms providers per kind (#43640)
* Usage Insights: Add metrics to count enabled kms providers per kind

* Add backwards compatibility
2022-01-07 13:52:28 +01:00
Joan López de la Franca Beltran 80e0dd74d2 Encryption: Increase context timeout on flaky test (#43553) 2021-12-28 13:34:45 +01:00
Joan López de la Franca Beltran 83bc445d3e Encryption: Fix DEKs cache (#43129)
* Encryption: Fix DEKs cache

* Clarify tests
2021-12-27 18:04:47 +01:00
Joan López de la Franca Beltran 5183cc4dc4 Store 'alertmanager_configuration' as JSON string instead of raw bytes (#42443) 2021-12-01 17:49:57 +01:00
Joan López de la Franca Beltran 690ffdff56 Settings: Fix handling (#42497)
* Settings: Fix handling
2021-11-30 11:28:52 +01:00
0c280319af Envelope encryption CLI migration command (#41454)
* Working version of migrate secrets CLI command

* Move user oauth info encryption away from db transaction

* Enable a mechanism for re-use db session on encryption

* De-duplicate shared code between db and runner commands

* Set up Wire build graph

* Remove enterprise Wire set

* Fix cylic dependency: sqlstore.DBSession <-> xorm.Session

* Minor fix (add missing base64 encoding)

* Extract CLI 'secrets-migration' commands from 'data-migration' ones

* Move runner package outside commands

* Update Makefile (gen-go path)

* Minor prettier fix

* Some minor XORM related refactors

* Include new Wire enterprise file into .gitignore

* Update Wire deps

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2021-11-18 09:19:04 +01:00
Joan López de la Franca BeltranandDan Cech d49230d291 Grafana CLI Wire Runner (#41012)
* Set up Wire build graph

* Remove enterprise Wire set

* Move runner package outside commands

* Update Makefile (gen-go path)

* Minor prettier fix

* Include new Wire enterprise file into .gitignore

* Update Wire deps

* Update the grabpl version

Co-authored-by: Dan Cech <dcech@grafana.com>
2021-11-17 20:43:09 +01:00
Joan López de la Franca Beltran d3e19b1b3b Encryption: Improve the DX of encryption operations within database transactions (#41654)
* Move user oauth info encryption away from db transaction

* Add encryption methods with support for db session reusability
2021-11-16 11:51:13 +01:00
Joan López de la Franca Beltran 44837fc592 Replace encryption.Service usages by secrets.Service (#41625)
* Replace encryption.Service by secrets.Service on expr.Service

* Replace encryption.Service by secrets.Service on live pkg

* Rename encryption.Service to encryption.Internal to clarify it must be not used
2021-11-12 12:16:39 +01:00
722c414fef Encryption: Refactor securejsondata.SecureJsonData to stop relying on global functions (#38865)
* Encryption: Add support to encrypt/decrypt sjd

* Add datasources.Service as a proxy to datasources db operations

* Encrypt ds.SecureJsonData before calling SQLStore

* Move ds cache code into ds service

* Fix tlsmanager tests

* Fix pluginproxy tests

* Remove some securejsondata.GetEncryptedJsonData usages

* Add pluginsettings.Service as a proxy for plugin settings db operations

* Add AlertNotificationService as a proxy for alert notification db operations

* Remove some securejsondata.GetEncryptedJsonData usages

* Remove more securejsondata.GetEncryptedJsonData usages

* Fix lint errors

* Minor fixes

* Remove encryption global functions usages from ngalert

* Fix lint errors

* Minor fixes

* Minor fixes

* Remove securejsondata.DecryptedValue usage

* Refactor the refactor

* Remove securejsondata.DecryptedValue usage

* Move securejsondata to migrations package

* Move securejsondata to migrations package

* Minor fix

* Fix integration test

* Fix integration tests

* Undo undesired changes

* Fix tests

* Add context.Context into encryption methods

* Fix tests

* Fix tests

* Fix tests

* Trigger CI

* Fix test

* Add names to params of encryption service interface

* Remove bus from CacheServiceImpl

* Add logging

* Add keys to logger

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* Add missing key to logger

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* Undo changes in markdown files

* Fix formatting

* Add context to secrets service

* Rename decryptSecureJsonData to decryptSecureJsonDataFn

* Name args in GetDecryptedValueFn

* Add template back to NewAlertmanagerNotifier

* Copy GetDecryptedValueFn to ngalert

* Add logging to pluginsettings

* Fix pluginsettings test

Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-10-07 17:33:50 +03:00
Joan López de la Franca BeltranandTania B b891af935a Usage Stats: Decouple from alerting.UsageStatsQuerier (#39515)
* Usage Stats: Decouple from alerting.UsageStatsQuerier

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2021-09-23 03:12:12 +02:00
Joan López de la Franca Beltran c75737c808 Usage Stats: Decouple from GrafanaLive (#39512)
* Usage Stats: Decouple from GrafanaLive
2021-09-22 16:28:40 +02:00
Joan López de la Franca Beltran a680162792 Usage Stats: Split domain & service packages (#39488) 2021-09-21 20:50:37 +02:00
6cfb640a0b Chore: Refactor securedata to remove global encryption calls from dashboard snapshots (#38714)
* Add encryption service

* Add tests for encryption service

* Inject encryption service into http server

* Replace encryption global function usage in login tests

* Migrate to Wire

* Move Encryption bindings to OSS Wire set

* Chore: Refactor securedata to remove global encryption calls from dashboard snapshots

* Fix dashboard snapshot tests

* Remove no longer user test

* Add dashboard snapshots service tests

* Refactor service initialization

* Set up dashboard snapshots service as a background service

Co-authored-by: Tania B <yalyna.ts@gmail.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-09-01 13:05:15 +02:00