apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: prometheusremoteendpoints.onap.org spec: group: onap.org names: kind: PrometheusRemoteEndpoint listKind: PrometheusRemoteEndpointList plural: prometheusremoteendpoints singular: prometheusremoteendpoint scope: Namespaced subresources: status: {} validation: openAPIV3Schema: description: PrometheusRemoteEndpoint is the Schema for the prometheusremoteendpoints 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/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/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: PrometheusRemoteEndpointSpec defines the desired state of PrometheusRemoteEndpoint properties: adapterURL: type: string filterSelector: description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. 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 required: - key - operator type: object type: array 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 kafkaConfig: type: string queueConfig: description: QueueConfig - defines the prometheus remote write queue configurations properties: batchSendDeadline: type: string capacity: type: string maxBackoff: type: string maxRetries: type: string maxSamplesPerSend: type: string maxShards: type: string minBackoff: type: string minShards: type: string type: object remoteTimeout: type: string type: type: string required: - adapterURL - type type: object status: description: PrometheusRemoteEndpointStatus defines the observed state of PrometheusRemoteEndpoint properties: kafkaWriterID: type: string prometheusInstance: description: 'INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html Status can be Error, Enabled' type: string remoteURL: type: string status: type: string required: - status type: object type: object version: v1alpha1 versions: - name: v1alpha1 served: true storage: true