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 e5a26a3f7c
K8s: Add apimachinery and apiserver packages (#83190)
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
endpoints/request K8s: Add apimachinery and apiserver packages (#83190) 1 year ago
options K8s: Add apimachinery and apiserver packages (#83190) 1 year ago
standalone K8s: Add apimachinery and apiserver packages (#83190) 1 year ago
storage/entity K8s: Add apimachinery and apiserver packages (#83190) 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: Add apimachinery and apiserver packages (#83190) 1 year ago
wireset.go K8s: Add apimachinery and apiserver packages (#83190) 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.