The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/pkg/services/apiserver
Todd Treece 8f0431ba46
K8s: Pass ID token in X-Extra-id-token header (#82893)
1 year ago
..
aggregator K8s: Set X-Remote- headers for SignedInUser (#82543) 1 year ago
auth K8s: Pass ID token in X-Extra-id-token header (#82893) 1 year ago
builder K8s: Update common openapi generation scripts (#81857) 1 year ago
endpoints K8s: Add Aggregation to Backend Service (#81591) 1 year ago
options APIServer: Use options pattern in standalone mode (#82760) 1 year ago
registry/generic K8s: Refactor config/options for aggregation (#81739) 1 year ago
rest K8s: Refactor config/options for aggregation (#81739) 1 year ago
standalone APIServer: Use options pattern in standalone mode (#82760) 1 year ago
storage K8s: Add Aggregation to Backend Service (#81591) 1 year ago
utils K8s: Refactor config/options for aggregation (#81739) 1 year ago
README.md K8s: Add Aggregation to Backend Service (#81591) 1 year ago
config.go K8s: Add Aggregation to Backend Service (#81591) 1 year ago
service.go K8s: Set X-Remote- headers for SignedInUser (#82543) 1 year ago
wireset.go K8s: Refactor config/options for aggregation (#81739) 1 year ago

README.md

Grafana Kubernetes compatible API Server

Basic Setup

[feature_toggles]
kubernetesPlaylists = true

Start Grafana:

make run

Enable dual write to etcd

Start etcd:

make devenv sources=etcd

Set storage type and etcd server address in custom.ini:

[grafana-apiserver]
storage_type = etcd
etcd_servers = 127.0.0.1:2379

Enable dual write to JSON files:

Set storage type:

[grafana-apiserver]
storage_type = file

Objects will be written to disk under the {data.path}/grafana-apiserver/ directory.

For example:

data/grafana-apiserver
├── grafana.kubeconfig
└── playlist.grafana.app
    └── playlists
        └── default
            └── hi.json

Enable aggregation

See aggregator/README.md for more information.

kubectl access

For kubectl to work, grafana needs to run over https. To simplify development, you can use:

app_mode = development

[feature_toggles]
grafanaAPIServerEnsureKubectlAccess = true 
kubernetesPlaylists = true

This will create a development kubeconfig and start a parallel ssl listener. It can be registered by navigating to the root grafana folder, then running:

export KUBECONFIG=$PWD/data/grafana-apiserver/grafana.kubeconfig
kubectl api-resources

Grafana API Access

The Kubernetes compatible API can be accessed using existing Grafana AuthN at: http://localhost:3000/apis.

The equivalent openapi docs can be seen in http://localhost:3000/swagger, select the relevant API from the dropdown in the upper right.