Path: blob/main/production/operator/crds/monitoring.grafana.com_logsinstances.yaml
4096 views
---1apiVersion: apiextensions.k8s.io/v12kind: CustomResourceDefinition3metadata:4annotations:5controller-gen.kubebuilder.io/version: v0.9.26creationTimestamp: null7name: logsinstances.monitoring.grafana.com8spec:9group: monitoring.grafana.com10names:11categories:12- agent-operator13kind: LogsInstance14listKind: LogsInstanceList15plural: logsinstances16singular: logsinstance17scope: Namespaced18versions:19- name: v1alpha120schema:21openAPIV3Schema:22description: LogsInstance controls an individual logs instance within a Grafana23Agent deployment.24properties:25apiVersion:26description: 'APIVersion defines the versioned schema of this representation27of an object. Servers should convert recognized schemas to the latest28internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'29type: string30kind:31description: 'Kind is a string value representing the REST resource this32object represents. Servers may infer this from the endpoint the client33submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'34type: string35metadata:36type: object37spec:38description: Spec holds the specification of the desired behavior for39the logs instance.40properties:41additionalScrapeConfigs:42description: "AdditionalScrapeConfigs allows specifying a key of a43Secret containing additional Grafana Agent logging scrape configurations.44Scrape configurations specified are appended to the configurations45generated by the Grafana Agent Operator. \n Job configurations specified46must have the form as specified in the official Promtail documentation:47\n https://grafana.com/docs/loki/latest/clients/promtail/configuration/#scrape_configs48\n As scrape configs are appended, the user is responsible to make49sure it is valid. Note that using this feature may expose the possibility50to break upgrades of Grafana Agent. It is advised to review both51Grafana Agent and Promtail release notes to ensure that no incompatible52scrape configs are going to break Grafana Agent after the upgrade."53properties:54key:55description: The key of the secret to select from. Must be a56valid secret key.57type: string58name:59description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names60TODO: Add other useful fields. apiVersion, kind, uid?'61type: string62optional:63description: Specify whether the Secret or its key must be defined64type: boolean65required:66- key67type: object68x-kubernetes-map-type: atomic69clients:70description: Clients controls where logs are written to for this instance.71items:72description: LogsClientSpec defines the client integration for logs,73indicating which Loki server to send logs to.74properties:75backoffConfig:76description: Configures how to retry requests to Loki when a77request fails. Defaults to a minPeriod of 500ms, maxPeriod78of 5m, and maxRetries of 10.79properties:80maxPeriod:81description: Maximum backoff time between retries.82type: string83maxRetries:84description: Maximum number of retries to perform before85giving up a request.86type: integer87minPeriod:88description: Initial backoff time between retries. Time89between retries is increased exponentially.90type: string91type: object92basicAuth:93description: BasicAuth for the Loki server.94properties:95password:96description: The secret in the service monitor namespace97that contains the password for authentication.98properties:99key:100description: The key of the secret to select from. Must101be a valid secret key.102type: string103name:104description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names105TODO: Add other useful fields. apiVersion, kind, uid?'106type: string107optional:108description: Specify whether the Secret or its key must109be defined110type: boolean111required:112- key113type: object114x-kubernetes-map-type: atomic115username:116description: The secret in the service monitor namespace117that contains the username for authentication.118properties:119key:120description: The key of the secret to select from. Must121be a valid secret key.122type: string123name:124description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names125TODO: Add other useful fields. apiVersion, kind, uid?'126type: string127optional:128description: Specify whether the Secret or its key must129be defined130type: boolean131required:132- key133type: object134x-kubernetes-map-type: atomic135type: object136batchSize:137description: Maximum batch size (in bytes) of logs to accumulate138before sending the batch to Loki.139type: integer140batchWait:141description: Maximum amount of time to wait before sending a142batch, even if that batch isn't full.143type: string144bearerToken:145description: BearerToken used for remote_write.146type: string147bearerTokenFile:148description: BearerTokenFile used to read bearer token.149type: string150externalLabels:151additionalProperties:152type: string153description: ExternalLabels are labels to add to any time series154when sending data to Loki.155type: object156proxyUrl:157description: ProxyURL to proxy requests through. Optional.158type: string159tenantId:160description: Tenant ID used by default to push logs to Loki.161If omitted assumes remote Loki is running in single-tenant162mode or an authentication layer is used to inject an X-Scope-OrgID163header.164type: string165timeout:166description: Maximum time to wait for a server to respond to167a request.168type: string169tlsConfig:170description: TLSConfig to use for the client. Only used when171the protocol of the URL is https.172properties:173ca:174description: Certificate authority used when verifying server175certificates.176properties:177configMap:178description: ConfigMap containing data to use for the179targets.180properties:181key:182description: The key to select.183type: string184name:185description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names186TODO: Add other useful fields. apiVersion, kind,187uid?'188type: string189optional:190description: Specify whether the ConfigMap or its191key must be defined192type: boolean193required:194- key195type: object196x-kubernetes-map-type: atomic197secret:198description: Secret containing data to use for the targets.199properties:200key:201description: The key of the secret to select from. Must202be a valid secret key.203type: string204name:205description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names206TODO: Add other useful fields. apiVersion, kind,207uid?'208type: string209optional:210description: Specify whether the Secret or its key211must be defined212type: boolean213required:214- key215type: object216x-kubernetes-map-type: atomic217type: object218caFile:219description: Path to the CA cert in the Prometheus container220to use for the targets.221type: string222cert:223description: Client certificate to present when doing client-authentication.224properties:225configMap:226description: ConfigMap containing data to use for the227targets.228properties:229key:230description: The key to select.231type: string232name:233description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names234TODO: Add other useful fields. apiVersion, kind,235uid?'236type: string237optional:238description: Specify whether the ConfigMap or its239key must be defined240type: boolean241required:242- key243type: object244x-kubernetes-map-type: atomic245secret:246description: Secret containing data to use for the targets.247properties:248key:249description: The key of the secret to select from. Must250be a valid secret key.251type: string252name:253description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names254TODO: Add other useful fields. apiVersion, kind,255uid?'256type: string257optional:258description: Specify whether the Secret or its key259must be defined260type: boolean261required:262- key263type: object264x-kubernetes-map-type: atomic265type: object266certFile:267description: Path to the client cert file in the Prometheus268container for the targets.269type: string270insecureSkipVerify:271description: Disable target certificate validation.272type: boolean273keyFile:274description: Path to the client key file in the Prometheus275container for the targets.276type: string277keySecret:278description: Secret containing the client key file for the279targets.280properties:281key:282description: The key of the secret to select from. Must283be a valid secret key.284type: string285name:286description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names287TODO: Add other useful fields. apiVersion, kind, uid?'288type: string289optional:290description: Specify whether the Secret or its key must291be defined292type: boolean293required:294- key295type: object296x-kubernetes-map-type: atomic297serverName:298description: Used to verify the hostname for the targets.299type: string300type: object301url:302description: 'URL is the URL where Loki is listening. Must be303a full HTTP URL, including protocol. Required. Example: https://logs-prod-us-central1.grafana.net/loki/api/v1/push.'304type: string305required:306- url307type: object308type: array309podLogsNamespaceSelector:310description: Set of labels to determine which namespaces should be311watched for PodLogs. If not provided, checks only namespace of the312instance.313properties:314matchExpressions:315description: matchExpressions is a list of label selector requirements.316The requirements are ANDed.317items:318description: A label selector requirement is a selector that319contains values, a key, and an operator that relates the key320and values.321properties:322key:323description: key is the label key that the selector applies324to.325type: string326operator:327description: operator represents a key's relationship to328a set of values. Valid operators are In, NotIn, Exists329and DoesNotExist.330type: string331values:332description: values is an array of string values. If the333operator is In or NotIn, the values array must be non-empty.334If the operator is Exists or DoesNotExist, the values335array must be empty. This array is replaced during a strategic336merge patch.337items:338type: string339type: array340required:341- key342- operator343type: object344type: array345matchLabels:346additionalProperties:347type: string348description: matchLabels is a map of {key,value} pairs. A single349{key,value} in the matchLabels map is equivalent to an element350of matchExpressions, whose key field is "key", the operator351is "In", and the values array contains only "value". The requirements352are ANDed.353type: object354type: object355x-kubernetes-map-type: atomic356podLogsSelector:357description: Determines which PodLogs should be selected for including358in this instance.359properties:360matchExpressions:361description: matchExpressions is a list of label selector requirements.362The requirements are ANDed.363items:364description: A label selector requirement is a selector that365contains values, a key, and an operator that relates the key366and values.367properties:368key:369description: key is the label key that the selector applies370to.371type: string372operator:373description: operator represents a key's relationship to374a set of values. Valid operators are In, NotIn, Exists375and DoesNotExist.376type: string377values:378description: values is an array of string values. If the379operator is In or NotIn, the values array must be non-empty.380If the operator is Exists or DoesNotExist, the values381array must be empty. This array is replaced during a strategic382merge patch.383items:384type: string385type: array386required:387- key388- operator389type: object390type: array391matchLabels:392additionalProperties:393type: string394description: matchLabels is a map of {key,value} pairs. A single395{key,value} in the matchLabels map is equivalent to an element396of matchExpressions, whose key field is "key", the operator397is "In", and the values array contains only "value". The requirements398are ANDed.399type: object400type: object401x-kubernetes-map-type: atomic402targetConfig:403description: Configures how tailed targets are watched.404properties:405syncPeriod:406description: Period to resync directories being watched and files407being tailed to discover new ones or stop watching removed ones.408type: string409type: object410type: object411type: object412served: true413storage: true414415416