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/grafana-apiserver
Ryan McKinley 6ab79a9f2f
K8s: Improve table converter (support non runtime.Object values) (#77816)
2 years ago
..
auth/authorizer K8s/Authorizer: Move allow from fallback to org_role (#77235) 2 years ago
endpoints/request K8s: Move the namespace mapper to the same package that resolves them (#77101) 2 years ago
registry/generic K8s/Playlist: Support full CRUD from k8s to existing storage (#75709) 2 years ago
rest K8s: Add storage dual writer (#75403) 2 years ago
storage/file Playlist: Add internal API version (#77318) 2 years ago
utils K8s: Improve table converter (support non runtime.Object values) (#77816) 2 years ago
README.md K8s: JSON file storage (#75759) 2 years ago
common.go K8s: Add example api service (#75911) 2 years ago
config.go K8s: JSON file storage (#75759) 2 years ago
config_test.go K8s: JSON file storage (#75759) 2 years ago
log.go K8s: Remove duplicate listener in production (#76583) 2 years ago
openapi.go Chore: Upgrade Go to 1.21.3 (#77304) 2 years ago
request_handler.go K8s: Add example api service (#75911) 2 years ago
service.go K8s/Playlist: Refactor apis packages so the types and registry are in different packages (#77586) 2 years ago
wireset.go K8s: Implement playlist api with k8s client (#77405) 2 years ago

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.