chore: Update manifests after change

This commit is contained in:
2026-02-24 19:48:35 +00:00
parent 4c920cf159
commit 5a14f0a327
21 changed files with 448 additions and 56 deletions

View File

@@ -3,10 +3,10 @@ kind: ClusterRole
metadata:
name: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator
@@ -27,16 +27,6 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- get
- list
- patch
- watch
- apiGroups:
- apps
resources:
@@ -50,17 +40,12 @@ rules:
- update
- watch
- apiGroups:
- coordination.k8s.io
- events.k8s.io
resources:
- leases
- events
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- gateway.networking.k8s.io
resources:

View File

@@ -3,18 +3,18 @@ kind: ClusterRoleBinding
metadata:
name: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator
subjects:
- kind: ServiceAccount
name: grafana-operator
namespace: grafana-operator
roleRef:
kind: ClusterRole
name: grafana-operator
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: grafana-operator
namespace: grafana-operator

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanaalertrulegroups.grafana.integreatly.org
spec:
group: grafana.integreatly.org
@@ -140,6 +140,9 @@ spec:
type: object
condition:
type: string
dashboardUid:
description: 'Deprecated: The field is not used, use rules[].annotations.__dashboardUid__'
type: string
data:
items:
properties:
@@ -205,31 +208,55 @@ spec:
type: string
notificationSettings:
properties:
active_time_intervals:
description: ActiveTimeIntervals defines the time intervals during which notifications should NOT be muted.
items:
type: string
type: array
group_by:
description: GroupBy defines the labels by which incoming alerts are grouped together.
items:
type: string
type: array
group_interval:
description: |-
GroupInterval defines how long to wait before sending a notification about new alerts added
to a group for which an initial notification has already been sent. (e.g. 5m)
type: string
group_wait:
description: GroupWait defines how long to initially wait to send a notification for a group of alerts. (e.g. 30s)
type: string
mute_time_intervals:
description: |-
MuteTimeIntervals defines the time intervals during which notifications should be muted.
These must match the name of a mute time interval defined in the Alertmanager configuration.
items:
type: string
type: array
receiver:
description: Receiver is the name of the receiver to send notifications to.
minLength: 1
type: string
repeat_interval:
description: |-
RepeatInterval defines how long to wait before sending a notification again if it has already
been sent successfully for an alert. (e.g. 4h)
Should not be less than GroupInterval.
type: string
required:
- receiver
type: object
panelId:
description: 'Deprecated: The field is not used, use rules[].annotations.__panelId__'
type: integer
record:
properties:
from:
type: string
metric:
type: string
targetDatasourceUid:
type: string
required:
- from
- metric

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanacontactpoints.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanadashboards.grafana.integreatly.org
spec:
group: grafana.integreatly.org
@@ -333,6 +333,7 @@ spec:
rule: self == oldSelf
url:
description: model url
pattern: ^https?://.+$
type: string
urlAuthorization:
description: authorization options for model from url

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanadatasources.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanafolders.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanalibrarypanels.grafana.integreatly.org
spec:
group: grafana.integreatly.org
@@ -327,6 +327,7 @@ spec:
rule: self == oldSelf
url:
description: model url
pattern: ^https?://.+$
type: string
urlAuthorization:
description: authorization options for model from url

View File

