grafana/packages/grafana-ui
Jeremy Alvis f021f97c31
DataSourceSettings: Add servername field to DataSource TLS config (#29279)
* DataSourceSettings: Add servername field to DataSource TLS config

A DNS lookup URL can be provided in the DataSource URL field in order
to dynamically load balance between multiple instances of a DataSource.
When using mutual TLS, Golang's TLS config implementation checks that
the certificate's common name (< 1.15) or subject alternative name
(>= 1.15) has the same value as the domain being accessed. If the DNS
entry is dynamically generated for a specific environment, the
certificate cannot be generated with a name matching the dynamic
DNS URL. As such, Golang offers a servername field that can be set to
overwrite what value is used when checking against the certificate's
common name (or subject alternative name). Without this change, Skip
TLS Verify must be set to true in order for the DataSource to work,
removing some of the benefits gained by using mutual TLS.

This commit adds the ability to set Grafana's internal Golang TLS config
servername field from the UI or a provisioned DataSource.

The servername field is optional and the existing behavior is retained if
the field is not set.

Co-authored-by: Dana Pruitt <dpruitt@vmware.com>
Co-authored-by: Jeremy Alvis <jalvis@pivotal.io>

* Update docs with PR review changes

Co-authored-by: Jeremy Alvis <jalvis@pivotal.io>
Co-authored-by: Dana Pruitt <dpruitt@vmware.com>

* Update with additional PR requested changes

* Minor updates based on PR change requests

Co-authored-by: Dana Pruitt <dpruitt@vmware.com>
2020-12-10 16:07:05 +01:00
..
.storybook GraphNG: replace bizcharts with uPlot for sparklines (#29632) 2020-12-08 08:13:12 -08:00
src DataSourceSettings: Add servername field to DataSource TLS config (#29279) 2020-12-10 16:07:05 +01:00
.eslintrc Chore: Bump storybook to v6 (#28926) 2020-11-24 10:38:41 +01:00
api-extractor.json Docs: adding API reference documentation support for the packages libraries. (#21931) 2020-02-25 13:59:11 +01:00
CHANGELOG.md Update changelog (#28292) 2020-10-15 18:11:48 +02:00
index.js Chore: MEGA - Make Eslint Great Again 💅 (#26094) 2020-08-11 17:52:44 +02:00
package.json Logging: log frontend errors caught by ErrorBoundary, including component stack (#29345) 2020-12-10 10:50:37 +01:00
README.md Chore: Bump storybook to v6 (#28926) 2020-11-24 10:38:41 +01:00
rollup.config.ts Chore: bump grafana-ui rollup dependencies (#29315) 2020-11-29 08:05:23 +01:00
tsconfig.build.json TSLint → ESLint (#21006) 2020-02-08 02:40:04 +01:00
tsconfig.json Storybook: Use bare specifier @grafana/ui in public stories (#26563) 2020-07-24 16:41:44 +02:00

Grafana UI components library

@grafana/ui is currently in BETA.

@grafana/ui is a collection of components used by Grafana

Our goal is to deliver Grafana's common UI elements for plugins developers and contributors.

See package source for more details.

Installation

yarn add @grafana/ui

npm install @grafana/ui

Development

For development purposes we suggest using yarn link that will create symlink to @grafana/ui lib. To do so navigate to packages/grafana-ui and run yarn link. Then, navigate to your project and run yarn link @grafana/ui to use the linked version of the lib. To unlink follow the same procedure, but use yarn unlink instead.

Storybook 6.x migration

We've upgraded Storybook to version 6 and with that we will convert to using controls instead of knobs for manipulating components. Controls will not require as much coding as knobs do. Please refer to the storybook style-guide for further information.