monitoring.grafana.com_logsinstances.yaml
1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.9.2 7 creationTimestamp: null 8 name: logsinstances.monitoring.grafana.com 9 spec: 10 group: monitoring.grafana.com 11 names: 12 categories: 13 - agent-operator 14 kind: LogsInstance 15 listKind: LogsInstanceList 16 plural: logsinstances 17 singular: logsinstance 18 scope: Namespaced 19 versions: 20 - name: v1alpha1 21 schema: 22 openAPIV3Schema: 23 description: LogsInstance controls an individual logs instance within a Grafana 24 Agent deployment. 25 properties: 26 apiVersion: 27 description: 'APIVersion defines the versioned schema of this representation 28 of an object. Servers should convert recognized schemas to the latest 29 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 30 type: string 31 kind: 32 description: 'Kind is a string value representing the REST resource this 33 object represents. Servers may infer this from the endpoint the client 34 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 35 type: string 36 metadata: 37 type: object 38 spec: 39 description: Spec holds the specification of the desired behavior for 40 the logs instance. 41 properties: 42 additionalScrapeConfigs: 43 description: "AdditionalScrapeConfigs allows specifying a key of a 44 Secret containing additional Grafana Agent logging scrape configurations. 45 Scrape configurations specified are appended to the configurations 46 generated by the Grafana Agent Operator. \n Job configurations specified 47 must have the form as specified in the official Promtail documentation: 48 \n https://grafana.com/docs/loki/latest/clients/promtail/configuration/#scrape_configs 49 \n As scrape configs are appended, the user is responsible to make 50 sure it is valid. Note that using this feature may expose the possibility 51 to break upgrades of Grafana Agent. It is advised to review both 52 Grafana Agent and Promtail release notes to ensure that no incompatible 53 scrape configs are going to break Grafana Agent after the upgrade." 54 properties: 55 key: 56 description: The key of the secret to select from. Must be a 57 valid secret key. 58 type: string 59 name: 60 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 61 TODO: Add other useful fields. apiVersion, kind, uid?' 62 type: string 63 optional: 64 description: Specify whether the Secret or its key must be defined 65 type: boolean 66 required: 67 - key 68 type: object 69 x-kubernetes-map-type: atomic 70 clients: 71 description: Clients controls where logs are written to for this instance. 72 items: 73 description: LogsClientSpec defines the client integration for logs, 74 indicating which Loki server to send logs to. 75 properties: 76 backoffConfig: 77 description: Configures how to retry requests to Loki when a 78 request fails. Defaults to a minPeriod of 500ms, maxPeriod 79 of 5m, and maxRetries of 10. 80 properties: 81 maxPeriod: 82 description: Maximum backoff time between retries. 83 type: string 84 maxRetries: 85 description: Maximum number of retries to perform before 86 giving up a request. 87 type: integer 88 minPeriod: 89 description: Initial backoff time between retries. Time 90 between retries is increased exponentially. 91 type: string 92 type: object 93 basicAuth: 94 description: BasicAuth for the Loki server. 95 properties: 96 password: 97 description: The secret in the service monitor namespace 98 that contains the password for authentication. 99 properties: 100 key: 101 description: The key of the secret to select from. Must 102 be a valid secret key. 103 type: string 104 name: 105 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 106 TODO: Add other useful fields. apiVersion, kind, uid?' 107 type: string 108 optional: 109 description: Specify whether the Secret or its key must 110 be defined 111 type: boolean 112 required: 113 - key 114 type: object 115 x-kubernetes-map-type: atomic 116 username: 117 description: The secret in the service monitor namespace 118 that contains the username for authentication. 119 properties: 120 key: 121 description: The key of the secret to select from. Must 122 be a valid secret key. 123 type: string 124 name: 125 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 126 TODO: Add other useful fields. apiVersion, kind, uid?' 127 type: string 128 optional: 129 description: Specify whether the Secret or its key must 130 be defined 131 type: boolean 132 required: 133 - key 134 type: object 135 x-kubernetes-map-type: atomic 136 type: object 137 batchSize: 138 description: Maximum batch size (in bytes) of logs to accumulate 139 before sending the batch to Loki. 140 type: integer 141 batchWait: 142 description: Maximum amount of time to wait before sending a 143 batch, even if that batch isn't full. 144 type: string 145 bearerToken: 146 description: BearerToken used for remote_write. 147 type: string 148 bearerTokenFile: 149 description: BearerTokenFile used to read bearer token. 150 type: string 151 externalLabels: 152 additionalProperties: 153 type: string 154 description: ExternalLabels are labels to add to any time series 155 when sending data to Loki. 156 type: object 157 oauth2: 158 description: Oauth2 for URL 159 properties: 160 clientId: 161 description: The secret or configmap containing the OAuth2 162 client id 163 properties: 164 configMap: 165 description: ConfigMap containing data to use for the 166 targets. 167 properties: 168 key: 169 description: The key to select. 170 type: string 171 name: 172 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 173 TODO: Add other useful fields. apiVersion, kind, 174 uid?' 175 type: string 176 optional: 177 description: Specify whether the ConfigMap or its 178 key must be defined 179 type: boolean 180 required: 181 - key 182 type: object 183 x-kubernetes-map-type: atomic 184 secret: 185 description: Secret containing data to use for the targets. 186 properties: 187 key: 188 description: The key of the secret to select from. Must 189 be a valid secret key. 190 type: string 191 name: 192 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 193 TODO: Add other useful fields. apiVersion, kind, 194 uid?' 195 type: string 196 optional: 197 description: Specify whether the Secret or its key 198 must be defined 199 type: boolean 200 required: 201 - key 202 type: object 203 x-kubernetes-map-type: atomic 204 type: object 205 clientSecret: 206 description: The secret containing the OAuth2 client secret 207 properties: 208 key: 209 description: The key of the secret to select from. Must 210 be a valid secret key. 211 type: string 212 name: 213 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 214 TODO: Add other useful fields. apiVersion, kind, uid?' 215 type: string 216 optional: 217 description: Specify whether the Secret or its key must 218 be defined 219 type: boolean 220 required: 221 - key 222 type: object 223 x-kubernetes-map-type: atomic 224 endpointParams: 225 additionalProperties: 226 type: string 227 description: Parameters to append to the token URL 228 type: object 229 scopes: 230 description: OAuth2 scopes used for the token request 231 items: 232 type: string 233 type: array 234 tokenUrl: 235 description: The URL to fetch the token from 236 minLength: 1 237 type: string 238 required: 239 - clientId 240 - clientSecret 241 - tokenUrl 242 type: object 243 proxyUrl: 244 description: ProxyURL to proxy requests through. Optional. 245 type: string 246 tenantId: 247 description: Tenant ID used by default to push logs to Loki. 248 If omitted assumes remote Loki is running in single-tenant 249 mode or an authentication layer is used to inject an X-Scope-OrgID 250 header. 251 type: string 252 timeout: 253 description: Maximum time to wait for a server to respond to 254 a request. 255 type: string 256 tlsConfig: 257 description: TLSConfig to use for the client. Only used when 258 the protocol of the URL is https. 259 properties: 260 ca: 261 description: Certificate authority used when verifying server 262 certificates. 263 properties: 264 configMap: 265 description: ConfigMap containing data to use for the 266 targets. 267 properties: 268 key: 269 description: The key to select. 270 type: string 271 name: 272 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 273 TODO: Add other useful fields. apiVersion, kind, 274 uid?' 275 type: string 276 optional: 277 description: Specify whether the ConfigMap or its 278 key must be defined 279 type: boolean 280 required: 281 - key 282 type: object 283 x-kubernetes-map-type: atomic 284 secret: 285 description: Secret containing data to use for the targets. 286 properties: 287 key: 288 description: The key of the secret to select from. Must 289 be a valid secret key. 290 type: string 291 name: 292 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 293 TODO: Add other useful fields. apiVersion, kind, 294 uid?' 295 type: string 296 optional: 297 description: Specify whether the Secret or its key 298 must be defined 299 type: boolean 300 required: 301 - key 302 type: object 303 x-kubernetes-map-type: atomic 304 type: object 305 caFile: 306 description: Path to the CA cert in the Prometheus container 307 to use for the targets. 308 type: string 309 cert: 310 description: Client certificate to present when doing client-authentication. 311 properties: 312 configMap: 313 description: ConfigMap containing data to use for the 314 targets. 315 properties: 316 key: 317 description: The key to select. 318 type: string 319 name: 320 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 321 TODO: Add other useful fields. apiVersion, kind, 322 uid?' 323 type: string 324 optional: 325 description: Specify whether the ConfigMap or its 326 key must be defined 327 type: boolean 328 required: 329 - key 330 type: object 331 x-kubernetes-map-type: atomic 332 secret: 333 description: Secret containing data to use for the targets. 334 properties: 335 key: 336 description: The key of the secret to select from. Must 337 be a valid secret key. 338 type: string 339 name: 340 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 341 TODO: Add other useful fields. apiVersion, kind, 342 uid?' 343 type: string 344 optional: 345 description: Specify whether the Secret or its key 346 must be defined 347 type: boolean 348 required: 349 - key 350 type: object 351 x-kubernetes-map-type: atomic 352 type: object 353 certFile: 354 description: Path to the client cert file in the Prometheus 355 container for the targets. 356 type: string 357 insecureSkipVerify: 358 description: Disable target certificate validation. 359 type: boolean 360 keyFile: 361 description: Path to the client key file in the Prometheus 362 container for the targets. 363 type: string 364 keySecret: 365 description: Secret containing the client key file for the 366 targets. 367 properties: 368 key: 369 description: The key of the secret to select from. Must 370 be a valid secret key. 371 type: string 372 name: 373 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 374 TODO: Add other useful fields. apiVersion, kind, uid?' 375 type: string 376 optional: 377 description: Specify whether the Secret or its key must 378 be defined 379 type: boolean 380 required: 381 - key 382 type: object 383 x-kubernetes-map-type: atomic 384 serverName: 385 description: Used to verify the hostname for the targets. 386 type: string 387 type: object 388 url: 389 description: 'URL is the URL where Loki is listening. Must be 390 a full HTTP URL, including protocol. Required. Example: https://logs-prod-us-central1.grafana.net/loki/api/v1/push.' 391 type: string 392 required: 393 - url 394 type: object 395 type: array 396 podLogsNamespaceSelector: 397 description: Set of labels to determine which namespaces should be 398 watched for PodLogs. If not provided, checks only namespace of the 399 instance. 400 properties: 401 matchExpressions: 402 description: matchExpressions is a list of label selector requirements. 403 The requirements are ANDed. 404 items: 405 description: A label selector requirement is a selector that 406 contains values, a key, and an operator that relates the key 407 and values. 408 properties: 409 key: 410 description: key is the label key that the selector applies 411 to. 412 type: string 413 operator: 414 description: operator represents a key's relationship to 415 a set of values. Valid operators are In, NotIn, Exists 416 and DoesNotExist. 417 type: string 418 values: 419 description: values is an array of string values. If the 420 operator is In or NotIn, the values array must be non-empty. 421 If the operator is Exists or DoesNotExist, the values 422 array must be empty. This array is replaced during a strategic 423 merge patch. 424 items: 425 type: string 426 type: array 427 required: 428 - key 429 - operator 430 type: object 431 type: array 432 matchLabels: 433 additionalProperties: 434 type: string 435 description: matchLabels is a map of {key,value} pairs. A single 436 {key,value} in the matchLabels map is equivalent to an element 437 of matchExpressions, whose key field is "key", the operator 438 is "In", and the values array contains only "value". The requirements 439 are ANDed. 440 type: object 441 type: object 442 x-kubernetes-map-type: atomic 443 podLogsSelector: 444 description: Determines which PodLogs should be selected for including 445 in this instance. 446 properties: 447 matchExpressions: 448 description: matchExpressions is a list of label selector requirements. 449 The requirements are ANDed. 450 items: 451 description: A label selector requirement is a selector that 452 contains values, a key, and an operator that relates the key 453 and values. 454 properties: 455 key: 456 description: key is the label key that the selector applies 457 to. 458 type: string 459 operator: 460 description: operator represents a key's relationship to 461 a set of values. Valid operators are In, NotIn, Exists 462 and DoesNotExist. 463 type: string 464 values: 465 description: values is an array of string values. If the 466 operator is In or NotIn, the values array must be non-empty. 467 If the operator is Exists or DoesNotExist, the values 468 array must be empty. This array is replaced during a strategic 469 merge patch. 470 items: 471 type: string 472 type: array 473 required: 474 - key 475 - operator 476 type: object 477 type: array 478 matchLabels: 479 additionalProperties: 480 type: string 481 description: matchLabels is a map of {key,value} pairs. A single 482 {key,value} in the matchLabels map is equivalent to an element 483 of matchExpressions, whose key field is "key", the operator 484 is "In", and the values array contains only "value". The requirements 485 are ANDed. 486 type: object 487 type: object 488 x-kubernetes-map-type: atomic 489 targetConfig: 490 description: Configures how tailed targets are watched. 491 properties: 492 syncPeriod: 493 description: Period to resync directories being watched and files 494 being tailed to discover new ones or stop watching removed ones. 495 type: string 496 type: object 497 type: object 498 type: object 499 served: true 500 storage: true