Commit Graph
25 Commits
Author SHA1 Message Date
Jeff Levin d561920147 Context: add better error message when it panics loading a template (#65219)
add better error message about building frontend assets when the web server panics loading a template
2023-03-22 11:40:00 -08:00
6fcc5b42c0 publicdashboards: split create/update api paths (#57940)
This PR splits the create and update paths for public dashboards and includes assorted refactors toward a proper REST API. Additionally, we removed the concept of a "public dashboard config" in favor of "public dashboard" 

Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-11-03 11:30:12 -08:00
Jeff LevinandEzequiel Victorero bf672f960a public dashboards: rename api functions (#57789)
This PR imposes better naming conventions on public dashboards api

* rename api functions and remove use of _config_ noun

* fix tests

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-10-27 17:08:11 -08:00
Jeff LevinandEzequiel Victorero 6b7d6fe0cb public dashboards: rename route paths (#57787)
This PR fixes the naming of routes for public dashboards to be more accurate and descriptive.

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-10-27 14:41:56 -08:00
Jeff Levin 7146f2731c Public Dashboards: audit log paths and add traceId where user facing error is different (#56914)
Audit all paths for publicdashboards and implement traces where user facing error is different from the internal error.
2022-10-17 13:17:24 -08:00
Jeff Levinandjuanicabanas cc27214dca Public Dashboards: Add audit table (#54508)
This PR adds an audit table for public dashboards allowing a user to view all public dashboards on an instance of grafana. The public dashboards team is working on a proposal for adding RBAC support to the audit table for 9.3

Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
2022-10-12 21:36:05 -08:00
Jeff Levin 331110bde5 refactor public dashboards middleware testing (#55706)
This PR refactors how we add the orgId to the context on a public dashboard paths. We also split out accessToken handling into its own package and rework status code for "RequiresValidAccessToken". We will be modeling all endpoints to use these status codes going forward. Additionally, it includes a scaffold for better middleware testing and refactors existing tests to table drive tests.
2022-10-06 12:35:19 -08:00
Jeff Levin e4157361d9 documentation: update documentation for enabling tracing on a grafana instance (#56068)
This PR improves docs around enabling traces on grafana.
In order to enable tracing and get a traceID, you must set the address field in your config.ini

https://github.com/grafana/grafana/blob/main/contribute/engineering/backend/instrumentation.md#2-enable-tracing-in-grafana
2022-09-30 03:44:12 -04:00
Jeff LevinandEzequiel Victorero 5cb9fca990 public-dashboards: Add log statement when public dashboard enabled or disabled (#54133)
* refactor apis for consistent outputs
* add dashboardUid validation at API layer
* add check for empty dashboardUid on SavePublicDashboard
* remove public dashboard errors from models package.

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>
2022-08-26 11:28:54 -08:00
Jeff Levin 681bdf1a2d public-dashboards: refactor query method (#54119)
This PR refactors the GetPublicDashboard method so we don't need to make extra database calls. Also adds general documentation
2022-08-26 05:21:52 -04:00
Jeff Levin 6128cb60b4 cleanup unused fields (#54115)
This PR removes unused struct fields in SavePublicDashboardCommand
2022-08-24 21:29:01 -04:00
Jeff Levin f5b99e5ca7 add tests for api urls (#54116)
Create function for generating api urls and add tests
2022-08-24 08:51:35 -06:00
Jeff Levin b3f7deebda fix audit log prefix for public dashboards (#53070) 2022-08-01 14:46:48 -08:00
Jeff LevinandEzequiel Victorero 58ff0f07b4 public dashboards: check to see if dashboard state is different from persisted on save (#52008)
* public dashboards: check to see if dashboard state is different from persisted on save

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-08-01 09:35:09 -03:00
Jeff Levin fcfde8abd8 public dashboards:fix time regression (#51998)
This PR fixes a regression bug for public dashboards and adds a test to ensure the regression does not resurface.
2022-07-11 08:50:34 -03:00
eacee08135 public dashboards: move into into its own service (#51358)
This PR moves public dashboards into its own self contained service including API, Service, Database, and Models. Routes are mounted on the Grafana HTTPServer by the API service at injection time with wire.go. The main  route that loads the frontend for public dashboards is still handled by the API package.

Co-authored-by: Jesse Weaver <jesse.weaver@grafana.com>
Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>
2022-07-06 17:51:44 -06:00
Jeff LevinandOwen Smallwood <owen.smallwood@grafana.com>, Ezequiel Victorero <ezequiel.victorero@grafana.com>, Jesse Weaver <jesse.weaver@grafana.com> d076bedb5e public dashboards: finalize db schema & v1 feature complete (#50467)
This PR completes public dashboards v1 functionality and simplifies public dashboard conventions. It exists as a large PR so that we are not making constant changes to the database schema.

models.PublicDashboardConfig model replaced with models.PublicDashboard directly
dashboard_public_config table renamed to dashboard_public
models.Dashboard.IsPublic removed from the dashboard and replaced with models.PublicDashboard.isEnabled
Routing now uses a uuid v4 as an access token for viewing a public dashboard anonymously, PublicDashboard.Uid only used as database identifier
Frontend utilizes uuid for auth'd operations and access token for anonymous access
Default to time range defined on dashboard when viewing public dashboard
Add audit fields to public dashboard

Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>, Ezequiel Victorero <ezequiel.victorero@grafana.com>, Jesse Weaver <jesse.weaver@grafana.com>
2022-06-22 13:58:52 -08:00
Jeff Levin 52ed651958 public dashboards: insert default public dashboard config into database on save (#49131)
This PR adds endpoints for saving and retrieving a public dashboard configuration and and api endpoint to retrieve the public dashboard.

All of this is highly experimental and APIs will change. Notably, we will be removing isPublic from the dashboard model and moving it over to the public dashboard table in the next release.

Further context can be found here: https://github.com/grafana/grafana/pull/49131#issuecomment-1145456952
2022-06-02 18:27:23 -08:00
c7f8c2cc73 add isPublic to dashboard (#48012)
adds toggle to make a dashboard public

* config struct for public dashboard config
* api endpoints for public dashboard configuration
* ui for toggling public dashboard on and off
* load public dashboard config on share modal

Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-17 14:11:55 -08:00
Jeff Levin 2691872c7a remove validatedQueries feature toggle (#48381)
* remove validatedQueries feature toggle
2022-05-16 13:17:05 -08:00
Jeff Levin dac8abfc2c chore: update contribution docs (#46942)
* add bus deprecation note in contribution docs
2022-05-04 10:38:04 -08:00
Jeff Levin 38fc0c68e4 Update documentation to explicitly state we should not be putting migrations behind feature flags (#48663) 2022-05-03 15:10:59 -08:00
Jeff Levin b88644cb83 public dashboards: add public dashboard table (#48470)
* add public dashboard table migration
2022-05-03 15:08:40 -08:00
Jeff Levin 4a4d87dbdc add public dashboards feature flag (#47364) 2022-04-07 10:30:19 -08:00
5d2f34d8e2 ValidatedQueries: start of validated queries API (#44731)
* adds an api endpoint for use with public dashboards that validates orgId, dashboard, and panel when running a query. This feature is in ALPHA and should not be enabled yet. Testing is based on new mock sqlstore.

Co-authored-by: Jesse Weaver <jesse.weaver@grafana.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
2022-03-07 09:33:01 -09:00