grafana/pkg/services/grafana-apiserver
Todd Treece 4203a83538
K8s: Prevent user impersonation (#78555)
2023-11-22 15:55:37 -05:00
..
auth/authorizer K8s: Prevent user impersonation (#78555) 2023-11-22 15:55:37 -05:00
endpoints/request
registry/generic
rest K8s: Add etcd tests for dual write (local) (#78161) 2023-11-17 14:20:54 -05:00
storage/file K8s: Add etcd tests for dual write (local) (#78161) 2023-11-17 14:20:54 -05:00
utils
README.md
common.go
config.go
config_test.go
log.go
openapi.go
request_handler.go
service.go K8s: Add etcd tests for dual write (local) (#78161) 2023-11-17 14:20:54 -05:00
wireset.go

README.md

Grafana Kubernetes compatible API Server

Basic Setup

app_mode = development

[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

From the root of the Grafanaa repository, run the following:

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.