501 lines
26 KiB
YAML
501 lines
26 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.9.2
|
|
creationTimestamp: null
|
|
name: logsinstances.monitoring.grafana.com
|
|
spec:
|
|
group: monitoring.grafana.com
|
|
names:
|
|
categories:
|
|
- agent-operator
|
|
kind: LogsInstance
|
|
listKind: LogsInstanceList
|
|
plural: logsinstances
|
|
singular: logsinstance
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: LogsInstance controls an individual logs instance within a Grafana
|
|
Agent deployment.
|
|
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: Spec holds the specification of the desired behavior for
|
|
the logs instance.
|
|
properties:
|
|
additionalScrapeConfigs:
|
|
description: "AdditionalScrapeConfigs allows specifying a key of a
|
|
Secret containing additional Grafana Agent logging scrape configurations.
|
|
Scrape configurations specified are appended to the configurations
|
|
generated by the Grafana Agent Operator. \n Job configurations specified
|
|
must have the form as specified in the official Promtail documentation:
|
|
\n https://grafana.com/docs/loki/latest/clients/promtail/configuration/#scrape_configs
|
|
\n As scrape configs are appended, the user is responsible to make
|
|
sure it is valid. Note that using this feature may expose the possibility
|
|
to break upgrades of Grafana Agent. It is advised to review both
|
|
Grafana Agent and Promtail release notes to ensure that no incompatible
|
|
scrape configs are going to break Grafana Agent after the upgrade."
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a
|
|
valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
clients:
|
|
description: Clients controls where logs are written to for this instance.
|
|
items:
|
|
description: LogsClientSpec defines the client integration for logs,
|
|
indicating which Loki server to send logs to.
|
|
properties:
|
|
backoffConfig:
|
|
description: Configures how to retry requests to Loki when a
|
|
request fails. Defaults to a minPeriod of 500ms, maxPeriod
|
|
of 5m, and maxRetries of 10.
|
|
properties:
|
|
maxPeriod:
|
|
description: Maximum backoff time between retries.
|
|
type: string
|
|
maxRetries:
|
|
description: Maximum number of retries to perform before
|
|
giving up a request.
|
|
type: integer
|
|
minPeriod:
|
|
description: Initial backoff time between retries. Time
|
|
between retries is increased exponentially.
|
|
type: string
|
|
type: object
|
|
basicAuth:
|
|
description: BasicAuth for the Loki server.
|
|
properties:
|
|
password:
|
|
description: The secret in the service monitor namespace
|
|
that contains the password for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must
|
|
be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
username:
|
|
description: The secret in the service monitor namespace
|
|
that contains the username for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must
|
|
be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
batchSize:
|
|
description: Maximum batch size (in bytes) of logs to accumulate
|
|
before sending the batch to Loki.
|
|
type: integer
|
|
batchWait:
|
|
description: Maximum amount of time to wait before sending a
|
|
batch, even if that batch isn't full.
|
|
type: string
|
|
bearerToken:
|
|
description: BearerToken used for remote_write.
|
|
type: string
|
|
bearerTokenFile:
|
|
description: BearerTokenFile used to read bearer token.
|
|
type: string
|
|
externalLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: ExternalLabels are labels to add to any time series
|
|
when sending data to Loki.
|
|
type: object
|
|
oauth2:
|
|
description: Oauth2 for URL
|
|
properties:
|
|
clientId:
|
|
description: The secret or configmap containing the OAuth2
|
|
client id
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap containing data to use for the
|
|
targets.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secret:
|
|
description: Secret containing data to use for the targets.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
clientSecret:
|
|
description: The secret containing the OAuth2 client secret
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must
|
|
be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
endpointParams:
|
|
additionalProperties:
|
|
type: string
|
|
description: Parameters to append to the token URL
|
|
type: object
|
|
scopes:
|
|
description: OAuth2 scopes used for the token request
|
|
items:
|
|
type: string
|
|
type: array
|
|
tokenUrl:
|
|
description: The URL to fetch the token from
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- clientId
|
|
- clientSecret
|
|
- tokenUrl
|
|
type: object
|
|
proxyUrl:
|
|
description: ProxyURL to proxy requests through. Optional.
|
|
type: string
|
|
tenantId:
|
|
description: Tenant ID used by default to push logs to Loki.
|
|
If omitted assumes remote Loki is running in single-tenant
|
|
mode or an authentication layer is used to inject an X-Scope-OrgID
|
|
header.
|
|
type: string
|
|
timeout:
|
|
description: Maximum time to wait for a server to respond to
|
|
a request.
|
|
type: string
|
|
tlsConfig:
|
|
description: TLSConfig to use for the client. Only used when
|
|
the protocol of the URL is https.
|
|
properties:
|
|
ca:
|
|
description: Certificate authority used when verifying server
|
|
certificates.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap containing data to use for the
|
|
targets.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secret:
|
|
description: Secret containing data to use for the targets.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
caFile:
|
|
description: Path to the CA cert in the Prometheus container
|
|
to use for the targets.
|
|
type: string
|
|
cert:
|
|
description: Client certificate to present when doing client-authentication.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap containing data to use for the
|
|
targets.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secret:
|
|
description: Secret containing data to use for the targets.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
certFile:
|
|
description: Path to the client cert file in the Prometheus
|
|
container for the targets.
|
|
type: string
|
|
insecureSkipVerify:
|
|
description: Disable target certificate validation.
|
|
type: boolean
|
|
keyFile:
|
|
description: Path to the client key file in the Prometheus
|
|
container for the targets.
|
|
type: string
|
|
keySecret:
|
|
description: Secret containing the client key file for the
|
|
targets.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must
|
|
be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serverName:
|
|
description: Used to verify the hostname for the targets.
|
|
type: string
|
|
type: object
|
|
url:
|
|
description: 'URL is the URL where Loki is listening. Must be
|
|
a full HTTP URL, including protocol. Required. Example: https://logs-prod-us-central1.grafana.net/loki/api/v1/push.'
|
|
type: string
|
|
required:
|
|
- url
|
|
type: object
|
|
type: array
|
|
podLogsNamespaceSelector:
|
|
description: Set of labels to determine which namespaces should be
|
|
watched for PodLogs. If not provided, checks only namespace of the
|
|
instance.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
podLogsSelector:
|
|
description: Determines which PodLogs should be selected for including
|
|
in this instance.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
targetConfig:
|
|
description: Configures how tailed targets are watched.
|
|
properties:
|
|
syncPeriod:
|
|
description: Period to resync directories being watched and files
|
|
being tailed to discover new ones or stop watching removed ones.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|