Update angular-plugins.md (#76829)
Remove oracle plugins as these have migrated
(cherry picked from commit 4073e50da9)
Co-authored-by: David Harris <david.harris@grafana.com>
CI: Test backend on feature-toggles documentation changes (#78177)
Run backend tests if the feature-toggles documentation changes
(cherry picked from commit d78b3fea2f)
* Role picker: Fix flickering at service accounts page (#77049)
* Role picker: Fix flickering at service accounts page
* Set role picker fixed width
* Fix betterer
* Fix styles
(cherry picked from commit aa7a6da985)
* RolePicker: Optimise rendering inside lists of items (#77297)
* Role picker: Load users roles in batch
* Use orgId in request
* Add roles to OrgUser type
* Improve loading logic
* Improve loading indicator
* Fix org page
* Update service accounts page
* Use bulk roles query for teams
* Use POST requests for search
* Use post request for teams
* Update betterer results
* Review suggestions
* AdminEditOrgPage: move API calls to separate file
(cherry picked from commit cf7a2ea733)
---------
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
"Release: Updated versions in package to 10.2.2"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Plugins: Keep working when there is no internet access (#77978)
* fix: make connections and plugins-catalog work when GCOM is not available
* fix: remove unused import
(cherry picked from commit ea12eecac5)
Dashboards: Prevent shared queries from being unnecessarily re-run (#77490)
* Dashboards: Prevent shared queries from being unnecessarily re-run
* Minor change
* Set solo panel as being viewed
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 5f78542366)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Logs: Use "labels" data frame field if type "other" in log details (#77806)
* Logs: Use labels field if time other
* Keep loki test
(cherry picked from commit cb711660f1)
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Dashboards: Fix dashboard listing when user can't list any folders (#77983)
* return empty list of folder if the user doesn't have the permissions to view folders
* fix the empty folder list initialisation
(cherry picked from commit 6097ff255c)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
docs: remove alertmanager from angular plugins (#77888)
V2.0.0 released today which migrated to react
(cherry picked from commit 3559cb4e81)
Co-authored-by: David Harris <david.harris@grafana.com>
Logs: Update logic to process logs dataPlane frame with labels field (#77708)
* Logs: Update dataplane logic to use labels instead of attributes
* Update Loki logs data plane data frame according to specs
* Remove only in test
(cherry picked from commit d4a257bc8e)
* Update grafana-plugin-go-sdk to v0.185.0 and otel to v1.19.0 (#76704)
(cherry picked from commit 42f5e42b54)
* Update google.golang.org/grpc
---------
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
InfluxDB: Fix query call with flux and sql when backend migration disbaled (#77760)
Only run through with classicQuery if the language is influxql and backend migration is disabled
(cherry picked from commit 581b93c124)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
PanelInspector: Always use the latest panel data (#77732)
PanelInspector: Always use the latest panel data
(cherry picked from commit dff8dc86d6)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
[DOC] Add videos for Tempo data source (#77534)
* Add videos for Tempo data source
* Update docs/sources/datasources/tempo/span-filters.md
* Update docs/sources/datasources/tempo/span-filters.md
(cherry picked from commit 224279fe0e)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Plugins: Fix plugin alias ID being used in PluginContext.ID (#77206)
* Fix PluginID being populated with alias in plugincontext Get and GetWithDataSource
* Add tests
* pr review suggestion
* pr review suggestion
(cherry picked from commit 45bcbff115)
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
RBAC: Allow scoping access to root level dashboards (#76987)
* correctly check permissions to list dashboards on the root
* correctly display the access inherited from general folder for dashboards
* Update pkg/services/sqlstore/permissions/dashboard.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Update dashboard_filter_no_subquery.go
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 159bb3c032)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Explore: Fix support for angular based datasource editors (#77486)
(cherry picked from commit 7737226786)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
CI: Fix race condition when building docker on main (#77504)
* build docker after packages are updated
* use my branch for main pipelines for testing
* use my branch for main pipelines for testing
* use main instead now
* formatting
(cherry picked from commit f6d3238505)
CI: Update RGM steps to use the artifacts command (#77470)
* update rgm steps to use artifacts subcmd
* format-drone
* make drone
(cherry picked from commit 8a5d4c4c6e)
Docs: deprecate API key reference docs and update API tutorial to use service accounts (#77429)
* deprecate API key reference docs and update API tutorial to use service accounts
* Update create-api-tokens-for-org.md
(cherry picked from commit 9c47161c14)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
InfluxDB: Fix parsing multiple tags on backend mode (#77340)
* Multiple tags separated by comma in the result
* A non-flaky unit test
(cherry picked from commit 6b13064cf6)
Explore: Ensure logs volume data points are in order (#77268)
* Ensure logs volume data points are ordered
* Add a test for data points order
(cherry picked from commit 03ca9c7c66)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
User: remove empty email / username check from update in service (#77347)
User: remove empty email / username check from update in service
(cherry picked from commit 87eba34745)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Explore: Avoid reinitializing graph on every query run (#77281)
(cherry picked from commit bf554d121c)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
Docs: add dashgpt information (#77177)
* Added notes about AI features
* Added link to LLM content, copy edited, and fixed linting errors
* Fixed references to dashgpt setup in create dashboards, added links and fixed linting issues
* Added links to panel option config docs and fixed linting issues
* Fixed link label
* Added dashgpt info to build first dashboard
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fixed links and heading level of new section
* Updated feature name
* Recast sentence
* Fixed formatting
* Added code formatting to feature flag
* Fixed link
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 91784076c7)
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Use latest grafana/docs-base image (#77299)
* Use latest grafana/docs-base image
The pinned tag does not support recent shortcodes like `docs/public-preview`.
* Always pull the image
---------
(cherry picked from commit d8d7a40d13)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Docs: add youtube links to 10.2 what's new (#77244)
* Added youtube links and removed some other images and videos
* Removed a video and moved some text
* Added more youtube videos
(cherry picked from commit 2e05134089)
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
CI: Fix release-npm-packages action (#77127)
* Remove dependency of NpmReleaseAction to the git binary
* Switch to using the node image for the release-npm-packages step
(cherry picked from commit aa9fc3be72)
* Bug fix: Correctly set permissions on provisioned dashboards (#77155)
* set default basic role permissions for dashboards even if dash creator permissions can't be set
* temporarily increase the test threshold until we can tweak the page
(cherry picked from commit f6e2a775d3)
* Fix error handling typo
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Alerting: Improve the docs on templating labels and annotations (#76593)
The previous version of this page I wrote with the expectation that
readers would first learn the templating language and then write
their templates. This doesn't seem to have worked out as well as I
had expected, and so I've rewritten the documentation to explain
the language using relevant and useful examples instead.
(cherry picked from commit e743aa54b8)
Co-authored-by: George Robinson <george.robinson@grafana.com>
"Release: Updated versions in package to 10.2.1"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Update `doc-validator` workflow (#77024)
Update doc-validator
No longer produce errors for the use of https://grafana.com/ links. This is the first step towards just using fully qualified URLs everywhere. The website link render-hook will internally transform these URLs into the partial URL that works across all hostnames.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 07909464f1)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Docs: Updates based on UI changes, support request (#76907)
* added additional links on Lucene queries
* cosmetic updates to query editor
* updated config doc to reflect UI changes
* removed Explore elements from query editor doc
* ran prettier
(cherry picked from commit b2eda16023)
Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
Alerting: Fix confusion around what can and cannot be customized in notifications (#77032)
* Alerting: Fix confusion around what can and cannot be customized in notifications
* Small fix
* Second small fix
(cherry picked from commit 1cb1d174fd)
Co-authored-by: George Robinson <george.robinson@grafana.com>
CI: Rename scripts that build artifacts to use _build_ (#77005)
Rename scripts that build artifacts to use _build_
(cherry picked from commit 442e533803)
InfluxDB: Fix table parsing with backend mode (#76899)
* Add resultFormat to query model
* don't add row name if the result format is table
* No need special formatting since we use unified dataframes
* betterer
* specify visualization type in response
* Unit tests
* fix unit tests
(cherry picked from commit 63abe25b74)
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Alerting: Alert rule constraint violations return as 400s in provisioning API (#76396)
Constraint violations become 400s
(cherry picked from commit 39599fa7f7)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
Reduce flakiness of e2e tests caused by write contention in sqlite
Write contention in sqlite on startup intermittently causes failed tests because
of failed service runs. This can have various root causes, one example is
dashboard provisioning:
Dashboard provisioning's frequent commits can cause other read transaction
snapshots to invalidate and throw SQLITE_BUSY/SQLITE_BUSY_SNAPSHOT. If those
failing transactions have a long length but not long enough to ensure all of
the dashboards have finished provisioning it will run out of retries and fail
entirely.
This change helps indirectly reduce these write contentions by limiting the
connection pool for e2e tests.
As a bonus, having our e2e tests run using `max_open_conn = 2` means it acts
as a guard against regressions that would affect certain internal instances
that run with these settings.
* update with sdk
* do sql
* fix core plugins
* fix proxy settings
* bump SDK version
* tidy
* enable pdc for test
* add codeowners
* bump dep
* go mod tidy
* bump SDK
* docs: fix minor inaccuracies
- give content on the type of data that needs persistence
- Use more precise terminology
- persistent storage != Docker volumes
- filesystem changes remains in a stopped container
and only discard when container removed
- 'directory' is more accurate than 'folder'
- fix typo: `grafana_data` should be `grafana-storage`
* docs: fix grammar and use 'directory' consistently
* docs: replace 'sqlite3' with 'SQLite version 3'
* Replace FixedRoleUID function with a common function to generate these prefixes
* Use common function to generate prefixed uid for external service accounts
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
---------
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
* Remove legacy form from LokiQuerySettings
With this commit, legacy form components are remvoed from loki query
settings page. Form is now using InlineField instead.
* Fix the width of loki predefined ops input
* Fix the width of loki predefined ops input
* Fix type in loki query component input field
* Added content outline to what's new
* Fixed formatting
* add docs link
* Added version syntax
* Added page anchor and removed text reference to page section
---------
Co-authored-by: harisrozajac <haris.rozajac12@gmail.com>
fetch fresh permissions for global in AuthorizeInOrgMiddleware
Update pkg/services/accesscontrol/authorize_in_org_test.go
do not load viewer permissions in global ID
* Added public dashboards content
* Updated Loom link
* Added back old Loom embed to help troubleshoot new embed
* Add video
* Added video embed shortcode
* Fixed embed code
* update data migration to update rows that have changes
* fix migration for sqlite
* remove id; fix postgres
* Fix for MySQL
* delete old items from folder table
* change integer to boolean
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Add images
* Basic button functionality; TODO placeholders for dispatching contentOutlineToggle and rendering content outline component
* Basic content outline container
* Content outline toggles
* Remove icon files from explore
* Scroll into view v1
* outline that reflect's explore's order of vizs
* Update icon name
* Add scrollId to PanelChrome; scrolling enabled for Table
* Add queries icon
* Improve scroll behavior in split view
* Add wrapper so the sticky navigation doesn't scroll when on the bottom of the window
* Fix the issue with logs gap; center icons
* Memoize register and unregister functions; adjust content height
* Make displayOrderId optional
* Use Node API for finding position of panels in content outline; add tooltip
* Dock content outline in expanded mode; at tooltip to toggle button
* Handle content outline visibility from Explore and not redux; pass outlineItems as a prop
* Fix ContentOutline test
* Add interaction tracking
* Add padding to fix test
* Replace string literals with objects for styles
* Update event reporting payloads
* Custom content outline button; content outline container improvements
* Add aria-expanded to content outline button in ExploreToolbar
* Fix vertical and horizontal scrolling
* Add aria-controls
* Remove unneccessary css since ExploreToolbar is sticky
* Update feature toggles; Fix typos
* Make content outline button more prominent in split mode; add padding to content outline items;
* Diego's UX updates
* WIP: some scroll fixes
* Fix test and type error
* Add id to ContentOutline to differentiate in split mode
* No default exports
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Stub types
* Update applicator
* Type and functionality updates
* Format time applicator
* Group by applicator
* Groupy to matrix applicator
* Use applicability levels
* Add organize fields applicator
* Add applicator to heatmap
* Add disabled icons
* Update presentation
* Prettier
* Why run prettier once when you can do it twice?
* Update presentation
* Prettier
* Update presentation
* Prefer object syntax
* Betterer and Prettier
* Fix issue getting current labels that would only grab values to the left of the cursor
* Loki: Fix Autocomplete in stream selector overwriting existing label names, or inserting autocomplete result within label value (#76485)
* Better autocomplete functionality in loki, changing the word pattern to include label value separator (=), include valid sting chars (-), and value wrapper ("), adding some more logic in the range calculation to prevent autocomplete results from partially overwriting adjacent label names or portions of the current label value
* Use apache/arrow v13
* remove apache/thrift
* go mod tidy with go1.21.1
* add metrics team as owner
---------
Co-authored-by: Kyle Brandt <kyle@grafana.com>
* Dashboard: Fixes save changes diff after first save
* Lots of type issues
* better fix
* Update some more places to use new function
* Fix
* Update
* Update
* remove console.log
* Update
* Fixed so we will return default timeZone to extensions if empty is provided.
* Update public/app/features/dashboard/utils/getPanelMenu.test.ts
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
---------
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Added spans to trace.go
* Added spans to search_stream.go
* Added spans to parca datasource
* Added spans for pyroscope
* Fix tests
* Fix another test
* Lint
* Revert "Fix another test"
This reverts commit a1639049e3.
* Use grafana-sdk-go tracing
* moved themecontext to data
* chore(grafana-ui): re-export ThemeContext from grafana/data for backwards compatibility
* Moved icon bundling to core.
* feat(plugins): share react-inlinesvg with plugins for grafana/ui bundling
* chore(codeowners): add generate-icon-bundle.js to file
* chore(storybook): update path to iconBundle file for theme
* feat(plugins): share i18n dependency via systemjs
* Make sure that icon bundle is initialized for tests.
* Removed comment.
* added tests for icon root.
* Removing the need of having an init variable.
* feat(grafana-ui): add icon svgs to bundle for projects that don't rely on grafana
---------
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Add role mapping support for Google OIDC
* Added note about entry already being in on-prem
* Add line
* Fixed version syntax
* Fixed typo
* Removed index.md from link
* Added release date
* Fix migration of custom dashboard permissions
Dashboard alert permissions were determined by both its dashboard and
folder scoped permissions, while UA alert rules only have folder
scoped permissions.
This means, when migrating an alert, we'll need to decide if the parent folder
is a correct location for the newly created alert rule so that users, teams,
and org roles have the same access to it as they did in legacy.
To do this, we translate both the folder and dashboard resource
permissions to two sets of SetResourcePermissionCommands. Each of these
encapsulates a mapping of all:
OrgRoles -> Viewer/Editor/Admin
Teams -> Viewer/Editor/Admin
Users -> Viewer/Editor/Admin
When the dashboard permissions (including those inherited from the parent
folder) differ from the parent folder permissions alone, we need to create a
new folder to represent the access-level of the legacy dashboard.
Compromises:
When determining the SetResourcePermissionCommands we only take into account
managed and basic roles. Fixed and custom roles introduce significant complexity
and synchronicity hurdles. Instead, we log a warning they had the potential to
override the newly created folder permissions.
Also, we don't attempt to reconcile datasource permissions that were
not necessary in legacy alerting. Users without access to the necessary
datasources to edit an alert rule will need to obtain said access separate from
the migration.
Remove legacy form from InfluxConfigEditor
With this commit, legacy form components are remvoed from influxdb
config eidtor page. Form is now using FieldSet instead.
There is a sentence in the [Built-in query](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/annotate-visualizations/#built-in-query) section of the page that could use a "the" (emphasis added by me 😄) :
> When you copy a dashboard using the Save As feature it will get a new dashboard id, **so annotations created on source dashboard** will no longer be visible on the copy. You can still show them if you add a new Annotation Query and filter by tags. However, this only works if the annotations on the source dashboard had tags to filter by.
This PR adds "the" so the phrase reads "so annotations created on the source dashboard"
* Manage service account secrets
* Wip
* WIP
* WIP
* Revert to keep a light interface
* Implement SaveExternalService
* Remove unecessary functions from the interface
* Remove unused field
* Better log
* Leave ext svc credentials out of the extsvcauth package for now
* Remove todo
* Add tests to SaveExternalService
* Test that secret has been removed from store
* Lint
* Nit.
* Rename commands and structs
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* Account for PR feedback
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
* Linting
* Add nosec comment G101 - this is not a hardcoded secret
* Lowercase kvStoreType
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
* Update @testing-library/dom to v9.3.3
* Update @testing-library/dom to v9.3.3 in packages
* Update yarn.lock
* Revert "Update yarn.lock"
This reverts commit 0cc2084273.
* point all @testing-library/dom packages to v9.3.3
* Add context to editor so field calculation does not return undefined variable and shows on next transform
* fix bug where default alias would get interpolated
* Update origin annotation names
k8s does not support annotation names with multiple slashes in them, so this PR updates the origin annotations to match the format for updated and created annotations.
* fix tests
This PR replaces the vendored models in the migration with their equivalent ngalert models. It also replaces the raw SQL selects and inserts with service calls.
It also fills in some gaps in the testing suite around:
- Migration of alert rules: verifying that the actual data model (queries, conditions) are correct 9a7cfa9
- Secure settings migration: verifying that secure fields remain encrypted for all available notifiers and certain fields migrate from plain text to encrypted secure settings correctly e7d3993
Replacing the checks for custom dashboard ACLs will be replaced in a separate targeted PR as it will be complex enough alone.
* Canvas: Button API - Block Calls to Grafana
* Move origin check inside of api logic
* Change grafana url source from href to origin
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Move errors to error file
* Move check for both empty username and email to user service
* Move check for empty email and username to user service Update
* Wrap inner error
* Set username in test
* Add option to calculate min max per field
* Fix eslint warnings
* Add back hideFromDefaults that went missing
* whitespace
* Add tests
* Refactor range calculation
* Rename localMinMax -> fieldMinMax
* Remove the lint exceptions
Removing these as to not hide these once we get around to fixing the
underlying typing issue.
* Update docs
* support google oauth allowed_groups. unify allowed groups logic
* add role mapping for google oauth
* add documentation
* add addendums
* remove extra isGroupMember
* add to sample ini
* Apply suggestions from code review
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* improved the sentence to make it clear for entering admin in both the username and password
* Update docs/sources/getting-started/build-first-dashboard.md
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* extend threshold command with second evaluator called `unloadEvaluator`
* Introduce a new expression command Hysteresis and update Threshold unmarshaller to create the HysteresisCommand if the second eval
* add feature flag `recoveryThreshold`
* update unmarshal threshold command to not re-marshall because it breaks frame definition by shuffling the schema and data fields
* Create a state for dockedMegaMenu and the function to manage it
* Add the dockedMenu icon and handle the status when clicking it
* Add Megamenu to section nav area when it is docked
* get logic working
* fix mobile
* refactor state + persist in localStorage
* adjust icon and don't use position absolute
* restore old rudderstack tracking
* use Flex instead
* adjust feature toggle to be experimental
* extract out localStorage handling into utils
* don't need separate file
* use store.set/get instead
---------
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
* Sandbox: initial dummy datasource plugin for e2e
* WIP: tests
* Add metrics to plugin.json so it shows up in explore
* Fix false positives in frontend-sandbox-datasource.spec.ts
* Change typed name to be static
* Add code to delete the datasource after tests are complete
* Add fail on status code
* Update tests for more config
* Replace visit with existing page
* Delete cleanup code
* Don't show error when editor is empty
* Added multi-line support for error markers
* Fixed bug where new lines weren't being counted as characters
* Take startLine and endLine into account in column calculations
* Fix
* IDForwarding: change audience to be prefixed by org and remove JTI
* IDForwarding: Construct new signer each time we want to sign a token.
* SigningKeys: Simplify storage layer and move logic to service
* SigningKeys: Add private key to local cache
* Extract code to manage service accounts
* Add test with client credentials grants
* Fix test with the changed interface
* Wire
* Fix HandleTokenRequest
* Add tests to extsvcaccounts
* Rename Retrieve function
* Document the interface
* 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
* Unfurl OrgRole in pkg/api to allow using identity.Requester interface
* Unfurl Email in pkg/api to allow using identity.Requester interface
* Update UserID in pkg/api to allow using identity.Requester interface
* fix authed test
* fix datasource tests
* guard login
* fix preferences anon testing
* fix anonymous index rendering
* do not error with user id 0
* Only call preventDefault if it exists
* Change "View Traces" link to use traceQLSearch instead of the deprecated nativeSearch
* Thank you again test. Update tests
* Update test
* Update betterer
* Type fix
* Small type change
* Update betterer
* Loki completion: add more context to comments
* Improve grammar of comment
* Completions: expand on parser-offering part
* Update public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/completions.ts
* Formatting
* clean up legacy access control code for teams
* remove editorsCanAdmin config from the frontend
* add editorsCanAdmin config option back for the frontend
* Update _index.md
* Update _index.md
Run through Prettier
* Update _index.md
ran Prettier again
* Prettier
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* update storage's method InstertRules to return ids of added rules as slice to keep the same order as rules in the argument
* schematize response of update rule group endpoint, add created, updated, deleted fields that contain UID of affected rules.
* update integration tests to use the new fields
* display datasource information under each section
* Minor - change legend to multi in some panels that were missing it
* Don't show ds info to grafana sections
* Remove unused classname
* Remove unused import
* Fix pickers styling by placing it to the right
* Logfmt autocompletion: better handling of trailing commas
* Situation: refactor getSituation and getErrorNode
Looking for simplicity, removing redundancy, and looking for a more accurate node resolution
* Autocompletion: refactor logfmt and top level
* Update tests
* Autocompletion: better handling of trailing characters
* Completions: Update data to type changes
* Update log query in test situation
* Format code
* Autocomplete: support offering partial labels
* Completion: expand test cases
* Add unary operations to add field from calc transform
* Refactor layout to use new UI components. fix 'as' type assertions
* rename exp
* more docs
* fix docs
* feat: added markup for data source picker title
* feat: added markup for builtin data source list
* feat: added markup for datasource list
* chore: generated markup files
* feat: added markup for new data source button
* chore: generated markup files
* fix: fixed prefix names
* chore: updated markup files
* fix: removed extra spaces
* test mimir image drone
* add mimir service to services.star
* change name for mimir step
* change remote alertmanager step names, add commands for integration tests
* add tag to mimir image
* OnGoing
* Continue migrating structure
* Comment
* Add intermediary service
* Remove unused error so far
* no need for fmt use errors
* use RoleNone
* Docs
* Fix test
* Accounting for review feedback
* Rename oauthserver.ExternalService to OAuthClient
* Revert as the interface looks weird
* Update pluginintegration
* Rename oauthserver.ExternalService
* closer to what it was before
* Geomap: Add Symbol Anchor Options
* Update displacement for svg case
* For square and x, account for 45 degree offset
* Simplify displacement function
* Remove unused todo
* Update test defaults to include anchor
* Add missing anchor default to tests
* Move displacement function into utils and add test
* Simplify anchor position options UX
* Change verbage to alignment and swap direction
* Include missing alignment rename
* Update tests
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* After the first auto-generate, the button changes to improve
* When clicking "improve" a toggletip appears with different ways to interact with the model to refine the result
* Analytics: Add analytics to history
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* trying to remove tracing
* trying to remove tracing
* use plugin sdk tracing
* tracing is not init
* add infra tracing back
* remove infra trace
* Update pkg/tsdb/azuremonitor/metrics/azuremonitor-datasource.go
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
* pr feedback
* remove code from other pr
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
* Fix legend for grafana missed iterations panel
* Change panel titles capitalization
* Change tooltip mode to "multi" for timeseries panels
* Add panel tooltips
* Change colors of series (red for firing, blue for neutral)
* Remove unneeded import
* Change panel title and firing alert colors
* Change constant timeseries panels to stat
* Avoid showing legend in panels with just one metric
* Add eval duration / interval ratio panel
* Fix legend
* Fix lint
* Rename panel titles
* Make firing instances table entries have link styling
* Fix betterer
* Add section subheaders
* Override colors and tooltip mode
* Address latest feedback
* Rename table to reflect we're showing rules data and not instances
* Rework most fired rules panel to show numbers instead of trend
* Improve legends and colors
* Fix most fired rules panel
* Missed Iterations: Override legend to display it in a more user friendly way
* Change tab names
* Position grafana-managed scenes under collapsible row
* Show breakdown of alert instances state panels
* Addressing UX feedback
- Making stat panels display area
- Change layout for grafana-managed panels
- Refactor Duration/Interval ratio scene (make calculation directly in PromQL)
* set no value as 0 in stats panels
* Refactor color overriding to use a common function
* fix missing legend for status panels (needed to override color)
* Fix legends for Grafana alertmanager Notifications scene
* 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
* Use double quotes instead of backticks
* render time field as datetime
* add @react-awesome-query-builder/core
* Add time range filtering
* Update test
* Update macro test
* variables for filterforvalue
* use datalinkinput for basic matcher
* fix user select issue
* heatmap transformation variable interpolation
* clean code
* interpolate sort by
* add options interpolation in histogram transformation
* interpolation for limit
* Add suggestions UI to Filter by data value Transformation
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
* add validation for number/variable fields
* Add variables to add field from calculation
* Add validator to limit transformation
* Refactor validator
* Refactor suggestionInput styles
* Add variable support in heatmap calculate options to be in sync with tranform
* Refactor SuggestionsInput
* Fix histogram, limit and filter by value matchers
* clean up weird state ref
* Only interpolate when the feature toggle is set
* Add feature toggle to ui
* Fix number of variable test
* Fix issue with characters typed after opening suggestions still remains after selecting a suggestion
* Clean up from review
* Add more tests for numberOrVariableValidator
---------
Co-authored-by: Victor Marin <victor.marin@grafana.com>
* remove local graf templateSrv and use @grafana/runtime
* tests broken still 0.0
* wip
* moving around tests and fixing
* template var test using mocking and stuff
* AM ds tests fixed
* fix filter tests
* all tests work
* remove comment
* Update azure_log_analytics_datasource.ts
* remove deferred util - not used
* mock instead of spying
* not calling getTemplateSrv each time
* pass range down to filter instead of doing werid stuff
* use default time range if no time range
* prettierer
* remove note
* Show color of row as a border under the row. Hide service name for sequential spans
* Increase default span name column width. Smaller font for service and span names in span list
* New background color on spans. Fixed hover of indent markers
* Service name and span name style tweaks
* Collapse hidden levels
* Fixed test
* Small tweak to Buffer size to make sure tests pass
* Trigger runs
* Update betterer results
* Address comment
* Style tweaks
* Remove duplicated code
* Rollback change to join <span> since they are needed for the tests
* feat: display the deprecation context for a plugin if it is available
* Update public/app/features/plugins/admin/components/PluginDetailsDeprecatedWarning.tsx
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* feat: only extend the basic message with custom context
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* signing key wip
use db keyset storage
add signing_key table
add testing for key storage
add ES256 key tests
Remove caching and implement UpdateOrCreate
Stabilize interfaces
* Encrypt private keys
* Fixup signer
* Fixup ext_jwt
* Add GetOrCreatePrivate with automatic key rotation
* use GetOrCreate for ext_jwt
* use GetOrCreate in id
* catch invalid block type
* fix broken test
* remove key generator
* reduce public interface of signing service
* Start adding correlations editor mode
* Add selector for merge conflict resolution
* Enable saving
* Build out new corelation helper component
* flesh out save with label/description, change color
* Have breadcrumb exit correlation editor mode
* Add extension property to show/hide, use it for correlations
* Bring in feature toggle
* Remove unnecessary param
* Cleanup
* Parse logs json
* Work on correlation edit mode bar
* Tinker with a top element for the editor mode
* Handle various explore state changes with correlations editor mode
* WIP - add unsaved changes modal
* Have correlation bar always rendered, sometimes hidden
* Add various prompt modals
* Clear correlations data on mode bar unmount, only use not left pane changes to count as dirty
* Move special logic to explore
* Remove all shouldShow logic from plugin extensions
* remove grafana data changes
* WIP - clean up correlations state
* Interpolate data before sending to onclick
* Override outline button coloring to account for dark background
* More cleanup, more color tweaking
* Prettier formatting, change state to refer to editor
* Fix tests
* More state change tweaks
* ensure correlation save ability, change correlation editor state vars
* fix import
* Remove independent selector for editorMode, work close pane into editor exit flow
* Add change datasource post action
* Clean up based on PR feedback, handle closing left panel with helper better
* Remove breadcrumb additions, add section and better ID to cmd palette action
* Interpolate query results if it is ran with a helper with vars
* Pass the datasource query along with the correlate link to ensure the datasource unique ID requirement passes
* Use different onmount function to capture state of panes at time of close instead of time of mount
* Fix node graph’s datalink not working
* Actually commit the fix to saving
* Fix saving correlations with mixed datasource to use the first query correlation UID
* Add tracking
* Use query datasources in mixed scenario, move exit tracking to click handler
* Add correlations to a place where both can be used in the correlations editor
* Be more selective on when we await the datasource get
* Fix CSS to use objects
* Update betterer
* Add test around new decorator functionality
* Add tests for decorate with correlations
* Some reorganization and a few tweaks based on feedback
* Move dirty state change to state function and out of component
* Change the verbiage around a little
* Various suggestions from Gio
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* More small Gio-related tweaks
* Tie helper data to datasource - clear it out when the datasource changes
* Missed another Gio tweak
* Fix linter error
* Only clear helper data on left pane changes
* Add height offset for correlation editor bar so it doesn’t scroll off page
---------
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* feat: i18n dashboard settings
* run i18n extract
* rename titles and use vars
* json editor title
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* feat(plugins): allow filtering of plugin errors by plugin type
* refactor(plugins): migrate PluginsErrorsInfo component to use Alert component
* chore(plugins): remove redundant d3 import
* feat(datasources): filter plugin errors by plugin type
* refactor(plugins): pass plugin.type from selector rather than guess from pluginId
* refactor(plugins): move filtering to selector
* Extend support for variables in filter by name
* Simlpify help and include variable support
* Simplify regexp
* Remove id that was left from an erlier implementation attempt
* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Improve variable name and fix react warning
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* tidy up some styles
* remove NavBarMenuItemWrapper + consolidate components
* lots of renaming
* use object syntax in FeatureHighlight
* fix a couple of missing find+replace
* adjust li positioning
* fix text truncation
* bit more tidy up
* refactor indent into it's own component
* memoize styles in Indent
This is necessary to allow version inference in CI builds.
Shortcodes like `docs/reference` and `docs/shared` use version inference to avoid the writer having to hardcode specific versions or use relative paths within the documentation set.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Add functions to detect build edition and env
* Prevent showing insights for OSS
* Use common functions for Declare Incident button
* Address review comments
* extend RuleStore interface to get namespace by UID
* add new export API endpoints
* implement request handlers
* update authorization and wire handlers to paths
* add folder error matchers to errorToResponse
* add tests for export methods
* Alerting: Expose metrics for Alertmanager Alerts
In Grafana, the alert evaluation and alert delivery are combined. We're always used a metric named `grafana_alerting_alerts` to get a sense of what are the alerts that are currently firing (these come from the evaluation side) and opted to not map the alertmanager alerts metric directly.
I think it's important that we make a disction between alerts that happen at evaluation vs alerts that are received for delivery by the internal Alertmanager as we have options to skip the delivery of these alerts to the internal alertmanager altogether.
* Migrate old alerting templates to use $labels
* Fix imports
* Add test coverage and separate rewriting to Go templates
* Fix lint
* Check for additional closing braces
* Add logging of invalid message templates
* Fix tests
* Small fixes
* Update comments
* Panic on empty token
* Use logtest.Fake
* Fix lint
* Allow for spaces in variable names by not tokenizing spaces
* Add template function to deduplicate Labels in a Value map
* Fix behavior of mapLookupString
* Reference deduplicated labels in migrated message template
* Fix behavior of deduplicateLabelsFunc
* Don't create variable for parent logger
* Add more tests for deduplicateLabelsFunc
* Remove unused function
* Apply suggestions from code review
Co-authored by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
* Give label val merge function better name
* Extract template migration and escape literal tokens
* Consolidate + simplify template migration
---------
Co-authored-by: William Wernert <william.wernert@grafana.com>
* Error handling for the hook to expose `error` as part of the state
* Monitor errors at the hook level to catch common OpenAI issues
* Allow retry when the request fails
* Optimize onGenerate number of calls
* Re-enable component tests
* Alerting: Manage remote Alertmanager silences
* fix typo
* check errors when encoding json in fake external AM
* take path from configured URL, check for nil responses
* Replace use of `relref` shortcode with `docs/reference` so links work in Grafana Cloud
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Link to Grafana Cloud content
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Details in https://github.com/grafana/website/pull/15518.
This canonical should never be used.
This page is the only consistent page that exists in Grafana Cloud documentation but not in "latest" Grafana open source documentation.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Publish documentation from the HEAD of the matching version branch on tag events
Tags aren't necessarily made to the HEAD of the version branch.
The documentation that should be published is always on the HEAD of the version branch.
This is another mismatch between the code and documentation but is desirable as the "What's new" documentation is typically added much later than commit the tag targets.
Technically it would be more correct for the "What's new" documentation to be in place before the commit that is tagged.
However, the significant lag between the start of a release and the actual publishing of the tag would be challenging to codify in this action's logic.
It would also require a side channel for non-code related documentation updates to be made to the docs released by the tag.
This would likely require a long lived branch to be created at the tag commit and I'm not sure that the additional work is justified.
In practice, I think we can get away with publishing more recent documentation than the code given the assumption that no significant feature is going to be absent from the initial major/minor release.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Switch to detached remote branch reference
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Plugins: Add client middlware that forwards the signed grafana id token if present
* DsProxy: Set grafana id header if id token exists
* Add util function to apply id token to header
* Only add id forwarding middleware if feature toggle is enabled
* Add feature toggles to ds proxy and check if id forwarding is enabled
* Clean up test setup
* Change to use backend.ForwardHTTPHeaders interface
* PluginProxy: Forward signed identity when feature toggle is enabled
* PluginProxy: forrward signed id header
* Replaced legends shared content with text
* Copy and structuring edits
* Removed redundant link
* Prettier
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* added the feature parity table to our iam strategy
* wip
* updated the table with current features
* added better formatting for explanations
* change emoji to words
* sample of new table approach
* changing the name from unsupported to N/A
* add describtion of N/A and remove warning
---------
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
* throw error when converting into visual query when parser detects that an aggregation expression node contains a function that contains a binary expression to detect queries that are ambiguously parsed
* Teams: Implement backend sorting
* Add docs
* Make name ordering case insensitive
* lint
* Fix no lowercasing on memberCount
* Add test to double check the filters or correctly OrderBy
* DataSourceAPI: Add adhoc filters to DataQueryRequest and some methods to make it not depend on global templateSrv
* Minor tweaks/fixes
* Renamed to filters
* Fix test
* Log deprecation warning
* I give up
* Initial POC for modified rule expor
* Add rule and group export options to modified export
* Add feature toggle for modifier export
* Rename GrafanaRuleDesigner to ModifyExportRuleForm to identify it easily as a rule form
* Refactor naming and folder for RuleDesigner => ModifyExport
* Don't render more action drop-down button when no more actions are allowed
* Redirect cancel button to alert list view
* Fix modify export page being reloaded correctly without errors
* Fix test
* Protect modify-export route when toggle-feature is not enabled
* Fix css betterer error
* Address pr review coments
---------
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Remove second "Legend values" heading
I'm not honestly sure if this is the correct choice but there are two "Legend values" in the current document because the shared page "visualizations/legend-mode.md" has that heading.
I'm assuming because of the use of the shared page, that the information there is preferred.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Prefer alternative text
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* User: Add sort option to user search
* Switch to an approach that uses the dashboard search options
* Cable user sort on the org endpoint
* Alias user table with u in org store
* Add test and cover orgs/:orgID/users/search endpoint
* Add test to userimpl store
* Simplify the store_test with sortopts.ParseSortQueryParam
* Account for PR feedback
* Positive check
* Update docs
* Update docs
* Switch to ErrOrFallback
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* AuthN: Move identity struct to its own file
* IDForwarding: Add IDToken property to usr and identity structs and add GetIDToken to requester interface
* Inject IDService into background services
* IDForwarding: Register post auth hook when feature toggle is enabled
* spelling in error message
* imguploader: fix template for webdav url
Since a few years ago, when loading the config file, the template gets replaced in the expanding
env var phase (see ##25075) and introduced a bug in the webdav public_url config option. This commit
changes the template syntax to be {{file}}. This doesn't get expanded and removed when the config file
is loaded.
* devenv: add a block for a WebDAV server
* Adding alerting as codeowners for webdav
---------
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
* Alerting docs: fixes next and latest link errors
* fixes bracket
* more link fixes
* fixes numbering
* prettier
* Fix build errors, a broken link, and use more appropriate destination for Grafana Cloud OnCall links
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* fixes for jacks feedback
* fixes note
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Update set-up-for-high-availability.md
Added a note to Enforce the need to setup separately the Alerting HA, as some customers keep opening tickets complaining about duplicate alerts when setting up Grafana HA.
* Update set-up-for-high-availability.md
Corrected note (alerts instead of wueries)
* Update docs/sources/setup-grafana/set-up-for-high-availability.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/set-up-for-high-availability.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/set-up-for-high-availability.md
* Update docs/sources/setup-grafana/set-up-for-high-availability.md
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Add comments to indicate which page I believe each alias is intending to redirect
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Remove difference-old-new redirect from migrating-alerts page since an alternative page exists
The alternative page is `docs/sources/alerting/difference-old-new.md`.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Add comment to show intended absolute path redirect
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Remove `unified-alerting/difference-old-new/` redirect because it already exists in `docs/sources/alerting/difference-old-new.md`.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Remove `unified-alerting/` alias since the absolute URL already redirects to `/docs/grafana/latest/alerting/`
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix `/docs/grafana/<GRAFANA VERSION>/alerting/migrating-alerts/` redirect
The following example uses `latest` as _`GRAFANA VERSION`_ for simplicity and readability.
The desire is the following redirect:
```
src: /docs/grafana/latest/alerting/migrating-alerts/
dst: /docs/grafana/latest/alerting/set-up/migrating-alerts/
```
`dst` is the Hugo pretty URL for the current page (`docs/sources/alerting/set-up/migrating-alerts/_index.md`).
When constructing Hugo aliases we are working from the page's containing directory and not the page itself.
The path element `.` represents that directory.
For example:
```
page: /docs/grafana/latest/alerting/set-up/migrating-alerts/
alias: ./
dst: /docs/grafana/latest/alerting/set-up/
```
The path element `..` represents the parent directory of the page's containing directory.
For example:
```
page: /docs/grafana/latest/alerting/set-up/migrating-alerts/
alias: ../
dst: /docs/grafana/latest/alerting/
```
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Add initial e2e tests for sandboxing
* Add tests for sandbox on
* Add additional sandbox tests
* Move sandbox into various suite
* Test drone setup
* Move variable
* Update drone
* Update plugins path for e2e
* Revert drone changes
* use drone from main
* Use lib.star from main
* Move sandbox test to its own suite
* Expand methods to inject iframes
* Restore e2e script
* Add back change to script
* Update tests for trusted types
* Integrate custom plugins into grafana-server
* Echo for deubging
* add debugging message
* Expand message
* Add extra for ci
* fix path
* Improve start-server logic
* Remove duplicated logic
* Restore file deleted by mistake
* Restore file to main
p
* restore file
* Restore start script
* Update e2e/panels-suite/frontend-sandbox-panel.spec.ts
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* flag vector aggregations containing metric expressions (i.e.`(...)`) containing binary operation expressions with ambiguous error in the UI when switching between code and visual query builders.
Fix unexpected error when creating a new cloudwatch datasource.
Involves a fair amount of refactoring, so if this causes unexpected issues related to region fetching we can turn this off with the cloudwatchNewRegionsHandler feature toggle, although we do not predict it will so we are enabling it to default to true and hope to remove it shortly.
* show row index as percentage in add field from calc transform
* prettier
* add test + modify docs
* show quantile and add percentage unit default. add explanatory tooltip and docs
* fix test
* set unit percent only on quantile mode
* Change naming to percentile
* Rename to As Percentile
* docs mods
* remove API tagging method and authed tagging
* add anonstore
move debug to after cache
change test order
fix issue where mysql trims to second
* add old device cleanup
lint
utc-ize everything
trim whitespace
* remove dangling setting
* Add delete devices
* Move anonymous authnclient to anonimpl
* Add simple post login hook
* move registration of Background Service
cleanup
* add updated_at index
* do not untag device if login err
* add delete device integration test
* Alerting: Don't use a separate collection system for metrics
The state package had a metric collection system that ran every 15s updating the values of the metrics - there is a common pattern for this in the Prometheus ecosystem called "collectors".
I have removed the behaviour of using a time-based interval to "set" the metrics in favour of a set of functions as the "value" that get called at scrape time.
* Following similar changes made to prometheus in #47198, reverse the order of binary operator parameter array, and fix bugs introduced by importing prometheus lezer constants into loki parser
* add unit test asserting buildVisualQueryFromString does not properly parse queries with nested binary operations
* fix onOrIgnoring parsing logic which was always stripping out the value of the matcher when a boolean was found
* style(betterer): add emotion/syntax-preference to betterer rules
* chore(betterer): refresh betterer.results for addition of emotion/syntax-preference
* WIP Dashboard to Scenes: Annotations
* Bump scenes
* Enable annotations and controls
* Betterer
* Update snapshots
* Test fix
* DashboardScene: Prepare annotations support for public dashboards
* Use latest scenes
* issue loki queries in parallel so total query time is only the slowest query rather than the sum of all query times.
* Fix lint
* Add running of queries in parallel behind feature toggle to test the functonality before release
* Add span end
* Move shared logic to separate function
* Add logging and tracing around running of all queries
---------
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* Elasticsearch: Add tracing do data source
* Fix tests
* Address feedback
* Update pkg/tsdb/elasticsearch/response_parser.go
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Update pkg/tsdb/elasticsearch/response_parser.go
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Track error across both spans
* Add span for decoding of response
* Fix test
* Update setting of errors + fix test
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Add export formats drawer when exporting contact points
* Add 'export by format' drawer in policies (root policy)
* Add test for showing export policies button
* Add tests for Policy.tsx
* Add tests for export functionality in receivers
* Add exporter drawer for receivers
* Fix prettier warnings
* Allow HCL only for alert rules exports
* Add tests for Policies
* Fix tests
* Refactor: Update ExportProviders types for limiting the avaliable export formats when using GrafanaExportDrawer
* Delete unused shouldShowExportOption method and tests
* Use useAlertmanagerAbility hook to check if canReadSecrets
* Update snapshot for useAbilities test
* Fix prettier
* Convert decrypt to boolean
* Fix prettier
* Rename CanReadSecrets action to DecryptSecrets
* Update the string value for DecryptSecrets
* Fix snapshor for useAbilities after renaming the can-read-secrets
* Change way of obtaining external datasources info
* Remove unneeded import
* Create function to getExternalDsAlertManagers in datasource srv
* Remove unused import
* Check if the user has permissions to access the plugin custom page
* If plugin does not have includes we should show the plugin
* chngaes after review, added the test for AppRootPage
* fix the type error
* add more test cases
* test: wrap location pushes to act() calls
* Add no existing role to test
* fix name of the test
* fix not existing role test
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* use grafana/public instead
* parameterise script (still need to fix + run drone locally)
* make drone
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Changes SSE to not always fail all queries when one fails. Now only the query itself, and nodes that depend on it will error.
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Allow creating correlations for provisioned data sources
* Update docs
* Fix linting
* Add missing props
* Add missing props
* Fix linting
* Fix linting
* Clarify error name
* Removed error handling for a non-existing use case
* Create a list of deleted data datasources based on all configs
* Add org_id to correlations
* Add tests
* Allow org_id to be null in case org_id=0 is used
* Create organization to ensure stable id is generated
* Fix linting
* Ensure backwards compatibility
* Add deprecation information
* Update comments
* Override existing datasSource variable so the UID is retrieved correctly
* Migrate correlations indices
* Default org_id when migrating
* Remove redundant default
* Make PK non-nullable
* Post merge fixes
* Separate data sources / correlations provisioning
* Adjust comments
* Store new data sources in spy store so it can be used to test correlations as well
* Fix linting
* Update tests
* Ensure response is closed
* Avoid creating duplicates during provisioning
* Fix updating provisioned column and update tests
* Rename error message
* Fix linting errors
* Fix linting errors and rename variable
* Update test
* Update pkg/services/sqlstore/migrations/correlations_mig.go
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Remove unused error
* Fix lining
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* remove scenario wrapping in cypress tests
* remove more hardcoded logins
* don't forget the various suite!
* make sure we log in for every test
* fix afterAll revert
* stability
* BrowseDashboards: Only remember the most recent expanded folder
* set to null
* cleanup
* only clear removed folder if it was the most recently opened
* comments + variable
* fix: revoked tokens within last hours
adds check for unlimited sessions out of index
adds a function for specifing the hours to look back when revoking users tokens, otherwise we "assume" the clean up takes care of them adds a index for the `user_auth_token` - `revoked_at` for faster queries when using `revoked_at`
* fix: sqllite datetime conversion with unixtimestamps
* fix: postgres dialect
* fix: mysql dialect
* fix: mysql dialect missing closing )
* refactor: delete revoked tokens directly
* fix: tests for sqlite
* AuthToken: Simplify DeleteUserRevokedTokens and add test
* fix: linting newline
* Reset get time after test
* fix: test order by revoked
* fix: order by different db
* ascending
* test with seen at
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* Add necessary fields to edges
* Add information about name and namespace to edge when available
* Use new fields to build search taking into account namespace
* Remove new fields from NodeGraphDataFrameFieldNames, define them locally
* various type fixes
* candlestick panel type fixes
* few more fixes
* some fixes
* more :)
* moar!
* undo change to SilencesFilter
* undo change to configureStore
* Page has been moved to the website repository
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update .codespellignore to ignore 'Operator Windrose' and fix typo
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Plugins: Dynamic angular patterns: Send If-None-Match to GCOM, store ETag
* Fix SetETag settings the wrong key in underlying kvstore
* Fix wrong type in GCOMResponse.Patterns and wrong content being saved
* Fix ctx passing to GetETag in background job
* Added more ETag tests
* More ETag tests
* Set last updated and log when not modified is returned
* Fix missing in-memory detectors update when etag matches, add comments
* Fix mutex usage
* adding contain:strict to let browsers know the layout of logs panel can be rendered independently
* add new prop to allow LogRow component to contain content
* Alerting docs: adds oncall integration docs and release note
* adds oncall integ to structure
* corrects link
* updates links
* Update docs/sources/alerting/monitor/_index.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* updates metamonitoring link
* update to product name
* Update docs/sources/alerting/alerting-rules/manage-contact-points/configure-oncall.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Update docs/sources/alerting/alerting-rules/manage-contact-points/configure-oncall.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Modify reference links to ensure that `doc-validator` ignores them
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* breaks up sentence
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* feat: add a `isDeprecated` field to `CatalogPlugin`
* tests: update the tests for merging local & remote
* feat: display a deprecated badge in the plugins list
* feat: show a deprecated warning if the plugin is deprecated
* Fix linting issues
* Review notes
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* refactor: remove `isDeprecated` from the details (it's already in the main CatalogPlugin object)
* refactor: use an enum for remote statuses
---------
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* delete PanelHeader
* PanelHeaderMenuItem is only used in PageHeader
* PanelHeaderCorner only used by PanelEditorTableView
* PanelHeaderMenuTrigger not used anywhere
* PanelHeaderMenuWrapperNew is PanelHeaderMenuWrapper, old one is deleted
* remove newPanelChromeUI from test
* delete feature flag newPanelChromeUI
* PanelHeaderMenuWrapperNew is PanelHeaderMenuWrapper, old one is deleted
* Add new tutorial for alerting with Logs
* Begin formatting the tutorial
* Formatted the tutorial with markdown
* Small edits
* Updating for version 10
* Edits for Grafana 10 & formatting
* Deleted rough draft that I accidentally added.
* Update docs/sources/tutorials/create-alerts-with-logs/index.md
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
* Update docs/sources/tutorials/create-alerts-with-logs/index.md
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
* Apply suggestions from code review
Commit suggestions from reviewer
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
* Updated to use instant query
---------
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
* Refactor data tab to be usable from scenes
* DashboardScene: Inspect data tab
* Everything seem to work now
* don't change drawer size in this PR
* Remove uncommented code
* Fix layout issues for data actions
* Added comment explaining retry
* add token count
* wip
* user count method for tag reporting
* remove non functioning mysql clientFoundRows check
* Update pkg/services/auth/authtest/testing.go
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
* add user ID guard
---------
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
* Handle the response with different field key order
* More unit tests to cover edge cases
* Cover more edge cases
* make it simpler
* Better test inputs
* Update filter tag doc
* Update docs/sources/shared/datasources/tempo-search-traceql.md
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
---------
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
* Elasticsearch: Adjust naming in logging according to convention
* Log response parsing per response
* Update
* Fix logging of errors when no response
* Add path to error loggigng
* Update pkg/tsdb/elasticsearch/response_parser.go
* adjust Loki to logging convention
* Fix call resource logging
* Update dataquery
* Update
* Remove redundant logging
* Fix TODO
* Rename action to stage and use variables
* `resp` might be `nil`
* `resp` might be `nil` here as well
* change to `statusCode`
* use correct logger
* also here
* add query information to logging
---------
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
Adapt document language
HTML "lang" attribute should reflect the actual language used in texts. Important for accessibility functions (screen readers), but also usable in CSS.
* Docs alerting: adds insights logs and updates metamonitoring topic
* updates meta monitoring
* Update docs/sources/alerting/monitor/_index.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* removes alias
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
* updates numbering
* adds codeblock
* updates
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: George Robinson <george.robinson@grafana.com>
* Update docs/sources/alerting/monitor/meta-monitoring/_index.md
Co-authored-by: George Robinson <george.robinson@grafana.com>
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
* fix(plugins): support edge cases where default extension was not added
* fix(plugins): only apply AMD wrapper to AMD format plugins
* refactor(plugins): update regex for codeql warnings
* refactor(plugins): remove check for commented out dependency strings in AMD regex
* test(plugins): add tests for systemjs hook amd detection
* create new feature toggle + start to put stuff behind it
* block move, tidy up interfaces
* fix new/folder actions buttons
* show warning when deleting library panels/alert rules + run i18n:extract
* pseudo
* update unit tests
* pass alert in description
* Add support for MI authentication to MSSQL
This adds support for managed identity authentication for MSSQL managed
instances running in Azure.
Co-authored-by: baldm0mma <jev.forsberg@grafana.com>
* adjustments based on user feedback
* makes prettier
* Apply suggestions from code review
* Update docs/sources/setup-grafana/installation/debian/index.md
* Update docs/sources/setup-grafana/installation/debian/index.md
* don't use legacy AC fallback for frontend access control checks
* extend tests
* more test fixes
* more test fixes
* more test fixes
* final test fix
* team test fix
* finally fix tests
* GA toggleable labels
* Logs integration: update readme with new features
* Build a logs data source: update docs with the new interface
* Plugin docs: update example function signatures and arguments
* Plugin docs: update modifyQuery function names
* Formatting
* Remove character
* Remove `expr` from docs
* Plugin docs: improve code
* Plugin docs: further code improvements
* Reduce restrictions with non-user accounts
* Revert restrictions on anonymous accounts
* Change log level from warning to debug
* Change log messages to upper case
* add configuration options to .ini file and parse them
* updates on config options, add external AM config to the main config struct
* separate external AM configs from general alerting configs, naming
* comments about usage of tenantID in basic auth & not using config options yet
* Adds levitate levignore configuration file to prevent breaking change notifications from expected typescript symbols
* Add root file to codeowners
* Remove unnecessary word boundary
* Exand it to changes and a\dditions too
* Progress
* think this a bad approach
* Scene panel repeats looking good
* Update
* update
* Update
* Use key instead for inspect/view
* refactorings to improve tests
* Update
* More tests
* Update
* added support for key / value variables
* Update
* Fixes
* remove log
* Update
* Removed old gdev templating dashboard and added new and improved one
* Update
* Added repeating panels coded demo
* Update to latest scenes lib
* review feedback fixes
* update
* Sync schema
* Alerting docs: link fixes and a note for expressions
* changes format of note
* fixes extra space
* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* update prometheus link
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* added new config doc
* edits to config doc
* updates to config and index docs
* minor edits to config page
* updates to query editor
* query editor update, added data source keyword
* index file updates
* updates to quey editor, index
* edits to index, configure and query editor docs
* final updates to config and index docs
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/query-editor/index.md
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/query-editor/index.md
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/datasources/elasticsearch/configure-elasticsearch-data-source.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* added date histogram options
* suggestions from Chris
* added bucket aggregations options
* bucket aggregation
* updates based on feedback
* removed panels info under logs query
* inspector now query inspector
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* feat: add ability to launch targeted dskit modules in the grafana server CLI command
This commit adds a ModuleServer and ModuleRunner suitable for launching dskit services and updates the server cli command to use this instead of the full Server. The default behavior is unchanged and will launch the full Grafana server. Individual services are targeted by setting target=comma,seperated,list in the config file.
* require dev mode to target dskit modules
* remove unused type
* replace setting.CommandLineArgs w/setting.Cfg; the caller can deal with calling setting.NewCfg
* Update pkg/server/module_server.go
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
---------
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
* Add tabs for Insights/Getting Started in home page
* Display panels using the scenes framework
* Hide Insights page under a feature flag
* Add a new panel and improve ASH queries
* Improve panels layout
* Add more panels
* Change datasource UID
* Rename most fired alerts table title
* Show navigation cards on top
* Improve panels
* Add transformation to display link to view alert rule
* Restructure panels
* Fix panels layout
* Fix grid layout in landing tab
* Add transformation to most fired rules table
* Move grafana-specific scenes under dedicated folder
* Add scene with custom datasource that queries an API
* Add scenes panels for more datasources
Not just ASH but including grafanacloud-usage and grafanacloud-prom metrics
* Changes to grafana panels
* Add per rule group scenes with query variables
Also improve existing panels legends/formatting
* Fix lint
* Fix legends for some panels
* Fix lint
* Move files under new alerting home directory
* Refactor transformation in MostFiredInstancesTable scene
* fix lint
* Display panels in collapsable sections
* Improvements to data displayed in several panels
* chore(plugins): bump systemjs to latest version
* refactor(plugins): switch runtime over to use latest systemjs, add typings
* refactor(plugins): use latest systemjs APIs for runtime dependency resolution
* refactor(plugins): return valid urls from backend for latest systemjs import to work
* revert(plugins): remove cfg from assetpath in favour of relative paths
* fix(plugins): useDefault for systemjs deps to solve undefined errors
* feat(plugins): add basic support for loading plugins via CDN
* fix(plugins): load nested plugins with latest systemjs
* feat(plugins): add back ability to transform plugin src for cdns
* feat(plugins): get caching for module.js working, clean up
* refactor(plugin_loader): create buildImportMap fn and more clean up
* refactor(angularapp): use buildImportMap for dependencies and clean up
* test(plugin_loader): fix failing test due to systemjs update
* test(jest): mock systemjs amd extra in tests to prevent it breaking tests
* chore(plugins): remove systemjs module-types extra, already included with system
* fix(plugins): update key for invalidating cached plugins
* fix: move systemjs amd define to another global so monaco can load
* refactor(plugins): clean up cache buster and tests
* chore(plugins): remove debug
* refactor(plugins): move systemjs define to keep global cleaner
* fix(plugins): set useDefault so system modules lodash references dont fail
* feat(plugins): hook systemjs onload so stylesheets are applied to the dom
* refactor(plugins): wrap amd formatted plugins in iife to prevent define collision
* feat(plugins): support system module format for legacy plugins
* test(plugincachebuster): update tests to match latest implementation
* test(plugins-loader): fix up tests post module property change
* fix test
* Update pkg/plugins/manager/loader/assetpath/assetpath.go
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
* chore(plugin_loader): remove stray import from merge conflict
* Revert "Update pkg/plugins/manager/loader/assetpath/assetpath.go"
This reverts commit 0df57d1cf20f49c22c93369001c70aae46a97c42.
* fix(plugin_loader): set use default for shared plugin dependencies
* refactor(plugins): use leading slash for Module and BaseUrl
* fix(plugins): fix resolve appending extension to cache query param
* refactor(plugins): align baseurl and module paths
* refactor(plugins): update builtInPlugins keys to match naming convention
* refactor(plugins): minor loader clean up, fix up types
* test(plugins): fix failing tests
* refactor(plugins): rename cache buster systemjs plugin to cache
* refactor(plugins): separate plugin_loader into smaller files
* chore(plugins): clean up plugin_loader types
* chore(plugin_sandbox): fix typescript error
* chore(npm): remove unplug debug and pin systemjs to 6.14.1
* refactor(plugins-cdn): update loaders to use absolute module url from backend
* fix(plugins): escape period in systemjs module regex
* chore(plugins): delete redundant systemjs plugins
* refactor(plugin_loader): move hooks into own file, add types
* test(plugins): add tests for systemjs loader hooks
* chore(plugins): rename systemjshooks file
* chore(plugins): remove redundant systemjs cdn backend code
* fix(plugins): handle loading with config.appSubUrl
* chore(plugins): delete redundant plugin-cdn angular code
* test(plugins): fix failing systemjs test missing pluginsCDNBaseUrl
* refactor(plugins): backend provides base and module properties with AppSubUrl
* fix(plugins): consider AppSubUrl for plugin logos
* fix(plugins): use isHostedOnCDN util when checking for cdn hosted plugins
* add new appSubURL field to config
* refactor relative URL func
* fix path for core app
* refactor asset path input
* fix(plugins): catch errors in loadPluginCss
* feat(plugins-cdn): selectively transform sourceMapURL
* re-add deleted test case
* chore(plugins): bump to latest systemjs@6.14.2
* feat(plugins): add systemjs-cjs-extra for loading commonjs plugins
---------
Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
* Changed docs version in link
* Removed reference to dashboard previews docs
* Added back reference and replaced partial URL with relref
* Remove reference to removed docs
* check languageProvider to work with non-indexed metadata
* change loki devenv to work with non-indexed metadata
* trigger ci
* add forced labels after parsers
* add comment
* Update public/app/plugins/datasource/loki/modifyQuery.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update all use of docs/shared in Grafana to use keyword arguments
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Add version inference to remaining Grafana docs/shared usage
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* updates
* make save button always visible but disabled
* only reset toggles if there isn't an error response
* make linters happy
* update post body to match backend
* fix linter again
* be smarter about sorting of empty descriptions
* run prettier
* fix payload
* Re-add disabled to switch
---------
Co-authored-by: Joao Calisto <joao.santana.calisto@gmail.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
* SQLStore: fix issue where postgres would not find the existing org
Grafana using a postgres databases would fail to find the created org when the CreatedAt and UpdatedAt times are (inaccurately) populated. This issue only occurs in postgres, and only shows up when getOrCreateOrg run to create the admin user AND the organization already exists. See https://github.com/grafana/grafana/issues/71781 for more information and a reproduction.
* add an integration test
* Make identity.Requester available at Context
* Clean pkg/services/guardian/guardian.go
* Clean guardian provider and guardian AC
* Clean pkg/api/team.go
* Clean ctxhandler, datasources, plugin and live
* Clean dashboards and guardian
* Implement NewUserDisplayDTOFromRequester
* Change status code numbers for http constants
* Upgrade signature of ngalert services
* log parsing errors instead of throwing error
* removed infra logs
* improve health check
* remove debug and error logs
* feedback
* Update pkg/tsdb/azuremonitor/azuremonitor-resource-handler.go
* Update pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go
* fix close body error
* update test
* resource request should return errors
* go linter
* go linter
* [LDAP] Disable removed users on login
* Fix tests
* Add test for user disabling
* Add tests for disabling user behind auth proxy
* Linting.
* Rename setup func
* Account for reviews comments
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* accept uid to pubdash creation
* add accesstoken back
* add uid validation unit tests
* unit test for create pubdash with uid
* update err declaration
* remove white space
* add comment
* remove trailing spaces
* remove space
* suggested changes
* baldm0mma/help_button/ force QueryOperationRow to expand on showHelp click
* baldm0mma/help_button/ remove comment
* baldm0mma/help_button/ add comment to onClose()
* baldm0mma/help_button/ remove useToggle for showing help
* baldm0mma/help_button/ remove comment
* baldm0mma/help_button/ update comment
* baldm0mma/help_button/ add full toggle control for parent of QueryOperationRow
* baldm0mma/help_button/ update inline comments
* baldm0mma/help_button/ update annos
* Add angularDeprecationUI feature toggle
* Add angular notice in angular panel header
* Show angular notice for angular datasources
* Show angular notice at the top of the dashboard
* Changed Angular deprecation messages
* Fix angular deprecation alert displayed for new dashboards
* re-generate feature flags
* Removed unnecessary changes
* Add angular deprecation dashboard notice tests
* Add test for angular deprecation panel icon
* Update test suite name
* Moved isAngularDatasourcePlugin to app/features/plugins/angularDeprecation
* Add hasAngularPlugins to DashboardModel
* re-generate feature toggles
* Fix tests
* Fix data source spelling
* Fix typing issues
* Extract plugin type into a separate function
* re-generate feature flags
* reportInteraction on angular dashboard notice dismiss
* re-generate feature flags
* Re-generate feature flags
* lint
* Refactor: move ldap auth registration to OSS
* Update public/app/features/auth-config/types.ts
* fix: permission settingswrite
* fix: types for typescript find()
* fix: linting
* fix: removed types that are implicit
* added text for no available authentication providers
* refactor: make use of ldapenabled instead for minimal changes
* SceneDashboard: Discard changes now works
* To save model works and start at save drawer
* Update
* Added missing file
* Refactorings to keep responsibility more logical
* Refactorings
* Removed file
* Fixed state issue
* Update
* Update
* Dashboard: Save original JSON to state
* Dashboards: Update tests
* Dashboards: Fix original json access
* Dashboard: Save original to the DashboardModel
* Dashboard: Cleanup tests
* Remove original db setter
* fix some event.target as stuff
* segment async story
* segmentinput story
* SegmentSelect
* fixing some tests
* more test fixes
* undo change to SilencesFilter
* Add Dashboard data source guidance
Add guidance about how the special Dashboard data source affects repeating rows
* Update link to repeating rows content
* Fixed broken relrefs and updated wording
* Updated wording for clarity
* Fixed typo
* Make identity.Requester available at Context
* Clean pkg/services/guardian/guardian.go
* Clean guardian provider and guardian AC
* Clean pkg/api/team.go
* Clean ctxhandler, datasources, plugin and live
* Question: what to do with the UserDisplayDTO?
* Clean dashboards and guardian
* Remove identity.Requester from ReqContext
* Implement NewUserDisplayDTOFromRequester
* Fix tests
* Change status code numbers for http constants
* Upgrade signature of ngalert services
* log parsing errors instead of throwing error
* Fix tests and add logs
* linting
* Unify default value
* Use variable to keep default precisions in sync
* Use default precision variable
* Update precision description
* Update defaultPrecisionString and move
* Be more specific in naming of variabkle
* Revert "Merge remote-tracking branch 'origin' into ivana/es-precision-default-value"
This reverts commit 599f236a77, reversing
changes made to 6742be0c6d.
* Revert wrong merge
* Revert wrong merge with turned off lefthook
* Metrics summary
* Update query
* Remove colors
* Update states
* Add group by into its own component
* Add group by to search and traceql tabs
* Add spacing for group by
* Update span kind values
* Update span status code values
* Update query based on target + group by
* Cleanup
* Only add targetQuery if not empty
* Add kind=server to table
* Update groupBy query logic
* Add feature toggle
* Use feature toggle
* Self review
* Update target query
* Make gen-cue
* Tweak query
* Update states
* useRef for onChange
* Fix for steaming in search tab
* Add loading state tests
* metricsSummary tests
* Datasource tests
* Review updates
* Update aria-label
* Update test
* Simplify response state
* More manual testing and feedback from sync call
* Prettier and fix test
* Remove group by component from traceql tab
* Cleanup, tests, error messages
* Add feature tracking
- The util/converter Prometheus response json parse was not checking for errors while parsing. It now does. In particular, if `[dataproxy]/response_limit` is set in Grafana's config, it will now recognize the limit error.
- Fixes#73747
- Adds `jsonitere` package, which wraps json-iterator/go's Iterator's Methods with methods that return errors, so errcheck linting can be relied upon
- Impact:
- If something was sending malformed JSON to the prometheus or loki datasources, the previous code might have accepted that and partially processed the data
- Before there may have been partial data with no error, where as no there may be errors but they will have no partial results, just the error.
* Plugins: Dynamic angular patterns: Return error for != 2xx status code
* Add test for status code check
* Plugins: Dynamic angular patterns: Add random skew to periocic GCOM api calls
* Add test for random skew
* Changed randomSkew signature, ensure it is always positive
* experiment: attempt to tag only UI devices
* lint frontend
* use await
* use shorthand check
* do not assume build info exists
* do not assume build info exists
* Apply suggestions from code review
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
---------
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* move truncating to helper function, to start of array
* Prometheus: Add 1000 result warning as sticky footer in metric select (#73649)
add 1000 result warning as sticky footer in metric select
* Prometheus: Only show truncated results warning if results have been truncated (#73650)
only show truncated warning if results have been truncated
* add test to metric select
---------
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
* Updated toggletip to use strategy fixed, added tests and temporary story so it can easily be checked
* Added FocusScope restoreFocus and appropriate tests to toggletip
* Open toggletip in test for making sure focus remains when using escape
* Add aria-expanded to toggletip toggle child
* Added to temp story for Toggletip
* Remove focusScope for toggletip and handle focus restoration manually
* Remove toggletip temp story and add toggletip long content story
---------
Co-authored-by: joshhunt <josh@trtr.co>
`grafana-ml` was added to the `availableIconsIndex` object in
<commit> but no corresponding SVG was added, nor was the Icon
bundle updated.
This commit adds the real Grafana ML icon as gf-ml.svg, renames
the key in the availableIconsIndex accordingly, and updates the
Icon bundle using the documented script. Note that the name
was changed to `gf-ml` rather than `grafana-ml` because otherwise
the wrong directory is used (unicons rather than custom).
The main motivation for adding this is because plugin extensions
need to specify a valid icon name, and we want to use the Grafana ML
icon for our extensions, which requires the icon to be part of
core Grafana.
* InfluxDB/QueryEditor: Add delete buttons to measurement, part and tag sections
The diff provides an additional "delete" button to measurement section, part list section and tags section in the influxdb datasource editor. This improves user experience by allowing users to delete measurements, parts and tags directly from the user interface. The commit also slightly refactors the options generation for these sections, removing the "-- remove filter --" option as it becomes redundant with the new delete button.
* InfluxDB/QueryEditor: Replace Button with AccessoryButton
Changed the Button components to AccessoryButton from the '@grafana/experimental' package, used for the delete functionality in data source components for influxdb query editor. The AccessoryButton is more visually consistent with our current Grafana UI aesthetic and provides better user experience. The change was implemented in FromSection.tsx, PartListSection.tsx, and TagsSection.tsx files.
* Update public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/FromSection.tsx
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* Update public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/PartListSection.tsx
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
---------
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* RBAC: remove unnessisary guardian construction and update tests
* RBAC: remove usage of guardian in UpdateFolderPermissions and refactor test
* RBAC: remove usage of guardian in update and get permissions for dashboards
* Improve naming; fix tests
* Pass countWarning to titleItems
* Center warning text
* Revert variable name
* Switch from arrow function to direct assignment
* Add ability to make component controlled
* Replace remaining isOpen with collapsed
* Fix test; update story and docs
* Add test; add uncontrolled functionality
* Add org_id to correlations
* Add tests
* Allow org_id to be null in case org_id=0 is used
* Create organization to ensure stable id is generated
* Fix linting
* Ensure backwards compatibility
* Add deprecation information
* Migrate correlations indices
* Default org_id when migrating
* Remove redundant default
* Make PK non-nullable
* 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
* disable a feature toggle that is on by default
We document how to enable a feature toggle, but not how to disable one. This adds the config setting to disable a toggle that is on by default.
* remove "alpha"
Alpha features are not the only ones that can be enabled, and we don't use the term "alpha" anymore.
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* makes prettier
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
Update config editor
- Use Field instead of InlineField
- Make use of new ConfigSection structural components
- Add DataSourceDescription component
- Add secureSocksProxy to types
* set panel z-index to a descending number once they are ordered before they are rendered
* set styling inside grid item
* fix unresponsive RGL when style is overwritten entirely
Execute all queries to the same datasource in a single request.
Uses the query index and the graph node ID index, and then a stable dependency graph sort based on node input index number in attempt to keep the original query order intact.
* move access control api to SignedInUser interface
* remove unused code
* add logic for reading perms from a specific org
* move the specific org logic to org_user.go
* add a comment
---------
Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
* add `id` field to elasticsearch
* add comment
* slightly better perf
* only add `id` to logs frames
* only add `id` for logs responses
* concat `index` and `id`
* change snapshot generation to false
* use better loop
* fix tests
* moved up
* Authn: Add interface for external identity sync
This interface is implemented by authnimpl.Service and just triggers PostAuthHooks and skipping last seen update by default
* Authn: Add SyncIdentity to fake and add a new mock
This commit updates the screenshot package to make From and To
optional. It also updates the docs for ScreenshotOptions so
this behavior is well documented.
* Logs: Hide filters in log details if the data source doesn't support them
* Logs Container: use logsQueries prop
* Log details: add filters visibility test
* remove unused datasource pages
* move useDataSourceSettingsNav from datasources to connections
without any modification in the code yet
The reason for this is that its only usage is in this file, so we are
going to merge it with the other useDataSourceSettingsNav hook in the
next commit.
* merge two useDataSourceSettingsNav's
and rename consts and remove duplicated calls
* simplify useDataSourceSettingsNav
* Fix parsing absolute range
* Silence warning issued by moment js
* Introduce URLRangeValue to enforce better type-checking
* Fix unit tests
* Allow not passing range to generate ExploreUrl
* Use updated time range format in a test
* Allow empty object to be passed as a data link for backward compatibility
* Update mocks
* Post-merge fixes
* Simplify checking if range is passed as an empty object
* Update docs
* Switch from husky+precommit to lefthook
Migrate from husky/precommit to lefthook
h
old husky precommit
lefthook so far
remove husky folder
switch to new lefthook package
Add postinstall script to clean up after husky
preinstall to remove husky config
package.json
package.json
package.json
script
v
Reduce lefthook output
Cleanup
testing
reduce output
testing betterer
testing betterer
testing betterer
testing betterer
testing betterer
testing betterer
testing betterer
skip skipping execution info
small cleanup
remove comment from testing
clean up old husky hooks in .git/hooks path
run scripts in parallel
update codeowners
don't auto-install lefthook
install lefthook with make command
fix yarn checksum
* update codeowners
* don't use source because it isn't available in ubuntu/debian's /bin/sh
* Ensure lefthook commits files fixed by precommit hooks
* add comment to lefthook.rc explaining what it does
* add i18n:pseudo precommit
* Don't create .husky/safe-to-delete file anymore
* cleanup old lint-staged config
* contribute docs
* update lefthook to 1.4.8
* Move frontend encouragement docs
* rewrite husky cleanup script in bash so we can run it with make
* Make old husky precommit script reject commits until husky is removed
* log precommit warning for everyone
* fix package.json
* run lefthook hooks from old husky hook
* run lefthook hooks from old husky hook
* comments
* codeowners
* codeowners
* Update index.md
The word `Configuration` was used to describe an action for getting started, when the actual UI has the word `Administration` and not Configuration. Updated the docs to reflect the actual environment created.
* Update index.md
Updated the tutorial to match the current UI options
* Made copy edits for styling and consistency with Cloud fundamentals tutorial
Made some copy edits to match our style guide and to make this tutorial a bit more consistent with the Cloud version. Also added the step for updating the legend back to the build dashboards section.
* Ran linter
* Edited text to match updated UI
Made edits to match UI behaviour as well as some further style edits.
* Made final copy edits
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
* Add tests for service accounts metrics usage
* Add service account store implementation
* Add service account service implementation
* Add tests for org metrics usage
* Add org implementation
* Add service implementation
* add metrics and tracing to state manager
* propagate tracer to state manager
* add scheduler metrics
* fix backtesting
* add test for state metrics
* remove StateUpdateCount
* update docs
* metrics can be null
* add tracer to new tests
* make discord url secure
* support migrating unsecure settings to secure settings
* Update public/app/features/alerting/unified/utils/receiver-form.ts
Co-authored-by: William Wernert <william.wernert@grafana.com>
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: William Wernert <william.wernert@grafana.com>
* added what's new 10.1
* created new upgrade guide
* updated index file to 10.1
* updated whats new index file
* Dataviz: add disconnect values whats new content
* Docs: Add Configure refresh token handling separately for OAuth providers to what's new 10.1 (#71648)
* Add what s new section for configuring refresh token handling
---------
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Whats new: Add step editor and copy link (#71964)
* Add step editor and copu link to the whats new
* Update docs/sources/whatsnew/whats-new-in-v10-1.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Update docs/sources/whatsnew/whats-new-in-v10-1.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Update docs/sources/whatsnew/whats-new-in-v10-1.md
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Add flamegraph section
* Added TraceQL response streaming section
* Updated tempo-streaming video link
* What's new: Add Loki, Elasticsearch, and Log changes (#72101)
* What's new: Add Loki, Elasticsearch, and Log changes
* Remove Lucene parser mention
* added contributor name to each entry
* Alerting: adds whats new entries and structure
* Elasticsearch: logs sample in explore
* Add span filtering is GA to whats new doc
* Transformations redesign and metrics explorer
* ran prettier
* What's new 10.1: Recategorize contents and add missing data (#72199)
What's new: recategorize content and add missing data
* Revert whats new refresh token handling (#72191)
Revert refresh token handling
* docs: What’s New & Upgrade Guide 10.1 AuthNZ (#72000)
* add what's new authnz
* Update docs/sources/upgrade-guide/upgrade-v10.1/index.md
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Alerting: screenshots and updates
* Alerting: delete couple of entries
* Docs: Add Visualizations and Widgets Split to what's new 10.1 (#72009)
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Docs: Add CloudWatch Logs Monaco query editor to what's new in 10.1 (#72221)
* Docs: Add CloudWatch Logs Monaco query editor to what's new in 10.1
* Add guidance for Cloud users to enable the feature
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Alerting: adds notification policy entry
* Add Plugins/Angular deprecation sections to What's new 10.1
* Add Plugins/ds uid deprecation section to What's new 10.1
* Alerting: adds label color entry
* Adds whats new features for AWS Datasources
* Update what's new 10.1 angular deprecation section
* Docs: what's new for preventing manual role updates (#72279)
* what's new for disabling manual role updates
* add a reference to the feature toggle
* fix spelling
* Apply suggestions from code review
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* PR feedback
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* wording fixes
* whatsnew-10.1.0: add logs-context info (#72240)
* whatsnew-10.1.0: add logs-context info
* explain what log context is
* improved description
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* better phrasing
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Subfolders: folder picker
* Influxdb backend mode
* Dataviz: heatmap datalink support
* DataViz: geomap new beta network layer
* Dataviz: update geomap network layer image
* Dataviz: update availability wording to public preview from experimental for geomap network layer
* Docs: Add Activate draft reports section to what's new in 10.1
* Docs: Add format time transformation to what's new
* Docs: Adjust format time transformation language
* Explore: Add what's new about panel plugins (#72338)
* Add what's new about panel plugins
* Update docs/sources/whatsnew/whats-new-in-v10-1.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* add tabular outer join to whats new
* Update traceql streaming section
* Added new tempo search section
* Update traceql streaming video name
* docs: what's new 10.1.0, easier to use elastic query editor (#72513)
* docs: elasticsearch: new mode selector
* improved text
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* mitch edits
* Added product labels
* Made general copy edits
* Removed editing notes
* Fixed broken relref
* Fixed typo and added contributor name
* Added contributor name
* Made minor copy edits
* Update format time transformation docs
* A small edit to the role list
* Added missing information and committed copy edits
* Move Reports item to under Dashboards & visualizations
* Changed heading level of Activate draft reports
* Fixed wording of Choose which fields to display in log line entry
* Made edits to Logs improved performance entry
* Added availability for Transformations redesign
* Added availability for Join by fields
* Made final copy edits
* Removed Loki query splitting
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: André Pereira <adrapereira@gmail.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gareth Dawson <gwdawson.work@gmail.com>
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
Co-authored-by: catherineymgui <catherine.gui@grafana.com>
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: Giuseppe Guerra <giuseppe@guerra.in>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Zsofia <zsofia.komaromi@gmail.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Robert Horvath <robert.horvath@grafana.com>
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Add nested option to DataFrame. Refactor Table to use nested dataframes for sub-tables
* Use nested frames for TraceQL response
* debugging
* Fix cell text and table position
* Update getItemSize
* noHeader size
* Update sub table renderer
* Update table container height
* Cleanup and fix RawPrometheusContainer height
* Update resultTransformer and docker script
* Updates to TableContainer, resultTransformer after merge
* Fixes for table pagination in dashboards
* Cell height and show footer enhancement/fix
* Sub table links
* Update RawPrometheusContainer
* Remove console log
* Update tests
* Update storybook
* Remove Tempo demo
* Store nested data in single field via its values
* Move nested prop into custom
* Tempo demo
* Add field type & update incorrect logic
* Update docker compose image for Tempo
* Update packages/grafana-data/src/field/fieldOverrides.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Simplify logic for getting nestedFrames and rendering sub tables
* Update docs for table
* Update nested table bg color
* Lighten nested table bg color
* Renames
* Migrate frames using parentRowIndex and add deprecation notice
* Update title
* Align expander icon size between Table and interactive table
* Table: Refactor out the expanded rows bits
* fix spacing
* Add line along left side for expanded rows
* Disable hover row background when expanded
---------
Co-authored-by: André Pereira <adrapereira@gmail.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* wip
* scope active user to 1 org
* remove TODOs
* add render auth namespace
* import cycle fix
* make condition more readable
* convert Evaluate to user Requester
* only use active OrgID for SearchUserPermissions
* add cache key to interface definition
* change final SignedInUsers to interface
* fix api key managed roles fetch
* fix anon auth id parsing
* Update pkg/services/accesscontrol/acimpl/accesscontrol.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* Dashboards: Fix tests when authn broker is enabled.
StarService was not configured for tests, the call was guarded by !c.IsSignedIn
* Change default to be anon user to match expectations from tests
* OAuth: rewrite tests to work with authn.Service
* Setup template renderer by default
* Extract cookie options from cfg instead of relying on global variables
* Fix test to work with authn service
* Middleware: rewrite auth tests
* Remvoe session cookie if we cannot refresh access token
A partner complained in the name of a customer. They have 6k datasources and it took them some time to figure out why they only had 5k coming back.
This commit add a warning for this edge case, content is pretty clear.
* introduce a new action "alert.provisioning.secrets:read" and role "fixed:alerting.provisioning.secrets:reader"
* update alerting API authorization layer to let the user read provisioning with the new action
* let new action use decrypt flag
* add action and role to docs
* Make it clear that MariaDB is also supported as datasource
MariaDB is now the default relational DB on lots of Linux distribution,
it's important to make it clear that it is perfectly supported.
* Fix 404 and make MySQL docs URL more robust
And lint with prettier.
* Review from lwandz13
Use the same code path to interpolate both metric variables and
filter/tag variables when the data source is accessed either directly or
via the expressions datasource.
partial fix for #48141 (opentsdb datasource only)
Signed-off-by: Uri Okrent <uokrent@gmail.com>
* Auth: prevent auto_login redirect if user is already authenticated
Before attempting an auto-login for OAuth, verifies if current context has already been
authenticated.
Fixes: #72476
Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
* calculate cacheID instead of literals
* use mocked clocks
* advance clocks with the eval results
* use clearer timestamp aliases
* make expected state labels be more clear to read
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
* sets skip_org_role_sync to true for google
* add google skiporgrolesync and sets to true always
* add field
* Update docs/sources/setup-grafana/configure-security/configure-authentication/google/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* add AKS to words
* script back to mina
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
This doc fragment is included on multiple pages including this one: https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/
the only flaw is it's missing "sudo". Modern linux practice suggests using sudo for all administrative edits like this, and this change reinforces parallel structure in the target docs page. There may potentially be some other context this fragment is used in where sudo isn't appropriate, but this makes it easier to copy/paste the command and have it work on modern linuxes.
This is preparative work for extending the grafana server cli command to target individual dskit modules that seemed worth breaking into this smaller PR. This moves the CLI flags and various reusable chunks of code into variables and methods.
* add termination stage
* uid -> pluginID (for now)
* also fix fakes
* add simple test
* Fix logger name
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* inline stop func call
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
---------
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* Search: Attempt to support folderUID filter
* Search: Use folder UID instead of ID for searching folders
* Update swagger
* Fix JSON property casing
* Add integration test
* Remove redundant query condition
* Fix frontend test
* Fix listing dashboards in General/root
* Add support for fetching top level folders
using `folderUIDs=` (empty string) query parameter
* Add deprecation notice
* Send uid of general in sql.ts
* Use 'general' for query folderUIDs query param for fetching folder
* Add tests
* Fix FolderUIDFilter
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* update copy of ConnectionsRedirectNotice
The Connections page is not that new anymore
* extend NavLandingPage with optional header
* show ConnectionsRedirectNotice on Admin landing page
* make ConnectionsRedirectNotice dismissable
* make ConnectionsRedirectNotice informational
* activeTab for public dashboard matches others
* add analytics action for going through categories of sharing modal
* add analytics for going through actions of any cateogry in sharing modal
* change 'tab' to 'category'; add key 'sharing_category' to actions for easier distinction
* sharedCategory sounds like a category is shared; changed naming to shareDashboardType
* remove hard-coded analytic event name
* wrap the reportInteraction call for all actions when sharing dashboard
---------
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
* add missing cfg for skiporgrolesync
* add google skiporgrolesync
* removed google skip
* update docs to reflect google
* remove docs update for google
* Update _index.md
Adding popular open-source proxy options so users don't have to do further research if they don't want to
* ran Prettier
* Update docs/sources/setup-grafana/configure-security/_index.md
Co-authored-by: Ieva <vasiljeva.ieva@gmail.com>
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ieva <vasiljeva.ieva@gmail.com>
* Do not update statistics at service collector startup
* Configurable collector interval
* Introduce initial random delay
* Prevent reporting metrics until the stats have been collected
* Apply suggestion from code review
* Add influxdbSqlSupport feature toggle
* Add SQL option to the config page
* Add SQL backend
* Add metadata support in config page
* Implement unified querying
* Fix healthcheck query
* fsql tests
* secure grpc by default
* code cleanup
* Query handing for sql mode
* Implement a placeholder sql editor
* Fix query language dropdown
* drop in SQL editor
* switch to use rawSql, get sql editor working
* fix healthcheck
* WIP
* memoize component to stop unwanted rerender onQuery
* dont reinit datasource on each render of the editor
* remove useless memo
* clean up
* Fix the link
* Alpha state warning
* Remove console.logs
* update model for fsql
* remove unused
---------
Co-authored-by: Galen <galen.kistler@grafana.com>
* Add tests
* Fix query for nested folders with zero self-contained permissions
* Fix query behind permissionsFilterRemoveSubquery flag
* Apply suggestion from code review
* clear selection state when indeterminate
* ensure search state is properly cleared when toggling the indeterminate checkbox
* select everything in view
* Add feature flag
* Introduce interface and dummy implementation
* Add tests for the new filter
* accessControlDashboardPermissionFilterNoFolderSubquery implementation
* join only if it's necessary
* force ordering for tests
* Temporarily enable new query for benchmarks
The existing link will take new users to the Data Source Management page which falls under that administration section and is perhaps more advanced that we want for a new user. The updated link takes new users to what I think was the intended "Data Sources" page.
* lock down server admin role updates on the frontend if the user is externally synced
* add tests
* lock Grafana Server admin role updates from the backend
* rename variables
* check that the user has auth info
* add LDAP to providers for which Grafana Server admin role can be synced
* linting
* UI update of providercards
* fixed the naming of the providercard and margin to top
* fix: add settings to the AuthConfigPage for the provider card to get the displayname
* removes the ldap name check
* refactor to account for the configured/enabled sitation and removed the LDAP name check
* added type to authstatus instead
* remove the settings from initiation of the component
* added name to the type
* removed the configAuth
* do not export all types
* add back types
* Replacing the regex based approach and integrating the lezer-traceql grammar in the editor
* Added some tests
* Added path to capture error in filter root
* Tests are great and help fix issues 👍
* Fix autocomplete tests
* WIP: Show annotations markers in TimeSeries panel when using Loki as alert state history
* WIP changes
* Fix converting log records to data frame for panel
* Move fetching alert state history with Loki to the PannelQueryRunner to keep the panel flow
* use dasboardUID and panelUID for requesting Loki ash
* fix wrong prettier change
* Only request loki ash when having alertstate
* Use panelID as param in history query
* Refactor: move getRuleHistoryRecordsForPanel and remove filtering code as is not used
* Adress PR review comments
* Add try catch for ash request
* Add tests for updatePanelDataWithASHFromLoki method
* Address PR review suggestions
* review suggestion
* Add test for logRecordsToDataFrameForPanel method
* pr Review nit suggestion
* Dont show toast messages from Loki request
* add folder data migration, fix unique index
* fix unique index
* pass a fake store in tests
* pass store into other providers in tests
* and now with alerting!
* fixed: added id token expiry check to oauth token sync
* use go-jose and id token in cache
* Update pkg/services/authn/authnimpl/sync/oauth_token_sync.go
* refactored getOAuthTokenCacheTTL and added unit tests
* Small changes to oauth_token_sync
* Remove unnecessary contexthandler changes
---------
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
* Allow overriding internal data link supplier
* Remove SplitOpen and getFieldLinksForExplore dependencies
* Fix checking if row index is provided
* Fix unit test
* Add a comment
* Mark SplitOpen as deprecated
* Use Panel Context to provide internal data link supplier
* Update packages/grafana-ui/src/components/PanelChrome/PanelContext.ts
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
* Update packages/grafana-data/src/utils/dataLinks.ts
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
* Add missing eventsScope
* Fix infinite render loops
* Rename internal data link supplier to data link post processor
* Update packages/grafana-data/src/field/fieldOverrides.ts
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
---------
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* updated screenshots in explore index page
* add advanced data picker option to jaeger, tempo, and zipkin data source docs
* Revert changes to data source files
Reverting changes to data source files to maintain scope of this PR as just updating Explore. Changes to other areas where DS picker has been updated will be addressed on another PR when that scope has been decided.
* Fixed indentation and made advanced ds picker language more robust
* Chore: Turn validate-modfile failure into blocking drone step
* test to see if removal of dependency owner causes validate-modfile to fail and block pipeline
* revert change
* 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
* API: fix docs of users API (#62365)
Behaviour described in the issue is correct.
So with this we add comment explaining this behaviour.
Resolves: #62365
* fixing formating
* Update docs/sources/developers/http_api/user.md
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
---------
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
* Lucene: add dependency
* ModifyQuery: use Lucene parser to detect key:values in queries
* ModifyQuery: use Lucene parser to remove filters
* Remove test code
* Modify query: switch to recursive implementation
* Modify query: implement remove filter
* Update query normalizing function
* FlagElasticToggleableFilters: remove feature flag
* Remove unused feature flag from test
* Elasticsearch: escape quotes in filter values
* RBAC: Make the SplitScope migration concurrent
* Benchmark multiple alternatives: (updates in a loop, batch update, concurrent batch update)
* Only keep batching since mysql 5.7 does not seem to support concurrent batching
* Update pkg/services/accesscontrol/migrator/migrator.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* Collapsible PanelChrome v1
* Enable either Collapsible or HoverHeader modes
* Clean up
* Update story
* Add test
* Revert to 'strict'
* Use useToggle
* Allow collapsibility when title is not passed
* Fix semantics and ellipsis wrapping
* Improve accessibility
* Add documentation
"Release: Updated versions in package to 10.2.0-pre"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
* Geomap: Add network layer
* Support text labels for nodes
* Add solid styling for edges
* Remove symbol option for edge style menu
* Add support for edge text labels
* Fix linter issues
* Simplify multiple data frame handling
* Add TODO notes
* Add node and edge style categories for options
* Remove data frame hardcoding
* Hide legend, attempt to hide tooltip by default
* Mark network layer as beta
* refactor updateEdge
* Fix some linter issues
* Remove attempt at disabling tooltip for network layer
* For edge text add a stroke and increase z index
* Restrict field selection based on frame type
* refactor
* add basic bad data handling (prevent entire panel from breaking)
* generate non hard coded graph frames for style editor filtering
* code cleanup; remove hardcoded reference to "edges" frame
* fix select clearing for Data option
* fix styling
* fix lookup
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
* Extract logic from ExplorePage to a hook, add a test for the hook; remove ExplorePage test
* Remove extracted stuff from ExplorePage
* Clean up
* Fix minWidth logic
* build httpsettings overhaul with new auth component
* remove test code
* add connection and advanced http settings components
* use tooltip with link
* add correct styling and spacing
* save option select for sigV4
* fix styles in Azure auth to fit new auth component
* add types in overhaul folder that are not available yet in grafana
* update e2e tests for new connection component
* update e2e tests for new connection component
* update width of azure inputs
* fix non custom auth selects
* add feature toggle
* wrap azure style changes behind the feature flag
* fix feature toggle rebase fix error
* move advanced http setting and wrap everything in the config subsection component to fix font
* fix input width
* use cx for conditional classes
* use cx for conditional class
* Revert "remove regions/locations from variable editor"
This reverts commit 41dc6a8bfb.
* Revert "remove region pieces from e2e"
This reverts commit 6b1f82f14a.
* e2e: open resource picker correctly
* WIP
* fixes for readability
* fix
* WIP
* Keep tab index working with portal
* Use callback and clean up
* Fix linting errors
* Ignore clickable element
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* don't show Admin/Data sources page in navtree
* redirect from admin/datasources to connections/datasources
* update link of DS plugins to connections/datasources
* redirect edit page from datasources to connections
* redirect to new datasource page under connections
* redirect to datasouce dashboard page under connections
* fix navId on datasource dashboards page
* fix datasource dashboard page's nav
* Revert "update link of DS plugins to connections/datasources"
This reverts commit 0ebcb09b03.
* Fix inconsistencies in alert rule form depending on alert type
* Fix default annotations when comming from dashboard panel
* Update texts following pr review comments
* Fix texts
---------
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
* added new configure loki doc
* finished first draft of config doc
* changed file name
* started updates to query editor
* updated config and qury editor
* updated index doc config doc and query editor
* updated query editor
* updates to query editor doc
* more updates to query editor and index doc
* one small update
* updates to query editor doc and index
* Update docs/sources/datasources/loki/_index.md
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Update docs/sources/datasources/loki/query-editor/index.md
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Update docs/sources/datasources/loki/query-editor/index.md
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Update docs/sources/datasources/loki/query-editor/index.md
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update docs/sources/datasources/loki/_index.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* made changes suggested in PR
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* AzureMonitor: Fix ResourcePicker hanging
Removed location fetching for every subscription.
Fixes#70523
* fix region for multi metricnames
* fix tests
* fix e2e
* remove regions/locations from variable editor
* remove region pieces from e2e
* Alerting: Fix contact point testing with secure settings
Fixes double encryption of secure settings during contact point testing and removes code duplication
that helped cause the drift between alertmanager and test endpoint. Also adds integration tests to cover
the regression.
Note: provisioningStore is created to remove cycle and the unnecessary dependency.
* Add a keyboard shortcut to toggle all exemplars
Sometimes it's hard to see the quantile line behind all the exemplars.
This commit adds a `d x` keyboard shortcut to toggle exemplar visibility
on all prometheus queries. Unlike with legends, the logic is simpler
and it does a pure toggle as opposed to "majority toggle" as with legends.
Since exemplars might not be loaded, this also requires refreshing the data.
For the same reason, toggling a single panel is not supported, as it will
make the panel data out of sync with the rest of the dashboard.
* Use "p x" to navigate to panel explore rather than just "x"
It's more consistent with other panel level shortcuts.
It also doesn't conflict with the global "x" to toggle exemplars that way.
* logs: context: correctly append to the above&below arrays
* logs: context: on initial load always scroll to center
* logs: context: reset counts when context-query-ui changes
* add a new feature toggle for locking down role sync for users managed by GCom
* protect the frontend and the backend using the new feature toggle
* fix merge
* Expose library element service's folder service
* Register library panels, add count implementation
* Expand folder counts test
* Update registry deletion method interface
* Allow getting library elements from any folder
* Add test for library panel deletion
* Add test for library panel counting
* Update public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/SettingsBar.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* revert modal styling and add specific styling to Sharing
* Update public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/SettingsBar.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* functions > const
* put a gat between all items in email config, instead of margins for each item
* fix html semantic elements
* ad theme to class component ShareModal
* add labels
* fix failing tests; now Settings has a summary and has to be opened to be able to see the On/Off toggles
* fix dashboard-public-create test with settings dropdown
* Remove feature flag from registry.go
* Remove usages of toggle
* Refactor and cleanup Tempo's query field components
* Added deprecation alert
* Mark nativeSearch fields as deprecated
* Also show deprecated search tab if queryType is nativeSearch
* Update deprecation message to list grafana version
* Fix merge conflict
* Remove mention of toggle from docs
* reportInteraction when clicking on angular deprecation docs link
* Made messages consistent, removed duplicate component
* Revert unnecessary changes in PluginDetailsPage.test.tsx
* Moved angular deprecation notice to different folder
* Fix component names
* Dismissable alert
This features adds a configuration option when creating an alert rule query. This option already exists as part of the alert query model but is not currently configurable through the UI.
* make sure LastSeen hook has information to decide if update is necessary
* make user service check if it should update the user's last seen
* do not run last seen hook if is a login request
* make service return error when last seen is up to date
* fix err
* Update pkg/services/contexthandler/contexthandler.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* fix golint
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Azure: AzureMonitorMetrics - change response to be dataplane compliant
can be disabled via toggle azureMonitorDataplane
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
* Update dependency @grafana/experimental to v1.6.1
* chore(mssql-datasource): update completion provider to work with experimental type changes
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Use new NestedFolderPicker in SaveDashboardAsForm
* use FolderPicker wrapper in dashboard settings
* fix e2e test
* actually pass the deprecated props to the component
* just pass value
---------
Co-authored-by: joshhunt <josh@trtr.co>
* adding a panel menu group item to UI extensions.
* draft
* Fixed so we support groups in the old panel menu.
* added proper styling.
* Made tests green and small refactor.
* Added tests for panel menu category.
* Will truncate the extensions category to 25 chars.
* added test for truncating category.
* Datasource test: fix describe nesting
* Parsing: export handleQuotes function
* Modify query: add functions to detect the presence of a label and remove it
* Loki: add support to toggle filters if already present
* Datasource test: fix describe nesting
* Loki: add support to toggle filter out if present
* Remove label: handle escaped values
* Datasource: add test case for escaped label values
* Loki: remove = filter when applying !=
* Remove selector: add support for Selector node being far from Matcher
* Modify query: add unit tests
* Elasticsearch: create modifyQuery for elastic
* Elastic modify query: implement functions
* Elasticsearch: implement modifyQuery functions in datasource
* Elasticsearch: update datasource test
* Loki modify query: check for streamSelectorPositions length
* Elasticsearch query has filter: escape filter value in regex
* Remove unused type
* Modify query: add functions to detect the presence of a label and remove it
* Remove label: handle escaped values
* Logs: create props to check for label filters in the query
* Log Details Row: use label state props to show visual feedback
* Make isCallbacks async
* Explore: add placeholder for checking for filter in query
* Datasource: define new API method
* Inspect query: add base implementation
* Remove isFilterOutLabelActive as it will not be needed
* Check for "isActive" on every render
Otherwise the active state will be out of sync
* Elasticsearch: implement inspectQuery in the datasource
* Logs: update test
* Log details: update test
* Datasources: update tests
* Inspect query: rename to analize query to prevent confusion
* Datasource types: mark method as alpha
* Explore: add comment to log-specific functions
* Remove duplicated code from bad rebase
* Remove label filter: check node type
* getMatchersWithFilter: rename argument
* Fix bad rebase
* Create DataSourceWithQueryManipulationSupport interface
* Implement type guard for DataSourceWithQueryManipulationSupport
* DataSourceWithQueryManipulationSupport: move to logs module
* hasQueryManipulationSupport: change implementation
`modifyQuery` comes from the prototype.
* DataSourceWithQueryManipulationSupport: expand code comments
* AnalyzeQueryOptions: move to logs module
* DataSourceWithQueryManipulationSupport: add support for more return types
* Fix merge error
* Update packages/grafana-data/src/types/logs.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* DatasourceAPI: deprecate modifyQuery
* Explore: refactor isFilterLabelActive
* DataSourceWithQueryModificationSupport: rename interface
* Split interfaces into Analyze and Modify
* Query analysis: better name for interface
* Fix guard
* Create feature flag for active state
* Use new feature flag in Explore
* DataSourceToggleableQueryFiltersSupport: create a specific interface for this feature
* Rename feature flag
* De-deprecate modifyQuery
* DataSourceToggleableQueryFiltersSupport: Rethink types and methods
* Explore: adjust modifyQuery and isFilterLabelActive to new methods
* Loki: implement new interface and revert modifyQuery
* DataSourceToggleableQueryFiltersSupport: better name for arguments
* Elasticsearch: implement new interface and revert modifyQuery
* Loki: better name for arguments
* Explore: document current limitation on isFilterLabelActive
* Explore: place toggleable filters under feature flag
* Loki: add tests for the new methods
* Loki: add legacy modifyQuery tests
* Elasticsearch: add tests for the new methods
* Elasticsearch: add legacy modifyQuery tests
* Toggle filter action: improve type values
* Logs types: update interface description
* DataSourceWithToggleableQueryFiltersSupport: update interface name
* Update feature flag description
* Explore: add todo comment for isFilterLabelActive
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Update _index.md
Edits to the "Set up image rendering" doc.
1. First section, "Set up Image Rendering," last paragraph:
"You can also render a PNG by clicking hovering..." -- I removed "clicking" from that sentence.
2. "Alerting and Render Limits" section, link for "concurrent_render_limit" takes you to the page but not the section. This seems to be the case for all section links on this "Configure Grafana" page. I'm not sure how to fix it but switched from a relative link to a full path to see if that would help.
3. "Install Grafana Image Renderer Plugin," the link goes to the plugin overview page instead of the installation page. I tried adding the full path to see if that would go to the installation tab.
4. "Configuration" section, the same as the second edit I made, the first link, "Grafana configuration file," goes to the page but not the section link. I switched the relative path to a full path to see if it would work.
5. "Security" section, the very last sentence has the same Grafana configuration page link that goes to the correct page but not the correct section, "Grafana configuration" for the renderer token section. Same as previous ones, I switched out the relative path for the full path.
6. "Start browser with additional arguments," the second link in the first paragraph that goes to Puppeteer list of Chromium flags went to a 404 page. I couldn't figure out where they had moved it so I found a different site with a list of default flags and used that link instead.
* corrects links
* updates links
* fixes anchor link
---------
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
* Update _index.md
Added missing hyperlink for high availability and a small typo
* updates link
---------
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
* add a feature toggle
* add the fields for attribute, kind and identifier to permission
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* set the new fields when new permissions are stored
* add migrations
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* remove comments
* Update pkg/services/accesscontrol/migrator/migrator.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* feedback: put column migrations behind the feature toggle, added an index, changed how wildcard scopes are split
* PR feedback: add a comment and revert an accidentally changed file
* PR feedback: handle the case with : in resource identifier
* switch from checking feature toggle through cfg to checking it through featuremgmt
* don't put the column migrations behind a feature toggle after all - this breaks permission queries from db
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* pushed to get help of a genius
* fix: error response is not json
* feat: make request on click
* refactor: remove print statement
* refactor: remove unnecessary code
* feat: convert grafana variables to value for API request
* use the parser to interpolate and recover the original query (#64591)
* Prettify query: use the parser to interpolate and recover the original query
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* fix: reverse transformation not working
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Gareth Dawson <gwdawson.work@gmail.com>
* fix: bugs created from merge
* refactor: move prettify code out of monaco editor
* fix: variables with the same value get converted back to the incorect variable
* refactor
* use consistent styling with bigquery
* fix: only allow text/plain and application/json
* fix: only make the request if the query is valid
* endpoint now returns application/json
* prettify from js
* WIP: not all cases are handles, code still needs cleaning up
* WIP
* large refactor, finished support for all pipeline expressions
* add tests for all format functions
* idk why these files changed
* add support for range aggregation expr & refactor
* add support for vector aggregation expressions
* add support for bin op expression
* add support for literal and vector expressions
* add tests and fix some bugs
* add support for distinct and decolorize
* feat: update variable replace and return
* fix: lezer throws an errow when using a range variable
* remove api implementation
* remove api implementation
* remove type assertions
* add feature flag
* update naming
* fix: bug incorrectly formatting unwrap with labelfilter
* support label replace expr
* remove duplicate code (after migration)
* add more tests
* validate query before formatting
* move tests to lezer repo
* add feature tracking
* populate feature tracking with some data
* upgrade lezer version to 0.1.7
* bump lezer to 0.1.8
* add tests
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Datetime: Added more tests to the files in the datetime folder
* Updated tests suites according to feedback received
* Corrected the lint error
* Removed repetitive code
* introduce a function checkIfSeriesNeedToBeFixed to scan all value fields in the response and provide a function that updates Series so they can be uniquely identifiable. Only Graphite and TestData are checked.
* update `convertDataFramesToResults` to run this function and provide it to WideToMany
* update WideToMany to run the fix function if it is not nil
* update incorrect front matter labels
* removing unneeded labels from shared content files
* change public preview to private preview for email sharing
* add OSS back to product labels
* Fix different broken links and missing pages
* Pin version in docs link for release announcements
* fixing validator error
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* make unexpanded nested folder picker look like a select
* fix prefix icon
* placeholder style, only show input label if value selected
* aria-label
* text component
This commit updates eval.go to improve the performance of matching
captures in the general case. In some cases we have reduced the
runtime of the function from 10s of minutes to a couple 100ms.
In the case where no capture matches the exact labels, we revert to
the current subset/superset match, but with a reduced search space
due to grouping captures.
* init for base branch
* Add authnz code ownership
* Fix docs ownsership path
* docs revamp: Plan IAM strategy (#62582)
* Add planning page
* Add teams definition
* Expand on planning and benefits
* Add reasons to organize users
* Add description of User Teams
* Add Grafana organizations info
* Add a section between Teams and Orgs
* Add a section for external systems
* planning your role strategy
* Add service account documentation
* Add Auth Setup to index sidebar
* Address PR comments
* Add planning for API keys
* Add team and org sync
* Docs: role and permission section for planning docs (#64702)
* docs revamp: Service accounts (#63710)
* docs revamp: Add new documentation to sidebar index (#66104)
* docs revamp: synchronisation planning (#66409)
* Docs: api keys (#64803)
* Remove personal access tokens section
* Move auth integration planning page
* Remove auth folder
* Restore codeowners file
* reword and update info on user management and grouping
* Rename iam strategy page
* extend the section on teams and organizations
* Rename planning your IAM section
* Move to administration section
* Add definition for role sync
* Relocate planning
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* first attempt at keyboard handling
* rename some things, handle escape
* better
* almost working
* cleaner
* remove aria-label
* add some extra unit tests
* remove onMouseUp
* fix typo
* use a switch instead of if/else
* ensure lsit items are prefixed with an id unique to the picker
* extract keyboard interactions out into custom hook
* wrap handleCloseOverlay in useCallback
* use redux state instead of filtering items
* gRPC Server: Instrument requests made to the server.
Expose metrics from the gRPC server in order to monitor for failed responses
and response latency. Uses code from the already vendored weaveworks/common.
* Review comments.
This commit changes extractEvalString to sort NumberCaptureValues
in ascending order of Var before building the output string. This
means that users will see EvaluationString in a consistent order,
but also make it possible to assert its output in tests.
* Change references to plugin.go -> datasource.go
* Add section on starting Grafana in development mode
* Update docs/sources/developers/plugins/create-a-grafana-plugin/develop-a-plugin/build-a-data-source-backend-plugin.md
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* Clarify starting Grafana in dev mode
---------
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* test: add test for getFiles
* fix: fix getFiles test to take in a module name (not modfile name)
* move functionality unrelated to getFiles into main func
* attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go
* test
* Revert "test"
This reverts commit 2b519f3725.
* Revert "attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go"
This reverts commit eb95247487.
* attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go
* post-pairing with daniel, can access imports in a file
* clean up comments for readability
* try to return map of importName: files that import the improt
* refactor: change getFiles to accept single import name and return list of files that import it
* add log to see importPath and importName
* hasImport working
* start modowners script & add comments for hasImport
* fix modules() and uncomment main
* start script to add team names to go.mod, currently can access a map of the import and name
* 💩
* calculate root directory to point to correct go.mod
* chore: delete unnecessary files
* chore: uncomment tests
* chore: remove unnecessary comments, update documentation comments with correct cli commands
* fix: revert changes in go.mod and go.sum
* where is my dependency flag value??
* fix: owners function now can list all owners (with counts) or list a specific owner for a given dependency
* fix: change fmt.Println to logger.Println for owners func
* partial fix: modules now only prints dependencies owned by given team. -i functionality still not working properly
* fix: fix TestModules, modules
* chore: update check error message to specify user needs to assign owner to new dependency
* fix: adjust punctuation in error string
* fix: clean up comments in modowners
* chore: remove note in modowners_test
* chore: wrap HTTP server in a dskit module
Much of the logic from this comes from the POC branch, so:
- credit for this work goes to everyone else
- mistakes are my own
This is needed to support microservice deployment modes.
* added an arbitrarily-chosen 30second timeout
* Update dependency marked to v5
* add marked-mangle to preserve previous behaviour
* turn off headerIds
* also need to initialise mangle here
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* When switching from mixed to another datasource preserve relevant queries
- Update query refs
- Update tests
* Ensure templateVars are handled correctly
- Add test
* Comment
* Unused var
* For ds template variable only preserve if going from&to template
- Add test
* PanelChrome scales vertically
* Trace View with old Trace View Header works with PanelChrome
* Add top margin
* Remove console.log
* Use contain: 'strict' only when height is passed
* Clean up: use title prop in PanelChrome and everything else should be put under
* Remove test as the title will be passed to PanelChrome
* Remove unused import
* Remove titleWithLinks from PanelChrome
* Make NewTracePageHeader compatible with PanelChrome
* Fix test
* Remove margin
* Remove unused css
* Revert config changes
* Clean up: remove console log and commented out css
* Clean up unused css
* Fix tests
* Revert to a brighter color
* Show links next to duration
* Cleanup
* Remove container style and use default displayMode in PanelChrome
* Clean up
* Revert 'Give feedback' styling
* PanelChrome's width auto scales
* Fix GraphContainer's props
* TraceViewContainer doesn't need a div wrapper
* Remove loading
* Fix build issue
* FIx merge conflict
* Revert old trace page header so the header items shows correctly in dashboards
* Revert to match old trace view header
* Revert NewTracePageHeader so it can show header items in dashboards
* Revert
* Revert tests
* Make 'Give feedback' link aligned vertically
* Remove unused css
* Reduce spacing between title and container in dashboards; remove top padding for NewTracePageHeader
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Initial changes to evaluation group step
* Add separate buttons for folder and eval group creation
* Implement folder creation from a modal
* Reset group upon folder creation
* Implement creation of evaluation group in modal
* Changes to evaluation group edit modal
* Fix tests
* Address review comments
* Fix tests
* Refactor to avoid passing AsyncRequestState as prop
* Refactor to avoid passing AsyncRequestState as prop
* Move handles open/close splits in UI and URL test to the spec folder
* Remove reference to explore
* Fix what was missing
* Remove afterEach
* Use standard, non-compact format
* Set every page to have defaults of 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration pages to have of 'Cloud', 'Enterprise', and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/enterprise-licensing pages to have 'Enterprise' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/organization-management pages to have 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/provisioning pages to have 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/recorded-queries pages to have labels cloud,enterprise
* Set administration/roles-and-permissions/access-control pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/stats-and-license pages to have labels cloud,enterprise
* Set alerting pages to have labels cloud,enterprise,oss
* Set breaking-changes pages to have labels cloud,enterprise,oss
* Set dashboards pages to have labels cloud,enterprise,oss
* Set datasources pages to have labels cloud,enterprise,oss
* Set explore pages to have labels cloud,enterprise,oss
* Set fundamentals pages to have labels cloud,enterprise,oss
* Set introduction/grafana-cloud pages to have labels cloud
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix introduction pages products
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set panels-visualizations pages to have labels cloud,enterprise,oss
* Set release-notes pages to have labels cloud,enterprise,oss
* Set search pages to have labels cloud,enterprise,oss
* Set setup-grafana/configure-security/audit-grafana pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/configure-authentication pages to have labels cloud,enterprise,oss
* Set setup-grafana/configure-security/configure-authentication/enhanced-ldap pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-authentication/saml pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-database-encryption/encrypt-secrets-using-hashicorp-key-vault pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-request-security pages to have labels cloud,enterprise,oss
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/configure-team-sync pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/export-logs pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set troubleshooting pages to have labels cloud,enterprise,oss
* Set whatsnew pages to have labels cloud,enterprise,oss
* Apply updated labels from review
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Provisioning landing page
* Move editing bit to view page
* Specify API vs File, and provide terraform example
* Improvements around notif policies
* Docs around contact points
* Use h2 instead of h1
* Address feedback
* Move text about policy granularity
* convert a bunch of grafana/ui to use emotion's object notation
* convert some more grafana-ui emotion styles
* more conversion
* more conversion
* finish conversion
* fix unit tests
* fix focus styles
* remove semicolon from infobox story
* enforce role sync except if skip org role sync is enabled
* move errors to errors file and set codes
* fix docs and defaults
* remove legacy parameter
* support fall through token-api in generic oauth
* fix error handling for generic_oauth
* Update pkg/login/social/generic_oauth.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Update pkg/login/social/gitlab_oauth_test.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Update pkg/login/social/gitlab_oauth_test.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Alerting: No longer silence paused alerts during legacy migration
Now that we migrate paused legacy alerts to paused UA alert rules, we no longer need to silence them.
* Fix accessibility issues
- Ensure key events exist and role is appropriately set
- Ensure that when the filter field is cleared the query is updated
* Review
* logs: restrict permalinks to datasources with id fields
* simplified code
* more tests
* more test
* removed unnecessary comment
* fixed tests
* updated tests
This adds a new auto-milestone workflow that will set the milestone for
a PR when it is closed. This way, contributors no longer have to think
about milestone at all.
* add grafana-apiserver
* remove watchset & move provisioning and http server to background
services
* remove scheme
* otel fixes (#70874)
* remove module ProvideRegistry test
* use certgenerator from apiserver package
* Control collector/pdata from going to v1.0.0-rc8 (as Tempo 1.5.1 would have it)
* Refactor Tempo datasource backend to support multiple queryData types.
Added traceId query type that is set when performing the request but doesn't map to a tab.
* WIP data is reaching the frontend
* WIP
* Use channels and goroutines
* Some fixes
* Simplify backend code.
Return traces, metrics, state and error in a dataframe.
Shared state type between FE and BE.
Use getStream() instead of getQueryData()
* Handle errors in frontend
* Update Tempo and use same URL for RPC and HTTP
* Cleanup backend code
* Merge main
* Create grpc client only with host and authenticate
* Create grpc client only with host and authenticate
* Cleanup
* Add streaming to TraceQL Search tab
* Fix merge conflicts
* Added tests for processStream
* make gen-cue
* make gen-cue
* goimports
* lint
* Cleanup go.mod
* Comments
* Addressing PR comments
* Fix streaming for tracel search tab
* Added streaming kill switch as the disableTraceQLStreaming feature toggle
* Small comment
* Fix conflicts
* Correctly capture and send all errors as a DF to client
* Fix infinite error loop
* Fix merge conflicts
* Fix test
* Update deprecated import
* Fix feature toggles gen
* Fix merge conflicts
* First changes
* WIP docs
* Align current tests
* Add test for UseRefreshToken
* Update docs
* Fix
* Remove unnecessary AuthCodeURL from generic_oauth
* Change GitHub to disable use_refresh_token by default
* Log row menu: refactor visibility
* LogRowMenuCell: display if mouse over or pinned
* LogRowMenuCell: use unique wrapper for all buttons
* Revert to using table row as position reference
* Log row message: update test
* Fix tests
* LogRow: handle mouse over behavior
* I18N: Add browser language detector
* Improve style
* No new property for type check
* Add dependency
* Suggested doc change
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fix prettier
* 'detect' as special language, no cache and only navigator detector
As per PR suggestion comments
* Update language configuration doc
* Suggested change in doc
From @chri2547
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fix import
* Revert public/app/types/explore.ts changes
* Prettier write
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
* Update dependency lru-cache to v10
* use named import
* remove outdated type definitions and actually use named import
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* introduce a new node-type ML and implement a command outlier that uses ML plugin as a source of data.
* add feature flag mlExpressions that guards the feature
* docs: update plugin management
2 of the 3 panels were deprecated and should no longer be referenced. Picked two recently updated panels to replace.
* docs: update create app
Remove reference to deprecated worldmap panel
* Update dependency immer to v10
* use named export now that the default has been removed
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Add smart type selection when creating a new alert rule
* Auto switch when switch button has not been clicked yet
* remove unnecessay code after the last refacgtor
* Refactor
* Remove unneeded prop
* Move SmartAlertTypeDetector to its own file
* Fix tests
* Refactor: new useSetExpressionAndDataSource hook
* Fix expressions not been propagated when switching from one type to another
* Change texts
* Update tests
* Update text in switch button
* Update texts and tests
* Refactor: move code to getCanSwitch new method
* Move smart alert after queries and remove auto-switch
* Remove expressions and restore them when switching between grafana and cloud type
* Rename previous expression state
* Fix tests
* Add data source name for data source-managed alert selection
* Update reducer when changing cloud data source
* PR review suggestions
* PR review suggestions 2nd part
* PR review suggestions 3th part
* Fix canSwitch
* Update texts on smart alert
---------
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
* Update dependency glob to v10
* use named import
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Explore: Display multiple tables
* Fix tests
* Add multi table test
* Use refID and not weird custom key
* Remove tempo changes
* Consolidate/clean up some table frame logic
* clean up some code, have meta text in panel
This PR adds /api/gnet to the list of ignored paths in the gzip middleware.
Without this, when gzip is enabled (`server.enable_gzip = true`), responses
from the gnet proxy are double compressed: once by grafana.com and once by
Grafana itself. With this change we only do one round of compression for these
endpoints.
To test this out, try a request like this with `server.enable_gzip = true`
(after setting `GCOM_TOKEN` to a valid grafana.com token; you may need to
change the 'bsull' slug, too):
curl -v --user admin:admin \
-H "X-Api-Key: $GCOM_TOKEN" \
-H 'Accept-Encoding: gzip' \
localhost:3000/api/gnet/instances/bsull/provisioned-plugins/grafana-ml-app | gzip -d
Note that there are two Content-Encoding: gzip headers before this PR, and
the output is still compressed even after the `gzip -d`. After this PR things
look as expected.
* add data source uid to QueryError
* add error and datasource uid to tracing
* split queryDataResponseToResults to two functions one to extract frame from the result, and another to convert it
* propagate logger with context to convertDataFramesToResults
* restructured page, updated and removed images, replaced a paragraph with a procedure
* Clarify language
* Apply suggestions from code review
* removed native annotation language, added missing link, added text from UI
* fixed relref
* replaced relref with simple link
* updated links and link text in whats new for annotations updates
* fixed some grammar/wording and style issues
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* fix typo
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
* make link text more clear
* fix typo
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
* add table visualisation for logs
* add `logsExploreTableVisualisation` feature flag
* add feature flag to visualisation switch
* fix english
* improve state when no data is present
* improve margin
* add missing prop to test
* add tests
* fix logs table height
* fix linting
* move visualisation toggle
* add field config overrides
* update tests
* fix explore test
* fix explore test
* add missing header and revert test changes
* use timefield from logsFrame.ts
* add TODO
* move to new file
* hide fields that should be hidden
* add test to hide fields
* remove unused lines
* github oauth doc improvements
* add skip_org_role_sync to config for github provider
* update links and section headings
* update the docs based on the first PR
* update references
* Update dependency sinon to v15.2.0
* add sinon to esmodules list
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update info for the Support Bundle
Add in a note that access to the Support Bundle requires Grafana 9.5 and above.
* Make the user/permission restriction more visible since it gets lost a little in the code block
* Run prettier
* Move the new content to Before you begin section
This is the pattern that we're following with other doc topics as well.
* fix a typo
* linting
---------
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* Search sql filter draft, unfinished
* Search works for empty roles
* Add current AuthModule to SignedInUser
* clean up, changes to the search
* Use constant prefixes
* Change AuthModule to AuthenticatedBy
* Add tests for using the permissions from the SignedInUser
* Refactor and simplify code
* Fix sql generation for pg and mysql
* Fixes, clean up
* Add test for empty permission list
* Fix
* Fix any vs all in case of edit permission
* Update pkg/services/authn/authn.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Update pkg/services/sqlstore/permissions/dashboard_test.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Fixes, changes based on the review
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* move options into overlay
* add some unit tests
* Update public/app/features/browse-dashboards/components/BrowseActions/MoveModal.tsx
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* minor refactoring based on review comments
* just pass in uid
---------
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* Saga: Divider component (horizontal and vertical)
* Documentation file updated
* Made changes suggested to the component, story and docs
* Updates made to the mdx documentation
* Updates on documentation for Divider component
* Made changes to the mdx documentation following suggestions received
* Angular deprecation: Add Angular badge in plugin catalog page
* Angular deprecation: Add alert in plugin details page
* Angular deprecation: Disable install button if for Angular plugins
* removed extra console.log
* Add tests for Angular badge
* Add tests for PluginDetailsAngularDeprecation
* Add tests for InstallControlsButton
* Add tests for ExternallyManagedButton
* Table tests
* Catalog: Update angular deprecation message
* PR review feedback
* Update tests
* Update copy for angular tooltip and alert
* Update tests
* Fix test warnings
* Fix angularDetected not being set for remote catalog plugins
* Dynamic alert text based on grafana config
* Connections: Add Angular badge to Angular plugins
* Add test for connections console angular badge
* Fix tests
* Fix tests
* Moved tests
* PR review: Use ternary operator instead of &&
* Fixes to how to use Card component
* comment out desc
* Do not use deprecated theme.v1 and theme.typography.size
* pr review feedback
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Alerting: Make ApplyAlertmanagerConfiguration only decrypt/encrypt new/changed secure settings
Previously, ApplyAlertmanagerConfiguration would decrypt and re-encrypt all secure settings. However, this caused re-encrypted secure settings to be included in the raw configuration when applied to the embedded alertmanager, resulting in changes to the hash. Consequently, even if no actual modifications were made, saving any alertmanager configuration triggered an apply/restart and created a new historical entry in the database.
To address the issue, this modifies ApplyAlertmanagerConfiguration, which is called by POST `api/alertmanager/grafana/config/api/v1/alerts`, to decrypt and re-encrypt only new and updated secure settings. Unchanged secure settings are loaded directly from the database without alteration.
We determine whether secure settings have changed based on the following (already in-use) assumption: Only new or updated secure settings are provided via the POST `api/alertmanager/grafana/config/api/v1/alerts` request, while existing unchanged settings are omitted.
* Ensure saving a grafana-managed contact point will only send new/changed secure settings
Previously, when saving a grafana-managed contact point, empty string values were transmitted for all unset secure settings. This led to potential backend issues, as it assumed that only newly added or updated secure settings would be provided.
To address this, we now exclude empty ('', null, undefined) secure settings, unless there was a pre-existing entry in secureFields for that specific setting. In essence, this means we only transmit an empty secure setting if a previously configured value was cleared.
* Fix linting
* refactor omitEmptyUnlessExisting
* fixup
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* update generic OAuth docs
* some more fixes and corrections
* update examples and sync sections
* fix a link
* linting
* formatting and adding more links to OAuth integrations
* add a section with config walkthrough
* fix link
* move examples to the end of the doc
* extend role mapping
* small improvements
* add a before you begin section, clean up steps, remove some text
* remove unnecessary section
* merge main 2
* OAuth -> OAuth2
* remove Centrify example because it's likely outdated
* add shared intro content
* indentation
* add refresh token to tasks, clean up more sections
* linting
* linting
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-security/configure-authentication/generic-oauth/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* indentation and small descriptions under headings
* add a table for config options
* clean up more sections
* rewrite email address section
* rewriting login and display name sections, plus adding line breaks
* clean up more sections
* update role mapping section
* indentation again
* update section names
* incorporates final edits
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* pr feedback
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* PR feedback: rewording
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
* Baseline benchmark
* Baseline benchmark
* Re-trigger the build
* Use test id
* Re-trigger the build
* Re-trigger the build
* Use test id to speed up the test
* Split query history sync tests
* logs: scanning: add tracking
* only report start-click when it is really doing it
Co-authored-by: Matias Chomicki <matyax@gmail.com>
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Replace all alerting links with docs/reference style links
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix broken docs/reference style link
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update all alerting links to go to Grafana Cloud resources when the page is published in Grafana Cloud
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Prettier
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Replace another link
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Use sha1 (160 bit hash)
* Update pkg/services/accesscontrol/database/externalservices.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Satisfy linter, clean up
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Add GPG keys to rgm, dont' clone RGM just use the docker image
* remove the cd command
* forgot to make drone :(
* idk
* reference script more specifically
* i guess we'll just cd /src
* Only show not found artifacts
* Explore: Allow the use of plugin panels
Allow plugins to define a visualisation to use in explore that comes from a plugin.
* Explore: Allow the use of plugin panels
Rename ExplorePanel to CustomContainer
* Explore: Allow the use of plugin panels
Changed CustomContainer to take all frames for plugin id.
Add field preferredVisualisationPluginId to frame metadata.
Updated decorators to check for plugin and fallback to preferredVisualisationType if plugin cannot be found.
* Explore: Allow the use of plugin panels
Handle case where there are no custom frames
* Explore: Allow the use of plugin panels
Add test cases
lib/pq has built-in support to use pgpass file for authentication when
no password has been provided. However this requires that the connection
does not contain the password parameter at all.
Removing password parameter when postgresql password is empty in
SQL store.
* Add legend for mixed in Loki alert history
* Highlight row in the log list while hovering in the timeline instead of srcolling into it
* update some of the styles
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* add test for the bug
* update backtesting evaluators to accept a number of evaluations instead of `to` to have control over the number evaluations in one place
* Plugins: Angular detector: Remote patterns fetching
* Renamed PatternType to GCOMPatternType
* Renamed files
* Renamed more files
* Moved files again
* Add type checks, unexport GCOM structs
* Cache failures, update log messages, fix GCOM URL
* Fail silently for unknown pattern types, update docstrings
* Fix tests
* Rename gcomPattern.Value to gcomPattern.Pattern
* Refactoring
* Add FlagPluginsRemoteAngularDetectionPatterns feature flag
* Fix tests
* Re-generate feature flags
* Add TestProvideInspector, renamed TestDefaultStaticDetectorsInspector
* Add TestProvideInspector
* Add TestContainsBytesDetector and TestRegexDetector
* Renamed getter to provider
* More tests
* TestStaticDetectorsProvider, TestSequenceDetectorsProvider
* GCOM tests
* Lint
* Made detector.detect unexported, updated docstrings
* Allow changing grafana.com URL
* Fix API path, add more logs
* Update tryUpdateRemoteDetectors docstring
* Use angulardetector http client
* Return false, nil if module.js does not exist
* Chore: Split angualrdetector into angularinspector and angulardetector packages
Moved files around, changed references and fixed tests:
- Split the old angulardetector package into angular/angulardetector and angular/angularinspector
- angulardetector provides the detection structs/interfaces (Detector, DetectorsProvider...)
- angularinspector provides the actual angular detection service used directly in pluginsintegration
- Exported most of the stuff that was private and now put into angulardetector, as it is not required by angularinspector
* Renamed detector.go -> angulardetector.go and inspector.go -> angularinspector.go
Forgot to rename those two files to match the package's names
* Renamed angularinspector.ProvideInspector to angularinspector.ProvideService
* Renamed "harcoded" to "static" and "remote" to "dynamic"
from PR review, matches the same naming schema used for signing keys fetching
* WIP: Angular: cache patterns in db, moved gcom into pluginsintegration
More similar to signing keys fetching
* Rename package, refactoring
* try to solve circular import
* Fix merge conflict on updated angular patterns
* Fix circular imports
* Fix wire gen
* Add docstrings, refactoring
* Removed angualrdetectorsprovider dependency into angularpatternsstore
* Moved GCOM test files
* Removed GCOM cache
* Renamed Detect to DetectAngular and Detector to AngularDetector
* Fix call to NewGCOMDetectorsProvider in newDynamicInspector
* Removed unused test function newError500GCOMScenario
* Added angularinspector service definition in pluginsintegration
* refactoring
* lint
* Fix angularinspector TestProvideService
* cleanup
* Await initial restore
* Register dynamicAngularDetector background service
* Removed static detectors provider from pluginsintegration
* Add tests for kvstore
* Add more tests
* order imports in dynamic_test.go
* Fix potential panic in dynamic_test
* Add "runs the job periodically" test
* lint
* add timeout to test
* refactoring
* Removed context.Context from DetectorsProvider
* Refactoring, ensure angular dynamic background service is not started if feature flag is off
* Fix deadlock on startup
* Fix angulardetectorsprovider tests
* Revert "Removed context.Context from DetectorsProvider"
This reverts commit 4e8c6dded7.
* Fix wrong argument number in dynamic_teset
* Standardize gcom http client
* Reduce context timeout for angular inspector in plugins loader
* Simplify initial restore logic
* Fix dynamic detectors provider tests
* Chore: removed angulardetector/provider.go
* Add more tests
* Removed backgroundJob interface, PR review feedback
* Update tests
* PR review feedback: remove ErrNoCachedValue from kv store Get
* Update tests
* PR review feedback: add IsDisabled and remove nop background srevice
* Update tests
* Remove initialRestore channel, use mux instead
* Removed backgroundJobInterval, use package-level variable instead
* Add TestDynamicAngularDetectorsProviderBackgroundService
* Removed timeouts
* pr review feedback: restore from store before returning the service
* Update tests
* Log duration on startup restore and cron run
* Switch cron job start log to debug level
* Do not attempt to restore if disabled
* split queries and merge responses
* increase concurrency again
* update unit test to verify the headers are merged
* fix lint issue
* fix race condition in unit test
* Fix function name and add a bit more documentation about how the func should be used
* update function call after rename
* check for duplicate header vals
* make concurrent query limit configurable
* Update conf/sample.ini
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Allow setting role as None
Co-authored-by: gamab <gabi.mabs@gmail.com>
Seeking for places where role.None would be used
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Adding None role to the frontend
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
unify org role declaration and remove from add permission
fix backend test
fix backend lint
* remove role none from frontend
* Simplify checks
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* nits
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* Apply filters consistently to every list in the picker
* Display all built-in DS when editing a panel
* Add `uploadFile` prop to toggle the CSV file DS
* ContextSrv: No longer try to rotate token if we are using auth_token in url
Also extract the logic to check if we should schedule the job into its own function
* Add pagination params and apply to sql
* Create getCorrelationsResponse that returns metadata
* Set up pagination, change correlations fetch to only get source datasource correlations
* Move correlations from root to pane, only fetch correlations for one datasource when initialized or datasource is changed
* Fix tests
* Fix remaining tests
* Use functional component to handle state
* Remove unneeded mocks, fix tests
* Change perPage to limit
* Fix Go Tests
* Fix linter
* Remove parameter
* Account for mixed datasources
* Delete unused hook
* add source UID filter to API, start backing out front end hook changes
* add source IDs to API, use when loading or changing datasource
* Fix prettier
* Mock correlations response
* Get correlations for all datasources in mixed scenario
* Add documentation for new parameters
* Attempt to fix swagger
* Fix correlations page
* add swagger and openapi docs
* Add mocks to failing test
* Change API for consistency, remove extra hooks and unused function
* Add max to limit and re-gen api docs
* Move the page to the previous page if deleting all the rows on the page
* Only fetch if remove does not have value
* Change page to a reference hook
* Fix documentation, a test and some logic thinking page could be 0
* PanelChrome: Fixes issues with hover header and sizing panel above
* Update
* Make panel be focusable
* Fix tooltip when using keyboard nav
* Re-render grid when layout change to have dom positions match absolute css positions
* Fix clicking panel leaves hover header open
* Update derived fields provisioning example
*WHAT*
Update loki derived fields provisioning example:
- Remove `# Right now, Grafana supports only Jaeger and Zipkin data sources as link targets.` comment since it supports other trace data sources as well such as Tempo".
- Add example to include `URL Label` to provide full configuration example that reflects the options visible on the UI.
* Update _index.md
* makes prettier
---------
Co-authored-by: lwandz13 <larissa.wandzura@grafana.com>
* Elasticsearch: add additional settings section
* Remove extra lines
* Elastic config: add divider between name and http settings
* Data links: fix subsection title
* Remove unused import
* refactor: replace IconButtons
* refactor: replace tooltip text in order to make it more universal
* refactor: remove additional IconButton
* refactor: add aria-labels
* refactor: fix test
* Mark strings in folder manager nav for translation
* Mark strings in folder actions for translation
* Mark strings in new folder modal for translation
* Mark strings in delete modal for translation
* Mark strings in move modal for translation
* Fix interpunction in translations
* Run i18n:extract
* Fix Manage Permissions drawer test
* Redundnt useMemo
* Updated extracted translations after resolving conflicts
---------
Co-authored-by: Roxana Turc <anamaria-roxana.turc@grafana.com>
* Add component to display QueryOptions in editor
* Display QueryOptions in QueryWrapper
* Display real data for time range and max data points
* Improve QueryOptions styling
* Remove Portal from RelativeTimeRangePicker
* Prevent RefID from hiding on small screens
Fixes https://github.com/grafana/grafana/issues/70900
* Address review comments
* Fix lint
When building a query for multiple resources only a subset of metrics
are valid and that selection is only available via the API version `2017-12-01-preview`.
fixes#68603
The key "role" in the JSON body doesn't make sense for creating service account *tokens* (and the method will happily create one without it). It is only required for creating the service account itself.
* Reduce number of unnecessary request in the alert list panel in case we have data source filter selected
* use fetchPromAndRulerRulesAction instead of fetchAllPromAndRulerRulesAction in case of having datasource selected in options
* remove unnecessary useEffect
* Reduce number of requests in GroupBy component if data source is selected
* use redux utils for asyncmapslice
* lint
* Address review comments
* Skip fetching grafana rules if datasource is not Grafana rules source name
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug
* test: add tests for get dashboard with existing name, get dashboard with non existing name, get dashboard with existing name in a folder
* Update pkg/services/dashboards/database/database_test.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* require specific error for Should be able to get dashboard with existing name
* Update pkg/services/dashboards/database/database_test.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* implement sofia suggestions to check for specific err, remove logs
* give test more specific name
* implement daniel suggestion of formatting documentation comment in safe way
* fix test title to refer to root directory not specific folder
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* fix: use correct validate funtion
* rename isValidQuery to isQueryWithError
* lets pretend i didnt break things again
* Loki validation: add missing comments and refactor validation function
* isValidQuery: add unit test
* Loki datasource: add tests for getQueryStats
* Remove isValidQuery function
* UnwrapParamEditor: interpolate query before testing validity
* Stats: trim queries when evaluating change
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* remove hover style from results
* remove metric select keyboard interactions and highlighting for table results
* update naming for metrics explorer
* fix bug for match highlighting persisting when empty query
* change ConfirmButton to accept a function as a child so it can pass onClick to a custom child button
* spread button props instead
* update documentation
* remove duplicate line
* spread ref instead of className
* use cloneElement instead
* I18n:Mark up Permissions
* Mark up strings in Permissions file
* I18n:Mark up phrases for on Permissions drawer
* I18n:Mark up phrases for translation on Permissions page
* I18n:Mark up phrases for translation on Permissions page
* Made the changes based on suggestions received
* restore translations
* Run extract again
* unify search table styles with browse
* add a skeleton state when switching to search view
* show all column headers
* use isItemLoaded
* extract number of placeholder rows into variable + add comment
* fix all selection toggle behaviour
* tidy up
* fix unit test
* Add limit query parameter
* Drop copy paste comment
* Extend history query limit to 30 days and 250 entries
* Fix history log entries ordering
* Update no history message, add empty history test
---------
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Cleaned up solution and starting to make it work properly.
* will disable add button if no queries available.
* Changed so 'add to dashboard' is registered as an extension in explore.
* moved utility function to utils
* hides button if insufficent permissions.
* Fixed ts issue.
* cleaned up the code and change to using the 'getPluginLinkExtensions'
* Added values to explore context.
* truncating title in menu.
* added tests to verify explore extension point.
* fixed failing tests in explore.
* made excludeModal optional.
* removed temporary fix to force old button.
* reverted generated files.
* fixed according to feedback.
* Update public/app/features/explore/extensions/ToolbarExtensionPoint.test.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Update public/app/features/explore/extensions/ToolbarExtensionPoint.test.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* added tests suggested in reviews.
* fixed failing tests after sync with main.
* replaced exploreId type with stirng.
* cleaned up code a bit more.
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Adds support for additional throughput units to `valueFormats`.
These new units are useful for streaming, e.g. Kafka or RedPanda, and database systems.
* Adds missing entries to the dev dashboard tests.
* Docs: adds evaluation doc
* Adds note on classic condition
* fixes link
* fixes link
* fixes link
* fixes data source
* link fix
* fixes rbac link
* adds aliases
* Angular deprecation: Add Angular badge in plugin catalog page
* Angular deprecation: Add alert in plugin details page
* Angular deprecation: Disable install button if for Angular plugins
* removed extra console.log
* Add tests for Angular badge
* Add tests for PluginDetailsAngularDeprecation
* Add tests for InstallControlsButton
* Add tests for ExternallyManagedButton
* Table tests
* Catalog: Update angular deprecation message
* PR review feedback
* Update tests
* Update copy for angular tooltip and alert
* Update tests
* Fix test warnings
* Fix angularDetected not being set for remote catalog plugins
* Dynamic alert text based on grafana config
* Moved deprecation message to a separate function
* Removed unused Props in PluginAngularBadge
* Account for restricted datasource
* Allow for fetching datasource to return undefined and beef up filtering after to remove invalid datasources
* Revert "Account for restricted datasource"
This reverts commit 1087159b93.
* Empty-Commit
* Generate plugin version and remove lineage version
* Generate version for each major
* Remove pluginVersion from core plugins
* Remove code version generation
* Generate cue files
* Move grafana version into jenny
* fix go import
* Show description for each expression type in the body and change widht depending on the type
* Move condition indicator to the header
* Make order of fields in expressions to be consistent for each expression type
* Add tooltip for expression type menu
* Update styles depending on the expression type
* Update styles and move add query button under queries
* Add NeedHelpInfo component
* Adress PR review comments
* Apply description updates from #70540
* Rename gelTypes to expressionTypes
* Update layout for expressions according to the real usecases
* Update footer to include series count in all expressions
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Prevent using original rule uid when cloning
* Use uid from url instead of a new param in the alert rule form
* Add function to clone rule and tests for it
* Fix lint & tests
---------
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
* Reformatting and restructuring
* Update unit test
* Always send the default retention policy as first element
* Fix typo
* Update test
* Update test once more
* Field names start with capital letters
* Simplify the condition
* Case-insensitive checks
* Fix typo
* Update response_parser test
* Update imports
* Refactor annotation transform logic
* More types
* Moore types
* Fix table rendering issue
* Use it as raw query
* Migrate annotations
* Set default retention policy when there is no policy in the query
---------
Co-authored-by: Ludovic Viaud <ludovic.viaud@gmail.com>
* Datasource test: fix describe nesting
* Parsing: export handleQuotes function
* Modify query: add functions to detect the presence of a label and remove it
* Loki: add support to toggle filters if already present
* Datasource test: fix describe nesting
* Loki: add support to toggle filter out if present
* Remove label: handle escaped values
* Datasource: add test case for escaped label values
* Loki: remove = filter when applying !=
* Remove selector: add support for Selector node being far from Matcher
* Modify query: add unit tests
* Elasticsearch: create modifyQuery for elastic
* Elastic modify query: implement functions
* Elasticsearch: implement modifyQuery functions in datasource
* Elasticsearch: update datasource test
* Loki modify query: check for streamSelectorPositions length
* Elasticsearch query has filter: escape filter value in regex
* Remove unused type
* Modify query: use query modeller instance from module
* Plugins: Angular detector: Remote patterns fetching
* Renamed PatternType to GCOMPatternType
* Renamed files
* Renamed more files
* Moved files again
* Add type checks, unexport GCOM structs
* Cache failures, update log messages, fix GCOM URL
* Fail silently for unknown pattern types, update docstrings
* Fix tests
* Rename gcomPattern.Value to gcomPattern.Pattern
* Refactoring
* Add FlagPluginsRemoteAngularDetectionPatterns feature flag
* Fix tests
* Re-generate feature flags
* Add TestProvideInspector, renamed TestDefaultStaticDetectorsInspector
* Add TestProvideInspector
* Add TestContainsBytesDetector and TestRegexDetector
* Renamed getter to provider
* More tests
* TestStaticDetectorsProvider, TestSequenceDetectorsProvider
* GCOM tests
* Lint
* Made detector.detect unexported, updated docstrings
* Allow changing grafana.com URL
* Fix API path, add more logs
* Update tryUpdateRemoteDetectors docstring
* Use angulardetector http client
* Return false, nil if module.js does not exist
* Chore: Split angualrdetector into angularinspector and angulardetector packages
Moved files around, changed references and fixed tests:
- Split the old angulardetector package into angular/angulardetector and angular/angularinspector
- angulardetector provides the detection structs/interfaces (Detector, DetectorsProvider...)
- angularinspector provides the actual angular detection service used directly in pluginsintegration
- Exported most of the stuff that was private and now put into angulardetector, as it is not required by angularinspector
* Renamed detector.go -> angulardetector.go and inspector.go -> angularinspector.go
Forgot to rename those two files to match the package's names
* Renamed angularinspector.ProvideInspector to angularinspector.ProvideService
* Renamed "harcoded" to "static" and "remote" to "dynamic"
from PR review, matches the same naming schema used for signing keys fetching
* Fix merge conflict on updated angular patterns
* Removed GCOM cache
* Renamed Detect to DetectAngular and Detector to AngularDetector
* Fix call to NewGCOMDetectorsProvider in newDynamicInspector
* Removed unused test function newError500GCOMScenario
* Added angularinspector service definition in pluginsintegration
* Moved dynamic inspector into pluginsintegration
* Move gcom angulardetectorsprovider into pluginsintegration
* Log errUnknownPatternType at debug level
* re-generate feature flags
* fix error log
* Reformatting and restructuring
* Update unit test
* Always send the default retention policy as first element
* Fix typo
* Update test
* Update test once more
* Field names start with capital letters
* Simplify the condition
* Case-insensitive checks
* Fix typo
* Update response_parser test
* Update imports
* Trigger separate rules request for each alerting panel in a dashboard
* Add RTK method to fetch prom rules
* Use RTKQuery to get prom rules in UnifiedAlertList
* Fix lint
* Mock promRules call
* Address PR comments
* Fix tests
* update caching docs
* fix validation issue
* fix missing anchors
* fix up compatible data sources section
* Update docs/sources/administration/data-source-management/index.md
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
* change one word
* change one more word
* add a little more meat to the benefits section
* remove unnecessary alias
* Update docs/sources/administration/data-source-management/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/administration/data-source-management/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/administration/data-source-management/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/administration/data-source-management/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/administration/data-source-management/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* add link to section
* change word
* add note on benefits of resource caching
---------
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* refactor: modify interfaces to make tooltip or aria-label required
* refactor: change functionality around aria-label and tooltip
* refactor: change and add information in storybook documentation
* refactor: remove default from tooltip
* refactor: IconButton to make tooltip or aria-label required
* refactor: Fix tests
* refactor: Fix tests
* refactor: Fix tests
* refactor: Fix tests
* feat: add migration guide for breaking change
* feat: add latest requirements to storybook docs
* refactor: separate iconbutton story with and without tooltip
* refactor: remove exported baseArgs
* refactor: clean up and restructure original story
* refactor: adjust styling
* refactor: enable control for tooltip
* refactor: clean up
* refactor: enable control for aria-label
* refactor: fix theme getting the wrong theme
* refactor: fix tests
* refactor: adjust story
* refactor: remove confusing story
* refactor: adjust controls for stories
* Tempo: Move upload trace to its own button
* Zipkin: Move upload trace to its own button
* Jaeger: Move upload trace to its own button
* Fix test
* Remove extra upload section from editor body
---------
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
This commit adds support for concurrent queries when saving alert
instances to the database. This is an experimental feature in
response to some customers experiencing delays between rule evaluation
and sending alerts to Alertmanager, resulting in flapping. It is
disabled by default.
* DS Picker: Add `inputId` and `noDefault` options
* DS Picker: Add `disabled` state
* Add tests for `disabled`
* Select default DS if `current` is not provided
* Remove `width` from style
* Move types next to components
* Only calculate height when opening
* Adds new text input in prometheus template variable UI that allows label names function to filter values by metric.
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
* SQLStore: Fix Postgres dialect treating "false" migrator default as true
Previously, when creating a migration you could choose a default value for a new
boolean column that looked correct but would be interpreted incorrectly by the
Postgres dialect. For example, values such as "false" or "FALSE" would be treated
as true by the Postgres dialect.
This refactors how migration dialects determine the Default column value for boolean
type columns. Each dialect now uses the same base code to parse the Default literal
and panics if an unknown value is encountered.
So, now AddColumnMigration and AddTableMigration will ensure that across dialects:
- The exact same Default literals will be allowed.
- The literals are converted to equivalent defaults in their DDL.
- An error will be thrown if an invalid literal is provided.
* this is an ok intermediate point
* delete some unused actions + fix tag invalidation on folder save
* remove prefetching for now (it creates a permanent subscription?!)
* leave paginated fetch out of rtk query for now
* ensure we're invalidating the cache correctly
* fix dashboard saving
* simplify
* recursively invalidate children on rename
* tidy up
* don't need to invalidate tags on delete
* don't need to invalidate on new either
* make new refreshParents action
* pageheader spacing
* invalidate getFolder on move
* bit of rearrangement
* Change how we display annotations in the rule form
* Allow to add custom annotations using a free text input
* Get dashboard and panel titles to display in the annotations section
* Add component to display dashboard and panel annotations as links
* Add styling to help tooltip
* Fix styling on annotations controls
* Fix tests
* Fix tests
* Remove unused imports
* Add component for custom annotations
* Display default annotations even if editing and they're empty
* Adjust tests
* Make conditional rendering more clear
* Fix tests
* Move annotation header to separate component
* Fix lint
* Show annotation fields in the right order
* Prevent showing custom annotation fields by default
* Don't display links to dashboard/panel if response fails
* Rename custom annotation header component
* Fix after rebase
* Query utils: refactor isQueryPipelineErrorFiltering and getLogQueryFromMetricsQuery
* Query utils: refactor isQueryWithRangeVariable and getHighlighterExpressionsFromQuery
* Get parser: return log expression even if no pipelineExpr is present
* Update tests
* refactor file drop out of query group
* make sure we display errors when file upload fails
* refactor to make onChange take default queries
* let grafana datasource handle file -> query
* add dropdown tests
* add modal tests
* add filtering props to dropdown
---------
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Update SECURITY.md
* Shorten `SECURITY.md` to link to the bug bounty program
* Add old text back in
* make text clickable
* Add new PGP FP
* adds the new PGP fingerprint
* Update Authentik Image Version in docker-compose.yaml
Update Authentik Image Version in `docker-compose.yaml` to use the current version (as of writing) which is `2023.5.1` where this has been tested against.
* DevEnv: update SLO support for Authentik
* Remove storing derived state (loading property) and use a selector instead
* Remove redundant tests
There's no way to change the interval while live streaming
* Remove check for isLive when deriving waiting for data
It was introduced in #18804
* Remove unused props
This commit adds debug logs for previous_ends_at and next_ends_at
to state.go to help us debug issues where alerts are resolved in
Alertmanager due to expiration. This change is in response to a
support escalation where this information was needed but unavailable.
* Add notification policies preview in alert rule form
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Refactor using new useGetPotentialInstances hook and apply some style changes
* Add notification policy detail modal
* Use backtesting api for simulating potential alert instances
* Fix logic to travserse all the children from the root route
* Split notification preview by alert manager
* Add instance count to matching policy header and fix some styles
* Move some logic to a new hook useGetAlertManagersSourceNames to make the code more clean
* Fix some tests
* Add initial test for NotificationPreview
* Use button to preview potential instances
* Add link to contact point details
* Add route matching result details
* Show AlertManager image in the routing preview list
* Add tests setup, add single AM preview test
* Handle no matchers and no labels use case
* Update some style in collapse component and fix policy path in modal
* Update modal styles
* Update styles
* Update collapse header styling
* Normalize tree nodes should happen before findMatchingRoutes call
* Fix findMatchingRoutes and findMatchingAlertGroups methods after reabasing
* Move instances matching to the web worker code
* Fix config fetching for vanilla prometheus AMs
* Add tests
* Add tests mocks
* Fix tests after adding web worker
* Display matching labels for each matching alert instance
* Add minor css improvements
* Revert changes added in Collapse component as we don't use it anymore
* Move the route details modal to a separate file
* Move NotificationRoute and preview hook into separate files
* Fix Alertmanager preview tests
* Fix tests
* Move matcher code to a separate file, improve matcher mock
* Add permissions control for contact point edit view link
* Fix from and to for the temporal use of backtesting api
* Fix tests, add lazy loading of the preview component
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
* Fix preview test
* Add onclick on the header div so it collapse and expands when clicking on it, and update styles to be consistent with the rest of tables
* Adapt the code to the new rule testing endpoint definition
* Fix tests
* small changes after reviewing the final code
* compute entire inherited tree before computing the routes map
* Throw error in case of not having receiver in routesByIdMap and add test for the use case of inheriting receiver from parent to check UI throws no errors
* Add list of labels in the policy route path that produces the policy matchers to match potential instances
* Use color determined by the key, in label tags when hovering matchers in the policy tree
* Remove labels in modal and handle empty string as receiver to inherit from parent as we do with undefined
* Revert "Add list of labels in the policy route path that produces the policy matchers to match potential instances"
This reverts commit ee73ae9cf9.
* fix inheritance for computeInheritedTree
* Fix message shown when preview has not been executed yet
* First round for adressing PR review comments
* Adress the rest of PR review commments
* Update texts and rename id prop in NotificaitonStep to alertUid
---------
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Elasticsearch: remove usages of any
* Elasticsearch: check for filter type when accessing field aggs
* Elasticsearch: use type guards instead of checking types
* Use unknown for isPrimitive function
* Add deprecation notice
* Remove unused type
* Fix bug in "isPrimitive" function
* Remove unused import
* Revert "Fix bug in "isPrimitive" function"
This reverts commit 27f9874cce.
* Reformatting and restructuring
* Update unit test
* Always send the default retention policy as first element
* Fix typo
* Update test
* Update test once more
* refactor metric select and label filters, add variables to label names dropdown
* use MetricsLabelsSection in variable editor
* use variable editor UI with MetricsLabelsSection
* filter label names by optional metric and allow metric to be cleared
* fix tests
* testing types for onChangeLabels
* testing types for onChangeLabels
* testing types for onChangeLabels
* Ismails review, remove comment and indent
* wrap label filters
* improved behavior for selects and inputs, add tests and document behavior
* Add option to make QueryEditor not collapsable
* Make QueryEditor not collapsable in Alerting
* Change query editor border to weak
The medium border is really only for inputs, everything else should use weak border
* Add tests
## 4.1.0 (2023-06-16)
### Added
- Mounts of `layouts` and `config` directories for the `website` project.
Ensures that local changes to mounts or shortcodes are reflected in the development server.
### Fixed
- Version inference for versioned docs pages.
Pages in versioned projects now have the `versioned: true` front matter set to ensure that "version" in $.Page.Scratch is set on builds.
## 4.0.0 (2023-06-06)
### Removed
- `doc-validator/%` target.
The behavior of the target was not as described.
Instead, to limit `doc-validator` to only specific files, refer to https://grafana.com/docs/writers-toolkit/writing-guide/tooling-and-workflows/validate-technical-documentation/#run-on-specific-files.
## 3.0.0 (2023-05-18)
### Fixed
- Compatibility with the updated Make targets in the `website` repository.
`docs` now runs this script itself, `server-docs` builds the site with the `docs` Hugo environment.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* add NodeTypeFromDatasourceUID and DataSourceModelFromNodeType()
* deprecate expr.DataSourceModel
* replace usages of IsDataSource to NodeTypeFromDatasourceUID
* replace usages of DataSourceModel to DataSourceModelFromNodeType()
* replace condition validation with just structural validation
* validate conditions of only new and updated rules
* add integration tests for rule update\delete API
Co-authored-by: George Robinson <george.robinson@grafana.com>
This commit fixes the email template for text/plain emails to
support custom messages. It also fixes the default template,
removing extra whitespace and showing Summary and Description
annotations separate from the other annotations.
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/suggestions.ts
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/suggestions.ts
* remove duplicate editor from story
* remove suggestions from story
---------
Co-authored-by: Laura Benz <laura.benz@grafana.com>
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Currently does not do anything as it is for use with a future enterprise PR
Eventually: "Enables writing multiple items from a single query within Recorded Queries"
* Add whatsnewchecker
* Add whatsnewchecker_test
* Small fixes
* Add step in CI
* Fix lint
* Fix starlark
* t.Cleanup instead of separate func
* Skip check for test tags
Make EchoSrvTransport batched
With the update of faro web sdk to 1.1.0, batching was introduced, in
which several telemetry signals can be grouped together in a fixed
interval or buffer length. The current setup in which the
EchoSrvTransport was proxying signals through the Echo Backend was
yielding the following issue.
The updated Fetch transport is batched but the way it was being used by
the `GrafanaJavascriptAgentBackend` was pushing single items.
* docs: update angular list
* Update docs/sources/developers/angular_deprecation/angular-plugins.md
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
---------
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
* Start local schema registry
* Try to use latest version
* Revert "Try to use latest version"
This reverts commit 682385c0e4.
* update schema registry jenny to validate new lineages
* save kind instead of lineage
* handle plugins
* get published schemas from GH + fix plugins
* handle kind not yet published
* Add script to use in workflow + handle maturity
* first pass on publish-kinds GH workflow
* fix script path
* remove unused script
* use make gen-cue instead of script
* trigger publish-kinds on every commit (for test)
* temporary update to use specific thema commit
* wrapping errors
* remove GH token & refactor for rate limit
* Update publish-kinds.yml
* Update publish-kinds.yml
* revert go.mod and go.sum updates
* use Thema specific commit
* Kind registry v2
* fix script path
* fix second script path
* update go.mod
* update schema registry source
* test checks
* add GITHUB_TOKEN
* revert test checks
* actually write next files when publishing
* Add kind set arg
* Add comments
* clean up workflows
* update Thema
* Update .betterer.results
* few fixes after lineage flattening
* Update publish-kinds-next.yml
* add codeowners for new files
* update thema
* apply review feedback
* update go version in workflows
* clean up workflows
* Add step to generate token and test
* Update publish-kinds-next.yml
* fix script
* try with the app name
* Update publish-kinds-next.yml
* clean up and update release workflow
* add comment
* publish kinds only on cue updates
* add analytics for folder creation
* add interaction tracking for move/delete
* add tracking for item clicked in the new browse view
* review comments
* emit counts instead
* feat: template data source option current by uid
* fix: e2e with explicit uid for "slow-prometheus"
* revert: unrelated change
* revert: unreverted the actually related change
* chore: e2e support for testing ${variable:text}
* fix: use `:raw` instead of `:value` in e2e dashboard
* Alerting: Repurpose rule testing endpoint to return potential alerts
This feature replaces the existing no-longer in-use grafana ruler testing API endpoint /api/v1/rule/test/grafana. The new endpoint returns a list of potential alerts created by the given alert rule, including built-in + interpolated labels and annotations.
The key priority of this endpoint is that it is intended to be as true as possible to what would be generated by the ruler except that the resulting alerts are not filtered to only Resolved / Firing and ready to be sent.
This means that the endpoint will, among other things:
- Attach static annotations and labels from the rule configuration to the alert instances.
- Attach dynamic annotations from the datasource to the alert instances.
- Attach built-in labels and annotations created by the Grafana Ruler (such as alertname and grafana_folder) to the alert instances.
- Interpolate templated annotations / labels and accept allowed template functions.
* Alerting: Fix unique violation when updating rule group with title chains/cycles
The uniqueness constraint for titles within an org+folder is enforced on every update within a transaction instead of on commit (deferred constraint). This means that there could be a set of updates that will throw a unique constraint violation in an intermediate step even though the final state is valid. For example, a chain of updates RuleA -> RuleB -> RuleC could fail if not executed in the correct order, or a swap of titles RuleA <-> RuleB cannot be executed in any order without violating the constraint.
The exact solution to this is complex and requires determining directed paths and cycles in the update graph, adding in temporary updates to break cycles, and then executing the updates in reverse topological order (see first commit in PR if curious).
This is not implemented here.
Instead, we choose a simpler solution that works in all cases but might perform more updates than necessary. This simpler solution makes a determination of whether an intermediate collision could occur and if so, adds a temporary title on all updated rules to break any cycles and remove the need for specific ordering.
In addition, we make sure diffs are executed in the following order: DELETES, UPDATES, INSERTS.
* remove infer type functionality because usability tests confirmed it was confusing/not helpful
* persist button option to open modal when typing in metric select
* update copy desc for setting that includes type and description in search
* when filtering by type, only return metrics with defined type
* give focused metric row more contrast, consistent with metric select focused option
* allow selection of metrics with unknown types and undefined types
* add highlighting to backend search
* augment counters created from summaries with (summary)
* remove type from search input setting and only search by name and description
* fix test to reflect that type has been removed from the metadata input search as duplicated by the filter
* add button to select metric, change wording, make table hover row consistent with grafana table
* add tooltip icon with docs link for metric types that are augmented, histogram and summary
* remove files slated for future refactoring
* style changes based on catherine's review
* remove border from settings btn, select btn increase to md, change col size in table, fix responsive inputs ui for sm screens
* use custom name from legend
* revert prometheus change
* fix issue in the transformer and not prometheus
* getFrameDisplayName falls back to getFieldDisplayName already
* run prettier
* make breaking changes note more prominent in whats new
* changed paragraph structure and added heading
* moved breaking changes section to after the template
* move deprecations to breaking changes page
* break up paragraph
* run prettier
* Update dependency @testing-library/dom to v9.3.0
* dedupe versions in the lockfile
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add tests for empty dashboard page
* add tests for AddPanelButton
* export default components
* test +Add menu in dashboard page
* use userEvent instead of firing an event on the DOM itself
* fix test to match new analytic events
* refactor: tooltip is required
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: adjust tests
* refactor: apply changes from code review
* refactor: adjust component for e2e test
* refactor: adjust fallback
* refactor: apply changes from code review
* refactor: apply changes from code review
* refactor: set IconButton default as type=button and remove from use cases
* refactor: remove aria-labels when duplicated and type=button from use cases
* refactor: clean up
* refactor: fix tests
* refactor: fix type errors
* refactor: remove changes in order in order to add them to a separate PR
* refactor: set IconButton default as type=button
* refactor: remove tooltip
* refactor: apply changes requested in review
* ui migration WIP
* merge
* migration tests for api
* revert chagnes to align with main
* revert chagnes to align with main
* revert chagnes to align with main
* remove unused code and comments
* revert gen files
* retry logic inplace
* fix a any
* fixed types
* migraiton results now show only result if no failures
* review comments
* wording to make it more actionable
* add migraiton summary text onyl for failed apikeys
* fixed wording and added a close button to the modal
* made the button close the modal
* moved state into component
* fix based on review, naming and removed unused code
* service account migration state optional
* making migration result undefined
* showing total and migrated numbers for a successful migration
* fix payload const to take the payload
* added CLI in heading for clearity
* added new heading
* new change
* updated final version for review
* fix small line breaks
* copy edit, restructuring
* Apply suggestions from code review
* Apply suggestions from code review
* removed internal notes
* updateding the docker configuraiton file which have advanced instructions
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* updated persistent stroage section
* updated heading typo
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* fixed code identation and minor typos
* added yaml file validation check in the troubleshooting section
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
added "also"
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* add more details to apline, cloudwatch and default path sections
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* added more detailes about docker ubuntu image, fixed headings, added more clarity to the persistent vs bind stroage
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* added more improvements for the examples
* Update docs/sources/setup-grafana/installation/docker/index.md
* Update docs/sources/setup-grafana/installation/docker/index.md
* Update docs/sources/setup-grafana/installation/docker/index.md
* Update docs/sources/setup-grafana/configure-docker.md
* updates links, edits Troubleshooting section
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* fixes doc-validator issues
* adds link to plugin install instructions
* added improvement in the AWS cloudwatch example
* Update docs/sources/setup-grafana/configure-docker.md
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Apply suggestions from code review
suggestions looks good
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* added dan suggestion for the tags, but skip the longer description part as not really useful for end user
* Update docs/sources/setup-grafana/installation/docker/index.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Update docs/sources/setup-grafana/configure-docker.md
Co-authored-by: Dan Cech <dcech@grafana.com>
* Apply suggestions from code review
looks good
Co-authored-by: Dan Cech <dcech@grafana.com>
* added missing version
* fixed identation and small typo
* fixed the pwd data folder instruction
* fixed persistent volume creating and identation
* fixed identation
* fixed typo to get debug logs
* fixed custom plugin installation section
* created docker secret command instructions
* fixed missing path
* fixed code in docker secret and other minor typos
* incorporates feedback, copy edits secrets section
* fixed small typo in docker secrets section
* remove the additonal info command for secrets
* combined custom docker pre-installed plugin section as one
* fixed the build link typo
* various updates/fixes
* another fix
* added more clarity to the volume creating command
* fixed command for bind mounts
* fixed missing comman in the plugin command
* fixed small typo
* improve and simplifly the steps instructions
* fixed validation command
* Apply suggestions from code review
looks good!!
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* fixed typo in docker secret command explaination
* fixed minor stuff
* makes prettier
---------
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
* loading states!
* fix uncontrolled checkbox
* cleaner css
* improve flickering title
* make sure @grafana/ui has the same version of react-loading-skeleton
* fix unit test + add tooltip text
* better way of restoring focus
* only restore focus when loading
* missing !
* use aria-label instead of tooltip
* Add doc for Tempo Search query
* Updates for wording and images
* Add note to Explore about query editor for tracing
* Fix prettier
* Apply suggestions from code review
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Update docs/sources/shared/datasources/tempo-search-traceql.md
* Changes from prettier
* Update docs/sources/shared/datasources/tempo-search-traceql.md
* Update docs/sources/shared/datasources/tempo-search-traceql.md
* Updates from prettier
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Move useUniqueId to a general place
* Use new built-in useId hook
* Rename query builder and metadata query
* Move and rename the query builder tests
* Refactor query_builder and metadata_query
* Fix test
* Fix test
* Restructure folders
* update texts
* Update the mock
* Fix test
* update imports
* update imports again
Remove unused properties:
* `FieldColorModeId.PaletteSaturated`: It doesn't exist and it is not a valid palette.
* `VariableModel.rootStateKey`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store the Redux store key.
* `VariableModel.error`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store fetching errors.
* `Panel.thresholds`: old property only existing in previous versions of the dashboard schema.
* `Panel.timeRegions`: old property only existing in previous versions of the dashboard schema.
* Move useUniqueId to a general place
* Use new built-in useId hook
* Rename query builder and metadata query
* Move and rename the query builder tests
* Refactor query_builder and metadata_query
* Fix test
* Fix test
* add some information to the password change screen
* update threshold cause pa11y is stupid
* override the loginlayout title if changing password
* remove top padding from inner box
* Add i18n verification step
* Add check for extracted translations
* Run extract
* Add newline for pseudo
* Format JSON output with prettier
* Print file diff
* Actually run make drone
* Only deo git diff on locales
* Update error message
* Verify that step fails on dynamic phrases
* Verify that it passes when fixed
* Verify that dynamic phrase fails, for real this time
* Extract error messages
* Change echo
* Fix string format
* Try double escaping
* Escape for Drone substitution
* Update character escape
* Remove dynamic phrase
* Verify multiple keys
* Remove double keys
* Readd en locale because of reasons
* Undo changes
* Format lint_frontend.star
* Update error message
* Update .drone.yml
* Add quotes for echo
* Verify fail to extract
* Fix diff stat command
* Reset footer changes
- Structured output for use with [`reviewdog`](https://github.com/reviewdog/reviewdog).
You can achieve the original error output by piping the output to the following `jq` expression: `jq -r '"ERROR: \(.location.path):\(.location.range.start.line):\(.location.range.start.column): \(.message)"'`.
- Suggestions for simple link fixes.
In GitHub, [`reviewdog`](https://github.com/reviewdog/reviewdog) comments these suggestions for convenient replacement.
- Support for anchors referring to repeated headings.
In the case that a page has multiple headings that share the same text, a zero indexed, the renderer appends a numbered suffix to the identifier.
For example, when there are two headings that are both "Heading text", the first anchor identifier is `heading-text` and the second is `heading-text-1`.- Error when running `doc-validator` on no files.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Move useUniqueId to a general place
* Use new built-in useId hook
* Rename query builder and metadata query
* Move and rename the query builder tests
* updated create dashboard topic including adding screenshot of DS selector
* finished editing build dashboards - create dashboards
* finished data source selection edits'
:
* updated tutorials
* reverted tutorial to old nav to match reality and added that prom DS is preselected
* wording edits
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* add that configure DS is only for admins
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Pull out datasource specific implementation into calling context to make query cache generic
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* wip for pagination
* kind of doing pagination, but only for the root folder
* wip
* wip
* refactor paginated fetchChildren
* make sure dashboards are loaded if a folder contains only dashboards
* rename lastKindHasMoreItems
* load additional root pages
* undo accidental commit
* return promise from loadMoreChildren, and prevent loading additional page while a request is already in flight
* rename browseDashboards/fetchChildren action so it's more clear
* starting to revalidate children after an action
* unset general uid
* comment
* clean up
* fix tests omg
* cleanup
* fix items not loading after invalidating loaded cache
* comment
* fix lints
This commit adds heuristics back to datasource healthchecks as
it was removed in #66198. The healthcheck for Prometheus datasources
also returns the kind (Prometheus or Mimir) and a boolean if the
ruler is enabled or disabled.
This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.
Reference: https://pkg.go.dev/testing#T.Setenv
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
* Update index.md
Fixed the link for a grafana play reference
* fix link text
* fix wording for flow
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Alerting: Fix provisioned templates being ignored by alertmanager
Template provisioning sets the template in cfg.TemplateFiles while a recent change
made it so that alertmanager reads cfg.AlertmanagerConfig.Templates instead.
This change fixes the issue on both ends, by having provisioning set boths fields and
reverts the change on the alertmanager side so that it uses cfg.TemplateFiles.
* Let alert rule service implement registry service
* Add count method to RuleStore interface
* Add implementation for deletion of alert rules
* Rename uid to folderUID in registry methods
* Check forceDeleteRule value for registry deletion
* Register alerting store with folder service
* Move folder test functions to separate package
* Add testing for alert rule counting, deletion
* Remove redundant count method
* Fix deleteChildrenInFolder signature
* Update pkg/services/ngalert/store/alert_rule.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Add tests for nested folder deletion
* Refactor TestIntegrationNestedFolderService
* Add rules store as parameter for alertng provider
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Docs: Bring back the alias for external group sync HTTP API page
* Update docs/sources/developers/http_api/team_sync.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Query utils: add function to identify distinct queries
* Chore: return false when the expected node is found
* Query splitting: exclude distinct queries from splitting
* Group queries excluded from splitting
* feat(plugins): remove global limit on extensions per placement
* feat: add a way to limit extension per plugin at the getter
* test(plugins): fix failing getPluginExtensions test
* refactor(panelmenu): put back limit of 2 extensions per plugin
* tests: add a test for checking all extensions are returned by default
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* feat: add a new UI extension type: component
* fix: remove reference to not existing type
* chore: update betterer results
* review: use a single type notation in import
* review: stop exporting `PluginExtensionBase`
* refactor: make extension config types more explicit
By using some repetition now these types are much easier to oversee.
* feat: add a new extension point to the datasources config
* fix: export tcontext type from grafana-data
* chore: update betterer results
* chore: fix tests
* feat: extend the context shared with extensions
* feat: stop omitting jsonData props & update context type
* tests: update tests
* remove i18n toggle
* remove beta badge on language picker
* remove toggle from go code
* Revert "remove beta badge on language picker"
This reverts commit 3b76300aa7.
* Add tracing config sub sections
* Export common sections and update divider in additional settings section
* Max width and margin bottom
* Add feature name to config link
* Update SpanBarSettings
* remove import
* Update dependency esbuild to v0.17.18
* chore(npm): update all esbuild dependencies to use esbuild@0.17.18
* build(esbuild): update configs so esbuild-loader matches loader from file extension
* build(webpack): fix failed monaco editor loading due to require not existing
* chore(esbuild): bump to 0.17.19
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* chore: test drone step
* revert changes to lint_backend_step()
* try to add validate_modifle_step
* try to run check func
* remove CGO and wire-install
* update filepath to scripts/modowners
* make drone again
* correct the filepath
* try to ignore validate-modfile step if fail
* chore: remove log that says i am a programmer
* fix: spell modfile correctly
* chore: remove unecessary comment
* fix: check go.mod instead of go.txd
* initial attempt at inline rename
* handle version correctly
* refactor
* minor tweaks
* add unit tests
* prettier...
* add to other tabs, remove settings tab when feature toggle is enabled
* fix truncation
* allow title to span full width of page
* fix h1 styling when no renderTitle/onEditTitle is present
* better layout
* use input from grafana/ui, fix imports
* fix unit test
* better error handling
* don't use autosavefield
* undo changes to AutoSaveField
* remove timeout
* remove maxWidth now we're not using AutoSaveField
* rename isEditInProgress to isLoading
* sync localValue with value
* better responsive css
* Add component for rule creation and dropdown
* Make each route type have a different path
* Remove unneeded import
* Fix tests
* Rename CreateRuleButton to MoreActionRuleButtons
* Remove Recording Rule option from new rule form
* Use alerting and recording for path params on new rules
* Fix tests
* Only show new button if permissions are granted
* Fix tests
* feat: add a new UI extension type: component
* tests: add tests for checking if it is a react component
* fix: remove reference to not existing type
* chore: update betterer results
* review: remove unnecessary override function for components
* review: use a single type notation in import
* review: stop exporting `PluginExtensionBase`
* refactor: make extension config types more explicit
By using some repetition now these types are much easier to oversee.
* chore: start modowners
* read go.mod, parse modfile, iterate through requires; add dummy go.mod
* make BEP owners of all grafana dependencies 😱
* push attempt at logging the require comments
* shrink dummy modfile
* revert changes in go.mod
* access comments suffix
* add Module struct; attempt to separate ParseGoMod functionality into its own func; add owner (third) for loop when interating modfile
* feat: print all owners in modfile
* add additional question in comment
* feat: add subcommands: check, owners, modules; chunk out some functions
* chunk out subcommand functions
* add flags
* start tests for common element
* refactor: test for common element
* attempt #1 to refactor modules to accept multiple args
* refactor: refactor modfule func to take 1+ owner arguments (0 arguments not working atm)
* chore: remove debug logging
* refine existing comments
* comment out indirect flag stuff, add example cli command for modules
* unsuccessful attempt #2 to refactor modules to accept -o and -i flags
* refactor funcs to take filesystem and logger
* test: add test for check when all modules have owners
* fail attempt 1 to get TestModules to work
* assert expected log result in TestModules; unsure if properly reading logs
* test: add TestModules to test modules func without any flags returns direct dependencies
* test: add TestInvalidCheck for scenario when some dependencies are missing an owner
* attempt 1 at refactoring TestCheck into a table
* chore: clean TestCheck
* chore: clean up comments for func check
* move files under scripts/modowners
* revert go.mod and go.sum
* (WIP) Refactor the ImageStore interface to work with our latest alerting repository
* update alerting package
* refactor, new URLExists method in ImageProvider
* tests for the new methods
* fix linter warnings
* use alertingImages as an alias for grafana/alerting/images
* logs about image uris and not found images
* nerf image not found logs
* extract duplicated code to getImageFromURI() method
* refactor getImageFromURI()
* add index on url
* add comment about migration log
* sync generated files
* remove unused HasAdmin and HasEdit permission methods
* remove legacy AC from HasAccess method
* remove unused function
* update alerting tests to work with RBAC
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* Use CorsWorker as a workaround for web workers loading from CDN
* Use a feature flag to enable/disable worker-based preview, add worker error handling
* Add POC for react-enable working with grafana feature toggles
* Code cleanup
* Remove console error, add useRouteGroupsMatcher tests
* Fix tests mock
* feat: catch any events that were reported before the EchoSrv got initialised
* fix: add events to the new echo service
* chore: update comment
* refactor: use `instanceof` to check if it is a FakeEchoSrv
* fix: Chef cookbook has moved to sous-chefs
Updates the github link for the chef configuration option.
* Update docs/sources/administration/provisioning/index.md
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* add class for full story click event on open modal
* move feedback link to modal top under header
* move results amount to bottom left
* move settings into modal, change language from exclude to include
* add metadata to backend search, use toggletip for settings, clean code
* style input row, remove labels and update settings button design
* remove alphabet search as requested by design
* display selected metric
* update style warning message for labels filtered metrics
* organize results footer
* update table design w fixed width and sticky header
* allow focus row on tab and use key Enter to select metric on keydown
* add rudderstack event for disable text wrap
* add messages for no metrics found, labels, search and none in data source.
* filter by type placeholder
* add min width to custom select option
* add text wrap for long metric names
* Have 4px margin b/w the search row and the 'currently selected' text. 16px between 'currently selected text' and the table
* Add some padding inside the first table header row (8 pixels on all sides)
* font-size of 12px for additional settings text
* 4px padding between additional settings text
* 24px margin between the last table cell and the pagination row
* # of Results per page font size 0.85rem
* 8px margin b/w the '# of results per page' and the dropdown
* fix test
* add infer type setting for testing
* use title on icon instead of wrapping in tooltip to fix test
* fix icon issue
* italicize inferred types, update setting text and add icon
* add space for label filters alert message
* make open button style consistent with advanced datasource picker
* keep copy for open modal button
* refactor rudderstack interactions and add inferType
* add event tracking for opening the modal
* galen's feedback, fix select horizontal scroll and results perpg bug
* ismail's feedback for metric types
* revert button in option for accessibility(galen) and style button with ghost mode
* change name to Metrics explorer
* fix hover/focus styles
* ismail's feedbcak, refactor hints, return empty string, remove @return
* Fix icon hovering: put tooltips back in over titles on icon
* make results not expand to fill table space and fix width for modal open option button
* Remove unused mocks
* Remove time grain converter anys
* Improve mocks
- Add context mock
- Update datasource mock
- Add util functions
* Remove anys from log_analytics_test
* Improve response typing
* Remove redundant angular code
* Remove more anys
- Add Resource type
* More type updates
* Remove unused code and update arg ds test
* Remove old annotations test
* Remove unused code and update some more types
* Fix lint
* Fix lint
* Update Yarn to v3.5.1
* Update editor sdks as well
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Add "Allow Cleartext Passwords" checkbox to MySQL connection settings
* Fix lint issues
* Add docs
* Add line break and bold text
---------
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Avoid unnecessary byte/string conversion
We can use alternative functions/methods to avoid unnecessary
byte/string conversion calls.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
* feat: add default properties to the `reportInteraction()`
* chore: add more tracking events to the ds-config page
* refactor: adding the `path` to the `meta` instaed
* reword button to Create a new data source
The previous wording included the name of the data source, which made it
difficult for the doc team to refer to it.
This allows the doc team to refer to this button in an obvious way.
* "Create a"-> "Add"
* update tests
* Update index.md
Clarify that changes to dashboard time range are only reflected in the report if they are not using a custom time range.
Add information regarding saving a report as a draft.
* Update docs/sources/dashboards/create-reports/index.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* running prettier
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
* Moving POC files from #64283 to a new branch
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* Adding missing permission definition
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* Force the service instantiation while client isn't merged
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* Merge conf with main
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* Leave go-sqlite3 version unchanged
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* tidy
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* User SearchUserPermissions instead of SearchUsersPermissions
* Replace DummyKeyService with signingkeys.Service
* Use user🆔<id> as subject
* Fix introspection endpoint issue
* Add X-Grafana-Org-Id to get_resources.bash script
* Regenerate toggles_gen.go
* Fix basic.go
* Add GetExternalService tests
* Add GetPublicKeyScopes tests
* Add GetScopesOnUser tests
* Add GetScopes tests
* Add ParsePublicKeyPem tests
* Add database test for GetByName
* re-add comments
* client tests added
* Add GetExternalServicePublicKey tests
* Add other test case to GetExternalServicePublicKey
* client_credentials grant test
* Add test to jwtbearer grant
* Test Comments
* Add handleKeyOptions tests
* Add RSA key generation test
* Add ECDSA by default to EmbeddedSigningKeysService
* Clean up org id scope and audiences
* Add audiences to the DB
* Fix check on Audience
* Fix double import
* Add AC Store mock and align oauthserver tests
* Fix test after rebase
* Adding missing store function to mock
* Fix double import
* Add CODEOWNER
* Fix some linting errors
* errors don't need type assertion
* Typo codeowners
* use mockery for oauthserver store
* Add feature toggle check
* Fix db tests to handle the feature flag
* Adding call to DeleteExternalServiceRole
* Fix flaky test
* Re-organize routes comments and plan futur work
* Add client_id check to Extended JWT client
* Clean up
* Fix
* Remove background service registry instantiation of the OAuth server
* Comment cleanup
* Remove unused client function
* Update go.mod to use the latest ory/fosite commit
* Remove oauth2_server related configs from defaults.ini
* Add audiences to DTO
* Fix flaky test
* Remove registration endpoint and demo scripts. Document code
* Rename packages
* Remove the OAuthService vs OAuthServer confusion
* fix incorrect import ext_jwt_test
* Comments and order
* Comment basic auth
* Remove unecessary todo
* Clean api
* Moving ParsePublicKeyPem to utils
* re ordering functions in service.go
* Fix comment
* comment on the redirect uri
* Add RBAC actions, not only scopes
* Fix tests
* re-import featuremgmt in migrations
* Fix wire
* Fix scopes in test
* Fix flaky test
* Remove todo, the intersection should always return the minimal set
* Remove unecessary check from intersection code
* Allow env overrides on settings
* remove the term app name
* Remove app keyword for client instead and use Name instead of ExternalServiceName
* LogID remove ExternalService ref
* Use Name instead of ExternalServiceName
* Imports order
* Inline
* Using ExternalService and ExternalServiceDTO
* Remove xorm tags
* comment
* Rename client files
* client -> external service
* comments
* Move test to correct package
* slimmer test
* cachedUser -> cachedExternalService
* Fix aggregate store test
* PluginAuthSession -> AuthSession
* Revert the nil cehcks
* Remove unecessary extra
* Removing custom session
* fix typo in test
* Use constants for tests
* Simplify HandleToken tests
* Refactor the HandleTokenRequest test
* test message
* Review test
* Prevent flacky test on client as well
* go imports
* Revert changes from 526e48ad45
* AuthN: Change the External Service registration form (#68649)
* AuthN: change the External Service registration form
* Gen default permissions
* Change demo script registration form
* Remove unecessary comment
* Nit.
* Reduce cyclomatic complexity
* Remove demo_scripts
* Handle case with no service account
* Comments
* Group key gen
* Nit.
* Check the SaveExternalService test
* Rename cachedUser to cachedClient in test
* One more test case to database test
* Comments
* Remove last org scope
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* Update pkg/services/oauthserver/utils/utils_test.go
* Update pkg/services/sqlstore/migrations/oauthserver/migrations.go
Remove comment
* Update pkg/setting/setting.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
---------
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
* initial updates to outdated info
* minor edits prior to draft PR
* commented out options no longer available
* additional edits
* removed tables, changed format to list
* updated code mode section
* finished edits to builder mode
* added revisions per Brendan
* removed commented out section
* added note short codes
* Update all core kinds to flattened lineages
* Regen Go types, without any
* Regen Go types, s/interface{}/any/
* Update generated core typescript
* Update generate docs
* Fix defaults gen in veneer index jenny
* Flatten plugindef lineage
* Convert all plugin kinds to flattened form
* Switch back to interface{} for now
* Switch to fs.Sub in plugin DeclParser
* Mostly undesirable codegen changes, to be fixed
* Update mod and sum
* Update pfs tests to flattened lineages
* Update thema to latest, regen docs
* Move logs-related files to its own folder; update ownership paths
* Fix failing tests
* Put Flame graph and Node graph related files into separate folders
* Put RawPrometheus related files into a separate folder
* Put Table related files into a separate folder
* Add owners to three visualization categories
* observability-logs team owns everything under logs
* Move logs utils to their separate folder under Logs
* Wip
* remove name input from page body
* render title & subTitle in datasource page in connections and remove unused prop - uid
* styling on actions button group
* remove unused props in edit datasource page
* set gap as 8px between buttons
* move editable datasourcename to the header
* add subTitle component
* remove useRef and use autoFocus prop
* pass false to isDefault when dataSource is undefined
* change button text
* remove suffix icon
* remove unused import - Icon
* consolidate duplicate useDataSourceSettingsNav into datasrouces hook
* move dataSource context to useDataSourceSettingsNav
* remove Explore button in the footer
* remove unused props
* fix failing test on button group
* fix typo on file naming
* remove disabled prop
* fix param
* add test
* add test files
* disable editing title in readOnly provision datasource
* update name should save dataSource
* prevent swith toggle change from label clicking and change margin
* update tooltip message
* use datasource update on header instead of state update
* remvoe subTitle component and move subTitle component next to page Info component
* Added title
* remove subTitle in buildNavModel
* replace Button with Badge
* make datasourceheader as a component
* horizontal gap of 24px between pageInfo and actions components
* align page Info value items
* accept react node as page info label and add tooltip to Default item
* update navId for edit datasource page in connections
* update unit testing for Title
* fix gen_que
* betterer
* prettier fix
* fix e2e test
* add data-testid to nameEditIcon selector
* fix tooltip text
* fix navId for connections datasources edit page
* fix e2e selector: change autoSizeInput to Input
* adding ellipsis to EditDataSourceTitle
* override grafana-ui titleContainer h1 styles
* UI cleanup and apply readOnly to default datasource switch
* add period
* datasource name validation
* title and page info alignment
* add feature toggle - dataSourcePageHeader
* restore basicSettings component and apply feature toggle
* go lint
* Revert "title and page info alignment"
This reverts commit 681ac51f11.
* remove editable fields from page Header - name, default datasource switch
* fix go test: toggle generator
* remove test id
* remove alerting badge in BasicSettings component
* Revert "remove alerting badge in BasicSettings component"
This reverts commit fb33ff9028.
* feature toggle on alerting badge
* rename component & filename
* move DataSourceInfo type
* change button to link in test
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Miguel Palau Zarza <mpalauzarza@gmail.com>
* Log row: use clipboard button component for copy log button
* Copy log: adjust button styles to match
* Define line height
* Slightly improve line height
* removing legacy AC checks from team API handlers
* Chore: remove `UserIDFilter` from team queries (#68820)
* remove userIDfilter from team queries in favour of RBAC SQL filtering
* fix typo
* remove redundant tests
* remove another unused function
* fix failing test
* Use mutable ref to keep queries to be previewed to prevent stale state
* Extract code related to AlertQueryRunner to a separate hook
* Use hooks form state to keep fresh queries, fix recording rules preview
* Remove unused import
* Update query update explanation
* Themes: Unify secondary button and ToolbarButton
* Update
* Update light theme
* fix test
* fix toolbar button border
* fix disabled outline button style
* Use transparent color instead of dynamic computed color for hover bg for text/outline versions. this is what figma components do
* Update migration ordering
- Update migration in applyTemplateVariables to account for interpolation from expression datasource
- Update mock to ensure overrides are passed through correctly
- Update tests
- Update migrateQuery function name for clarity
* Fix tests
* Remove comment
Update legend aliases
- Add subscription response type
- Update AzureMonitorQuery type
- Update docs
- Update tests
- Add function to retrieve subscription display name if not present
* Center align cell items
* Change empty folder message + style
* Use new Text components in TypeCell
* Use new components in Move and Delete modals
* fix test
* Change spinner in DescendantsCount to the same font size as the text to prevent layout shift
* Enable doc-validator for specific directories
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix one linting error to trigger CI
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update doc-validator to latest release
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update make-docs procedure
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Use doc-validator version from CI in local make target
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Revert to 1.11.0
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* adds missing descriptions
* Fix titles and headings
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix link formats
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix easy to resolve anchors
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Remove broken anchor link
This anchor appears to have been broken for a long time.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Use doc-validator image with support for numbered anchors
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update make-docs procedure to support doc-validator 2.0.x
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix a bunch of broken anchors
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Ignore old whatsnew content
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update doc-validator to v2.0.x and use reviewdog to report errors
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* removes broken links
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
* move permissions to a drawer when nested folders is enabled
* only show count when resource is folder
* Extract descendant count out into its own component
* remove label
* Logs: Fix duplicate uids by appending series refIds
* Fix id generation in loki live streams to be consistent
* Update public/app/core/logsModel.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Fix test
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Elasticsearch: Fix passing of limit and datalinks to logs data frame
* Update public/app/core/logsModel.ts
Co-authored-by: François Massot <francois.massot@gmail.com>
---------
Co-authored-by: François Massot <francois.massot@gmail.com>
* Support scoped tags API
* Tests
* Updates
* Updated components and language provider to certralize tag retrieval
* Update tests and add new tests for language provider
* Minor update
* Update test
* Use fully qualified resource identifiers
* Add additional data link to explore parent span
* Correctly order links to not break trace logs functionality
* Loki: Add functionality to revert to initial query
* Add tests and fix button in button
* Use usereven instead of fireEvent
* Shortern onClick
* Add feature tracking
* Use testid instead of title
* Always show revert button
* Remove unused imports
* RBAC: Add function to delete external service roles
* Adding a test to the service
* Update pkg/services/accesscontrol/acimpl/service_test.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* update FolderDTO to match backend struct
* hacky way to get folder page breadcrumbs working
* hacky way to get dashboard nested breadcrumbs working
* undo route changes, get url from folder
* fix breadcrumbs in dashboard settings
* add parent pages to navIndex
* adjust getRootSectionForNode to just return the parent of a leaf node
* undo changes to generated files
* undo changes to toggles_gen.go
* feature toggle dashboardInit code
* remove unnecessary code in home dashboard
* build navModel directly, don't use getNavModel
* don't need fallback here
* remove getLoadingNav since it's not used anymore
* don't need to hide tabs from breadcrumbs anymore
* use id to find dashboards tab
* Enable correlations links for traceView formatted fields
* Add other links to the span UI
* Show both “legacy” and dataframe links
* bandaid test
* Remove special path logic, stringify all non strings before applying regex
* Fix test
* Do not create new instance of factory for every call, change header to correlations
* Get links from more than one field
* Remove categories
* Fix google cloud link tests
* Add test for multiple internal links
* Remove changes to datasources provisioning
* Added sorting, changed log link title
* Updates for new datasource picker
* Correct typing to ensure datasource selection
* Remove unused import
* Update labels
* Update labels and fix test
* Fix another test
* update test datasource to support template $seriesIndex in label values
* prettier
---------
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* refactor: remove unnecessary styling and adjust to button styling
* refactor: improve story
* refactor: use new default styling for border radius
* refactor: add missing pseudo classes and clean up
* refactor: repair disabled styling and add to story
* refactor: clean up and apply styles defined in figma
* refactor: set hover background in a pseudo-element
* refactor: unify large sizes
* refactor: add information for further use
* refactor: add comment
* refactor: comments and clean up import
* refactor: add changes after code review
* refactor: replace some bad example code in documentation
* refactor: update comment
Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
* refactor: add changes requested in review
* refactor: move deprecation warning
* refactor: replace padding
* refactor: remove local styling
* refactor: create separate stories for different examples
* refactor: change style of story
* refactor: replace absolute value by variable
* Update toggles_gen.go
---------
Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
* Plugins: Pass panel data in plugin extension context
Similar to https://github.com/grafana/grafana/pull/65861, this passes
the panel's data as part of the context object used when configuring
extension links.
This is useful if the plugin wants to conditionally show the link
depending on the presence or absence of certain features in the
data. For example in the ML plugin we only want to offer Outlier
Detection links for a query if the query returned more than 3 series.
* Update getPanelMenu extension test to include data object
* Tempo: escape regex-sensitive characters in span name before building promql query
* Make gen-cue
* Add type
* Add tests
* Test
* Minor update
---------
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
* adds icon and text to the card if enabled in inifile
* make use of verbose settings
* add state to enabledInIniFile
* rename to configFound and removal of default values
* chore(grafana-ui): begin migration to storybook7
* refactor(storybook): begin cleanup of storybook and addon configs
* chore(storybook): add storybook/blocks to keep yarn berry happy
* chore(storybook): rename intro story for storybook 7
* chore(stories): rename internal stories to support SB7 story name mapper
* chore(betterer): update glob to support internal story renaming
* chore(stories): silence TS errors for subcomponents in SB7
* fix(clickoutsidewrapper): window | document can be undefined not null
* chore(storybook): remove patch for 6.5.16
* revert(storybook): put back story globs
* docs(storybook): replace removed <Props /> with <ArgsTypes /> in mdx files
* docs(storybook): use ArgTypes instead of ArgsTable
* chore(storybook): use correct ArgTypes import name in mdx files
* chore(storybook): patch blocks to expose Preview component for docs
* chore(storybook): rename deprecated ComponentStory and ComponentMeta for v7
* feat(storybook): add STORY env var to customise which stories storybook should load
* chore(storybook): bump to 7.0.4
* fix(storybook): set esbuild minify target to fix erroring docs in production builds
* fix(toolbarbuttonrow): fix import path to prevent error in storybook doc
* docs(storybook): fix up some more stories
* chore(storybook): more config updates to match storybook documentation
* chore(storybook): bump to 7.0.5
* Apply suggestions from code review
Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
* chore(storybook): fix broken merge causing types issues
* chore(storybook): mimic broken alphabetical storySort and docs overview ordering
* docs(storybook): fix button docs adding p tags due to mdx2
* chore(storybook): bump to 7.0.10
* chore(storybook): apply patch on yarn install
* chore(text): update stories for storybook 7
* fix(storybook): make sure globs don't include internal stories in production
---------
Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
* Exposes the scoped vars to UI extensions via context.
* reverted the interpolation when running a query via the query runner.
* adding scoped vars to test.#
* add bug fix for multiple nested functions as params
* add types for parser (#67067)
* add types for parser
* add comment for future work
* handle any function with 2 seriesByTags func params, add test
* Update to ensure the resources parameter is passed through for logs queries only
* Use string slices for resources to ensure order remains the same
* Fix lint
* clarify test
* adding load time metrics for app init.
* chore: add the `metrics.ts` to the CODEOWNERS
* moved file according to PR feedback.
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Reset search state when navigating to a new search item
* Reset query on search select
* Spread initialState
* Remove unused import
* Only reset query
* Add test
* Fix spelling
* Change functionality
* Only applied saved filters when searching
* Appropriately handle correlation resources
- Retrieve resources in buildQueries step
- Build updated queries based off of correlation results
- Update tests
* Fix query building and tests
* Fix lint
* Ensure multiple resource queries will work
- Correctly set resources to ensure there is no overlapping between multiple resource selection and correlated resources
- Add tests for these specific cases
- Remove unnecessary pointers
- Build queries correctly
* baldm0mma/issue5799/ add empty frame with all meta data
* baldm0mma/issue5799/ add null test
* write an integration test around query results with empty rows
* baldm0mma/issue5799/ add tests to mssql and postgres
* remove use of apparently reserved keyword in mysql8
* baldm0mma/issue5799
* baldm0mma/issue5799/ update tests
* baldm0mma/issue5799/ update test structs
* baldm0mma/issue5799/ update annotation
---------
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
* user essentials mob! 🔱
lastFile:public/app/core/components/AppChrome/AppChrome.tsx
* user essentials mob! 🔱
lastFile:public/app/core/components/AppChrome/AppChrome.test.tsx
* only show skiplink when page has app chrome
---------
Co-authored-by: Joao Silva <joao.silva@grafana.com>
* AuthN: Save external services RBAC roles
* Add missing test
* Placing roles in the same group
* Split function to gen role and assignment
* add test case and comments
* Ensure we check external service roles are assigned once only
* Update pkg/services/accesscontrol/models_test.go
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
---------
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
* update docs to mark that api keys will be service account tokens
* Update docs/sources/administration/api-keys/index.md
* Update docs/sources/administration/api-keys/index.md
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
---------
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
* CI: Add Windows backend tests in more places
* CI: Add promotion pipeline for publishing new windows-test-images
* CI: Ignore windows backend-test failures for now
* CI: Fix linting issue in ci_images.star file
* adds stale alert note
* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
* alex feedback
---------
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
* Return same series for loading state
* Fix shared query issue
* include structureRev
* heatmap should depend on the series, not the wrapper
* fix more panels
* keep config for comparison
* fieldConfig.fieldConfig!
* cleanup
* cmon
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Elasticsearch: Run getTerms torugh backend if toggle enabled
* Add template variables to devenv dashboard for easier testing
* Add TODO
* Run feature toggle gen to fix build
* Google Cloud Monitor: Fix mem usage for dropdown
Previously the Metric name dropdown would attempt to load _all_ the
available metric names into the Select which would eventually crash the
browser if the dataset was large enough.
We can fix this by using AsyncSelect and making another query once a
Service is selected _and_ the user types a few characters.
* fix: update tests for AsyncSelect
* fix lint
* fix: add subset of metrics on initial load
* Update TimeGrain interface methods
- Make them util functions because it's simpler
* Update logs ds to appropiately set resources and timespan
* Set timespan using RCF times
* Update tests
* Append analytics identifier upon authenticate session
* Add id and module upon syncing user to identity
* Add authModule & id to `IdentityFromSignedInUser`
* Allow req calls in test to use basic auth
* Add `intercom_secret` to grafana config in tests
* Add test for analytics render in html view
* quick poc on how we could use proxies instead of object freeze for the extension context.
* wip
* wip
* added tests for readOnlyProxy.
* Changed so we use the read only proxy for the context instead of the frozen object.
* updated names according to feedback.
* Drawer: Introduce drawer size that sets width and min-width
* media queries
* Change large drawer to 75%
* Change news drawer to medium as the news items have better layout then with images on the side
* Tweaks and fixed inline drawer issue
* review fixes
* Deprecate inline, update mdx docs
* remove inline var
* Elasticsearch: Fix parsing of invalid time
* Fix lint
* Add more test data to data.js
* Add tests
* Fix lint
* Update pkg/tsdb/elasticsearch/client/search_request.go
* Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui
* Update public/app/features/alerting/unified/components/mute-timings/MuteTimingForm.tsx
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Fix secondary buttons to not have outline
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Fix expression for GrafanaRequestsFailing alert
The intent of the alert is to get the ratio of 5xx to all status codes
[^1]. With the original expression, the left hand side can have more than
one row with the same labels except for the status code. This results in
a promql error because it is doing a many-to-one matching. Doing a sum
on the left hand side first should preserve the intent of the alert and
resolve the issue.
[^1]: https://github.com/grafana/grafana/pull/43116
* BackendSrv: Restrucutre response stream to resolve a retried request
correctly
* BackendSrv: Get signed in property from user
* Fix test with correct number of calls
* To prevent retry we need to throw error
* Fix tests
* revert change
* Fixes to token rotation
* Align tests
* Remove commented out code
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
rename "Your data source" to "Data source" page
This page was meant to be named "Data source" in the previous PR [0].
I just made a mistake by naming it wrongly.
[0]: https://github.com/grafana/grafana/pull/66813/files
* hook up getAffectedItems to the backend count route
* mock out backendSrv in unit tests
* Don't delete alert rules while API doesn't return counts
* Show alert rule counts when API returns them
* use components for modal styles
* Revert "use components for modal styles"
This reverts commit 80ac1152f8.
---------
Co-authored-by: joshhunt <josh@trtr.co>
* clear selection post move/delete
* move actions out of rtk-query
* move findItems, create selectors, refetch children when moving/deleting
* cleaner syntax
* remove unnecessary function, just put logic in the selector
* handle moving/deleting from the root
* slightly cleaner
* handle when rootItems are undefined
* handle 'general' in the fetchChildren reducer
* only refresh at the end
* don't need thunk api
* move configure legend page and add alias
* updated page weight and tried fixing alias
* fixed alias
* add preemptive alias for current page location
* apply suggestion from review
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* apply suggestions from review
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* apply suggestions from review
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Show indeterminate checkbox for folders with partially selected children
* When selecting an item, check ancestors to see if all their children are now selected
* reword comment
* fix test
* fix lint
* Check all descendants for mixed state
* Use indeterminate checkbox
* fix test description
* make header checkbox select/unselect automatically
* mixed header checkbox:
* fix tests
* add tests
@@ -1294,7 +1294,7 @@ This option to group query variable values into groups by tags has been an exper
**Deprecation warnings**
- Scripted dashboards is now deprecated. The feature is not removed but will be in a future release. We hope to address the underlying requirement of dynamic dashboards in a different way. [#24059](https://github.com/grafana/grafana/issues/24059)
- The unofficial first version of backend plugins together with usage of [grafana/grafana-plugin-model](https://github.com/grafana/grafana-plugin-model) is now deprecated and support for that will be removed in a future release. Please refer to [backend plugins documentation](https://grafana.com/docs/grafana/latest/developers/plugins/backend/) for information about the new officially supported backend plugins.
- The unofficial first version of backend plugins together with usage of [grafana/grafana-plugin-model](https://github.com/grafana/grafana-plugin-model) is now deprecated and support for that will be removed in a future release. Please refer to [backend plugins documentation](/developers/plugin-tools) for information about the new officially supported backend plugins.
// need to ignore emotion's `css` prop, see https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md#rule-options
title:"Product-Area-Here: short description of bug here"
title:"ProductArea: Short description of bug"
body:
- type:markdown
attributes:
value:|
Thanks for taking the time to fill out this bug report!
Please try to give your issue a good title. Try using the product-area where you are having an issue and a brief description of the problem. Like this:
- `Dashboards: Template Variables break when I do X` or
Please try to give your issue a good title. Try using the product-area where you are having an issue and a brief description of the problem. Like this:
- `Dashboards: Template Variables break when I do X` or
- `Alerting: message templating plus Slack channel breaks when I do X`
- type:markdown
attributes:
@@ -20,108 +20,61 @@ body:
attributes:
value:|
#
- type:textarea
id:bug-describe
attributes:
label:|
# What went wrong?
description:|
#
Describe your bug. What happened? What did you expect to happen?
**Hot Tip:** Record your screen and add it here as a gif.
placeholder:Tell us what you see!
value:|
**What happened**:
-
**What did you expect to happen**:
-
label:What happened?
description:"**Hot Tip:** Record your screen and attach it here."
validations:
required:true
- type:markdown
attributes:
value:|
#
- type:textarea
id:bug-repro
attributes:
label:|
# How do we reproduce it?
description:|
#
Whenever possible, please provide **detailed** steps for reproducing your bug.
**This is very helpful info**
placeholder:"Step 1:..."
value:|
**Step 1**:
- Open Grafana and do X
**Step 2**:
- Now click button Y
**Step 3**:
- Wait for the browser to crash. Error message says: "Error..."
label:What did you expect to happen?
validations:
required:true
- type:markdown
attributes:
value:|
#
- type:input
id:gf-version
attributes:
label:|
# What Grafana version are you using?
description:|
#
- [How do I find my Grafana version info?](https://community.grafana.com/t/how-to-find-your-grafana-version-info-3-different-ways/86857)
placeholder:"ex: v9.5.0, or v9.5.0-cloud.5.a016665c (b2a5d45589)"
validations:
required:true
- type:markdown
attributes:
value:|
#
#
# Optional Questions:
#
- type:textarea
id:get-help
attributes:
label:|
## Optional Questions:
### Is the bug inside a Dashboard Panel?
label:Did this work before?
description:"If this worked before, what Grafana version worked correctly?"
validations:
required:true
- type:textarea
attributes:
label:How do we reproduce it?
placeholder:"Steps to reproduce..."
value:|
1.
2.
3.
validations:
required:true
- type:textarea
attributes:
label:Is the bug inside a dashboard panel?
description:|
If the bug appears inside a [dashboard panel](https://grafana.com/docs/grafana/latest/panels-visualizations/#panels-and-visualizations), please use the ["Get-Help" feature](https://grafana.com/docs/grafana/latest/troubleshooting/send-panel-to-grafana-support/). Select **copy to clipboard** and paste the data below.
No need for backticks--this text will get formatted as a code-block.
If the bug appears inside a [dashboard panel](https://grafana.com/docs/grafana/latest/panels-visualizations/#panels-and-visualizations), please use the ["Get help" feature](https://grafana.com/docs/grafana/latest/troubleshooting/send-panel-to-grafana-support/). Select **Copy to clipboard** and paste the data below.
- type:textarea
attributes:
label:Environment (with versions)?
description:|
[How do I find my Grafana version info?](https://community.grafana.com/t/how-to-find-your-grafana-version-info-3-different-ways/86857)
placeholder:"Grafana, OS, and Browser versions..."
value:|
Grafana:
OS:
Browser:
validations:
required:false
What's a [dashboard panel](https://grafana.com/docs/grafana/latest/panels-visualizations/#panels-and-visualizations)?
placeholder:Copy "get-help" data here
value:Copy the panel's ["get-help" data](https://grafana.com/docs/grafana/latest/troubleshooting/send-panel-to-grafana-support/) here
- type:dropdown
id:gf-deployment
attributes:
label:Grafana Platform?
description:|
**How** are you running/deploying Grafana?
label:Grafana platform?
description:How are you running/deploying Grafana?
options:
- I use Grafana Cloud
- Docker
@@ -132,46 +85,9 @@ body:
- I don't know
validations:
required:false
- type:input
id:user-os
attributes:
label:User's OS?
description:What operating system are you running locally?
placeholder:"ex. MacOS Big Sur 11.7, or Ubuntu 20.04..."
- type:input
id:user-browser
attributes:
label:User's Browser?
description:Is the bug occuring in Grafana's user-interface? If so, what browsers are you seeing the problem on? You may choose more than one.
placeholder:"ex. Google Chrome Version 112.0.5615.137 (Official Build) (arm64)..."
- type:dropdown
id:regression
attributes:
label:Is this a Regression?
description:|
A regression means that the feature was working, then you upgraded, and now it's broken.
options:
- 'No'
- 'Yes'
validations:
required:false
- type:input
id:gf-datasource
attributes:
label:Are Datasources involved?
description:|
Is this issue specific to a datasource plugin / plugins? Please list all that apply:
label:Datasource(s)?
description:"Is this issue specific to a datasource plugin? (Please list all that apply)"
placeholder:"ex. Elasticsearch 5.0.0 or Infinity 1.4.1 ..."
By using this template, you help expand our component and pattern solutions within the design system and let others reuse your work! You can contribute bug or design defect fixes, component, and pattern enhancements, or even net-new components! This template brings visibility to the great work everyone already does and in turn helps reduce duplicate efforts.
"comment":"This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example:7.4.3or 7.4.3-beta1'
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example:7.4.3,7.4.3-preview or 7.4.3-preview1'
required:true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS:false
YARN_ENABLE_IMMUTABLE_INSTALLS:false
jobs:
main:
runs-on:ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
# This is a basic workflow to help you get started with Actions
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example:7.4.3,7.4.3-preview or 7.4.3-preview1'
description: 'The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example:7.4.3or 7.4.3-beta1'
description: 'The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example:7.4.3,7.4.3-preview or 7.4.3-preview1'
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example:7.4.3or 7.4.3-beta1'
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example:7.4.3,7.4.3-preview or 7.4.3-preview1'
"io/ioutil"="Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."
"gopkg.in/yaml.v2"="Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available"
"github.com/pkg/errors"="Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library."
"github.com/xorcare/pointer"="Use pkg/util.Pointer instead, which is a generic one-liner alternative"
"github.com/gofrs/uuid"="Use github.com/google/uuid instead, which we already depend on."
[linters-settings.depguard.rules.main]
allow=[]# allow all
deny=[
{pkg="io/ioutil",desc="Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."},
{pkg="gopkg.in/yaml.v2",desc="Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available"},
{pkg="github.com/pkg/errors",desc="Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library."},
{pkg="github.com/xorcare/pointer",desc="Use pkg/util.Pointer instead, which is a generic one-liner alternative"},
{pkg="github.com/gofrs/uuid",desc="Use github.com/google/uuid instead, which we already depend on."},
]
[linters-settings.depguard.rules.coreplugins]
deny=[
{pkg="github.com/grafana/grafana/pkg/api",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/cmd",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/cuectx",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/extensions",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/kinds",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/middleware",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/modules",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/registry",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/services",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/build",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/codegen",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/events",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/ifaces",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/kindsysreport",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/mocks",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/plugins",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/setting",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/util",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/bus",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/components",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/expr",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/infra",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/login",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/models",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/server",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/tests",desc="Core plugins are not allowed to depend on Grafana core packages"},
{pkg="github.com/grafana/grafana/pkg/web",desc="Core plugins are not allowed to depend on Grafana core packages"},
]
files=[
"**/pkg/tsdb/grafana-testdata-datasource/*",
"**/pkg/tsdb/grafana-testdata-datasource/**/*",
]
[linters-settings.gocritic]
enabled-checks=["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
rules="pkg/ruleguard.rules.go"
[linters-settings.nakedret]
max-func-lines=60
[linters]
disable-all=true
enable=[
@@ -47,7 +84,6 @@ enable = [
"ineffassign",
"misspell",
"nakedret",
"rowserrcheck",
"exportloopref",
"staticcheck",
"stylecheck",
@@ -65,6 +101,7 @@ enable = [
# Disabled linters (might want them later)
# "unparam"
# "rowserrcheck" # The linter doesn't detect that both Scan and Close also returns the error message returned by Err.
[issues]
exclude-use-default=false
@@ -82,6 +119,11 @@ linters = ["stylecheck"]
text="ST1001"
# Enable when appropriate
# http.CloseNotifier has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: We currently need it in pkg/web/response_writer.go.
[[issues.exclude-rules]]
linters=["staticcheck"]
text="SA1019: http.CloseNotifier"
# strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly.
@@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4/code-of-conduct][version]
@@ -44,7 +44,7 @@ If you believe you've found a security vulnerability, please read our [security
### Suggest enhancements
If you have an idea of how to improve Grafana, submit an [enhancement request](https://github.com/grafana/grafana/discussions/new).
If you have an idea of how to improve Grafana, submit a [feature request](https://github.com/grafana/grafana/issues/new?assignees=&labels=type%2Ffeature-request&projects=&template=1-feature_requests.md).
We want to make Grafana accessible to even more people. Submit an [accessibility issue](https://github.com/grafana/grafana/issues/new?labels=type%3A+accessibility&template=3-accessibility.md) to help us understand what we can improve.
@@ -73,7 +73,7 @@ Unsure where to begin contributing to Grafana? Start by browsing issues labeled
If you're looking to make a code change, see how to set up your environment for [local development](contribute/developer-guide.md).
When you're ready to contribute, it's time to [Create a pull request](/contribute/create-pull-request.md).
When you're ready to contribute, it's time to [create a pull request](/contribute/create-pull-request.md).
#### Contributor License Agreement (CLA)
@@ -82,6 +82,6 @@ Before we can accept your pull request, you need to [sign our CLA](https://grafa
## Where do I go from here?
- Set up your [development environment](contribute/developer-guide.md).
- Learn how to [contribute documentation](contribute/README.md).
- Get started [developing plugins](https://grafana.com/docs/grafana/latest/developers/plugins/) for Grafana.
- Learn how to [contribute to our documentation](contribute/documentation/README.md).
- Get started [developing plugins](https://grafana.com/developers/plugin-tools) for Grafana.
- Look through the resources in the [contribute](contribute) folder.
@@ -105,7 +105,9 @@ Should explain what happened, what was expected and how to reproduce it together
#### Enhancement requests
Enhancement requests (aka. feature requests) should be created as a [Github discussion](https://github.com/grafana/grafana/discussions). When submitting an enhancement request we ask that users focus on the problem they'd like to solve and why it’s a problem rather than focusing on the solution itself. To facilitate this we recommend using the following template:
Prior to August, 2023, community-submitted feature requests were submitted as [Github discussions](https://github.com/grafana/grafana/discussions). These are now submitted using the [feature request issue template](https://github.com/grafana/grafana/issues/new?assignees=&labels=type%2Ffeature-request&projects=&template=1-feature_requests.md).
When submitting an enhancement request we ask that users focus on the problem they'd like to solve and why it’s a problem rather than focusing on the solution itself. To facilitate this the feature requests template includes the following:
- What would you like to be added?:
- Why is this needed (describe your use case and goals)\*\*?:
@@ -193,8 +195,8 @@ If it's not perfectly clear that it's an actual bug, quickly try to reproduce it
### Enhancement/feature?
1.Remind the contributor that enhancement/featurerequest should be created as a GitHub discussion. See [Enhancements requests.](https://github.com/grafana/grafana/blob/main/ISSUE_TRIAGE.md#enhancement-requests)
2.Label the issue `type/feature-request` and at least one `area/*` or `datasource/*` label.
1.Label the issue `type/feature-request` and add at least one `area/*` or `datasource/*` label.
2.Make sure the submitter has justified why this featurerequests is important.
@@ -42,6 +42,8 @@ If you're interested in contributing to the Grafana project:
- If you have a specific question, check out our [discussion forums](https://community.grafana.com/).
- For general discussions, join us on the [official Slack](https://slack.grafana.com) team.
This project is tested with [BrowserStack](https://www.browserstack.com/)
## License
Grafana is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](https://github.com/grafana/grafana/blob/HEAD/LICENSING.md).
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.