From e2ffa77686a7f82ab90410560fcb61a6bef6cd0b Mon Sep 17 00:00:00 2001 From: Jack Baldry Date: Tue, 11 Apr 2023 14:51:10 +0100 Subject: [PATCH] [v9.0.x] Fix website build errors (#66111) * Fix website build errors Signed-off-by: Jack Baldry * Add packages_api build in published docs Signed-off-by: Jack Baldry * Fix alerting test --------- Signed-off-by: Jack Baldry Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com> --- ...ublish-technical-documentation-release.yml | 21 ++++++++ .../data-source-management/_index.md | 2 +- .../roles-and-permissions/_index.md | 2 +- .../fundamentals/annotation-label/_index.md | 2 +- .../developers/http_api/access_control.md | 50 +++++++++---------- docs/sources/developers/http_api/admin.md | 2 +- docs/sources/developers/plugins/_index.md | 12 ++--- .../plugins/add-support-for-annotations.md | 2 +- .../add-support-for-explore-queries.md | 2 +- .../build-a-logs-data-source-plugin.md | 2 +- .../build-a-streaming-data-source-plugin.md | 2 +- docs/sources/enterprise/_index.md | 2 +- docs/sources/enterprise/query-caching.md | 2 +- docs/sources/enterprise/reporting.md | 20 ++++---- .../introduction/grafana-enterprise.md | 2 +- .../panels/configure-thresholds/_index.md | 2 +- docs/sources/release-notes/_index.md | 4 -- .../configure-authentication/enhanced_ldap.md | 2 +- .../configure-database-encryption/_index.md | 6 +-- .../shared/getting-started/first-step.md | 2 +- docs/sources/whatsnew/whats-new-in-v7-4.md | 10 ++-- docs/sources/whatsnew/whats-new-in-v8-0.md | 4 +- docs/sources/whatsnew/whats-new-in-v8-1.md | 2 +- .../api/alerting/api_alertmanager_test.go | 10 ++-- 24 files changed, 93 insertions(+), 74 deletions(-) diff --git a/.github/workflows/publish-technical-documentation-release.yml b/.github/workflows/publish-technical-documentation-release.yml index dd4a6ae9309..ab1f9f11fb2 100644 --- a/.github/workflows/publish-technical-documentation-release.yml +++ b/.github/workflows/publish-technical-documentation-release.yml @@ -36,6 +36,27 @@ jobs: release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$" release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$" + - name: "Generate packages_api docs" + uses: "actions/setup-node@v3.2.0" + id: "generate-packages_api-docs" + with: + node-version: '16' + + - name: "Get yarn cache directory path" + id: "yarn-cache-dir-path" + run: "echo ::set-output name=dir::$(yarn config get cacheFolder)" + + - uses: "actions/cache@v2.1.7" + with: + path: "${{ steps.yarn-cache-dir-path.outputs.dir }}" + key: "yarn-${{ hashFiles('**/yarn.lock') }}" + restore-keys: | + yarn- + + - run: "yarn install --immutable" + + - run: "./scripts/ci-reference-docs-build.sh" + - name: "Determine technical documentation version" if: "steps.has-matching-release-tag.outputs.bool == 'true'" uses: "./actions/docs-target" diff --git a/docs/sources/administration/data-source-management/_index.md b/docs/sources/administration/data-source-management/_index.md index 5c37beac46e..64c896da2db 100644 --- a/docs/sources/administration/data-source-management/_index.md +++ b/docs/sources/administration/data-source-management/_index.md @@ -45,7 +45,7 @@ To add a data source: Data source permissions allow you to restrict access for users to query a data source. For each data source there is a permission page that allows you to enable permissions and restrict query permissions to specific **Users** and **Teams**. -> **Note:** Available in [Grafana Enterprise]({{< relref "../../enterprise/" >}}) and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../../enterprise/" >}}) and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). ### Enable data source permissions diff --git a/docs/sources/administration/roles-and-permissions/_index.md b/docs/sources/administration/roles-and-permissions/_index.md index 1632ada3ee3..4cc003ed7fa 100644 --- a/docs/sources/administration/roles-and-permissions/_index.md +++ b/docs/sources/administration/roles-and-permissions/_index.md @@ -121,7 +121,7 @@ For more information about assigning administrator permissions to editors, refer If you have access to the Grafana server, you can modify the default viewer role so that viewers can: - Edit and preview dashboards, but cannot save their changes or create new dashboards. -- Access and use [Explore]({{< ref "/explore" >}}). +- Access and use [Explore]({{< relref "../../explore" >}}). Extending the viewer role is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries, but not be able to save or create new dashboards. diff --git a/docs/sources/alerting/fundamentals/annotation-label/_index.md b/docs/sources/alerting/fundamentals/annotation-label/_index.md index c6693e16a65..bdb378a067e 100644 --- a/docs/sources/alerting/fundamentals/annotation-label/_index.md +++ b/docs/sources/alerting/fundamentals/annotation-label/_index.md @@ -15,7 +15,7 @@ weight: 401 # Annotations and labels for alerting rules -Annotations and labels are key value pairs associated with alerts originating from the alerting rule, datasource response, and as a result of alerting rule evaluation. They can be used in alert notifications directly or in [templates]({{< relref "../../contact-points/message-templating/" >}}) and [template functions]({{< relref "../../contact-points/fundamentals/annotation-label/template-functions/" >}}) to create notification contact dynamically. +Annotations and labels are key value pairs associated with alerts originating from the alerting rule, datasource response, and as a result of alerting rule evaluation. They can be used in alert notifications directly or in [templates]({{< relref "../../contact-points/message-templating/" >}}) and [template functions]({{< relref "./template-functions" >}}) to create notification contact dynamically. ## Annotations diff --git a/docs/sources/developers/http_api/access_control.md b/docs/sources/developers/http_api/access_control.md index a1892df7336..3d1720418fd 100644 --- a/docs/sources/developers/http_api/access_control.md +++ b/docs/sources/developers/http_api/access_control.md @@ -20,7 +20,7 @@ title: RBAC HTTP API The API can be used to create, update, delete, get, and list roles. -To check which basic or fixed roles have the required permissions, refer to [RBAC role definitions]({{< ref "../../enterprise/access-control/rbac-fixed-basic-role-definitions.md" >}}). +To check which basic or fixed roles have the required permissions, refer to [RBAC role definitions]({{< ref "../../administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions" >}}). ## Get status @@ -221,7 +221,7 @@ Content-Type: application/json; charset=UTF-8 `POST /api/access-control/roles` -Creates a new custom role and maps given permissions to that role. Note that roles with the same prefix as [Fixed roles]({{< relref "../../enterprise/access-control/about-rbac/#fixed-roles" >}}) can't be created. +Creates a new custom role and maps given permissions to that role. Note that roles with the same prefix as [Fixed roles]({{< relref "../../administration/roles-and-permissions/access-control#fixed-roles" >}}) can't be created. #### Required permissions @@ -259,24 +259,24 @@ Content-Type: application/json #### JSON body schema -| Field Name | Date Type | Required | Description | -| ----------- | ---------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| uid | string | No | UID of the role. If not present, the UID will be automatically created for you and returned in response. Refer to the [Custom roles]({{< relref "../../enterprise/access-control/about-rbac/#custom-roles" >}}) for more information. | -| global | boolean | No | A flag indicating if the role is global or not. If set to `false`, the default org ID of the authenticated user will be used from the request. | -| version | number | No | Version of the role. If not present, version 0 will be assigned to the role and returned in the response. Refer to the [Custom roles]({{< relref "../../enterprise/access-control/about-rbac/#custom-roles" >}}) for more information. | -| name | string | Yes | Name of the role. Refer to [Custom roles]({{< relref "../../enterprise/access-control/about-rbac/#custom-roles" >}}) for more information. | -| description | string | No | Description of the role. | -| displayName | string | No | Display name of the role, visible in the UI. | -| group | string | No | The group name the role belongs to. | -| hidden | boolean | No | Specify whether the role is hidden or not. If set to `true`, then the role does not show in the role picker. It will not be listed by API endpoints unless explicitly specified. | -| permissions | Permission | No | If not present, the role will be created without any permissions. | +| Field Name | Date Type | Required | Description | +| ----------- | ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| uid | string | No | UID of the role. If not present, the UID will be automatically created for you and returned in response. Refer to the [Custom roles]({{< relref "../../administration/roles-and-permissions/access-control#fixed-roles" >}}) for more information. | +| global | boolean | No | A flag indicating if the role is global or not. If set to `false`, the default org ID of the authenticated user will be used from the request. | +| version | number | No | Version of the role. If not present, version 0 will be assigned to the role and returned in the response. Refer to the [Custom roles]({{< relref "../../administration/roles-and-permissions/access-control#fixed-roles" >}}) for more information. | +| name | string | Yes | Name of the role. Refer to [Custom roles]({{< relref "../../administration/roles-and-permissions/access-control#fixed-roles" >}}) for more information. | +| description | string | No | Description of the role. | +| displayName | string | No | Display name of the role, visible in the UI. | +| group | string | No | The group name the role belongs to. | +| hidden | boolean | No | Specify whether the role is hidden or not. If set to `true`, then the role does not show in the role picker. It will not be listed by API endpoints unless explicitly specified. | +| permissions | Permission | No | If not present, the role will be created without any permissions. | **Permission** -| Field Name | Data Type | Required | Description | -| ---------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| action | string | Yes | Refer to [Custom role actions and scopes]({{< relref "../../enterprise/access-control/custom-role-actions-scopes/" >}}) for full list of available actions. | -| scope | string | No | If not present, no scope will be mapped to the permission. Refer to [[Custom role actions and scopes]({{< relref "../../enterprise/access-control/custom-role-actions-scopes/" >}}) for full list of available scopes. | +| Field Name | Data Type | Required | Description | +| ---------- | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| action | string | Yes | Refer to [Custom role actions and scopes]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes" >}}) for full list of available actions. | +| scope | string | No | If not present, no scope will be mapped to the permission. Refer to [[Custom role actions and scopes]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes" >}}) for full list of available scopes. | #### Example response @@ -374,10 +374,10 @@ Content-Type: application/json **Permission** -| Field Name | Data Type | Required | Description | -| ---------- | --------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| action | string | Yes | Refer to [Custom role actions and scopes]({{< relref "../../enterprise/access-control/custom-role-actions-scopes/" >}}) for full list of available actions. | -| scope | string | No | If not present, no scope will be mapped to the permission. Refer to [Custom role actions and scopes]({{< relref "../../enterprise/access-control/custom-role-actions-scopes/" >}}) for full list of available scopes. | +| Field Name | Data Type | Required | Description | +| ---------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| action | string | Yes | Refer to [Custom role actions and scopes]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes" >}}) for full list of available actions. | +| scope | string | No | If not present, no scope will be mapped to the permission. Refer to [Custom role actions and scopes]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes" >}}) for full list of available scopes. | #### Example response @@ -447,10 +447,10 @@ Accept: application/json #### Query parameters -| Param | Type | Required | Description | -| ------ | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| force | boolean | No | When set to `true`, the role will be deleted with all it's assignments. | -| global | boolean | No | A flag indicating if the role is global or not. If set to false, the default org ID of the authenticated user will be used from the request. Refer to the [About RBAC]({{< relref "../../enterprise/access-control/about-rbac/" >}}) for more information. | +| Param | Type | Required | Description | +| ------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| force | boolean | No | When set to `true`, the role will be deleted with all it's assignments. | +| global | boolean | No | A flag indicating if the role is global or not. If set to false, the default org ID of the authenticated user will be used from the request. Refer to the [About RBAC]({{< relref "../../administration/roles-and-permissions/access-control" >}}) for more information. | #### Example response diff --git a/docs/sources/developers/http_api/admin.md b/docs/sources/developers/http_api/admin.md index dbd13dd3cf7..e0f5073de94 100644 --- a/docs/sources/developers/http_api/admin.md +++ b/docs/sources/developers/http_api/admin.md @@ -17,7 +17,7 @@ The Admin HTTP API does not currently work with an API Token. API Tokens are cur the permission of server admin, only users can be given that permission. So in order to use these API calls you will have to use Basic Auth and the Grafana user must have the Grafana Admin permission. (The default admin user is called `admin` and has permission to use this API.) -> If you are running Grafana Enterprise, for some endpoints you'll need to have specific permissions. Refer to [Role-based access control permissions]({{< relref "../../enterprise/access-control/custom-role-actions-scopes/" >}}) for more information. +> If you are running Grafana Enterprise, for some endpoints you'll need to have specific permissions. Refer to [Role-based access control permissions]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes" >}}) for more information. ## Fetch settings diff --git a/docs/sources/developers/plugins/_index.md b/docs/sources/developers/plugins/_index.md index 5f64193cd42..905ce62a14e 100644 --- a/docs/sources/developers/plugins/_index.md +++ b/docs/sources/developers/plugins/_index.md @@ -24,8 +24,8 @@ npx @grafana/toolkit plugin:create my-grafana-plugin If you want a more guided introduction to plugin development, check out our tutorials: -- [Build a panel plugin]({{< ref "build-a-panel-plugin.md" >}}) -- [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}}) +- [Build a panel plugin]({{< relref "/tutorials/build-a-panel-plugin" >}}) +- [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin" >}}) ## Go further @@ -35,13 +35,13 @@ Learn more about specific areas of plugin development. If you're looking to build your first plugin, check out these introductory tutorials: -- [Build a panel plugin]({{< ref "build-a-panel-plugin.md" >}}) -- [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}}) -- [Build a data source backend plugin]({{< ref "build-a-data-source-backend-plugin.md" >}}) +- [Build a panel plugin]({{< relref "/tutorials/build-a-panel-plugin" >}}) +- [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin" >}}) +- [Build a data source backend plugin]({{< relref "/tutorials/build-a-data-source-backend-plugin" >}}) Ready to learn more? Check out our other tutorials: -- [Build a panel plugin with D3.js]({{< ref "build-a-panel-plugin-with-d3.md" >}}) +- [Build a panel plugin with D3.js]({{< relref "/tutorials/build-a-panel-plugin-with-d3" >}}) ### Guides diff --git a/docs/sources/developers/plugins/add-support-for-annotations.md b/docs/sources/developers/plugins/add-support-for-annotations.md index d20316bf69c..9ed1b982317 100644 --- a/docs/sources/developers/plugins/add-support-for-annotations.md +++ b/docs/sources/developers/plugins/add-support-for-annotations.md @@ -6,7 +6,7 @@ title: Add support for annotations This guide explains how to add support for [annotations]({{< relref "../../dashboards/annotations/" >}}) to an existing data source plugin. -This guide assumes that you're already familiar with how to [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}}). +This guide assumes that you're already familiar with how to [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin" >}}). > **Note:** Annotation support for React plugins was released in Grafana 7.2. To support earlier versions, refer to [Add support for annotation for Grafana 7.1](https://grafana.com/docs/grafana/v7.1/developers/plugins/add-support-for-annotations/). diff --git a/docs/sources/developers/plugins/add-support-for-explore-queries.md b/docs/sources/developers/plugins/add-support-for-explore-queries.md index a6c38ae8b3c..3afbdad54f7 100644 --- a/docs/sources/developers/plugins/add-support-for-explore-queries.md +++ b/docs/sources/developers/plugins/add-support-for-explore-queries.md @@ -6,7 +6,7 @@ title: Add support for Explore queries This guide explains how to improve support for [Explore]({{< relref "../../explore/" >}}) in an existing data source plugin. -This guide assumes that you're already familiar with how to [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}}). +This guide assumes that you're already familiar with how to [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin" >}}). With Explore, users can make ad-hoc queries without the use of a dashboard. This is useful when users want to troubleshoot or to learn more about the data. diff --git a/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md b/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md index b28185a407e..d9826b9d357 100644 --- a/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md +++ b/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md @@ -6,7 +6,7 @@ title: Build a logs data source plugin This guide explains how to build a logs data source plugin. -Data sources in Grafana supports both metrics and log data. The steps to build a logs data source plugin are largely the same as for a metrics data source. This guide assumes that you're already familiar with how to [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}}) for metrics. +Data sources in Grafana supports both metrics and log data. The steps to build a logs data source plugin are largely the same as for a metrics data source. This guide assumes that you're already familiar with how to [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin" >}}) for metrics. ## Add logs support to your data source diff --git a/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md b/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md index c49f936a5d5..f56129b341d 100644 --- a/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md +++ b/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md @@ -6,7 +6,7 @@ title: Build a streaming data source plugin This guide explains how to build a streaming data source plugin. -This guide assumes that you're already familiar with how to [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}}). +This guide assumes that you're already familiar with how to [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin" >}}). When monitoring critical applications, you want your dashboard to refresh as soon as your data does. In Grafana, you can set your dashboards to automatically refresh at a certain interval, no matter what data source you use. Unfortunately, this means that your queries are requesting all the data to be sent again, regardless of whether the data has actually changed. diff --git a/docs/sources/enterprise/_index.md b/docs/sources/enterprise/_index.md index 09e7fc844ea..403947a17d1 100644 --- a/docs/sources/enterprise/_index.md +++ b/docs/sources/enterprise/_index.md @@ -24,7 +24,7 @@ To learn more about Grafana Enterprise, refer to [our product page](https://graf ## Enterprise features in Grafana Cloud -Many Grafana Enterprise features are also available in [Grafana Cloud]({{< ref "/grafana-cloud" >}}) Pro and Advanced accounts. For details, refer to [the Grafana Cloud features table](https://grafana.com/pricing/#featuresTable) and [Enterprise features available to Grafana Cloud Pro and Advanced accounts]({{< ref "/grafana-cloud/reference/enterprise-features" >}}). +Many Grafana Enterprise features are also available in [Grafana Cloud]({{< relref "/docs/grafana-cloud" >}}) Pro and Advanced accounts. For details, refer to [the Grafana Cloud features table](https://grafana.com/pricing/#featuresTable). ## Authentication diff --git a/docs/sources/enterprise/query-caching.md b/docs/sources/enterprise/query-caching.md index 0df0bf0ebfd..847fbf287bf 100644 --- a/docs/sources/enterprise/query-caching.md +++ b/docs/sources/enterprise/query-caching.md @@ -15,7 +15,7 @@ When query caching is enabled, Grafana temporarily stores the results of data so Query caching works for all backend data sources. You can enable the cache globally and configure the cache duration (also called Time to Live, or TTL). -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). The following cache backends are available: in-memory, Redis, and Memcached. diff --git a/docs/sources/enterprise/reporting.md b/docs/sources/enterprise/reporting.md index 620b94382b8..4d80993acb7 100644 --- a/docs/sources/enterprise/reporting.md +++ b/docs/sources/enterprise/reporting.md @@ -64,7 +64,7 @@ Only organization admins can create reports by default. You can customize who ca ### Choose template variables -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 7.5 and later behind the `reportVariables` feature flag, Grafana Enterprise version 8.0 and later without a feature flag, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 7.5 and later behind the `reportVariables` feature flag, Grafana Enterprise version 8.0 and later without a feature flag, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can configure report-specific template variables for the dashboard on the report page. The variables that you select will override the variables from the dashboard, and they are used when rendering a PDF file of the report. For detailed information about using template variables, refer to the [Templates and variables]({{< relref "../variables/" >}}) section. @@ -72,7 +72,7 @@ You can configure report-specific template variables for the dashboard on the re ### Render a report with panels or rows set to repeat by a variable -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can include dynamic dashboards with panels or rows, set to repeat by a variable, into reports. For detailed information about setting up repeating panels or rows in dashboards, refer to the [Repeat panels or rows]({{< relref "../panels/configure-panel-options/#configure-repeating-rows-or-panels" >}}) section. @@ -84,7 +84,7 @@ You can include dynamic dashboards with panels or rows, set to repeat by a varia ### Report time range -> **Note:** You can set custom report time ranges in [Grafana Enterprise]({{< relref "../enterprise/" >}}) 7.2+ and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** You can set custom report time ranges in [Grafana Enterprise]({{< relref "../enterprise/" >}}) 7.2+ and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). By default, reports use the saved time range of the dashboard. Changing the time range of the report can be done by: @@ -108,7 +108,7 @@ If the time zone is set differently between your Grafana server and its remote i ### CSV export -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) 8+ with the [Grafana image renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) v3.0+, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) 8+ with the [Grafana image renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) v3.0+, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can attach a CSV file to the report email for each table panel on the selected dashboard, along with the PDF report. By default, CSVs larger than 10Mb won't be sent to avoid email servers to reject the email. You can increase or decrease this limit in the [reporting configuration]({{< relref "#rendering-configuration" >}}). @@ -120,7 +120,7 @@ A background job runs every 10 minutes and removes temporary CSV files. You can ### Scheduling -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). > The scheduler was significantly changed in Grafana Enterprise version 8.1. Scheduled reports can be sent once, or repeated on an hourly, daily, weekly, or monthly basis, or sent at custom intervals. You can also disable scheduling by selecting **Never**, for example to send the report via the API. @@ -143,7 +143,7 @@ When you schedule a report with a monthly frequency, and set the start date betw ### Send a test email -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 7.0 and later, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 7.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). 1. In the report, click **Send test email**. 1. In the Email field, enter the email address or addresses that you want to test, separated by semicolon. @@ -156,19 +156,19 @@ The last saved version of the report will be sent to selected emails. You can us ### Pause a report -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can pause sending of reports from the report list view by clicking the pause icon. The report will not be sent according to its schedule until it is resumed by clicking the resume button on the report row. ### Add multiple dashboards to a report -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can add more than one dashboard to a report. Additional dashboards will be rendered as new pages in the same PDF file, or additional images if you chose to embed images in your report email. Note: you cannot add the same dashboard to a report twice. ### Embed a dashboard as an image into a report -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can send a report email with an image of the dashboard embedded in the email itself, instead of attached as a PDF. In this case, the email recipients can see the dashboard at a glance instead of having to open the PDF. @@ -209,7 +209,7 @@ font_italic = DejaVuSansCondensed-Oblique.ttf ## Report settings -> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 7.2 and later, and [Grafana Cloud Pro and Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../enterprise/" >}}) version 7.2 and later, and [Grafana Cloud Pro and Advanced]({{< relref "/docs/grafana-cloud" >}}). You can configure organization-wide report settings in the **Settings** tab on the **Reporting** page. Settings are applied to all the reports for current organization. diff --git a/docs/sources/introduction/grafana-enterprise.md b/docs/sources/introduction/grafana-enterprise.md index fd33a2f26f0..9e6fd332b09 100644 --- a/docs/sources/introduction/grafana-enterprise.md +++ b/docs/sources/introduction/grafana-enterprise.md @@ -16,7 +16,7 @@ To learn more about Grafana Enterprise, refer to [our product page](https://graf ## Enterprise features in Grafana Cloud -Many Grafana Enterprise features are also available in [Grafana Cloud]({{< ref "/docs/grafana-cloud" >}}) Pro and Advanced accounts. For details, refer to [the Grafana Cloud features table](https://grafana.com/pricing/#featuresTable) and [Enterprise features available to Grafana Cloud Pro and Advanced accounts]({{< ref "/docs/grafana-cloud/reference/enterprise-features" >}}). +Many Grafana Enterprise features are also available in [Grafana Cloud]({{< ref "/docs/grafana-cloud" >}}) Pro and Advanced accounts. For details, refer to [the Grafana Cloud features table](https://grafana.com/pricing/#featuresTable). ## Authentication diff --git a/docs/sources/panels/configure-thresholds/_index.md b/docs/sources/panels/configure-thresholds/_index.md index 6e554b526bc..f8090bfbc38 100644 --- a/docs/sources/panels/configure-thresholds/_index.md +++ b/docs/sources/panels/configure-thresholds/_index.md @@ -25,7 +25,7 @@ Thresholds provide one method for you to conditionally style and color your visu You can use thresholds to: - Color grid lines or grid ares areas in the [Time-series visualization]({{< relref "../../visualizations/time-series/" >}}) -- Color lines in the [Time-series visualization]({{< relref "../../visualizations/time-series/graph-color-scheme/#from-thresholds" >}}) +- Color lines in the [Time-series visualization]({{< relref "../../visualizations/time-series#from-thresholds" >}}) - Color the background or value text in the [Stat visualization]({{< relref "../../visualizations/stat-panel/" >}}) - Color the gauge and threshold markers in the [Gauge visualization]({{< relref "../../visualizations/gauge-panel/" >}}) - Color markers in the [Geomap visualization]({{< relref "../../visualizations/geomap/" >}}) diff --git a/docs/sources/release-notes/_index.md b/docs/sources/release-notes/_index.md index 19d1643a673..054ce7a1df8 100644 --- a/docs/sources/release-notes/_index.md +++ b/docs/sources/release-notes/_index.md @@ -9,7 +9,6 @@ Here you can find detailed release notes that list everything that is included i about deprecations, breaking changes as well as changes that relate to plugin development. - [Release notes for 9.0.9]({{< relref "release-notes-9-0-9" >}}) -- [Release notes for 9.0.8]({{< relref "release-notes-9-0-8" >}}) - [Release notes for 9.0.7]({{< relref "release-notes-9-0-7" >}}) - [Release notes for 9.0.6]({{< relref "release-notes-9-0-6" >}}) - [Release notes for 9.0.5]({{< relref "release-notes-9-0-5" >}}) @@ -20,9 +19,6 @@ about deprecations, breaking changes as well as changes that relate to plugin de - [Release notes for 9.0.0]({{< relref "release-notes-9-0-0/" >}}) - [Release notes for 9.0.0-beta3]({{< relref "release-notes-9-0-0-beta3/" >}}) - [Release notes for 9.0.0-beta2]({{< relref "release-notes-9-0-0-beta2/" >}}) -- [Release notes for 9.0.0-beta1]({{< relref "release-notes-9-0-0-beta1/" >}}) -- [Release notes for 8.5.5]({{< relref "release-notes-8-5-5/" >}}) -- [Release notes for 8.5.4]({{< relref "release-notes-8-5-4/" >}}) - [Release notes for 8.5.3]({{< relref "release-notes-8-5-3/" >}}) - [Release notes for 8.5.2]({{< relref "release-notes-8-5-2/" >}}) - [Release notes for 8.5.1]({{< relref "release-notes-8-5-1/" >}}) diff --git a/docs/sources/setup-grafana/configure-security/configure-authentication/enhanced_ldap.md b/docs/sources/setup-grafana/configure-security/configure-authentication/enhanced_ldap.md index 4b9af53be90..ea66de5891a 100644 --- a/docs/sources/setup-grafana/configure-security/configure-authentication/enhanced_ldap.md +++ b/docs/sources/setup-grafana/configure-security/configure-authentication/enhanced_ldap.md @@ -17,7 +17,7 @@ weight: 900 The enhanced LDAP integration adds additional functionality on top of the [LDAP integration]({{< relref "ldap/" >}}) available in the open source edition of Grafana. -> **Note:** Available in [Grafana Enterprise]({{< relref "../../../enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/grafana-cloud" >}}). +> **Note:** Available in [Grafana Enterprise]({{< relref "../../../enterprise/" >}}) and [Grafana Cloud Advanced]({{< relref "/docs/grafana-cloud" >}}). > To control user access with role-based permissions, refer to [role-based access control]({{< relref "../../../administration/roles-and-permissions/access-control/" >}}). diff --git a/docs/sources/setup-grafana/configure-security/configure-database-encryption/_index.md b/docs/sources/setup-grafana/configure-security/configure-database-encryption/_index.md index 24e10049290..9dc5f8d9e68 100644 --- a/docs/sources/setup-grafana/configure-security/configure-database-encryption/_index.md +++ b/docs/sources/setup-grafana/configure-security/configure-database-encryption/_index.md @@ -49,19 +49,19 @@ You can re-encrypt secrets in order to: - Move already existing secrets' encryption forward from legacy to envelope encryption. - Re-encrypt secrets after a [data keys rotation](#rotate-data-keys). -To re-encrypt secrets, use the [Grafana CLI]({{< ref "/cli/" >}}) by running the `grafana-cli admin secrets-migration re-encrypt` command or the `/encryption/reencrypt-secrets` endpoint of the Grafana [Admin API]({{< relref "../../../developers/http_api/admin/#roll-back-secrets" >}}). It's safe to run more than once, more recommended under maintenance mode. +To re-encrypt secrets, use the [Grafana CLI]({{< relref "../../../cli/" >}}) by running the `grafana-cli admin secrets-migration re-encrypt` command or the `/encryption/reencrypt-secrets` endpoint of the Grafana [Admin API]({{< relref "../../../developers/http_api/admin/#roll-back-secrets" >}}). It's safe to run more than once, more recommended under maintenance mode. ### Roll back secrets You can roll back secrets encrypted with envelope encryption to legacy encryption. This might be necessary to downgrade to Grafana versions prior to v9.0 after an unsuccessful upgrade. -To roll back secrets, use the [Grafana CLI]({{< ref "/cli/" >}}) by running the `grafana-cli admin secrets-migration rollback` command or the `/encryption/rollback-secrets` endpoint of the Grafana [Admin API]({{< relref "../../../developers/http_api/admin/#re-encrypt-secrets" >}}). It's safe to run more than once, more recommended under maintenance mode. +To roll back secrets, use the [Grafana CLI]({{< relref "../../../cli/" >}}) by running the `grafana-cli admin secrets-migration rollback` command or the `/encryption/rollback-secrets` endpoint of the Grafana [Admin API]({{< relref "../../../developers/http_api/admin/#re-encrypt-secrets" >}}). It's safe to run more than once, more recommended under maintenance mode. ### Re-encrypt data keys You can re-encrypt data keys encrypted with a specific key encryption key (KEK). This allows you to either re-encrypt existing data keys with a new KEK version (see [KMS integration](#kms-integration) rotation) or to re-encrypt them with a completely different KEK. -To re-encrypt data keys, use the [Grafana CLI]({{< ref "/cli/" >}}) by running the `grafana-cli admin secrets-migration re-encrypt-data-keys` command or the `/encryption/reencrypt-data-keys` endpoint of the Grafana [Admin API]({{< relref "../../../developers/http_api/admin/#re-encrypt-data-encryption-keys" >}}). It's safe to run more than once, more recommended under maintenance mode. +To re-encrypt data keys, use the [Grafana CLI]({{< relref "../../../cli/" >}}) by running the `grafana-cli admin secrets-migration re-encrypt-data-keys` command or the `/encryption/reencrypt-data-keys` endpoint of the Grafana [Admin API]({{< relref "../../../developers/http_api/admin/#re-encrypt-data-encryption-keys" >}}). It's safe to run more than once, more recommended under maintenance mode. ### Rotate data keys diff --git a/docs/sources/shared/getting-started/first-step.md b/docs/sources/shared/getting-started/first-step.md index 55635547cec..ee471e3d22a 100644 --- a/docs/sources/shared/getting-started/first-step.md +++ b/docs/sources/shared/getting-started/first-step.md @@ -4,7 +4,7 @@ title: First step of Getting started with... #### Install Grafana and add your first dashboard -Use the instructions in [Build your first dashboard]({{< relref "../build-first-dashboard/" >}}) to: +Use the instructions in [Build your first dashboard]({{< relref "/docs/grafana/v9.0/getting-started/build-first-dashboard" >}}) to: - Install Grafana. - Sign in to Grafana. diff --git a/docs/sources/whatsnew/whats-new-in-v7-4.md b/docs/sources/whatsnew/whats-new-in-v7-4.md index 7147a9d0773..d2b9f120af8 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-4.md +++ b/docs/sources/whatsnew/whats-new-in-v7-4.md @@ -36,11 +36,11 @@ Apart from major performance improvements, the new Time series panel implements The following documentation topics were added for this feature: -- [Time series panel]({{< relref "../visualizations/time-series/" >}}) -- [Graph time series as lines]({{< relref "../visualizations/time-series/graph-time-series-as-lines/" >}}) -- [Graph time series as bars]({{< relref "../visualizations/time-series/graph-time-series-as-bars/" >}}) -- [Graph time series as points]({{< relref "../visualizations/time-series/graph-time-series-as-points/" >}}) -- [Change axis display]({{< relref "../visualizations/time-series/change-axis-display/" >}}) +- [Time series panel]({{< relref "../visualizations/time-series" >}}) +- [Graph time series as lines]({{< relref "../visualizations/time-series" >}}) +- [Graph time series as bars]({{< relref "../visualizations/time-series" >}}) +- [Graph time series as points]({{< relref "../visualizations/time-series" >}}) +- [Change axis display]({{< relref "../visualizations/time-series" >}}) ### Node graph panel visualization (Beta) diff --git a/docs/sources/whatsnew/whats-new-in-v8-0.md b/docs/sources/whatsnew/whats-new-in-v8-0.md index 182bf041d17..fc78da496be 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-0.md +++ b/docs/sources/whatsnew/whats-new-in-v8-0.md @@ -94,9 +94,9 @@ For more information, refer to [Histogram]({{< relref "../visualizations/histogr The Time series is out of beta! We are removing the `Beta` tag and graduating the Time series visualization to a stable state. - **Time series** is now the default visualization option, replacing the **Graph (old)**. -- The Time series panel now supports stacking. For more information, refer to [Graph stacked time series]({{< relref "../visualizations/time-series/graph-time-series-stacking/" >}}). +- The Time series panel now supports stacking. For more information, refer to [Graph stacked time series]({{< relref "../visualizations/time-series" >}}). - You can now add alerts in the Time series panel, just like the old Graph panel. -- Updated [connect null values]({{< relref "../visualizations/time-series/graph-time-series-as-lines/#connect-null-values" >}}) options. +- Updated [connect null values]({{< relref "../visualizations/time-series#connect-null-values" >}}) options. - We added support for a shared crosshair and a tooltip that’s now smarter when it comes to data display in the tooltip. - Various performance improvements. diff --git a/docs/sources/whatsnew/whats-new-in-v8-1.md b/docs/sources/whatsnew/whats-new-in-v8-1.md index b97701a69e7..54f9514c132 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-1.md +++ b/docs/sources/whatsnew/whats-new-in-v8-1.md @@ -51,7 +51,7 @@ Color scheme: **Green-Yellow-Red (by value)** For more on how to configure Graphs with by value color schemes read [Graph and color schemes]({{< relref "../visualizations/time-series/" >}}). -You can also create [annotations]({{< relref "../visualizations/time-series/annotate-time-series/" >}}) in the new Time series panel bringing it closer to parity with the legacy Graph panel. To learn more, refer to the [time series panel]({{< relref "../visualizations/time-series/" >}}). +You can also create [annotations]({{< relref "../visualizations/time-series" >}}) in the new Time series panel bringing it closer to parity with the legacy Graph panel. To learn more, refer to the [time series panel]({{< relref "../visualizations/time-series/" >}}). ### Transformations improvements diff --git a/pkg/tests/api/alerting/api_alertmanager_test.go b/pkg/tests/api/alerting/api_alertmanager_test.go index 5e44a0d0ecb..3d652f7c4fb 100644 --- a/pkg/tests/api/alerting/api_alertmanager_test.go +++ b/pkg/tests/api/alerting/api_alertmanager_test.go @@ -12,11 +12,11 @@ import ( "testing" "time" - "github.com/grafana/grafana/pkg/expr" "github.com/prometheus/common/model" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "github.com/grafana/grafana/pkg/expr" "github.com/grafana/grafana/pkg/infra/tracing" "github.com/grafana/grafana/pkg/models" apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" @@ -209,7 +209,8 @@ func TestAMConfigAccess(t *testing.T) { }) t.Run("when creating silence", func(t *testing.T) { - body := ` + now := time.Now() + body := fmt.Sprintf(` { "comment": "string", "createdBy": "string", @@ -221,9 +222,10 @@ func TestAMConfigAccess(t *testing.T) { "value": "string" } ], - "startsAt": "2021-03-31T13:17:04.419Z" + "startsAt": "%s", + "endsAt": "%s" } - ` + `, now.Format(time.RFC3339), now.Add(10*time.Second).Format(time.RFC3339)) testCases := []testCase{ {