mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 18:30:41 -06:00
.. | ||
auth/authorizer | ||
endpoints/request | ||
registry/generic | ||
rest | ||
storage | ||
utils | ||
common.go | ||
config_test.go | ||
config.go | ||
helper.go | ||
log.go | ||
openapi.go | ||
README.md | ||
request_handler.go | ||
service.go | ||
wireset.go |
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.