@@ -0,0 +1,315 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanamanifests.grafana.integreatly.org
spec:
group: grafana.integreatly.org
names:
categories:
- grafana-operator
kind: GrafanaManifest
listKind: GrafanaManifestList
plural: grafanamanifests
singular: grafanamanifest
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.template.kind
name: Kind
type: string
- format: date-time
jsonPath: .status.lastResync
name: Last resync
type: date
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: GrafanaManifest is the Schema for the grafana manifests
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: GrafanaManifestSpec defines the desired state of a GrafanaManifest
properties:
allowCrossNamespaceImport:
default: false
description: Allow the Operator to match this resource with Grafanas outside the current namespace
type: boolean
instanceSelector:
description: Selects Grafana instances for import
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
x-kubernetes-validations:
- message: spec.instanceSelector is immutable
rule: self == oldSelf
patch:
properties:
env:
items:
properties:
name:
type: string
valueFrom:
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
properties:
key:
description: The key to select.
type: string
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
grafanaRef:
description: ObjectFieldSelector selects an APIVersioned field of an object.
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
secretKeyRef:
description: Selects a key of a Secret.
properties:
key:
description: The key of the secret to select from. Must be a valid secret key.
type: string
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
required:
- name
- valueFrom
type: object
type: array
scripts:
items:
type: string
type: array
required:
- scripts
type: object
resyncPeriod:
description: How often the resource is synced, defaults to 10m0s if not set
pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
type: string
suspend:
description: Suspend pauses synchronizing attempts and tells the operator to ignore changes
type: boolean
template:
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
metadata:
description: |-
RequiredObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
It requires `name` to be set
properties:
annotations:
additionalProperties:
type: string
type: object
labels:
additionalProperties:
type: string
type: object
name:
type: string
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
namespace:
type: string
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
required:
- name
type: object
x-kubernetes-validations:
- message: namespace is immutable
rule: (!(has(oldSelf.namespace) && !has(self.namespace)))
spec:
x-kubernetes-preserve-unknown-fields: true
required:
- apiVersion
- kind
- metadata
type: object
required:
- instanceSelector
- template
type: object
x-kubernetes-validations:
- message: disabling spec.allowCrossNamespaceImport requires a recreate to ensure desired state
rule: '!oldSelf.allowCrossNamespaceImport || (oldSelf.allowCrossNamespaceImport && self.allowCrossNamespaceImport)'
status:
description: GrafanaManifestStatus defines the observed state of GrafanaManifest
properties:
conditions:
description: Results when synchronizing resource with Grafana instances
items:
description: Condition contains details for one aspect of the current state of this API Resource.
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
lastResync:
description: Last time the resource was synchronized with Grafana instances
format: date-time
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanamutetimings.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafananotificationpolicies.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafananotificationpolicyroutes.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafananotificationtemplates.grafana.integreatly.org
spec:
group: grafana.integreatly.org

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanas.grafana.integreatly.org
spec:
group: grafana.integreatly.org
@@ -3683,6 +3683,10 @@ spec:
type: integer
signerName:
type: string
userAnnotations:
additionalProperties:
type: string
type: object
required:
- keyType
- signerName
@@ -3957,6 +3961,15 @@ spec:
- key
type: object
x-kubernetes-map-type: atomic
tenantNamespace:
default: default
description: |-
TenantNamespace is used as the `namespace` value for GrafanaManifest resources in multi-tenant scenarios
defaults to `default`
type: string
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
tls:
description: DEPRECATED, use top level `tls` instead.
properties:
@@ -3980,8 +3993,10 @@ spec:
rule: (has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))
url:
description: URL of the external grafana instance you want to manage.
pattern: ^https?://.+$
type: string
required:
- tenantNamespace
- url
type: object
httpRoute:
@@ -4298,11 +4313,6 @@ spec:
maxItems: 32
type: array
rules:
default:
- matches:
- path:
type: PathPrefix
value: /
description: |-
Rules are a list of HTTP matchers, filters and actions.
@@ -8235,7 +8245,7 @@ spec:
description: |-
Version sets the tag of the default image: docker.io/grafana/grafana.
Allows full image refs with/without sha256checksum: "registry/repo/image:tag@sha"
default: 12.3.0
default: 12.3.3
type: string
type: object
status:
@@ -8324,6 +8334,10 @@ spec:
items:
type: string
type: array
manifests:
items:
type: string
type: array
muteTimings:
items:
type: string

View File

@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
controller-gen.kubebuilder.io/version: v0.20.1
name: grafanaserviceaccounts.grafana.integreatly.org
spec:
group: grafana.integreatly.org
@@ -110,9 +110,11 @@ spec:
x-kubernetes-list-type: map
required:
- instanceName
- name
- role
type: object
x-kubernetes-validations:
- message: spec.name is immutable
rule: ((!has(oldSelf.name) && !has(self.name)) || (has(oldSelf.name) && has(self.name)))
status:
description: GrafanaServiceAccountStatus defines the observed state of a GrafanaServiceAccount
properties:

View File

@@ -4,10 +4,10 @@ metadata:
name: grafana-operator
namespace: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator
@@ -20,10 +20,10 @@ spec:
template:
metadata:
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator
@@ -38,11 +38,11 @@ spec:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
image: "ghcr.io/grafana/grafana-operator:v5.21.4"
image: "ghcr.io/grafana/grafana-operator:v5.22.0"
imagePullPolicy: IfNotPresent
env:
- name: WATCH_NAMESPACE
value:
value: ""
- name: WATCH_NAMESPACE_SELECTOR
value: ""
- name: WATCH_LABEL_SELECTORS

View File

@@ -0,0 +1,26 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: grafana-operator
name: grafana-operator-leases
labels:
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator
rules:
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete

View File

@@ -0,0 +1,21 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: grafana-operator-leases
namespace: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator
subjects:
- kind: ServiceAccount
name: grafana-operator
namespace: grafana-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: grafana-operator-leases

View File

@@ -4,10 +4,10 @@ metadata:
name: grafana-operator-metrics-service
namespace: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator

View File

@@ -4,10 +4,10 @@ metadata:
name: grafana-operator
namespace: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator

View File

@@ -4,10 +4,10 @@ metadata:
name: grafana-operator
namespace: grafana-operator
labels:
helm.sh/chart: grafana-operator-5.21.4
helm.sh/chart: grafana-operator-5.22.0
app.kubernetes.io/name: grafana-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/version: "v5.21.4"
app.kubernetes.io/version: "v5.22.0"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: grafana-operator
app.kubernetes.io/component: operator