Get desktop application:
View/edit binary Protocol Buffers messages
Admission control is a service based on the kubernetes admission webhook patterns. This service can be used to verify if objects are valid and convert between versions See: https://github.com/kubernetes/kubernetes/blob/v1.30.0/pkg/apis/admission/types.go#L41 And: https://github.com/grafana/grafana-app-sdk/blob/main/resource/admission.go#L14
Validate a resource -- the response is a simple yes/no
Check if an object can be admitted
Allowed indicates whether or not the admission request was permitted.
Result contains extra details into why an admission request was denied. This field IS NOT consulted in any way if "Allowed" is "true". +optional
warnings is a list of warning messages to return to the requesting API client. Warning messages describe a problem the client making the API request should correct or be aware of. Limit warnings to 120 characters if possible. Warnings over 256 characters and large numbers of warnings may be truncated. +optional
Return a modified copy of the request that can be saved or a descriptive error
Return a mutated copy of the object in a form that can be admitted
Allowed indicates whether or not the admission request was permitted.
Result contains extra details into why an admission request was denied. This field IS NOT consulted in any way if "Allowed" is "true". +optional
warnings is a list of warning messages to return to the requesting API client. Warning messages describe a problem the client making the API request should correct or be aware of. Limit warnings to 120 characters if possible. Warnings over 256 characters and large numbers of warnings may be truncated. +optional
Mutated object bytes
QueryDataRequest
Environment info
List of data queries
Map of refId to response
Environment info
Maps to raw HTTP status codes when passed over HTTP
Raw HTTP headers sent to the client
Raw HTTP body bytes sent to the client
ResourceConversion is a service that can be used to convert resources between versions See: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-request-and-response
Convert objects to a target version
ConversionRequest supports converting objects from one version to another
NOTE: this may not include app or datasource instance settings depending on the request
uid is an identifier for the individual request/response. It allows distinguishing instances of requests which are otherwise identical (parallel requests, etc). The UID is meant to track the round trip (request/response) between the Kubernetes API server and the webhook, not the user request. It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.
Objects to convert +listType=atomic
Target converted version
ConversionResponse contains the converted objects
uid is an identifier for the individual request/response. This should be copied over from the corresponding `request.uid`.
result contains extra details into why an admission request was denied.
objects is the list of converted version of `request.objects` if the `result` is successful, otherwise empty. +listType=atomic
SubscribeStream called when a user tries to subscribe to a plugin/datasource managed channel path – thus plugin can check subscribe permissions and communicate options with Grafana Core. When the first subscriber joins a channel, RunStream will be called.
path part of channel.
optional raw data. May be used as an extra payload supplied upon subscription. For example, can contain JSON query object.
Environment info
status of subscribe response.
JSON-encoded data to return to a client in a successful subscription result. For data frame streams this can be a JSON-encoded frame schema.
RunStream will be initiated by Grafana to consume a stream. RunStream will be called once for the first client successfully subscribed to a channel path. When Grafana detects that there are no longer any subscribers inside a channel, the call will be terminated until next active subscriber appears. Call termination can happen with a delay.
path part of a channel.
optional raw data. May be used as an extra payload supplied upon subscription. For example, can contain JSON query object.
Environment info
JSON-encoded data to publish into a channel.
PublishStream called when a user tries to publish to a plugin/datasource managed channel path. Here plugin can check publish permissions and modify publication data if required.
path part of a channel.
data that user wants to publish into a stream (only JSON-encoded at the moment).
Environment info
status of publish response.
JSON-encoded data to publish into a channel. This can be unmodified data from a PublishRequest or any modified data. If empty data returned here then Grafana won't publish data to a channel itself but will return a successful result to a client (supposing plugin published data to a channel itself).
AdmissionRequest contains information from a kubernetes Admission request and decoded object(s).
Used as request type in: AdmissionControl.MutateAdmission, AdmissionControl.ValidateAdmission
NOTE: this may not include app or datasource instance settings depending on the request
The requested operation
The object kind
Object is the object in the request. This includes the full metadata envelope.
OldObject is the object as it currently exists in storage. This includes the full metadata envelope.
Operation is the type of resource operation being checked for admission control https://github.com/kubernetes/kubernetes/blob/v1.30.0/pkg/apis/admission/types.go#L158
Used in:
Used in:
The API version when the settings were saved NOTE: this may be an older version than the current apiVersion
Used in:
Used in:
Used in:
Used in:
Arrow encoded DataFrames Frame has its own meta, warnings, and repeats refId
Error message
Currently not used and not exposed in the frontend
When errors exist or a non 2XX status, clients will be passed a 207 HTTP error code in /ds/query The status codes should match values from standard HTTP status codes If not set explicitly, it will be marshaled to 200 if no error exists, or 500 if one does
Error source
Used in:
Deprecatd: Internal ID, do not use this for anythign important
timestamp when the settings where last changed
Datasoruce unique ID (within an org/stack namespace)
The API version when the settings were saved. NOTE: this may be an older version than the current apiVersion
GroupVersion represents the API group and version of a resource.
Used in:
Identify the Object properties
Used in:
Used in:
, , , , , , , ,The Grafana organization id the request originates from.
The unique identifier of the plugin the request is targeted for.
The Grafana user the request originates from. Will not be provided if Grafana backend initiated the request.
App plugin instance settings is the configured app instance settings. In Grafana an app instance is an enabled app plugin in a Grafana organization. Will only be set if request targeting an app instance.
Data source instance settings is the configured data source instance settings. In Grafana a data source instance is a created data source in a Grafana organization. Will only be set if request targeting a data source instance.
The grafana configuration as a map of key/value pairs.
The version of the plugin the request is targeted for.
The user agent of the Grafana server that initiated the gRPC request.
The API version that initiated a request
Used in:
RawObject contains a resource serialized into a byte array with a content type
Used in:
,Raw is the serialized object
ContentType is the media type of the raw object
Status structure is copied from: https://github.com/kubernetes/apimachinery/blob/v0.30.1/pkg/apis/meta/v1/generated.proto#L979
Used in:
, ,Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status +optional
A human-readable description of the status of this operation. +optional
A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it. +optional
Suggested HTTP return code for this status, 0 if not set. +optional
Used in:
,Used in:
Used in:
Used in: