Grafana version and OS
Grafana Enterprise v11.6.1
, running in Kubernetes on Linux.
Context
Hi everyone, could use some help:
We currently run Grafana Enterprise with the license token (JWT) stored in AWS Secrets Manager, and synced into a Kubernetes Secret using External Secrets Operator (ESO). That Kubernetes Secret is then mounted into the Grafana pod.
The token is manually copied from Grafana Cloud into AWS Secrets Manager.
We’re exploring options to automate this process.
What we’re trying to achieve
We would like to automate the renewal of the license token by having a process that interacts directly with the license issuer (Grafana Cloud) to fetch a fresh token and store it back in AWS Secrets Manager.
Clarification
The Licensing API endpoints (like POST /api/licensing/token/renew
) appear to be hosted on the Grafana instance itself, meaning they expect a valid existing token and operate within the running Grafana context (as shown here)
That’s not what we’re looking for.
We are looking for a way to programmatically fetch the license token directly from Grafana Cloud, outside the Grafana pod, ideally using a service account or API key, so we can:
- Automate token retrieval
- Store the fresh token in Secrets Manager
- Ensure new pods start with a valid license without manual intervention
Question
Is such an external token retrieval flow officially supported by Grafana Labs? If not, is there a recommended pattern for achieving this in environments where secrets are centrally managed and pods are ephemeral?
Thanks in advance!
— Charles