--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.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: - 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: 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 folderUID: description: |- UID of the folder containing this rule group Overrides the FolderSelector type: string instanceSelector: description: selects Grafanas 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: Value 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: 10m format: duration 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: format: duration pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string isPaused: type: boolean labels: additionalProperties: type: string type: object 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 title: example: Always firing maxLength: 190 minLength: 1 type: string uid: pattern: ^[a-zA-Z0-9-_]+$ type: string required: - condition - data - execErrState - for - noDataState - title - uid type: object type: array required: - instanceSelector - interval - rules type: object x-kubernetes-validations: - message: Only one of FolderUID or FolderRef can be set rule: (has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID))) status: description: GrafanaAlertRuleGroupStatus defines the observed state of GrafanaAlertRuleGroup properties: conditions: 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 required: - conditions type: object type: object served: true storage: true subresources: status: {}