Commit Graph
49 Commits
Author SHA1 Message Date
Guilherme Caulada 442e533803 CI: Rename scripts that build artifacts to use _build_ (#77005)
Rename scripts that build artifacts to use _build_
2023-10-23 20:14:12 -03:00
Guilherme Caulada d29af5ec08 CI: Fix validate-npm-packages regex to work without version suffix (#76838)
Fix validate-npm-packages regex to work without suffix
2023-10-19 15:06:00 -05:00
Guilherme Caulada 24a14f3cd7 CI: Implement RGM pipeline parity between editions (#76283)
* Implement RGM pipeline parity between editions

* Use grafana/grafana-build:dev-11c8a20

* Use grafana/grafana-build:dev-261c863

* Use grafana/grafana-build:dev-2db3b18

* Switch nightly trigger for testing purposes

* Use grafana-dev api key for testing

* Use grafana/grafana-build:dev-d4d2e26

* Use grafana-dev api key

* Use production variables

* Revert nightly trigger to cron
2023-10-17 11:13:14 -03:00
Guilherme Caulada 165b4c3f66 CI: Use production gcom api for nightly builds (#76201)
* Use production gcom api for nightly builds

* Use production package repositories

* Remove unused confusing env variable

* Comment out previous gcom nightly pipeline

* Remove unused grafana-com-nightly pipeline

* Remove unused import from cron.star
2023-10-09 12:55:15 -03:00
Guilherme Caulada 3b727eb96c CI: Use nightly-release cron for nightly releases (#76000)
Use nightly-release cron for nightly releases
2023-10-05 07:44:24 +02:00
Guilherme Caulada 55781b486c CI: Add nightly prerelease builds (#74119)
* Add nightly prerelease builds

* Fix duplicated pipeline names

* Fix misnamed dependencies

* Fix misnamed dependencies

* Fix string formatting

* Add option to specify bucket to RGM pipeline

* Fix trigger?

* Comment out cron triggers

* Fix windows bucket for nightly

* Fix versioning for windows and verify pipelines

* Use grafana/grafana-build:dev-209553c

* Fix version on windows steps

* Fix version on windows steps

* Fix windows .zip path

* Fix windows .zip path

* Remove windows builds from nightly for now

* Remove verify release pipeline from nightly

* Add docstring to rgm_release

* Revert changes to get_windows_steps

* Simplify changes to rgm.star

* Use grafana/grafana-build:dev-f5a15d4

* Add rgm copy step

* Use grafana/grafana-build:dev-d88be0f

* Fix destination variable

* Escape copy destination environment variable

* Add -r flag to rgm copy command

* Add dependency to rgm-copy step

* Add dist volume

* Use absolute path for dist volume

* Move dist folder to drone workspace

* Delegate drone workspace path to grafana-build

* Use grafana/grafana-build:dev-66149b8

* Lower folder depth

* Use grafana/grafana-build:dev-7355791

* Add rgm-nightly-publish pipeline

* Merge imports on rgm.star

* Fix rgm_copy to allow copying to local destination

* Use grafana/grafana-build:dev-36ec1e2

* Use grafana/grafana-build:dev-634d8dc

* Use grafana/grafana-build:dev-7a93728

* Use grafana/grafana-build:dev-5e36725

* Use grafana/grafana-build:dev-f5ebe1f

* Fix copy source for nightly builds

* Fix drone build number on rgm-copy step

* Use grafana/grafana-build:dev-637583f

* Use grafana/grafana-build:dev-f2cc524

* Allow tag trigger on grafana/grafana for testing

* Use grafana/grafana-build:dev-c71d4b7

* Use grafana/grafana-build:dev-63beac8

* Use grafana/grafana-build:dev-224a0dd

* Add environment variables for package publishing

* Revert unintentional change to dataquery.cue

* Add package publish step to nightly pipeline

* Use GCS path for package publish

* Pre-evaluate drone workspace on packages path

* Use hardcoded drone workspace path

* Remove unused env from publish packages step

* Use grafana/grafana-build:dev-657ea6a

* Use grafana/grafana-build:dev-1a9beec

* Use grafana/grafana-build:dev-f0053c8

* Use grafana/grafana-build:main

* Use grafana/grafana-build:dev-ae5182f

* Use grafana/grafana-build:dev-ec3ec36

* Use grafana/grafana-build:dev-5e160d8

* Use grafana/grafana-build:dev-142d2dc

* Use grafana/grafana-build:dev-db6bff1

* Use grafana/grafana-build:main

* Change nightly trigger to cron
2023-10-04 13:55:43 -03:00
Guilherme Caulada ab7e655737 CI: Use new release eng managed grafanacom api key (#74017)
Use new release eng managed grafanacom api key
2023-08-29 17:21:44 +03:00
Guilherme Caulada 57960148e4 Chore: update latest.json to 10.1.0 (#73720) 2023-08-25 08:31:07 +02:00
Guilherme Caulada 971f5f14be CI: Make RGM the main pipeline for prerelease (#72295)
* Make RGM the main pipeline for prerelease

* Use grafana/grafana-build:dev-bd41660

* Use grafana/grafana-build:dev-fda506a

* Fix destination url

* Update vault secrets

* Move bucket path to environment

* Use grafana/grafana-build:dev-2f36afa

* Revert to grafana/grafana-build:main

* Add repo to rgm_main trigger
2023-07-28 09:58:22 -05:00
Guilherme Caulada 142cbc2ec6 CI: Fix verify-prerelease-assets pipeline (#72226)
* Fix verify-prerelease-assets pipeline

* Comment out unused assets
2023-07-24 18:30:02 -03:00
Guilherme Caulada f005a375db CI: Run only Grafana builds on RGM for grafana/grafana (#72144)
* Run only OSS builds on RGM for grafana/grafana

* Update script name

* Ignore windows step failure for RGM
2023-07-21 15:50:06 -05:00
Guilherme Caulada 4c80bcf35f CI: Allow RGM to create msi for multiple editions (#71883)
* Allow RGM to create msi for multiple editions

* Remove suffix from build-windows-installer step

* Invert exit code on verify_release_pipeline
2023-07-18 17:09:08 -03:00
Guilherme Caulada 4caa773401 CI: Add rgm compatible windows msi pipeline (#71678)
* Add rgm compatible windows msi pipeline

* Fix dependencies and platform

* Fix missing arg comment

* Fix linting issues

* Try to fix version on file path

* Fix dependency on verify release pipeline
2023-07-14 17:27:07 -03:00
Guilherme Caulada 69fc4e6bc0 Changelog: Add CVE to 9.4.13 changelog (#70558)
Add CVE to 9.4.13 changelog
2023-06-22 18:14:18 -03:00
Guilherme Caulada 614427c602 Build: Add optional build-args for COMMIT_SHA and BUILD_BRANCH (#66672)
* Remove .git from .dockerignore

* Revert "Remove .git from .dockerignore"

This reverts commit 5a4658f270.

* Add optional COMMIT_SHA and BUILD_BRANCH environment variables
2023-04-18 10:03:27 -03:00
Guilherme Caulada ac09372abf Docker: Allow to get commit sha when using root Dockerfile (#65870)
* Allow to get commit sha when using root Dockerfile
2023-04-03 15:24:14 -03:00
Guilherme Caulada 8f282b8a6e Build: Add CloudMode to build versions (#65651)
* Add CloudMode to build versions

* Use linux-amd64 variant without musl for cloud mode

* Add cloud mode to version folder on package upload

* Use musl variant for CloudMode

* Only sign rpm packages if there's any to sign

* Remove trailing whitespace
2023-04-03 11:15:39 -03:00
Guilherme Caulada ac03c0efed Docker: Allow docker-build-full to work for BSD and GNU based systems (#65216)
* Replace tmp folder for tar stdin on build-docker-full

* Fix building linux/arm64 images using the Dockerfile
   Introduces JS_PLATFORM variable with linux/amd64 as default to allow building node packages.

* Revert unintended white line changes on Dockerfile
2023-03-23 12:03:25 -03:00
Guilherme Caulada 69aba3eed3 Dockerfile: Allow building docker images locally for different editions (#63893)
* Allow to build different editions from dockerfile

* Fix missing argument on dockerfile
2023-02-28 17:18:00 -03:00
Guilherme Caulada 6e7187a042 E2E: Add necessary components and pages for oem-suite (#63216)
Add necessary components and pages for oem-suite
2023-02-20 09:55:12 -03:00
Guilherme Caulada 9a25a03e49 Tests: Add boilerplate code to support e2e tests on enterprise (#61959)
* Add e2e boilerplate for enterprise tests

* Remove enterprise symlink file

* Add tsconfig to e2e extensions folder and gitignore

* Update run-suite to use extensions folder

* Remove unnecessary tsconfig file

* Update e2e enterprise paths on gitignore

* Copy symlinked e2e enterprise files on run-suite

* Add cleanup command to run-suite

* Improve cleanup and setup for enterprise e2e tests

* Update e2e path for enterprise tests on gitignore

* Support to run different e2e tests for each license
2023-01-26 18:04:13 -03:00
Guilherme Caulada 1a9b6873e6 Store: Add mock for system users to be used in tests (#61245)
Add mock for system users to be used in tests
2023-01-11 11:50:22 -03:00
Guilherme Caulada 414df842b8 Build: Add command to publish to AWS Marketplace through the pipeline (#59068)
* Remove generic variables from publish github action

* Create publish aws cmd to automate aws releases

* Add tests to publish aws cmd

* Replace fmt with log for prints

* Remove unnecessary type assertions

* Readd mistakenly removed go package

* Replace log with fmt for prints due to conflicts

* Update github tests to conform with casing
2022-11-22 13:04:14 -03:00
Guilherme Caulada cfd9e72da5 Add dashboards to the navtree on public dashboards (#57542) 2022-10-24 16:34:27 -03:00
Guilherme Caulada 96a97f9827 Build: Add github release command to build/cmd (#56349)
* Add github release command to build/cmd

* Use go-github library and implement dry-run

* Make tag optional and default to metadata

* Fix minor bug with tag default

* Make some refactors to ease testing

* Add tests for publish github command

* Refactor publish github tests

* Refactor test helper function name

* Isolate local test
2022-10-20 11:11:53 -03:00
Guilherme Caulada 313c88f3e1 Reapply public dashboard granularity fix (#57129) 2022-10-17 22:11:59 -03:00
Guilherme Caulada 2a12644778 Links: Fix opening links from different orgs on the same tab (#55837)
* Skip intercepting links of different orgs

* Check if orgId is present on query params

* Use locationSearchToObject instead of parseKeyValue

* Revert locationSearchToObject to parseKeyValue
2022-09-27 16:50:05 -03:00
Guilherme Caulada 6674407d3f Revert public dashboard granularity fix (#55844) 2022-09-27 12:41:14 -03:00
Guilherme Caulada 9c2f3045b4 PublicDashboards: Resolve interval for public dashboard data source (#55489)
* Resolve interval for public dashboard data source

* Remove type assertions in favor of 'in'

* Add org id to public dashboard requests
2022-09-21 13:29:27 -03:00
Guilherme Caulada 3b1fc18692 PublicDashboards: Ignore time range input and changes on public dashboard (#55412)
* Ignore time range input and changes on public dashboard

* Use config instead of getConfig to access boot config
2022-09-19 15:16:27 -03:00
Guilherme Caulada ee899e8c3a PublicDashboards: Sanitize metadata from public dashboard queries (#55269)
* Add function to remove metadata from queries

* Add test for RemoveMetadataFromQueryData function

* Remove only custom data and executed query string

* Add sanity check to SanitizeMetadataFromQueryData
2022-09-19 12:44:29 -03:00
Guilherme Caulada 82708df287 PublicDashboards: Add link to public dashboards docs to sharing modal (#55186) 2022-09-14 15:05:15 -03:00
Guilherme Caulada b06eaf66b6 Public Dashboards: Replace simplejson with TimeSettings on dashboard struct (#55047)
* Replace simplejson for TimeSettings on PublicDashboard struct

* Implement xorm conversion interface to TimeSettings

* Fix minor test assertion issue
2022-09-13 13:33:41 -03:00
Guilherme Caulada 942be4215a Secrets: Improve error handling for secrets manager plugin (#54811)
* Improve error handling for secrets manager plugin

* Update sever lock log for secret migration to Error

* Move plugin started check to a separate function

* Fix nil pointer exception on HasPluginStarted
2022-09-08 17:26:47 -03:00
Guilherme Caulada 20589f76f4 Secrets: Convert secret migration to a background service (#54676)
* Convert secret migration to a background service

* Fix merge conflicts

* Return concrete type for secret migration provider
2022-09-06 16:21:25 -03:00
Guilherme Caulada f4a35a4645 Secrets: Implement secrets manager plugin fallback store (#54496)
* Refactor fallback to be isolated to plugin secret store

* Check for error value on replace fallback test helper

* Move ResetPlugin from test_helpers.go to plugin.go

* Add check to GetUnwrappedStoreFromCache

* Add fallback GetAll query to WithFallbackEnabled

* Add mutex lock to WithFallbackEnabled

* Add cache to fallback store

* Fix linter issues

* Fix linter issues

* Fix linter issues
2022-09-02 12:39:18 -03:00
Guilherme Caulada f25c7f6ddd Chore: Refactor secrets kvstore to organize testing and migrations (#54249)
* Refactor migrations and tests for secrets kvstore

* Use fake secrets store as a shortcut on tests

* Update wire

* Use global migration logger

* Fix ds proxy tests

* Fix linting issues

* Rename data source test setup function
2022-08-25 18:04:44 -03:00
Guilherme Caulada d90600c454 Secrets: Add fallback to secrets kvstore plugin (#54056)
* Add fallback to secrets kvstore plugin

* Fix linter issues

* Fix linter issues

* Add deletion error to bool to fake secrets kvstore

* Add fallback to fake secrets kvstore

* Fix fake secrets kvstore fallback setter

* Use Key on Item message for secrets manager protobuf

* Add clarifying comment about fallback
2022-08-23 12:21:54 -03:00
Guilherme Caulada 2e9edf4592 Secrets: Refactor code duplicity on secrets sql kvstore (#54032) 2022-08-22 11:48:57 -03:00
Guilherme Caulada 7554322327 Fix middleware tests for public dashboards (#53557) 2022-08-10 17:12:25 -04:00
Guilherme Caulada 7924d3b3b5 Secrets: Move license check to secret store plugin (#53185)
* Move license check to secret store plugin

* Use shouldUseRemoteSecretsPlugin for migration

* Encapsulate plugin startup logic in sync.Once

* Remove global logger from startup functions

* Fix issues with wire and secrets plugin check

* Remove todo for plugin fatal error

* Rename fatalErr variable to be less confusing

* Fix merge conflicts

* Fix issue with grafana-cli wire and opentsdb

* Remove duplicated import on remote plugin

* Rename plugin check in favor of error return value

* Remove unnecessary import on grafana-cli wireexts_oss

* Remove unnecessary import on grafana wireexts_oss

* Reset sync.Once during test setup

* Remove unrelated opentsdb change on grafana-cli wire

* Readd opentsdb change on grafana-cli wire
2022-08-10 16:47:03 -03:00
Guilherme CauladaandSofia Papagiannaki 2d8a91a846 Secrets: Improve unified secrets migration and implement compatibility flag (#50463)
* Implement disableSecretsCompatibility flag

* Allow secret deletion right after migration

* Use dialect.Quote for secure_json_data on secret deletion

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Set secure_json_data to NULL instead of empty json

* Run toggles_gen_test and use generated flag variable

* Add ID to delete data source secrets command on function call

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Remove extra query to get datasource on secret deletion

* Fix linting issues with CHANGELOG.md

* Use empty json string when deleting secure json data

* Implement secret migration as a background process

* Refactor secret migration as a background service

* Refactor migration to be inside secret store

* Re-add secret deletion function removed on merge

* Try using transaction to fix db lock during tests

* Disable migration for pipeline debugging

* Try adding sleep to fix database lock

* Remove unecessary time sleep from migration

* Fix merge issue, replace models with datasources

* Try event listener approach

* Fix merge issue, replace models with datasources

* Fix linting issues with unchecked error

* Remove unecessary trainling new line

* Increase wait interval on background secret migration

* Rename secret store migration folder for consistency

* Convert background migration to blocking

* Fix number of arguments on server tests

* Check error value of secret migration provider

* Fix linting issue with method varaible

* Revert unintended change on background services

* Move secret migration service provider to wire.go

* Remove unecessary else from datasource service

* Move transaction inside loop on secret migration

* Remove unecessary GetServices function

* Remove unecessary interface after method removal

* Rename Run to Migrate on secret migration interface

* Rename secret migrations service variable on server

* Use MustBool on datasource secret migration

* Revert changes to GetDataSources

* Implement GetAllDataSources function

* Remove DeleteDataSourceSecrets function

* Move datasource secret migration to datasource service

* Remove unecessary properties from datasource secret migration

* Make DecryptLegacySecrets a private method

* Remove context canceled check on secret migrator

* Log error when fail to unmarshal datasource secret

* Add necessary fields to update command on migration

* Handle high availability on secret migration

* Use kvstore for datasource secret migration status

* Add error check for migration status set on kvstore

* Remove NewSecretMigrationService from server tests

* Use const for strings on datasource secrets migration

* Test all cases for datasources secret migrations

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-12 17:27:37 -03:00
Guilherme Caulada d5185f8ab9 Secrets: Implement unified secrets short lived cache (#51275)
* Implement unified secrets short lived cache

* Improve debug logging for unified secrets cache

* Re-add decryption cache to sql secret kvstore

* Remove cache from remote secret store plugin

* Revert secret store helpers implementation

* Remove cache from secret store plugin struct

* Update secret store cache to implement interface

* Set secret store cache value on get

* Fix issues with sql secret store decryption cache

* Increase clean up interval on cached secret store
2022-06-29 12:00:24 -03:00
Guilherme Caulada 470be98588 Secrets: Fix unified secrets backwards compatibility (#49719)
* Fix unified secrets backwards compatibility

* Add compatibility fix to AddDataSource function

* Allow updating password on fail to decrypt secrets

* If unified secret is corrupt try migrating
2022-06-01 10:45:43 -03:00
Guilherme Caulada 2e9c38c951 Secrets: Add unified secrets table to reencryption (#48582)
* Add secrets table to reencryption

* Add updated column check for b64Secret reencryption

* Use field values for b64Secret to clarify booleans
2022-05-02 18:15:46 -03:00
Guilherme Caulada 2533f21015 DataSource: Fix secure json data reset on datasource update (#48557)
* Fix secure json data reset on datasource update

* Update fillWithSecureJSONData to use DecryptedValues

* Remove unecessary conversion

* Move fillWithSecureJsonData logic to datasource service

* Add sanity check for nil secure json data
2022-05-02 11:29:13 -03:00
Guilherme Caulada 53e9bf47db Secrets: Implement tests and debug log improvements on unified secrets (#48213)
* Add test for decrypted values on datasource service

* Add debug log when fail to parse secure json fields

* Fix minor import issue

* Refactor encJson to json and simplejson to sjson on tests
2022-04-25 15:12:44 -03:00
Guilherme Caulada a367ad730c Secrets: Implement basic unified secret store service (#45804)
* wip: Implement kvstore for secrets

* wip: Refactor kvstore for secrets

* wip: Add format key function to secrets kvstore sql

* wip: Add migration for secrets kvstore

* Remove unused Key field from secrets kvstore

* Remove secret values from debug logs

* Integrate unified secrets with datasources

* Fix minor issues and tests for kvstore

* Create test service helper for secret store

* Remove encryption tests from datasources

* Move secret operations after datasources

* Fix datasource proxy tests

* Fix legacy data tests

* Add Name to all delete data source commands

* Implement decryption cache on sql secret store

* Fix minor issue with cache and tests

* Use secret type on secret store datasource operations

* Add comments to make create and update clear

* Rename itemFound variable to isFound

* Improve secret deletion and cache management

* Add base64 encoding to sql secret store

* Move secret retrieval to decrypted values function

* Refactor decrypt secure json data functions

* Fix expr tests

* Fix datasource tests

* Fix plugin proxy tests

* Fix query tests

* Fix metrics api tests

* Remove unused fake secrets service from query tests

* Add rename function to secret store

* Add check for error renaming secret

* Remove bus from tests to fix merge conflicts

* Add background secrets migration to datasources

* Get datasource secure json fields from secrets

* Move migration to secret store

* Revert "Move migration to secret store"

This reverts commit 7c3f872072.

* Add secret service to datasource service on tests

* Fix datasource tests

* Remove merge conflict on wire

* Add ctx to data source http transport on prometheus stats collector

* Add ctx to data source http transport on stats collector test
2022-04-25 13:57:45 -03:00
Guilherme Caulada 29268483c2 HTTPServer: Implement named middlewares (#44231)
* Implement named middlewares on http server

* Fix minor ordering issue with named middlewares
2022-01-24 10:41:18 -03:00