Commit Graph

1581 Commits

Author SHA1 Message Date
Jack Westbrook bbfeb8d220
Feature: Introduce subresource integrity checks (SRI) for frontend assets (#100983)
* feat(featuremgmt): introduce feature toggle for enabling sri checks

* feat(frontend): use assetSriChecks feature toggle to inject integrity hash into script tags

* chore(webpack): align sri algorithms across dev and prod builds

* docs(featuremgmt): update assetSriChecks to pass CI

* docs(featuremgmt): fix more spelling complaints with assetSriChecks

* Add crossorigin attribute

* chore(webpack): add subresource-integrity plugin

* build(webpack): wrap webpack jsonp loader integrity checks in feature flag checks

* revert(index.html): remove crossorigin attribute if assertSriChecks is disabled

---------

Co-authored-by: Kristian Bremberg <kristian.bremberg@grafana.com>
2025-03-04 11:56:35 +01:00
Jack Westbrook 859c12bbb4
Grafana UI: Expose unstable entrypoint (#97080)
* feat(grafana-ui): build unstable entrypoint for experimental components

* feat(plugins): expose grafana/ui/unstable

* build(grafana-ui): add rollup plugin to create alias package.json for unstable entrypoint

* build(packages): rewrite prepare npm script to generate alias packagejson files

* chore(packages): use relative paths in publishConfig for exports generation

* chore(frontend): move npmcli/package-json package to root package.json

* revert(grafana-ui): remove rollup plugin for generating alias package.json files

* chore(grafana-ui): clean up unstable directory postpack to prevent yarn lock issues

* build(packages): fix scope for pkgName usage

* feat(packages): create separate cjs and esm builds that validate with arethetypeswrong cli

* chore(yarn): refresh lock file

* fix(packages): make sure alias package.jsons point to existing files
2025-03-04 09:55:41 +01:00
Jev Forsberg a7ecb19c31
Chore: Update base alpine docker image (#101320)
* baldm0mma/ update base image arg

* baldm0mma/ update alpine image

* baldm0mma/ skip failing test

* baldm0mma/ specifiy patch

* baldm0mma/ flaky test?
2025-02-25 16:23:28 -07:00
Ryan McKinley e482c037bf
Chore: Update drone promote support (#101241) 2025-02-24 20:36:13 +02:00
Kevin Minehart 49e5f77dd1
CI: Remove unused release_publisher scripts (#101019)
* Remove the unused `release_publisher` script.
* Remove the "whats new check" in Drone.
* Automatically set the What's New URL in releases based on the tagged version.
2025-02-20 12:00:15 -06:00
Jack Westbrook 08000eeece
Chore: refresh betterer results file (#100863)
* chore(betterer): refresh results file

* ci(betterer): add betterer:ci script to catch out of sync results file
2025-02-18 18:23:32 +02:00
Robert Goltz 27837ee937
Chore: Update alpine docker image (minor) - 3.20.5 to 3.20.6 [security] (#100791)
* Chore: Update alpine docker image (minor) - 3.20.5 to 3.20.6 [sec-fixes]

* Chore: Regenerate .drone.yml

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-02-17 16:41:38 +01:00
Andrej Ocenas d092998927
Query Library: Move backend to enterprise (#100371)
* Move files to enterprise

* Remove last parts of QL api

* Fix CODEOWNERS
2025-02-14 11:05:03 +00:00
Sergej-Vlasov d1dee968c3
Schema V2: Adjust quick_ranges in time settings and remove time_options (#100135)
* adjut quickRanges type in v2

* clean up unused time_options property

* remove deprecated time_options property on time picker

* add schema migration for time_options

* adjust test
2025-02-12 19:23:09 +00:00
Tom Ratcliffe 1f6142dd8f
Chore: Remove betterer:merge and revert previous changes to betterer:stats (#98609) 2025-02-12 17:14:43 +02:00
Josh Hunt a9b4b1e5be
Chore: pin tonistiigi/binfmt version (#100510)
* Chore: pin tonistiigi/binfmt version

* change version to qemu-v7.0.0-28

* uninstall first, log version

* uninstall first, log version

* uninstall first, log version
2025-02-12 08:37:04 -06:00
Agnès Toulet 0beb7e668b
E2E: Add PDF/CSV/Image comparison tasks (#99104)
* E2E: Add tasks for new reporting tests

* try to switch to pdf-parse

* fix pdf comparison

* add log

* increase threshold

* clean up

* apply review feedback

* improve logs + fix local setup for reporting

* format
2025-02-07 15:46:32 +01:00
Jev Forsberg 8e3327a446
Chore: Update grabpl version to v3.1.2 (#100157)
baldm0mma/ update grabpl version
2025-02-06 15:23:51 -07:00
Andres Martinez Gotor 05ea450dd2
Drone: Add apps directory for backend tests (#100204) 2025-02-06 17:01:50 +02:00
Ashley Harrison c94b8b78ae
API client generation: Add `verify-api-clients` step to drone (#99987)
* add verify-api-clients step to drone

* change to check the verify step fails

* ignore conf dir

* rerun make drone

* undo change to make step fail
2025-02-04 09:13:44 +00:00
Alex Khomenko 443cb092b4
RTK APIs: Support multiple source files (#100029) 2025-02-04 10:32:29 +02:00
Jev Forsberg 46af49f907
Chore: Update alpine build docker image (#99998)
baldm0mma/ update alpine build image
2025-02-03 15:06:29 -07:00
Ashley Harrison f728b2df12
API client generation: Dedupe scripts and centralise them (#99970)
dedupe scripts and centralise them
2025-02-03 15:26:23 +00:00
Alex Khomenko a0901456ae
RTK Clients: Fix namespace filter (#99949)
* Fix namespace filter

* Update comment

* Update filter
2025-02-03 13:50:15 +02:00
Alex Khomenko 9f4e8ee206
Query Library: Update API client (#99382)
* Add process script

* Working version

* Use new types

* Use new types

* Update client

* Tweaks

* Process multiple specs

* Remove 'any' types

* Use BASE_URL

* Update CODEOWNERS

* Fix filename

* add openapi

* update CODEOWNDER

* use JSONeq

* Use existing specs

* Filter ForAllNamespaces

* Add instructions

* Switch to tsx

* Use openapi-types

* Update src path

* Expand docs

* Update docs

* Rename script

* codeowners

* More docs

* Move openapi-types to dev deps

* Update error message

* Update doc

* Fix typo

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-01-29 18:05:40 +02:00
Mariell Hoversholm a08f406781
Security: Update to Go 1.23.5 (#99121)
* feat: update to Go 1.23.5

* chore: make drone

* chore: make update-workspace

* CI: Force re-build

* CI: Force re-build
2025-01-17 09:29:52 +01:00
Josh Hunt e3e580edfa
Chore: Prevent direct path imports from workspace grafana packages (#98940)
* restrict imports from @grafana/ui/src paths

* prevent path imports from all grafana packages

* just run on ui, runtime, data packages

* update
2025-01-15 15:47:44 +02:00
Jack Baldry 3884c0e896
Replace codespell with Vale spelling check (#98406) 2025-01-14 14:08:01 +00:00
Mariell Hoversholm 05ea05d64e
Chore: Bump Go to 1.23.4 (#98853)
* Chore: Bump Go to 1.23.4

This is done in preparation of updating the App SDK library we import, as it has bumped its Go version to 1.23.4 as well.

* Chore: make update-workspace
2025-01-14 09:28:44 +01:00
Mariell Hoversholm e754ea7a64
Fix: MySQL integration tests don't need to verify CA (#98857)
* Fix: MySQL integration tests don't need to verify CA

The _better_ solution here is to use our own, custom CA certificate. But there is also no real problem in risking a MITM
attack here as it's just test code, with no sensitive data, and it's ran on our own infra (so if we have a MITM problem,
we have even bigger issues...).

* Chore: make drone

* Chore: buildifier format
2025-01-13 15:40:19 +01:00
renovate[bot] e0121055fb
Update dependency typescript to v5.7.2 (#93749)
* Update dependency typescript to v5.7.2

* typescript fixes

* don't need this change

* remaining typescript fixes

* remove emotion/react aliasing

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-01-09 15:20:45 +00:00
Josh Hunt 7c596bb4ed
Chore: remove betterer:json script (#98618)
* Chore: remove betterer:json script

* codeowners
2025-01-07 15:58:40 +00:00
Todd Treece 49adb86233
Chore: Tweak order of update-workspace script (#98491) 2025-01-03 23:47:41 +02:00
Bruno Abrantes 17a9974b87
Storage: Removes integration tests for MySQL 5.7 since it is EOL (#98013)
* Removes integration tests for MySQL 5.7 since it is EOL

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* Remake drone.yml

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2024-12-16 12:28:30 -03:00
Tom Ratcliffe 0f52065377
Chore: Rename betterer stats file and attempt to fix (#97887)
Rename betterer stats and attempt to fix
2024-12-13 09:19:11 +00:00
Ashley Harrison 08bb66ba72
Chore: Update to node 22 (#97779)
* update to node 22

* downgrade to 22.11.0

* switch to using node-version-file

* update @types/node

* revert back to using node-version
2024-12-12 16:39:52 +00:00
Ashley Harrison b34fd6b6a1
Chore: update `react-inlinesvg` and use new icon caching mechanism (#97725)
* Update dependency react-inlinesvg to v4

* attempt to use new icon caching

* remove unicons chunk

* fix layout shift

* update snapshot

* parameterise cache by commit hash and clear old caches

* remove icon caching in storybook

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 13:35:28 +00:00
Matheus Macabu aa5ba238a4
CI: ignore failure in github_app_generate_token step (#97141) 2024-12-10 10:46:28 +02:00
Jack Westbrook 9688d5b56b
Frontend: Add build:stats for analysing bundles (#94729)
* build(webpack): add a stats config and build:stats script for analysing bundles locally

* chore(yarn): dedupe lock file

* feat(webpack): use bundle analyser by default, env vars for additional plugins
2024-12-09 12:09:32 +01:00
Santiago 21f81cfba3
Remote Alertmanager: Make failing integration tests block merges (#97493) 2024-12-05 17:30:41 -03:00
Kevin Minehart 6fe184a565
CI: add missing github app volume to release pipeline (#97406)
add github app volume to release pipeline
2024-12-04 17:02:01 +02:00
Jack Westbrook a33f16d568
Frontend: Set moduleResolution to bundler in TSconfig (#96450)
* build(typescript): switch module resolution to bundler for exports imports goodness

* chore: bump react-calendar and temp patch prometheus-io package

* Wip

* feat(decoupled-plugin): fix types errors in tests by including testing-library/jest-dom

* chore(betterer): pass custom tsconfig so betterer continues to run
2024-12-03 07:22:49 +01:00
Serge Zaitsev feeb2c6ce0
Chore: Remove verification steps for deb/rpm in drone (#96991)
remove verification steps for deb/rpm in drone
2024-12-02 11:07:58 -07:00
Dominik Broj cfbeea4ce7
Chore: Setup live reloading (#97248)
* setup live reloading

* put live-reloading behind cli flag, remove webpack.hot.js

* use env.liveReload

* fix lint

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-12-02 12:58:50 +00:00
Tom Ratcliffe e4a1243948
Alerting: Consume k8s API for notification policies tree (#96147)
* Add basic usage of K8s API for notification policies

* Add permissions checks for navtree for routes

* Add and update permissions for routing tree logic

* Add capability to skip calling contact points hook

* Conditionally show list of mute timings depending on permissions

* Conditionally link to mute timings if user can see at least one

* Add work in progress k8s handlers for routing tree

* Update notification policy hooks

* Wire up policies to permissions better (conditionally calling APIs)

* Add additional checks for whether to show grafana AM

* Add permission checks to access control

* Remove accidental permissions after rebase

* Update types and const for k8s routes

* Improve statefulness and reset routing tree in tests

* Update notif policy tests to check k8s and config API

* Fix type assertion

* Move non-grafana test out of .each

* Make failure case safer

* Override tag invalidation for notification policies API

* Pass in error and add new error alert component

* Add basic mock server conflict check

* Add test to check user can save after a conflict

* Add logic to allow reloading policies if changed by another user

* Fix test

* Update translations in Modals

* Add ViewAlertGroups ability

* Tweak provisioning logic and memoize AM config response

* Update snapshots for useAbilities

* Update result destructure

* Use enums for provenance in routingtrees

* Use consistent memoisation

* Fix _metadata for vanilla AM

* useAsync for error / update state

* move k8s api error handling to separate file

* use cause for error codes

* Use `supported` bools from Alertmanager abilities and clarify default policy

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-26 13:46:39 +00:00
Kevin Minehart 2400483d6c
CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96646)
* Add github app token generation in pipelines that use GITHUB_TOKEN

* ci?

* clone gh repo using x-access-token user

* address linting issues

* use mounted volume for exporting token

* remove unused github_token env var swagger gen step

* replace pat on release_pr pipepline

* cleanup GH PAT references

* linting

* Update scripts/drone/steps/lib.star

* make drone

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2024-11-21 17:08:02 +02:00
Ashley Harrison 20837d3837
Chore: silence sass warnings since we're going to remove sass anyway (#96530)
silence sass warnings since we're going to remove sass anyway
2024-11-15 12:18:58 +02:00
Santiago 9e408f842c
Alerting: Skip sanitizing labels when sending alerts to the remote Alertmanager (#96251)
* Alerting: Skip sanitizing labels when sending alerts to the remote Alertmanager

* fix drone image name
2024-11-13 11:21:44 -03:00
Jack Westbrook 787f3b8d6c
Webpack: Set eslint plugin config to flat to prevent cli errors (#96199)
fix(webpack): set eslint plugin config to flat to prevent cli errors
2024-11-11 10:23:24 +02:00
ismail simsek bcdcb1f74b
Explore Metrics: Introduce augurs sorting options in breakdown view (#91189)
* refactor breakdown scene

* refactor BreakdownScene along with LayoutSwitcher

* rename

* don't pass default layout

* better type handling

* betterer

* add @bsull/augurs

* implement LabelBreakdownScene

* integrate SortByScene in LabelBreakdownScene

* move to new directory

* introduce BreakdownSearchScene

* integrate searchScene

* cleaning

* initialize @bsull/augurs

* add interaction

* use new breakdown scene

* resolve merge conflicts

* ugrade @bsull/augurs

* update import

* update css

* update tooltip text

* refine sorting

* fix unit test

* fix

* implement outlier detector

* support wasm

* jest testing fix

* localization fix

* use unknown instead of any

* update i18n

* update betterer

* fix locales

* update test

* fix tests maybe

* prettier

* chore: update jest config

* chore: create mock for @bsull/augurs (#92156)

chore: create mock for bsull/augurs

@bsull/augurs assumes it will be running as an ESM, not
a CommonJS module, so can't be loaded by Jest (specifically
because it contains a reference to import.meta.url).

This PR provides a mock implementation which gets tests passing
again.

Ideally we'd be able to load the actual @bsull/augurs module
in tests so this is just a stopgap really, until a better
solution appears.

* fix unit tests

* remove unused BreakdownScene.tsx

* set outliers as undefined if an error occurs

* Add labels

* betterer

* reset event implemented

* fix controls positioning

* update augurs

* betterer

* i18n

* conflict fixes

* update texts

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ben Sully <ben.sully@grafana.com>
2024-11-05 08:34:09 +01:00
Erik Sundell c29ed503db
Test plugins: Add datasource test plugin with field tests (#95472)
* add new test plugin

* add some field validation tests

* update lockfile

* fix bad test file name
2024-11-01 08:25:27 +01:00
Jack Westbrook a93de5f0d8
CI: Assert NPM package types are bundled correctly (#95533)
* ci(npm-packages): use attw cli to assert package types are built corrctly

* fix(validate-npm-packages): correct path to tarball
2024-10-31 14:29:21 +01:00
Kevin Minehart 4e6a7121ed
CI: Consolidate package and docker steps (#95375)
* Consolidate package and docker steps

* load docker images (if there are any); fix tag-format casing

* I guess e2e tests use pkg/build...

* lint starlark
2024-10-25 09:25:29 -05:00
Jack Westbrook e894b19c1a
Build: Fix failing CSS asset paths (#95380)
* build(webpack): set publicpath and process urls to resolve assets correctly

* build(webpack): add back --progress to build

* Add local cdn

(cherry picked from commit 7a19523fa476fd5ff2d7669d116f5be462b100f5)

* chore(devenv): fix local_cdn path in ngnix conf

* chore(codeowners): add frontend-ops as owners of local_cdn docker block

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-25 13:45:44 +02:00
Kevin Minehart 67b3848fd9
CI: Remove drone steps for building windows because it's done in grafana-… (#95373)
Remove drone steps for building windows because it's done in grafana-build now
2024-10-24 17:04:25 -05:00