Files
infrastructure/clusters/cl01tl/manifests/grafana-operator/CustomResourceDefinition-grafanaalertrulegroups.grafana.integreatly.org

17 KiB

— apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.17.3 name: grafanaalertrulegroups.grafana.integreatly.org spec: group: grafana.integreatly.org names: categories:

  • grafana-operator

kind: GrafanaAlertRuleGroup listKind: GrafanaAlertRuleGroupList plural: grafanaalertrulegroups singular: grafanaalertrulegroup scope: Namespaced versions:

  • additionalPrinterColumns:

    • format: date-time jsonPath: .status.lastResync name: Last resync type: date
    • jsonPath: .metadata.creationTimestamp name: Age type: date

    name: v1beta1 schema: openAPIV3Schema: description: GrafanaAlertRuleGroup is the Schema for the grafanaalertrulegroups API 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: GrafanaAlertRuleGroupSpec defines the desired state of GrafanaAlertRuleGroup properties: allowCrossNamespaceImport: default: false description: Allow the Operator to match this resource with Grafanas outside the current namespace type: boolean editable: description: Whether to enable or disable editing of the alert rule group in Grafana UI type: boolean x-kubernetes-validations:

    • message: Value is immutable rule: self == oldSelf

    folderRef: description: Match GrafanaFolders CRs to infer the uid type: string x-kubernetes-validations:

    • message: Value is immutable rule: self == oldSelf

    folderUID: description: |- UID of the folder containing this rule group Overrides the FolderSelector type: string x-kubernetes-validations:

    • message: Value is immutable rule: self == oldSelf

    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

    interval: format: duration pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string name: description: Name of the alert rule group. If not specified, the resource name will be used. type: string resyncPeriod: default: 10m0s 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 rules: items: description: AlertRule defines a specific rule to be evaluated. It is based on the upstream model with some k8s specific type mappings properties: annotations: additionalProperties: type: string type: object condition: type: string data: items: properties: datasourceUid: description: Grafana data source unique identifier; it should be 'expr' for a Server Side Expression operation. type: string model: description: JSON is the raw JSON query and includes the above properties as well as custom properties. x-kubernetes-preserve-unknown-fields: true queryType: description: |- QueryType is an optional identifier for the type of query. It can be used to distinguish different types of queries. type: string refId: description: RefID is the unique identifier of the query, set by the frontend call. type: string relativeTimeRange: description: relative time range properties: from: description: from format: int64 type: integer to: description: to format: int64 type: integer type: object type: object type: array execErrState: enum:

    • OK
    • Alerting
    • Error
    • KeepLast

    type: string for: default: 0s format: duration pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string isPaused: type: boolean keepFiringFor: format: duration pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string labels: additionalProperties: type: string type: object missingSeriesEvalsToResolve: description: The number of missing series evaluations that must occur before the rule is considered to be resolved. format: int64 type: integer noDataState: enum:

    • Alerting
    • NoData
    • OK
    • KeepLast

    type: string notificationSettings: properties: group_by: items: type: string type: array group_interval: type: string group_wait: type: string mute_time_intervals: items: type: string type: array receiver: type: string repeat_interval: type: string required:

    • receiver

    type: object record: properties: from: type: string metric: type: string required:

    • from
    • metric

    type: object title: example: Always firing maxLength: 190 minLength: 1 type: string uid: description: UID of the alert rule. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40 maxLength: 40 pattern: ^[a-zA-Z0-9-_]+$ type: string required:

    • condition
    • data
    • execErrState
    • for
    • noDataState
    • title
    • uid

    type: object minItems: 1 type: array suspend: description: Suspend pauses synchronizing attempts and tells the operator to ignore changes type: boolean required:

    • instanceSelector
    • interval
    • rules

    type: object x-kubernetes-validations:

    • message: Only one of FolderUID or FolderRef can be set and one must be defined rule: (has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID)))
    • message: spec.editable is immutable rule: ((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable) && has(self.editable)))
    • message: spec.folderUID is immutable rule: ((!has(oldSelf.folderUID) && !has(self.folderUID)) || (has(oldSelf.folderUID) && has(self.folderUID)))
    • message: spec.folderRef is immutable rule: ((!has(oldSelf.folderRef) && !has(self.folderRef)) || (has(oldSelf.folderRef) && has(self.folderRef)))
    • message: disabling spec.allowCrossNamespaceImport requires a recreate to ensure desired state rule: '!oldSelf.allowCrossNamespaceImport || (oldSelf.allowCrossNamespaceImport && self.allowCrossNamespaceImport)'

    status: description: The most recent observed state of a Grafana resource properties: conditions: description: Results when synchonizing 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: {}