/ abyss / crds / monitoring.grafana.com_logsinstances.yaml
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