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
Stephanie Hingtgen 87c3d0fb6a
K8s: Update stack id validation (#82275)
1 year ago
..
aggregator K8s: Refactor config/options for aggregation (#81739) 1 year ago
auth/authorizer K8s: Refactor config/options for aggregation (#81739) 1 year ago
builder K8s: Update common openapi generation scripts (#81857) 1 year ago
endpoints/request K8s: Update stack id validation (#82275) 1 year ago
options K8s: resolve crash due to looking up aggregation config when running in a K8s environment (#82125) 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 Feature Toggle Management: allow editing PublicPreview toggles (#81562) 1 year ago
storage Storage: Add support for sortBy selector (#80680) 1 year ago
utils K8s: Refactor config/options for aggregation (#81739) 1 year ago
README.md K8s: Refactor config/options for aggregation (#81739) 1 year ago
config.go K8s: Refactor config/options for aggregation (#81739) 1 year ago
service.go Storage: Add support for sortBy selector (#80680) 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]
grafanaAPIServer = true
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

kubectl access

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

app_mode = development

[feature_toggles]
grafanaAPIServer = true
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.