0prometheus-operator-0servicemonitorCustomResourceDefinition.yaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. apiVersion: apiextensions.k8s.io/v1beta1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. creationTimestamp: null
  5. name: servicemonitors.monitoring.coreos.com
  6. spec:
  7. group: monitoring.coreos.com
  8. names:
  9. kind: ServiceMonitor
  10. plural: servicemonitors
  11. scope: Namespaced
  12. validation:
  13. openAPIV3Schema:
  14. properties:
  15. apiVersion:
  16. description: 'APIVersion defines the versioned schema of this representation
  17. of an object. Servers should convert recognized schemas to the latest
  18. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
  19. type: string
  20. kind:
  21. description: 'Kind is a string value representing the REST resource this
  22. object represents. Servers may infer this from the endpoint the client
  23. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
  24. type: string
  25. spec:
  26. description: ServiceMonitorSpec contains specification parameters for a
  27. ServiceMonitor.
  28. properties:
  29. endpoints:
  30. description: A list of endpoints allowed as part of this ServiceMonitor.
  31. items:
  32. description: Endpoint defines a scrapeable endpoint serving Prometheus
  33. metrics.
  34. properties:
  35. basicAuth:
  36. description: 'BasicAuth allow an endpoint to authenticate over
  37. basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
  38. properties:
  39. password:
  40. description: SecretKeySelector selects a key of a Secret.
  41. properties:
  42. key:
  43. description: The key of the secret to select from. Must
  44. be a valid secret key.
  45. type: string
  46. name:
  47. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  48. type: string
  49. optional:
  50. description: Specify whether the Secret or it's key must
  51. be defined
  52. type: boolean
  53. required:
  54. - key
  55. username:
  56. description: SecretKeySelector selects a key of a Secret.
  57. properties:
  58. key:
  59. description: The key of the secret to select from. Must
  60. be a valid secret key.
  61. type: string
  62. name:
  63. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  64. type: string
  65. optional:
  66. description: Specify whether the Secret or it's key must
  67. be defined
  68. type: boolean
  69. required:
  70. - key
  71. bearerTokenFile:
  72. description: File to read bearer token for scraping targets.
  73. type: string
  74. honorLabels:
  75. description: HonorLabels chooses the metric's labels on collisions
  76. with target labels.
  77. type: boolean
  78. interval:
  79. description: Interval at which metrics should be scraped
  80. type: string
  81. metricRelabelings:
  82. description: MetricRelabelConfigs to apply to samples before ingestion.
  83. items:
  84. description: 'RelabelConfig allows dynamic rewriting of the
  85. label set, being applied to samples before ingestion. It defines
  86. `<metric_relabel_configs>`-section of Prometheus configuration.
  87. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  88. properties:
  89. action:
  90. description: Action to perform based on regex matching.
  91. Default is 'replace'
  92. type: string
  93. modulus:
  94. description: Modulus to take of the hash of the source label
  95. values.
  96. format: int64
  97. type: integer
  98. regex:
  99. description: Regular expression against which the extracted
  100. value is matched. defailt is '(.*)'
  101. type: string
  102. replacement:
  103. description: Replacement value against which a regex replace
  104. is performed if the regular expression matches. Regex
  105. capture groups are available. Default is '$1'
  106. type: string
  107. separator:
  108. description: Separator placed between concatenated source
  109. label values. default is ';'.
  110. type: string
  111. sourceLabels:
  112. description: The source labels select values from existing
  113. labels. Their content is concatenated using the configured
  114. separator and matched against the configured regular expression
  115. for the replace, keep, and drop actions.
  116. items:
  117. type: string
  118. type: array
  119. targetLabel:
  120. description: Label to which the resulting value is written
  121. in a replace action. It is mandatory for replace actions.
  122. Regex capture groups are available.
  123. type: string
  124. type: array
  125. params:
  126. description: Optional HTTP URL parameters
  127. type: object
  128. path:
  129. description: HTTP path to scrape for metrics.
  130. type: string
  131. port:
  132. description: Name of the service port this endpoint refers to.
  133. Mutually exclusive with targetPort.
  134. type: string
  135. proxyUrl:
  136. description: ProxyURL eg http://proxyserver:2195 Directs scrapes
  137. to proxy through this endpoint.
  138. type: string
  139. relabelings:
  140. description: 'RelabelConfigs to apply to samples before ingestion.
  141. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<relabel_config>'
  142. items:
  143. description: 'RelabelConfig allows dynamic rewriting of the
  144. label set, being applied to samples before ingestion. It defines
  145. `<metric_relabel_configs>`-section of Prometheus configuration.
  146. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  147. properties:
  148. action:
  149. description: Action to perform based on regex matching.
  150. Default is 'replace'
  151. type: string
  152. modulus:
  153. description: Modulus to take of the hash of the source label
  154. values.
  155. format: int64
  156. type: integer
  157. regex:
  158. description: Regular expression against which the extracted
  159. value is matched. defailt is '(.*)'
  160. type: string
  161. replacement:
  162. description: Replacement value against which a regex replace
  163. is performed if the regular expression matches. Regex
  164. capture groups are available. Default is '$1'
  165. type: string
  166. separator:
  167. description: Separator placed between concatenated source
  168. label values. default is ';'.
  169. type: string
  170. sourceLabels:
  171. description: The source labels select values from existing
  172. labels. Their content is concatenated using the configured
  173. separator and matched against the configured regular expression
  174. for the replace, keep, and drop actions.
  175. items:
  176. type: string
  177. type: array
  178. targetLabel:
  179. description: Label to which the resulting value is written
  180. in a replace action. It is mandatory for replace actions.
  181. Regex capture groups are available.
  182. type: string
  183. type: array
  184. scheme:
  185. description: HTTP scheme to use for scraping.
  186. type: string
  187. scrapeTimeout:
  188. description: Timeout after which the scrape is ended
  189. type: string
  190. targetPort:
  191. anyOf:
  192. - type: string
  193. - type: integer
  194. tlsConfig:
  195. description: TLSConfig specifies TLS configuration parameters.
  196. properties:
  197. caFile:
  198. description: The CA cert to use for the targets.
  199. type: string
  200. certFile:
  201. description: The client cert file for the targets.
  202. type: string
  203. insecureSkipVerify:
  204. description: Disable target certificate validation.
  205. type: boolean
  206. keyFile:
  207. description: The client key file for the targets.
  208. type: string
  209. serverName:
  210. description: Used to verify the hostname for the targets.
  211. type: string
  212. type: array
  213. jobLabel:
  214. description: The label to use to retrieve the job name from.
  215. type: string
  216. namespaceSelector:
  217. description: NamespaceSelector is a selector for selecting either all
  218. namespaces or a list of namespaces.
  219. properties:
  220. any:
  221. description: Boolean describing whether all namespaces are selected
  222. in contrast to a list restricting them.
  223. type: boolean
  224. matchNames:
  225. description: List of namespace names.
  226. items:
  227. type: string
  228. type: array
  229. podTargetLabels:
  230. description: PodTargetLabels transfers labels on the Kubernetes Pod
  231. onto the target.
  232. items:
  233. type: string
  234. type: array
  235. sampleLimit:
  236. description: SampleLimit defines per-scrape limit on number of scraped
  237. samples that will be accepted.
  238. format: int64
  239. type: integer
  240. selector:
  241. description: A label selector is a label query over a set of resources.
  242. The result of matchLabels and matchExpressions are ANDed. An empty
  243. label selector matches all objects. A null label selector matches
  244. no objects.
  245. properties:
  246. matchExpressions:
  247. description: matchExpressions is a list of label selector requirements.
  248. The requirements are ANDed.
  249. items:
  250. description: A label selector requirement is a selector that contains
  251. values, a key, and an operator that relates the key and values.
  252. properties:
  253. key:
  254. description: key is the label key that the selector applies
  255. to.
  256. type: string
  257. operator:
  258. description: operator represents a key's relationship to a
  259. set of values. Valid operators are In, NotIn, Exists and
  260. DoesNotExist.
  261. type: string
  262. values:
  263. description: values is an array of string values. If the operator
  264. is In or NotIn, the values array must be non-empty. If the
  265. operator is Exists or DoesNotExist, the values array must
  266. be empty. This array is replaced during a strategic merge
  267. patch.
  268. items:
  269. type: string
  270. type: array
  271. required:
  272. - key
  273. - operator
  274. type: array
  275. matchLabels:
  276. description: matchLabels is a map of {key,value} pairs. A single
  277. {key,value} in the matchLabels map is equivalent to an element
  278. of matchExpressions, whose key field is "key", the operator is
  279. "In", and the values array contains only "value". The requirements
  280. are ANDed.
  281. type: object
  282. targetLabels:
  283. description: TargetLabels transfers labels on the Kubernetes Service
  284. onto the target.
  285. items:
  286. type: string
  287. type: array
  288. required:
  289. - endpoints
  290. - selector
  291. version: v1