Skip to content

Commit

Permalink
Add grafana dashboard folder id to upstream proto (#3998)
Browse files Browse the repository at this point in the history
* changes
* Adding changelog file to new location
* Deleting changelog file from old location
* Merge refs/heads/master into dash-folder-ids-on-upstreams
* remove per-upstream proto val, add default settings val
* Merge branch 'dash-folder-ids-on-upstreams' of https://github.com/solo-io/gloo into dash-folder-ids-on-upstreams
* Merge refs/heads/master into dash-folder-ids-on-upstreams
* Cl
* Merge branch 'dash-folder-ids-on-upstreams' of https://github.com/solo-io/gloo into dash-folder-ids-on-upstreams
* Merge refs/heads/master into dash-folder-ids-on-upstreams
* Adding changelog file to new location
* Deleting changelog file from old location
* move new value into obs options
* Merge branch 'dash-folder-ids-on-upstreams' of https://github.com/solo-io/gloo into dash-folder-ids-on-upstreams
* Merge refs/heads/master into dash-folder-ids-on-upstreams
* add resolvesIssue:false
  • Loading branch information
mlholland committed Dec 22, 2020
1 parent b1147a7 commit a7a939a
Show file tree
Hide file tree
Showing 7 changed files with 724 additions and 327 deletions.
5 changes: 5 additions & 0 deletions changelog/v1.6.0-beta23/add-folder-id-to-upstream.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
changelog:
- type: NEW_FEATURE
description: Add the defaultDashboardFolderId value to the settings proto definition for use in gloo-E.
issueLink: https://github.com/solo-io/gloo/issues/3920
resolvesIssue: false
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ weight: 5
- [ConsulUpstreamDiscoveryConfiguration](#consulupstreamdiscoveryconfiguration)
- [KubernetesConfiguration](#kubernetesconfiguration)
- [RateLimits](#ratelimits)
- [ObservabilityOptions](#observabilityoptions)
- [GrafanaIntegration](#grafanaintegration)
- [GlooOptions](#gloooptions)
- [AWSOptions](#awsoptions)
- [InvalidConfigPolicy](#invalidconfigpolicy)
Expand Down Expand Up @@ -76,6 +78,7 @@ Represents global settings for all the Gloo components.
"extauth": .enterprise.gloo.solo.io.Settings
"metadata": .core.solo.io.Metadata
"status": .core.solo.io.Status
"observabilityOptions": .gloo.solo.io.Settings.ObservabilityOptions

```

Expand Down Expand Up @@ -109,6 +112,7 @@ Represents global settings for all the Gloo components.
| `extauth` | [.enterprise.gloo.solo.io.Settings](../enterprise/options/extauth/v1/extauth.proto.sk/#settings) | Enterprise-only: External auth related settings. |
| `metadata` | [.core.solo.io.Metadata](../../../../../../solo-kit/api/v1/metadata.proto.sk/#metadata) | Metadata contains the object metadata for this resource. |
| `status` | [.core.solo.io.Status](../../../../../../solo-kit/api/v1/status.proto.sk/#status) | Status indicates the validation status of this resource. Status is read-only by clients, and set by gloo during validation. |
| `observabilityOptions` | [.gloo.solo.io.Settings.ObservabilityOptions](../settings.proto.sk/#observabilityoptions) | Provides settings related to the observability deployment (enterprise only). |



Expand Down Expand Up @@ -419,6 +423,41 @@ Provides overrides for the default configuration parameters used to interact wit



---
### ObservabilityOptions



```yaml
"grafanaIntegration": .gloo.solo.io.Settings.ObservabilityOptions.GrafanaIntegration

```

| Field | Type | Description |
| ----- | ---- | ----------- |
| `grafanaIntegration` | [.gloo.solo.io.Settings.ObservabilityOptions.GrafanaIntegration](../settings.proto.sk/#grafanaintegration) | Options to configure Gloo's integration with [Kubernetes](https://www.kubernetes.io/). |




---
### GrafanaIntegration


Provides settings related to the observability pod's interactions with grafana

```yaml
"defaultDashboardFolderId": .google.protobuf.UInt32Value

```

| Field | Type | Description |
| ----- | ---- | ----------- |
| `defaultDashboardFolderId` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | (UInt32Value) Grafana allows dashboards to be added to specific folders by specifying that folder's ID If unset, automatic upstream dashboards are generated in the general folder (folderId: 0). If set, the observability deployment will try to create/move all upstreams without their own folderId to the folder specified here, after verifying that a folder with such an ID exists. Be aware that grafana requires a folders ID, which should not be confused with the similarly-named and more easily accessible folder UID value. If individual upstream dashboards need to be placed specific granafa folders, they can be given their own folder IDs by annotating the upstreams. The annotation key must be 'observability.solo.io/dashboard_folder_id' and the value must be the folder ID. Folder IDs can be retrieved from grafana with a pair of terminal commands: 1. Port forward the grafana deployment to surface its API: kubectl -n gloo-system port-forward deployment/glooe-grafana 3000 2. Request all folder data (after admin:admin is replaced with the correct credentials): curl http://admin:admin@localhost:3000/api/folders. |




---
### GlooOptions

Expand Down
30 changes: 30 additions & 0 deletions projects/gloo/api/v1/settings.proto
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,36 @@ message Settings {
// Status indicates the validation status of this resource.
// Status is read-only by clients, and set by gloo during validation
core.solo.io.Status status = 15 [(extproto.skip_hashing) = true];

message ObservabilityOptions {

// Provides settings related to the observability pod's interactions with grafana
message GrafanaIntegration {

// (UInt32Value) Grafana allows dashboards to be added to specific folders by specifying that folder's ID
// If unset, automatic upstream dashboards are generated in the general folder (folderId: 0).
// If set, the observability deployment will try to create/move all upstreams without their own folderId
// to the folder specified here, after verifying that a folder with such an ID exists.
// Be aware that grafana requires a folders ID, which
// should not be confused with the similarly-named and more easily accessible folder UID value.
// If individual upstream dashboards need to be placed specific granafa folders, they can be given their own
// folder IDs by annotating the upstreams. The annotation key must be
// 'observability.solo.io/dashboard_folder_id' and the value must be the folder ID.
// Folder IDs can be retrieved from grafana with a pair of terminal commands:
// 1. Port forward the grafana deployment to surface its API:
// kubectl -n gloo-system port-forward deployment/glooe-grafana 3000
// 2. Request all folder data (after admin:admin is replaced with the correct credentials):
// curl http://admin:admin@localhost:3000/api/folders
google.protobuf.UInt32Value default_dashboard_folder_id = 1;
}

// Options to configure Gloo's integration with [Kubernetes](https://www.kubernetes.io/).
GrafanaIntegration grafanaIntegration = 1;
}

// Provides settings related to the observability deployment (enterprise only)
ObservabilityOptions observabilityOptions = 31;

}

// Settings specific to the gloo (Envoy xDS server) controller
Expand Down
1 change: 1 addition & 0 deletions projects/gloo/api/v1/upstream.proto
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ message Upstream {
// Currently, this has the same minimum/maximum/default as initial_stream_window_size.
// Requires UseHttp2 to be true to be acknowledged.
google.protobuf.UInt32Value initial_connection_window_size = 20;

}

// created by discovery services
Expand Down
78 changes: 78 additions & 0 deletions projects/gloo/pkg/api/v1/settings.pb.equal.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a7a939a

Please sign in to comment.