mirror of https://github.com/grafana/loki
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1902 lines
79 KiB
1902 lines
79 KiB
apiVersion: operators.coreos.com/v1alpha1
|
|
kind: ClusterServiceVersion
|
|
metadata:
|
|
annotations:
|
|
alm-examples: |-
|
|
[
|
|
{
|
|
"apiVersion": "loki.grafana.com/v1",
|
|
"kind": "AlertingRule",
|
|
"metadata": {
|
|
"name": "alertingrule-sample"
|
|
},
|
|
"spec": {
|
|
"groups": [
|
|
{
|
|
"interval": "10m",
|
|
"name": "alerting-rules-group",
|
|
"rules": [
|
|
{
|
|
"alert": "HighPercentageError",
|
|
"annotations": {
|
|
"summary": "High request latency"
|
|
},
|
|
"expr": "sum(rate({app=\"foo\", env=\"production\"} |= \"error\" [5m])) by (job)\n /\nsum(rate({app=\"foo\", env=\"production\"}[5m])) by (job)\n \u003e 0.05\n",
|
|
"for": "10m",
|
|
"labels": {
|
|
"severity": "page"
|
|
}
|
|
},
|
|
{
|
|
"alert": "HttpCredentialsLeaked",
|
|
"annotations": {
|
|
"message": "{{ $labels.job }} is leaking http basic auth credentials."
|
|
},
|
|
"expr": "sum by (cluster, job, pod) (count_over_time({namespace=\"prod\"} |~ \"http(s?)://(\\\\w+):(\\\\w+)@\" [5m]) \u003e 0)",
|
|
"for": "10m",
|
|
"labels": {
|
|
"severity": "critical"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"tenantID": "test-tenant"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "loki.grafana.com/v1",
|
|
"kind": "LokiStack",
|
|
"metadata": {
|
|
"name": "lokistack-sample"
|
|
},
|
|
"spec": {
|
|
"size": "1x.small",
|
|
"storage": {
|
|
"secret": {
|
|
"name": "test"
|
|
}
|
|
},
|
|
"storageClassName": "standard"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "loki.grafana.com/v1",
|
|
"kind": "RecordingRule",
|
|
"metadata": {
|
|
"name": "recordingrule-sample"
|
|
},
|
|
"spec": {
|
|
"groups": [
|
|
{
|
|
"interval": "10m",
|
|
"name": "recording-rules-group",
|
|
"rules": [
|
|
{
|
|
"expr": "sum(rate({container=\"myservice\"}[10m]))\n",
|
|
"record": "myservice:requests:rate10m"
|
|
},
|
|
{
|
|
"expr": "sum(rate({container=\"otherservice\"}[1m]))\n",
|
|
"record": "otherservice:requests:rate1m"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"tenantID": "test-tenant"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "loki.grafana.com/v1",
|
|
"kind": "RulerConfig",
|
|
"metadata": {
|
|
"name": "rulerconfig-sample"
|
|
},
|
|
"spec": {
|
|
"alertmanager": {
|
|
"discovery": {
|
|
"enableSRV": true,
|
|
"refreshInterval": "1m"
|
|
},
|
|
"enableV2": true,
|
|
"endpoints": [
|
|
"http://alertmanager-host1.mycompany.org",
|
|
"http://alertmanager-host2.mycompany.org"
|
|
],
|
|
"externalLabels": {
|
|
"environment": "production",
|
|
"region": "us-east-2"
|
|
},
|
|
"externalUrl": "http://www.mycompany.org/alerts",
|
|
"notificationQueue": {
|
|
"capacity": 1000,
|
|
"forGracePeriod": "10m",
|
|
"forOutageTolerance": "1h",
|
|
"resendDelay": "1m",
|
|
"timeout": "30s"
|
|
}
|
|
},
|
|
"evaluationInterval": "1m",
|
|
"pollInterval": "1m",
|
|
"remoteWrite": {
|
|
"client": {
|
|
"authorization": "basic",
|
|
"authorizationSecretName": "my-secret-resource",
|
|
"name": "remote-write-log-metrics",
|
|
"proxyUrl": "http://proxy-host.mycompany.org",
|
|
"relabelConfigs": [
|
|
{
|
|
"action": "replace",
|
|
"regex": "ALERTS.*",
|
|
"replacement": "$1",
|
|
"separator": "",
|
|
"sourceLabels": [
|
|
"labelc",
|
|
"labeld"
|
|
],
|
|
"targetLabel": "labelnew"
|
|
}
|
|
],
|
|
"timeout": "30s",
|
|
"url": "http://remote-write-host.mycompany.org"
|
|
},
|
|
"enabled": true,
|
|
"refreshPeriod": "10s"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
capabilities: Full Lifecycle
|
|
categories: OpenShift Optional, Logging & Tracing
|
|
certified: "false"
|
|
containerImage: quay.io/openshift-logging/loki-operator:0.1.0
|
|
createdAt: "2023-10-31T11:57:36Z"
|
|
description: |
|
|
The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging.
|
|
## Prerequisites and Requirements
|
|
### Loki Operator Namespace
|
|
The Loki Operator must be deployed to the global operator group namespace `openshift-operators-redhat`.
|
|
### Memory Considerations
|
|
Loki is a memory intensive application. The initial
|
|
set of OCP nodes may not be large enough to support the Loki stack. Additional OCP nodes must be added
|
|
to the OCP cluster if you desire to run with the recommended (or better) memory.
|
|
olm.skipRange: '>=5.7.0-0 <5.9.0'
|
|
operatorframework.io/cluster-monitoring: "true"
|
|
operatorframework.io/suggested-namespace: openshift-operators-redhat
|
|
operators.openshift.io/valid-subscription: '["OpenShift Container Platform", "OpenShift
|
|
Platform Plus"]'
|
|
operators.operatorframework.io/builder: operator-sdk-unknown
|
|
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
|
|
support: AOS Cluster Logging
|
|
labels:
|
|
operatorframework.io/arch.amd64: supported
|
|
operatorframework.io/arch.arm64: supported
|
|
operatorframework.io/arch.ppc64le: supported
|
|
operatorframework.io/arch.s390x: supported
|
|
name: loki-operator.v0.1.0
|
|
namespace: placeholder
|
|
spec:
|
|
apiservicedefinitions: {}
|
|
customresourcedefinitions:
|
|
owned:
|
|
- description: AlertingRule is the Schema for the alertingrules API
|
|
displayName: AlertingRule
|
|
kind: AlertingRule
|
|
name: alertingrules.loki.grafana.com
|
|
resources:
|
|
- kind: LokiStack
|
|
name: ""
|
|
version: v1
|
|
specDescriptors:
|
|
- description: List of groups for alerting rules.
|
|
displayName: Groups
|
|
path: groups
|
|
- description: Interval defines the time interval between evaluation of the
|
|
given alerting rule.
|
|
displayName: Evaluation Interval
|
|
path: groups[0].interval
|
|
- description: Limit defines the number of alerts an alerting rule can produce.
|
|
0 is no limit.
|
|
displayName: Limit of firing alerts
|
|
path: groups[0].limit
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Name of the alerting rule group. Must be unique within all alerting
|
|
rules.
|
|
displayName: Name
|
|
path: groups[0].name
|
|
- description: Rules defines a list of alerting rules
|
|
displayName: Rules
|
|
path: groups[0].rules
|
|
- description: The name of the alert. Must be a valid label value.
|
|
displayName: Name
|
|
path: groups[0].rules[0].alert
|
|
- description: Annotations to add to each alert.
|
|
displayName: Annotations
|
|
path: groups[0].rules[0].annotations
|
|
- description: The LogQL expression to evaluate. Every evaluation cycle this
|
|
is evaluated at the current time, and all resultant time series become pending/firing
|
|
alerts.
|
|
displayName: LogQL Expression
|
|
path: groups[0].rules[0].expr
|
|
- description: Alerts are considered firing once they have been returned for
|
|
this long. Alerts which have not yet fired for long enough are considered
|
|
pending.
|
|
displayName: Firing Threshold
|
|
path: groups[0].rules[0].for
|
|
- description: Labels to add to each alert.
|
|
displayName: Labels
|
|
path: groups[0].rules[0].labels
|
|
- description: TenantID of tenant where the alerting rules are evaluated in.
|
|
displayName: Tenant ID
|
|
path: tenantID
|
|
statusDescriptors:
|
|
- description: Conditions of the AlertingRule generation health.
|
|
displayName: Conditions
|
|
path: conditions
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes.conditions
|
|
version: v1
|
|
- description: LokiStack is the Schema for the lokistacks API
|
|
displayName: LokiStack
|
|
kind: LokiStack
|
|
name: lokistacks.loki.grafana.com
|
|
resources:
|
|
- kind: ConfigMap
|
|
name: ""
|
|
version: v1
|
|
- kind: Deployment
|
|
name: ""
|
|
version: v1
|
|
- kind: Ingress
|
|
name: ""
|
|
version: v1
|
|
- kind: PersistentVolumeClaims
|
|
name: ""
|
|
version: v1
|
|
- kind: Route
|
|
name: ""
|
|
version: v1
|
|
- kind: Service
|
|
name: ""
|
|
version: v1
|
|
- kind: ServiceAccount
|
|
name: ""
|
|
version: v1
|
|
- kind: ServiceMonitor
|
|
name: ""
|
|
version: v1
|
|
- kind: StatefulSet
|
|
name: ""
|
|
version: v1
|
|
specDescriptors:
|
|
- description: HashRing defines the spec for the distributed hash ring configuration.
|
|
displayName: Hash Ring
|
|
path: hashRing
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: MemberList configuration spec
|
|
displayName: Memberlist Config
|
|
path: hashRing.memberlist
|
|
- description: "EnableIPv6 enables IPv6 support for the memberlist based hash
|
|
ring. \n Currently this also forces the instanceAddrType to podIP to avoid
|
|
local address lookup for the memberlist."
|
|
displayName: Enable IPv6
|
|
path: hashRing.memberlist.enableIPv6
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
|
|
- description: InstanceAddrType defines the type of address to use to advertise
|
|
to the ring. Defaults to the first address from any private network interfaces
|
|
of the current pod. Alternatively the public pod IP can be used in case
|
|
private networks (RFC 1918 and RFC 6598) are not available.
|
|
displayName: Instance Address
|
|
path: hashRing.memberlist.instanceAddrType
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:default
|
|
- urn:alm:descriptor:com.tectonic.ui:select:podIP
|
|
- description: Type of hash ring implementation that should be used
|
|
displayName: Type
|
|
path: hashRing.type
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:memberlist
|
|
- description: Limits defines the limits to be applied to log stream processing.
|
|
displayName: Rate Limiting
|
|
path: limits
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Global defines the limits applied globally across the cluster.
|
|
displayName: Global Limits
|
|
path: limits.global
|
|
- description: IngestionBurstSize defines the local rate-limited sample size
|
|
per distributor replica. It should be set to the set at least to the maximum
|
|
logs size expected in a single push request.
|
|
displayName: Ingestion Burst Size (in MB)
|
|
path: limits.global.ingestion.ingestionBurstSize
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: IngestionRate defines the sample size per second. Units MB.
|
|
displayName: Ingestion Rate (in MB)
|
|
path: limits.global.ingestion.ingestionRate
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxGlobalStreamsPerTenant defines the maximum number of active
|
|
streams per tenant, across the cluster.
|
|
displayName: Max Global Streams per Tenant
|
|
path: limits.global.ingestion.maxGlobalStreamsPerTenant
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLabelNameLength defines the maximum number of characters allowed
|
|
for label keys in log streams.
|
|
displayName: Max Label Name Length
|
|
path: limits.global.ingestion.maxLabelNameLength
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLabelNamesPerSeries defines the maximum number of label names
|
|
per series in each log stream.
|
|
displayName: Max Labels Names per Series
|
|
path: limits.global.ingestion.maxLabelNamesPerSeries
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLabelValueLength defines the maximum number of characters
|
|
allowed for label values in log streams.
|
|
displayName: Max Label Value Length
|
|
path: limits.global.ingestion.maxLabelValueLength
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLineSize defines the maximum line size on ingestion path.
|
|
Units in Bytes.
|
|
displayName: Max Line Size
|
|
path: limits.global.ingestion.maxLineSize
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: PerStreamRateLimit defines the maximum byte rate per second per
|
|
stream. Units MB.
|
|
displayName: Maximum byte rate per second per stream (in MB)
|
|
path: limits.global.ingestion.perStreamRateLimit
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: PerStreamRateLimitBurst defines the maximum burst bytes per stream.
|
|
Units MB.
|
|
displayName: Maximum burst bytes per stream (in MB)
|
|
path: limits.global.ingestion.perStreamRateLimitBurst
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: CardinalityLimit defines the cardinality limit for index queries.
|
|
displayName: Cardinality Limit
|
|
path: limits.global.queries.cardinalityLimit
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxChunksPerQuery defines the maximum number of chunks that can
|
|
be fetched by a single query.
|
|
displayName: Max Chunk per Query
|
|
path: limits.global.queries.maxChunksPerQuery
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
|
|
that will be returned for a query.
|
|
displayName: Max Entries Limit per Query
|
|
path: limits.global.queries.maxEntriesLimitPerQuery
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxQuerySeries defines the maximum of unique series that is returned
|
|
by a metric query.
|
|
displayName: Max Query Series
|
|
path: limits.global.queries.maxQuerySeries
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Timeout when querying ingesters or storage during the execution
|
|
of a query request.
|
|
displayName: Query Timeout
|
|
path: limits.global.queries.queryTimeout
|
|
- description: Tenants defines the limits applied per tenant.
|
|
displayName: Limits per Tenant
|
|
path: limits.tenants
|
|
- description: IngestionBurstSize defines the local rate-limited sample size
|
|
per distributor replica. It should be set to the set at least to the maximum
|
|
logs size expected in a single push request.
|
|
displayName: Ingestion Burst Size (in MB)
|
|
path: limits.tenants.ingestion.ingestionBurstSize
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: IngestionRate defines the sample size per second. Units MB.
|
|
displayName: Ingestion Rate (in MB)
|
|
path: limits.tenants.ingestion.ingestionRate
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxGlobalStreamsPerTenant defines the maximum number of active
|
|
streams per tenant, across the cluster.
|
|
displayName: Max Global Streams per Tenant
|
|
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLabelNameLength defines the maximum number of characters allowed
|
|
for label keys in log streams.
|
|
displayName: Max Label Name Length
|
|
path: limits.tenants.ingestion.maxLabelNameLength
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLabelNamesPerSeries defines the maximum number of label names
|
|
per series in each log stream.
|
|
displayName: Max Labels Names per Series
|
|
path: limits.tenants.ingestion.maxLabelNamesPerSeries
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLabelValueLength defines the maximum number of characters
|
|
allowed for label values in log streams.
|
|
displayName: Max Label Value Length
|
|
path: limits.tenants.ingestion.maxLabelValueLength
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxLineSize defines the maximum line size on ingestion path.
|
|
Units in Bytes.
|
|
displayName: Max Line Size
|
|
path: limits.tenants.ingestion.maxLineSize
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: PerStreamRateLimit defines the maximum byte rate per second per
|
|
stream. Units MB.
|
|
displayName: Maximum byte rate per second per stream (in MB)
|
|
path: limits.tenants.ingestion.perStreamRateLimit
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: PerStreamRateLimitBurst defines the maximum burst bytes per stream.
|
|
Units MB.
|
|
displayName: Maximum burst bytes per stream (in MB)
|
|
path: limits.tenants.ingestion.perStreamRateLimitBurst
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: CardinalityLimit defines the cardinality limit for index queries.
|
|
displayName: Cardinality Limit
|
|
path: limits.tenants.queries.cardinalityLimit
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxChunksPerQuery defines the maximum number of chunks that can
|
|
be fetched by a single query.
|
|
displayName: Max Chunk per Query
|
|
path: limits.tenants.queries.maxChunksPerQuery
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
|
|
that will be returned for a query.
|
|
displayName: Max Entries Limit per Query
|
|
path: limits.tenants.queries.maxEntriesLimitPerQuery
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: MaxQuerySeries defines the maximum of unique series that is returned
|
|
by a metric query.
|
|
displayName: Max Query Series
|
|
path: limits.tenants.queries.maxQuerySeries
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Timeout when querying ingesters or storage during the execution
|
|
of a query request.
|
|
displayName: Query Timeout
|
|
path: limits.tenants.queries.queryTimeout
|
|
- description: ManagementState defines if the CR should be managed by the operator
|
|
or not. Default is managed.
|
|
displayName: Management State
|
|
path: managementState
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:Managed
|
|
- urn:alm:descriptor:com.tectonic.ui:select:Unmanaged
|
|
- description: Proxy defines the spec for the object proxy to configure cluster
|
|
proxy information.
|
|
displayName: Cluster Proxy
|
|
path: proxy
|
|
- description: HTTPProxy configures the HTTP_PROXY/http_proxy env variable.
|
|
displayName: HTTPProxy
|
|
path: proxy.httpProxy
|
|
- description: HTTPSProxy configures the HTTPS_PROXY/https_proxy env variable.
|
|
displayName: HTTPSProxy
|
|
path: proxy.httpsProxy
|
|
- description: NoProxy configures the NO_PROXY/no_proxy env variable.
|
|
displayName: NoProxy
|
|
path: proxy.noProxy
|
|
- description: Replication defines the configuration for Loki data replication.
|
|
displayName: Replication Spec
|
|
path: replication
|
|
- description: Factor defines the policy for log stream replication.
|
|
displayName: Replication Factor
|
|
path: replication.factor
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: 'Zones defines an array of ZoneSpec that the scheduler will try
|
|
to satisfy. IMPORTANT: Make sure that the replication factor defined is
|
|
less than or equal to the number of available zones.'
|
|
displayName: Zones Spec
|
|
path: replication.zones
|
|
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
|
|
distributed.
|
|
displayName: Max Skew
|
|
path: replication.zones[0].maxSkew
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: TopologyKey is the key that defines a topology in the Nodes'
|
|
labels.
|
|
displayName: Topology Key
|
|
path: replication.zones[0].topologyKey
|
|
- description: 'Deprecated: Please use replication.factor instead. This field
|
|
will be removed in future versions of this CRD. ReplicationFactor defines
|
|
the policy for log stream replication.'
|
|
displayName: Replication Factor
|
|
path: replicationFactor
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Rules defines the spec for the ruler component.
|
|
displayName: Rules
|
|
path: rules
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Enabled defines a flag to enable/disable the ruler component
|
|
displayName: Enable
|
|
path: rules.enabled
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
|
|
- description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
|
|
only the same namespace as the LokiStack object is in is used.
|
|
displayName: Namespace Selector
|
|
path: rules.namespaceSelector
|
|
- description: A selector to select which LokiRules to mount for loading alerting/recording
|
|
rules from.
|
|
displayName: Selector
|
|
path: rules.selector
|
|
- description: Size defines one of the support Loki deployment scale out sizes.
|
|
displayName: LokiStack Size
|
|
path: size
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:1x.extra-small
|
|
- urn:alm:descriptor:com.tectonic.ui:select:1x.small
|
|
- urn:alm:descriptor:com.tectonic.ui:select:1x.medium
|
|
- description: Storage defines the spec for the object storage endpoint to store
|
|
logs.
|
|
displayName: Object Storage
|
|
path: storage
|
|
- description: Version for writing and reading logs.
|
|
displayName: Version
|
|
path: storage.schemas[0].version
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:v11
|
|
- urn:alm:descriptor:com.tectonic.ui:select:v12
|
|
- description: Name of a secret in the namespace configured for object storage
|
|
secrets.
|
|
displayName: Object Storage Secret Name
|
|
path: storage.secret.name
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:Secret
|
|
- description: Type of object storage that should be used
|
|
displayName: Object Storage Secret Type
|
|
path: storage.secret.type
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:azure
|
|
- urn:alm:descriptor:com.tectonic.ui:select:gcs
|
|
- urn:alm:descriptor:com.tectonic.ui:select:s3
|
|
- urn:alm:descriptor:com.tectonic.ui:select:swift
|
|
- urn:alm:descriptor:com.tectonic.ui:select:alibabacloud
|
|
- description: TLS configuration for reaching the object storage endpoint.
|
|
displayName: TLS Config
|
|
path: storage.tls
|
|
- description: Key is the data key of a ConfigMap containing a CA certificate.
|
|
It needs to be in the same namespace as the LokiStack custom resource. If
|
|
empty, it defaults to "service-ca.crt".
|
|
displayName: CA ConfigMap Key
|
|
path: storage.tls.caKey
|
|
- description: CA is the name of a ConfigMap containing a CA certificate. It
|
|
needs to be in the same namespace as the LokiStack custom resource.
|
|
displayName: CA ConfigMap Name
|
|
path: storage.tls.caName
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:ConfigMap
|
|
- description: Storage class name defines the storage class for ingester/querier
|
|
PVCs.
|
|
displayName: Storage Class Name
|
|
path: storageClassName
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:StorageClass
|
|
- description: Template defines the resource/limits/tolerations/nodeselectors
|
|
per component.
|
|
displayName: Node Placement
|
|
path: template
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Compactor defines the compaction component spec.
|
|
displayName: Compactor pods
|
|
path: template.compactor
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.compactor.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.compactor.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: Distributor defines the distributor component spec.
|
|
displayName: Distributor pods
|
|
path: template.distributor
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.distributor.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.distributor.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: Gateway defines the lokistack gateway component spec.
|
|
displayName: Gateway pods
|
|
path: template.gateway
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.gateway.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.gateway.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: IndexGateway defines the index gateway component spec.
|
|
displayName: Index Gateway pods
|
|
path: template.indexGateway
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.indexGateway.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.indexGateway.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: Ingester defines the ingester component spec.
|
|
displayName: Ingester pods
|
|
path: template.ingester
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.ingester.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.ingester.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: Querier defines the querier component spec.
|
|
displayName: Querier pods
|
|
path: template.querier
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.querier.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.querier.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: QueryFrontend defines the query frontend component spec.
|
|
displayName: Query Frontend pods
|
|
path: template.queryFrontend
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.queryFrontend.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.queryFrontend.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: Ruler defines the ruler component spec.
|
|
displayName: Ruler pods
|
|
path: template.ruler
|
|
- description: PodAntiAffinity defines the pod anti affinity scheduling rules
|
|
to schedule pods of a component.
|
|
displayName: PodAntiAffinity
|
|
path: template.ruler.podAntiAffinity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
|
|
- description: Replicas defines the number of replica pods of the component.
|
|
displayName: Replicas
|
|
path: template.ruler.replicas
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:hidden
|
|
- description: Tenants defines the per-tenant authentication and authorization
|
|
spec for the lokistack-gateway component.
|
|
displayName: Tenants Configuration
|
|
path: tenants
|
|
- description: Authentication defines the lokistack-gateway component authentication
|
|
configuration spec per tenant.
|
|
displayName: Authentication
|
|
path: tenants.authentication
|
|
- description: TLSConfig defines the spec for the mTLS tenant's authentication.
|
|
displayName: mTLS Configuration
|
|
path: tenants.authentication[0].mTLS
|
|
- description: CA defines the spec for the custom CA for tenant's authentication.
|
|
displayName: CA ConfigMap
|
|
path: tenants.authentication[0].mTLS.ca
|
|
- description: Key is the data key of a ConfigMap containing a CA certificate.
|
|
It needs to be in the same namespace as the LokiStack custom resource. If
|
|
empty, it defaults to "service-ca.crt".
|
|
displayName: CA ConfigMap Key
|
|
path: tenants.authentication[0].mTLS.ca.caKey
|
|
- description: CA is the name of a ConfigMap containing a CA certificate. It
|
|
needs to be in the same namespace as the LokiStack custom resource.
|
|
displayName: CA ConfigMap Name
|
|
path: tenants.authentication[0].mTLS.ca.caName
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:ConfigMap
|
|
- description: OIDC defines the spec for the OIDC tenant's authentication.
|
|
displayName: OIDC Configuration
|
|
path: tenants.authentication[0].oidc
|
|
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
|
|
displayName: IssuerCA ConfigMap
|
|
path: tenants.authentication[0].oidc.issuerCA
|
|
- description: Key is the data key of a ConfigMap containing a CA certificate.
|
|
It needs to be in the same namespace as the LokiStack custom resource. If
|
|
empty, it defaults to "service-ca.crt".
|
|
displayName: CA ConfigMap Key
|
|
path: tenants.authentication[0].oidc.issuerCA.caKey
|
|
- description: CA is the name of a ConfigMap containing a CA certificate. It
|
|
needs to be in the same namespace as the LokiStack custom resource.
|
|
displayName: CA ConfigMap Name
|
|
path: tenants.authentication[0].oidc.issuerCA.caName
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:ConfigMap
|
|
- description: IssuerURL defines the URL for issuer.
|
|
displayName: Issuer URL
|
|
path: tenants.authentication[0].oidc.issuerURL
|
|
- description: RedirectURL defines the URL for redirect.
|
|
displayName: Redirect URL
|
|
path: tenants.authentication[0].oidc.redirectURL
|
|
- description: Secret defines the spec for the clientID and clientSecret for
|
|
tenant's authentication.
|
|
displayName: Tenant Secret
|
|
path: tenants.authentication[0].oidc.secret
|
|
- description: Name of a secret in the namespace configured for tenant secrets.
|
|
displayName: Tenant Secret Name
|
|
path: tenants.authentication[0].oidc.secret.name
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:Secret
|
|
- description: TenantID defines the id of the tenant.
|
|
displayName: Tenant ID
|
|
path: tenants.authentication[0].tenantId
|
|
- description: TenantName defines the name of the tenant.
|
|
displayName: Tenant Name
|
|
path: tenants.authentication[0].tenantName
|
|
- description: Authorization defines the lokistack-gateway component authorization
|
|
configuration spec per tenant.
|
|
displayName: Authorization
|
|
path: tenants.authorization
|
|
- description: OPA defines the spec for the third-party endpoint for tenant's
|
|
authorization.
|
|
displayName: OPA Configuration
|
|
path: tenants.authorization.opa
|
|
- description: URL defines the third-party endpoint for authorization.
|
|
displayName: OpenPolicyAgent URL
|
|
path: tenants.authorization.opa.url
|
|
- description: RoleBindings defines configuration to bind a set of roles to
|
|
a set of subjects.
|
|
displayName: Static Role Bindings
|
|
path: tenants.authorization.roleBindings
|
|
- description: Roles defines a set of permissions to interact with a tenant.
|
|
displayName: Static Roles
|
|
path: tenants.authorization.roles
|
|
- description: Mode defines the mode in which lokistack-gateway component will
|
|
be configured.
|
|
displayName: Mode
|
|
path: tenants.mode
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:static
|
|
- urn:alm:descriptor:com.tectonic.ui:select:dynamic
|
|
- urn:alm:descriptor:com.tectonic.ui:select:openshift-logging
|
|
- urn:alm:descriptor:com.tectonic.ui:select:openshift-network
|
|
- description: Openshift defines the configuration specific to Openshift modes.
|
|
displayName: Openshift
|
|
path: tenants.openshift
|
|
- description: "AdminGroups defines a list of groups, whose members are considered
|
|
to have admin-privileges by the Loki Operator. Setting this to an empty
|
|
array disables admin groups. \n By default the following groups are considered
|
|
admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
|
|
displayName: Admin Groups
|
|
path: tenants.openshift.adminGroups
|
|
statusDescriptors:
|
|
- description: Distributor is a map to the per pod status of the distributor
|
|
deployment
|
|
displayName: Distributor
|
|
path: components.distributor
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: Ingester is a map to the per pod status of the ingester statefulset
|
|
displayName: Ingester
|
|
path: components.ingester
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: Querier is a map to the per pod status of the querier deployment
|
|
displayName: Querier
|
|
path: components.querier
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: QueryFrontend is a map to the per pod status of the query frontend
|
|
deployment
|
|
displayName: Query Frontend
|
|
path: components.queryFrontend
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: Compactor is a map to the pod status of the compactor pod.
|
|
displayName: Compactor
|
|
path: components.compactor
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: Gateway is a map to the per pod status of the lokistack gateway
|
|
deployment.
|
|
displayName: Gateway
|
|
path: components.gateway
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: IndexGateway is a map to the per pod status of the index gateway
|
|
statefulset
|
|
displayName: IndexGateway
|
|
path: components.indexGateway
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: Ruler is a map to the per pod status of the lokistack ruler statefulset.
|
|
displayName: Ruler
|
|
path: components.ruler
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:podStatuses
|
|
- description: Conditions of the Loki deployment health.
|
|
displayName: Conditions
|
|
path: conditions
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes.conditions
|
|
version: v1
|
|
- description: RecordingRule is the Schema for the recordingrules API
|
|
displayName: RecordingRule
|
|
kind: RecordingRule
|
|
name: recordingrules.loki.grafana.com
|
|
resources:
|
|
- kind: LokiStack
|
|
name: ""
|
|
version: v1
|
|
specDescriptors:
|
|
- description: List of groups for recording rules.
|
|
displayName: Groups
|
|
path: groups
|
|
- description: Interval defines the time interval between evaluation of the
|
|
given recoding rule.
|
|
displayName: Evaluation Interval
|
|
path: groups[0].interval
|
|
- description: Limit defines the number of series a recording rule can produce.
|
|
0 is no limit.
|
|
displayName: Limit of produced series
|
|
path: groups[0].limit
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Name of the recording rule group. Must be unique within all recording
|
|
rules.
|
|
displayName: Name
|
|
path: groups[0].name
|
|
- description: Rules defines a list of recording rules
|
|
displayName: Rules
|
|
path: groups[0].rules
|
|
- description: The LogQL expression to evaluate. Every evaluation cycle this
|
|
is evaluated at the current time, and all resultant time series become pending/firing
|
|
alerts.
|
|
displayName: LogQL Expression
|
|
path: groups[0].rules[0].expr
|
|
- description: Labels to add to each recording rule.
|
|
displayName: Labels
|
|
path: groups[0].rules[0].labels
|
|
- description: The name of the time series to output to. Must be a valid metric
|
|
name.
|
|
displayName: Metric Name
|
|
path: groups[0].rules[0].record
|
|
- description: TenantID of tenant where the recording rules are evaluated in.
|
|
displayName: Tenant ID
|
|
path: tenantID
|
|
statusDescriptors:
|
|
- description: Conditions of the RecordingRule generation health.
|
|
displayName: Conditions
|
|
path: conditions
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes.conditions
|
|
version: v1
|
|
- description: RulerConfig is the Schema for the rulerconfigs API
|
|
displayName: RulerConfig
|
|
kind: RulerConfig
|
|
name: rulerconfigs.loki.grafana.com
|
|
resources:
|
|
- kind: LokiStack
|
|
name: ""
|
|
version: v1
|
|
specDescriptors:
|
|
- description: Defines alert manager configuration to notify on firing alerts.
|
|
displayName: Alert Manager Configuration
|
|
path: alertmanager
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Client configuration for reaching the alertmanager endpoint.
|
|
displayName: TLS Config
|
|
path: alertmanager.client
|
|
- description: Basic authentication configuration for reaching the alertmanager
|
|
endpoints.
|
|
displayName: Basic Authentication
|
|
path: alertmanager.client.basicAuth
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: The subject's password for the basic authentication configuration.
|
|
displayName: Password
|
|
path: alertmanager.client.basicAuth.password
|
|
- description: The subject's username for the basic authentication configuration.
|
|
displayName: Username
|
|
path: alertmanager.client.basicAuth.username
|
|
- description: Header authentication configuration for reaching the alertmanager
|
|
endpoints.
|
|
displayName: Header Authentication
|
|
path: alertmanager.client.headerAuth
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: The credentials for the header authentication configuration.
|
|
displayName: Credentials
|
|
path: alertmanager.client.headerAuth.credentials
|
|
- description: The credentials file for the Header authentication configuration.
|
|
It is mutually exclusive with `credentials`.
|
|
displayName: Credentials File
|
|
path: alertmanager.client.headerAuth.credentialsFile
|
|
- description: The authentication type for the header authentication configuration.
|
|
displayName: Type
|
|
path: alertmanager.client.headerAuth.type
|
|
- description: TLS configuration for reaching the alertmanager endpoints.
|
|
displayName: TLS
|
|
path: alertmanager.client.tls
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: The CA certificate file path for the TLS configuration.
|
|
displayName: CA Path
|
|
path: alertmanager.client.tls.caPath
|
|
- description: The client-side certificate file path for the TLS configuration.
|
|
displayName: Cert Path
|
|
path: alertmanager.client.tls.certPath
|
|
- description: The client-side key file path for the TLS configuration.
|
|
displayName: Key Path
|
|
path: alertmanager.client.tls.keyPath
|
|
- description: The server name to validate in the alertmanager server certificates.
|
|
displayName: Server Name
|
|
path: alertmanager.client.tls.serverName
|
|
- description: Defines the configuration for DNS-based discovery of AlertManager
|
|
hosts.
|
|
displayName: DNS Discovery
|
|
path: alertmanager.discovery
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Use DNS SRV records to discover Alertmanager hosts.
|
|
displayName: Enable SRV
|
|
path: alertmanager.discovery.enableSRV
|
|
- description: How long to wait between refreshing DNS resolutions of Alertmanager
|
|
hosts.
|
|
displayName: Refresh Interval
|
|
path: alertmanager.discovery.refreshInterval
|
|
- description: If enabled, then requests to Alertmanager use the v2 API.
|
|
displayName: Enable AlertManager V2 API
|
|
path: alertmanager.enableV2
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
|
|
- description: List of AlertManager URLs to send notifications to. Each Alertmanager
|
|
URL is treated as a separate group in the configuration. Multiple Alertmanagers
|
|
in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
|
|
displayName: AlertManager Endpoints
|
|
path: alertmanager.endpoints
|
|
- description: Additional labels to add to all alerts.
|
|
displayName: Extra Alert Labels
|
|
path: alertmanager.externalLabels
|
|
- description: URL for alerts return path.
|
|
displayName: Alert External URL
|
|
path: alertmanager.externalUrl
|
|
- description: Defines the configuration for the notification queue to AlertManager
|
|
hosts.
|
|
displayName: Notification Queue
|
|
path: alertmanager.notificationQueue
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Capacity of the queue for notifications to be sent to the Alertmanager.
|
|
displayName: Notification Queue Capacity
|
|
path: alertmanager.notificationQueue.capacity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Minimum duration between alert and restored "for" state. This
|
|
is maintained only for alerts with configured "for" time greater than the
|
|
grace period.
|
|
displayName: Firing Grace Period
|
|
path: alertmanager.notificationQueue.forGracePeriod
|
|
- description: Max time to tolerate outage for restoring "for" state of alert.
|
|
displayName: Outage Tolerance
|
|
path: alertmanager.notificationQueue.forOutageTolerance
|
|
- description: Minimum amount of time to wait before resending an alert to Alertmanager.
|
|
displayName: Resend Delay
|
|
path: alertmanager.notificationQueue.resendDelay
|
|
- description: HTTP timeout duration when sending notifications to the Alertmanager.
|
|
displayName: Timeout
|
|
path: alertmanager.notificationQueue.timeout
|
|
- description: List of alert relabel configurations.
|
|
displayName: Alert Relabel Configuration
|
|
path: alertmanager.relabelConfigs
|
|
- description: Action to perform based on regex matching. Default is 'replace'
|
|
displayName: Action
|
|
path: alertmanager.relabelConfigs[0].action
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:drop
|
|
- urn:alm:descriptor:com.tectonic.ui:select:hashmod
|
|
- urn:alm:descriptor:com.tectonic.ui:select:keep
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labeldrop
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labelkeep
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labelmap
|
|
- urn:alm:descriptor:com.tectonic.ui:select:replace
|
|
- description: Modulus to take of the hash of the source label values.
|
|
displayName: Modulus
|
|
path: alertmanager.relabelConfigs[0].modulus
|
|
- description: Regular expression against which the extracted value is matched.
|
|
Default is '(.*)'
|
|
displayName: Regex
|
|
path: alertmanager.relabelConfigs[0].regex
|
|
- description: Replacement value against which a regex replace is performed
|
|
if the regular expression matches. Regex capture groups are available. Default
|
|
is '$1'
|
|
displayName: Replacement
|
|
path: alertmanager.relabelConfigs[0].replacement
|
|
- description: Separator placed between concatenated source label values. default
|
|
is ';'.
|
|
displayName: Separator
|
|
path: alertmanager.relabelConfigs[0].separator
|
|
- description: The source labels select values from existing labels. Their content
|
|
is concatenated using the configured separator and matched against the configured
|
|
regular expression for the replace, keep, and drop actions.
|
|
displayName: Source Labels
|
|
path: alertmanager.relabelConfigs[0].sourceLabels
|
|
- description: Label to which the resulting value is written in a replace action.
|
|
It is mandatory for replace actions. Regex capture groups are available.
|
|
displayName: Target Label
|
|
path: alertmanager.relabelConfigs[0].targetLabel
|
|
- description: Interval on how frequently to evaluate rules.
|
|
displayName: Evaluation Interval
|
|
path: evaluationInterval
|
|
- description: Overrides defines the config overrides to be applied per-tenant.
|
|
displayName: Rate Limiting
|
|
path: overrides
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Client configuration for reaching the alertmanager endpoint.
|
|
displayName: TLS Config
|
|
path: overrides.alertmanager.client
|
|
- description: Basic authentication configuration for reaching the alertmanager
|
|
endpoints.
|
|
displayName: Basic Authentication
|
|
path: overrides.alertmanager.client.basicAuth
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: The subject's password for the basic authentication configuration.
|
|
displayName: Password
|
|
path: overrides.alertmanager.client.basicAuth.password
|
|
- description: The subject's username for the basic authentication configuration.
|
|
displayName: Username
|
|
path: overrides.alertmanager.client.basicAuth.username
|
|
- description: Header authentication configuration for reaching the alertmanager
|
|
endpoints.
|
|
displayName: Header Authentication
|
|
path: overrides.alertmanager.client.headerAuth
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: The credentials for the header authentication configuration.
|
|
displayName: Credentials
|
|
path: overrides.alertmanager.client.headerAuth.credentials
|
|
- description: The credentials file for the Header authentication configuration.
|
|
It is mutually exclusive with `credentials`.
|
|
displayName: Credentials File
|
|
path: overrides.alertmanager.client.headerAuth.credentialsFile
|
|
- description: The authentication type for the header authentication configuration.
|
|
displayName: Type
|
|
path: overrides.alertmanager.client.headerAuth.type
|
|
- description: TLS configuration for reaching the alertmanager endpoints.
|
|
displayName: TLS
|
|
path: overrides.alertmanager.client.tls
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: The CA certificate file path for the TLS configuration.
|
|
displayName: CA Path
|
|
path: overrides.alertmanager.client.tls.caPath
|
|
- description: The client-side certificate file path for the TLS configuration.
|
|
displayName: Cert Path
|
|
path: overrides.alertmanager.client.tls.certPath
|
|
- description: The client-side key file path for the TLS configuration.
|
|
displayName: Key Path
|
|
path: overrides.alertmanager.client.tls.keyPath
|
|
- description: The server name to validate in the alertmanager server certificates.
|
|
displayName: Server Name
|
|
path: overrides.alertmanager.client.tls.serverName
|
|
- description: Defines the configuration for DNS-based discovery of AlertManager
|
|
hosts.
|
|
displayName: DNS Discovery
|
|
path: overrides.alertmanager.discovery
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Use DNS SRV records to discover Alertmanager hosts.
|
|
displayName: Enable SRV
|
|
path: overrides.alertmanager.discovery.enableSRV
|
|
- description: How long to wait between refreshing DNS resolutions of Alertmanager
|
|
hosts.
|
|
displayName: Refresh Interval
|
|
path: overrides.alertmanager.discovery.refreshInterval
|
|
- description: If enabled, then requests to Alertmanager use the v2 API.
|
|
displayName: Enable AlertManager V2 API
|
|
path: overrides.alertmanager.enableV2
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
|
|
- description: List of AlertManager URLs to send notifications to. Each Alertmanager
|
|
URL is treated as a separate group in the configuration. Multiple Alertmanagers
|
|
in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
|
|
displayName: AlertManager Endpoints
|
|
path: overrides.alertmanager.endpoints
|
|
- description: Additional labels to add to all alerts.
|
|
displayName: Extra Alert Labels
|
|
path: overrides.alertmanager.externalLabels
|
|
- description: URL for alerts return path.
|
|
displayName: Alert External URL
|
|
path: overrides.alertmanager.externalUrl
|
|
- description: Defines the configuration for the notification queue to AlertManager
|
|
hosts.
|
|
displayName: Notification Queue
|
|
path: overrides.alertmanager.notificationQueue
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Capacity of the queue for notifications to be sent to the Alertmanager.
|
|
displayName: Notification Queue Capacity
|
|
path: overrides.alertmanager.notificationQueue.capacity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Minimum duration between alert and restored "for" state. This
|
|
is maintained only for alerts with configured "for" time greater than the
|
|
grace period.
|
|
displayName: Firing Grace Period
|
|
path: overrides.alertmanager.notificationQueue.forGracePeriod
|
|
- description: Max time to tolerate outage for restoring "for" state of alert.
|
|
displayName: Outage Tolerance
|
|
path: overrides.alertmanager.notificationQueue.forOutageTolerance
|
|
- description: Minimum amount of time to wait before resending an alert to Alertmanager.
|
|
displayName: Resend Delay
|
|
path: overrides.alertmanager.notificationQueue.resendDelay
|
|
- description: HTTP timeout duration when sending notifications to the Alertmanager.
|
|
displayName: Timeout
|
|
path: overrides.alertmanager.notificationQueue.timeout
|
|
- description: List of alert relabel configurations.
|
|
displayName: Alert Relabel Configuration
|
|
path: overrides.alertmanager.relabelConfigs
|
|
- description: Action to perform based on regex matching. Default is 'replace'
|
|
displayName: Action
|
|
path: overrides.alertmanager.relabelConfigs[0].action
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:drop
|
|
- urn:alm:descriptor:com.tectonic.ui:select:hashmod
|
|
- urn:alm:descriptor:com.tectonic.ui:select:keep
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labeldrop
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labelkeep
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labelmap
|
|
- urn:alm:descriptor:com.tectonic.ui:select:replace
|
|
- description: Modulus to take of the hash of the source label values.
|
|
displayName: Modulus
|
|
path: overrides.alertmanager.relabelConfigs[0].modulus
|
|
- description: Regular expression against which the extracted value is matched.
|
|
Default is '(.*)'
|
|
displayName: Regex
|
|
path: overrides.alertmanager.relabelConfigs[0].regex
|
|
- description: Replacement value against which a regex replace is performed
|
|
if the regular expression matches. Regex capture groups are available. Default
|
|
is '$1'
|
|
displayName: Replacement
|
|
path: overrides.alertmanager.relabelConfigs[0].replacement
|
|
- description: Separator placed between concatenated source label values. default
|
|
is ';'.
|
|
displayName: Separator
|
|
path: overrides.alertmanager.relabelConfigs[0].separator
|
|
- description: The source labels select values from existing labels. Their content
|
|
is concatenated using the configured separator and matched against the configured
|
|
regular expression for the replace, keep, and drop actions.
|
|
displayName: Source Labels
|
|
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
|
|
- description: Label to which the resulting value is written in a replace action.
|
|
It is mandatory for replace actions. Regex capture groups are available.
|
|
displayName: Target Label
|
|
path: overrides.alertmanager.relabelConfigs[0].targetLabel
|
|
- description: Interval on how frequently to poll for new rule definitions.
|
|
displayName: Poll Interval
|
|
path: pollInterval
|
|
- description: Defines a remote write endpoint to write recording rule metrics.
|
|
displayName: Remote Write Configuration
|
|
path: remoteWrite
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Defines the configuration for remote write client.
|
|
displayName: Client
|
|
path: remoteWrite.client
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Type of authorzation to use to access the remote write endpoint
|
|
displayName: Authorization Type
|
|
path: remoteWrite.client.authorization
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:basic
|
|
- urn:alm:descriptor:com.tectonic.ui:select:header
|
|
- description: Name of a secret in the namespace configured for authorization
|
|
secrets.
|
|
displayName: Authorization Secret Name
|
|
path: remoteWrite.client.authorizationSecretName
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes:Secret
|
|
- description: Configure whether HTTP requests follow HTTP 3xx redirects.
|
|
displayName: Follow HTTP Redirects
|
|
path: remoteWrite.client.followRedirects
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
|
|
- description: Name of the remote write config, which if specified must be unique
|
|
among remote write configs.
|
|
displayName: Name
|
|
path: remoteWrite.client.name
|
|
- description: Optional proxy URL.
|
|
displayName: HTTP Proxy URL
|
|
path: remoteWrite.client.proxyUrl
|
|
- description: List of remote write relabel configurations.
|
|
displayName: Metric Relabel Configuration
|
|
path: remoteWrite.client.relabelConfigs
|
|
- description: Action to perform based on regex matching. Default is 'replace'
|
|
displayName: Action
|
|
path: remoteWrite.client.relabelConfigs[0].action
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:select:drop
|
|
- urn:alm:descriptor:com.tectonic.ui:select:hashmod
|
|
- urn:alm:descriptor:com.tectonic.ui:select:keep
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labeldrop
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labelkeep
|
|
- urn:alm:descriptor:com.tectonic.ui:select:labelmap
|
|
- urn:alm:descriptor:com.tectonic.ui:select:replace
|
|
- description: Modulus to take of the hash of the source label values.
|
|
displayName: Modulus
|
|
path: remoteWrite.client.relabelConfigs[0].modulus
|
|
- description: Regular expression against which the extracted value is matched.
|
|
Default is '(.*)'
|
|
displayName: Regex
|
|
path: remoteWrite.client.relabelConfigs[0].regex
|
|
- description: Replacement value against which a regex replace is performed
|
|
if the regular expression matches. Regex capture groups are available. Default
|
|
is '$1'
|
|
displayName: Replacement
|
|
path: remoteWrite.client.relabelConfigs[0].replacement
|
|
- description: Separator placed between concatenated source label values. default
|
|
is ';'.
|
|
displayName: Separator
|
|
path: remoteWrite.client.relabelConfigs[0].separator
|
|
- description: The source labels select values from existing labels. Their content
|
|
is concatenated using the configured separator and matched against the configured
|
|
regular expression for the replace, keep, and drop actions.
|
|
displayName: Source Labels
|
|
path: remoteWrite.client.relabelConfigs[0].sourceLabels
|
|
- description: Label to which the resulting value is written in a replace action.
|
|
It is mandatory for replace actions. Regex capture groups are available.
|
|
displayName: Target Label
|
|
path: remoteWrite.client.relabelConfigs[0].targetLabel
|
|
- description: Timeout for requests to the remote write endpoint.
|
|
displayName: Remote Write Timeout
|
|
path: remoteWrite.client.timeout
|
|
- description: The URL of the endpoint to send samples to.
|
|
displayName: Endpoint
|
|
path: remoteWrite.client.url
|
|
- description: Enable remote-write functionality.
|
|
displayName: Enabled
|
|
path: remoteWrite.enabled
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
|
|
- description: Defines the configuration for remote write client queue.
|
|
displayName: Client Queue
|
|
path: remoteWrite.queue
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:advanced
|
|
- description: Maximum time a sample will wait in buffer.
|
|
displayName: Batch Send Deadline
|
|
path: remoteWrite.queue.batchSendDeadline
|
|
- description: Number of samples to buffer per shard before we block reading
|
|
of more
|
|
displayName: Queue Capacity
|
|
path: remoteWrite.queue.capacity
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Maximum retry delay.
|
|
displayName: Max BackOff Period
|
|
path: remoteWrite.queue.maxBackOffPeriod
|
|
- description: Maximum number of samples per send.
|
|
displayName: Maximum Shards per Send
|
|
path: remoteWrite.queue.maxSamplesPerSend
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Maximum number of shards, i.e. amount of concurrency.
|
|
displayName: Maximum Shards
|
|
path: remoteWrite.queue.maxShards
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Initial retry delay. Gets doubled for every retry.
|
|
displayName: Min BackOff Period
|
|
path: remoteWrite.queue.minBackOffPeriod
|
|
- description: Minimum number of shards, i.e. amount of concurrency.
|
|
displayName: Minimum Shards
|
|
path: remoteWrite.queue.minShards
|
|
x-descriptors:
|
|
- urn:alm:descriptor:com.tectonic.ui:number
|
|
- description: Minimum period to wait between refreshing remote-write reconfigurations.
|
|
displayName: Min Refresh Period
|
|
path: remoteWrite.refreshPeriod
|
|
statusDescriptors:
|
|
- description: Conditions of the RulerConfig health.
|
|
displayName: Conditions
|
|
path: conditions
|
|
x-descriptors:
|
|
- urn:alm:descriptor:io.kubernetes.conditions
|
|
version: v1
|
|
description: |
|
|
The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging.
|
|
## Prerequisites and Requirements
|
|
### Loki Operator Namespace
|
|
The Loki Operator must be deployed to the global operator group namespace `openshift-operators-redhat`.
|
|
### Memory Considerations
|
|
Loki is a memory intensive application. The initial
|
|
set of OCP nodes may not be large enough to support the Loki cluster. Additional OCP nodes must be added
|
|
to the OCP cluster if you desire to run with the recommended (or better) memory.
|
|
displayName: Loki Operator
|
|
icon:
|
|
- base64data: PHN2ZyBpZD0iYWZiNDE1NDktYzU3MC00OWI3LTg1Y2QtNjU3NjAwZWRmMmUxIiBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDcyMS4xNSA3MjEuMTUiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuYTQ0OGZkZWEtNGE0Yy00Njc4LTk3NmEtYzM3ODUzMDhhZTA2IHsKICAgICAgICBmaWxsOiAjZGIzOTI3OwogICAgICB9CgogICAgICAuZTEzMzA4YjgtNzQ4NS00Y2IwLTk3NjUtOGE1N2I5M2Y5MWE2IHsKICAgICAgICBmaWxsOiAjY2IzNzI4OwogICAgICB9CgogICAgICAuZTc3Mjg2ZjEtMjJkYS00NGQxLThlZmItMWQxNGIwY2NhZTYyIHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CgogICAgICAuYTA0MjBjYWMtZWJlNi00YzE4LWI5ODEtYWJiYTBiYTliMzY1IHsKICAgICAgICBmaWxsOiAjZTVlNWU0OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8Y2lyY2xlIGNsYXNzPSJhNDQ4ZmRlYS00YTRjLTQ2NzgtOTc2YS1jMzc4NTMwOGFlMDYiIGN4PSIzNjAuNTgiIGN5PSIzNjAuNTgiIHI9IjM1OC4yOCIvPgogIDxwYXRoIGNsYXNzPSJlMTMzMDhiOC03NDg1LTRjYjAtOTc2NS04YTU3YjkzZjkxYTYiIGQ9Ik02MTMuNTQsMTA3LjMsMTA2Ljg4LDYxNGMxNDAsMTM4LjUxLDM2NS44MiwxMzguMDYsNTA1LjI2LTEuMzlTNzUyLDI0Ny4zMyw2MTMuNTQsMTA3LjNaIi8+CiAgPGc+CiAgICA8Y2lyY2xlIGNsYXNzPSJlNzcyODZmMS0yMmRhLTQ0ZDEtOGVmYi0xZDE0YjBjY2FlNjIiIGN4PSIyMzQuNyIgY3k9IjM1Ny4zIiByPSI0Ny43MiIvPgogICAgPGNpcmNsZSBjbGFzcz0iZTc3Mjg2ZjEtMjJkYS00NGQxLThlZmItMWQxNGIwY2NhZTYyIiBjeD0iMjM0LjciIGN5PSIxODIuOTQiIHI9IjQ3LjcyIi8+CiAgICA8Y2lyY2xlIGNsYXNzPSJlNzcyODZmMS0yMmRhLTQ0ZDEtOGVmYi0xZDE0YjBjY2FlNjIiIGN4PSIyMzQuNyIgY3k9IjUzOC4yMSIgcj0iNDcuNzIiLz4KICA8L2c+CiAgPHBvbHlnb24gY2xhc3M9ImU3NzI4NmYxLTIyZGEtNDRkMS04ZWZiLTFkMTRiMGNjYWU2MiIgcG9pbnRzPSI0MzUuMTkgMzQ3LjMgMzkwLjU0IDM0Ny4zIDM5MC41NCAxNzIuOTQgMzE2LjE2IDE3Mi45NCAzMTYuMTYgMTkyLjk0IDM3MC41NCAxOTIuOTQgMzcwLjU0IDM0Ny4zIDMxNi4xNiAzNDcuMyAzMTYuMTYgMzY3LjMgMzcwLjU0IDM2Ny4zIDM3MC41NCA1MjEuNjcgMzE2LjE2IDUyMS42NyAzMTYuMTYgNTQxLjY3IDM5MC41NCA1NDEuNjcgMzkwLjU0IDM2Ny4zIDQzNS4xOSAzNjcuMyA0MzUuMTkgMzQ3LjMiLz4KICA8cG9seWdvbiBjbGFzcz0iZTc3Mjg2ZjEtMjJkYS00NGQxLThlZmItMWQxNGIwY2NhZTYyIiBwb2ludHM9IjU5OS43NCAzMTcuMDMgNTU3Ljk3IDMxNy4wMyA1NTAuOTcgMzE3LjAzIDU1MC45NyAzMTAuMDMgNTUwLjk3IDI2OC4yNiA1NTAuOTcgMjY4LjI2IDQ2NC4zNiAyNjguMjYgNDY0LjM2IDQ0Ni4zNCA1OTkuNzQgNDQ2LjM0IDU5OS43NCAzMTcuMDMgNTk5Ljc0IDMxNy4wMyIvPgogIDxwb2x5Z29uIGNsYXNzPSJhMDQyMGNhYy1lYmU2LTRjMTgtYjk4MS1hYmJhMGJhOWIzNjUiIHBvaW50cz0iNTk5Ljc0IDMxMC4wMyA1NTcuOTcgMjY4LjI2IDU1Ny45NyAzMTAuMDMgNTk5Ljc0IDMxMC4wMyIvPgo8L3N2Zz4K
|
|
mediatype: image/svg+xml
|
|
install:
|
|
spec:
|
|
clusterPermissions:
|
|
- rules:
|
|
- nonResourceURLs:
|
|
- /api/v2/alerts
|
|
verbs:
|
|
- create
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
- endpoints
|
|
- nodes
|
|
- pods
|
|
- secrets
|
|
- serviceaccounts
|
|
- services
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- namespaces
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- apps
|
|
resources:
|
|
- deployments
|
|
- statefulsets
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- config.openshift.io
|
|
resources:
|
|
- apiservers
|
|
- dnses
|
|
- proxies
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- coordination.k8s.io
|
|
resources:
|
|
- leases
|
|
verbs:
|
|
- create
|
|
- get
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- alertingrules
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- alertingrules/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- alertingrules/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- lokistacks
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- lokistacks/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- lokistacks/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- recordingrules
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- recordingrules/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- recordingrules/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- rulerconfigs
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- rulerconfigs/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
resources:
|
|
- rulerconfigs/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- monitoring.coreos.com
|
|
resources:
|
|
- alertmanagers
|
|
verbs:
|
|
- patch
|
|
- apiGroups:
|
|
- monitoring.coreos.com
|
|
resources:
|
|
- prometheusrules
|
|
- servicemonitors
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- networking.k8s.io
|
|
resources:
|
|
- ingresses
|
|
verbs:
|
|
- create
|
|
- get
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- policy
|
|
resources:
|
|
- poddisruptionbudgets
|
|
verbs:
|
|
- create
|
|
- get
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- rbac.authorization.k8s.io
|
|
resources:
|
|
- clusterrolebindings
|
|
- clusterroles
|
|
- rolebindings
|
|
- roles
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- route.openshift.io
|
|
resources:
|
|
- routes
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- authentication.k8s.io
|
|
resources:
|
|
- tokenreviews
|
|
verbs:
|
|
- create
|
|
- apiGroups:
|
|
- authorization.k8s.io
|
|
resources:
|
|
- subjectaccessreviews
|
|
verbs:
|
|
- create
|
|
serviceAccountName: default
|
|
deployments:
|
|
- label:
|
|
app.kubernetes.io/instance: loki-operator-0.1.0
|
|
app.kubernetes.io/managed-by: operator-lifecycle-manager
|
|
app.kubernetes.io/name: loki-operator
|
|
app.kubernetes.io/part-of: cluster-logging
|
|
app.kubernetes.io/version: 0.1.0
|
|
control-plane: controller-manager
|
|
name: loki-operator-controller-manager
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/managed-by: operator-lifecycle-manager
|
|
app.kubernetes.io/name: loki-operator
|
|
app.kubernetes.io/part-of: cluster-logging
|
|
name: loki-operator-controller-manager
|
|
strategy: {}
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
kubectl.kubernetes.io/default-container: manager
|
|
labels:
|
|
app.kubernetes.io/managed-by: operator-lifecycle-manager
|
|
app.kubernetes.io/name: loki-operator
|
|
app.kubernetes.io/part-of: cluster-logging
|
|
name: loki-operator-controller-manager
|
|
spec:
|
|
containers:
|
|
- args:
|
|
- --config=controller_manager_config.yaml
|
|
command:
|
|
- /manager
|
|
env:
|
|
- name: RELATED_IMAGE_LOKI
|
|
value: quay.io/openshift-logging/loki:v2.9.2
|
|
- name: RELATED_IMAGE_GATEWAY
|
|
value: quay.io/observatorium/api:latest
|
|
- name: RELATED_IMAGE_OPA
|
|
value: quay.io/observatorium/opa-openshift:latest
|
|
image: quay.io/openshift-logging/loki-operator:0.1.0
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8081
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 20
|
|
name: manager
|
|
ports:
|
|
- containerPort: 9443
|
|
name: webhook-server
|
|
protocol: TCP
|
|
- containerPort: 8080
|
|
name: metrics
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readyz
|
|
port: 8081
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
resources: {}
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
volumeMounts:
|
|
- mountPath: /controller_manager_config.yaml
|
|
name: manager-config
|
|
subPath: controller_manager_config.yaml
|
|
- args:
|
|
- --secure-listen-address=0.0.0.0:8443
|
|
- --upstream=http://127.0.0.1:8080/
|
|
- --logtostderr=true
|
|
- --tls-cert-file=/var/run/secrets/serving-cert/tls.crt
|
|
- --tls-private-key-file=/var/run/secrets/serving-cert/tls.key
|
|
- --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256
|
|
- --tls-min-version=VersionTLS12
|
|
- --v=0
|
|
image: quay.io/openshift/origin-kube-rbac-proxy:latest
|
|
name: kube-rbac-proxy
|
|
ports:
|
|
- containerPort: 8443
|
|
name: https
|
|
resources: {}
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
volumeMounts:
|
|
- mountPath: /var/run/secrets/serving-cert
|
|
name: loki-operator-metrics-cert
|
|
nodeSelector:
|
|
kubernetes.io/os: linux
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
terminationGracePeriodSeconds: 10
|
|
volumes:
|
|
- configMap:
|
|
name: loki-operator-manager-config
|
|
name: manager-config
|
|
- name: loki-operator-metrics-cert
|
|
secret:
|
|
defaultMode: 420
|
|
optional: true
|
|
secretName: loki-operator-metrics
|
|
permissions:
|
|
- rules:
|
|
- apiGroups:
|
|
- ""
|
|
- coordination.k8s.io
|
|
resources:
|
|
- configmaps
|
|
- leases
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- create
|
|
- update
|
|
- patch
|
|
- delete
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
- patch
|
|
serviceAccountName: default
|
|
strategy: deployment
|
|
installModes:
|
|
- supported: false
|
|
type: OwnNamespace
|
|
- supported: false
|
|
type: SingleNamespace
|
|
- supported: false
|
|
type: MultiNamespace
|
|
- supported: true
|
|
type: AllNamespaces
|
|
keywords:
|
|
- logging
|
|
- loki
|
|
links:
|
|
- name: Loki Operator
|
|
url: https://github.com/grafana/loki
|
|
maintainers:
|
|
- email: team-logging@redhat.com
|
|
name: Red Hat, AOS Logging
|
|
maturity: alpha
|
|
minKubeVersion: 1.21.1
|
|
provider:
|
|
name: Red Hat
|
|
relatedImages:
|
|
- image: quay.io/openshift-logging/loki:v2.9.2
|
|
name: loki
|
|
- image: quay.io/observatorium/api:latest
|
|
name: gateway
|
|
- image: quay.io/observatorium/opa-openshift:latest
|
|
name: opa
|
|
version: 0.1.0
|
|
webhookdefinitions:
|
|
- admissionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
containerPort: 443
|
|
conversionCRDs:
|
|
- alertingrules.loki.grafana.com
|
|
deploymentName: loki-operator-controller-manager
|
|
generateName: calertingrules.kb.io
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ConversionWebhook
|
|
webhookPath: /convert
|
|
- admissionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
containerPort: 443
|
|
conversionCRDs:
|
|
- lokistacks.loki.grafana.com
|
|
deploymentName: loki-operator-controller-manager
|
|
generateName: clokistacks.kb.io
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ConversionWebhook
|
|
webhookPath: /convert
|
|
- admissionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
containerPort: 443
|
|
conversionCRDs:
|
|
- recordingrules.loki.grafana.com
|
|
deploymentName: loki-operator-controller-manager
|
|
generateName: crecordingrules.kb.io
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ConversionWebhook
|
|
webhookPath: /convert
|
|
- admissionReviewVersions:
|
|
- v1
|
|
- v1beta1
|
|
containerPort: 443
|
|
conversionCRDs:
|
|
- rulerconfigs.loki.grafana.com
|
|
deploymentName: loki-operator-controller-manager
|
|
generateName: crulerconfigs.kb.io
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ConversionWebhook
|
|
webhookPath: /convert
|
|
- admissionReviewVersions:
|
|
- v1
|
|
containerPort: 443
|
|
deploymentName: loki-operator-controller-manager
|
|
failurePolicy: Fail
|
|
generateName: valertingrule.loki.grafana.com
|
|
rules:
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
apiVersions:
|
|
- v1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- alertingrules
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ValidatingAdmissionWebhook
|
|
webhookPath: /validate-loki-grafana-com-v1-alertingrule
|
|
- admissionReviewVersions:
|
|
- v1
|
|
containerPort: 443
|
|
deploymentName: loki-operator-controller-manager
|
|
failurePolicy: Fail
|
|
generateName: vlokistack.loki.grafana.com
|
|
rules:
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
apiVersions:
|
|
- v1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- lokistacks
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ValidatingAdmissionWebhook
|
|
webhookPath: /validate-loki-grafana-com-v1-lokistack
|
|
- admissionReviewVersions:
|
|
- v1
|
|
containerPort: 443
|
|
deploymentName: loki-operator-controller-manager
|
|
failurePolicy: Fail
|
|
generateName: vrecordingrule.loki.grafana.com
|
|
rules:
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
apiVersions:
|
|
- v1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- recordingrules
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ValidatingAdmissionWebhook
|
|
webhookPath: /validate-loki-grafana-com-v1-recordingrule
|
|
- admissionReviewVersions:
|
|
- v1
|
|
containerPort: 443
|
|
deploymentName: loki-operator-controller-manager
|
|
failurePolicy: Fail
|
|
generateName: vrulerconfig.loki.grafana.com
|
|
rules:
|
|
- apiGroups:
|
|
- loki.grafana.com
|
|
apiVersions:
|
|
- v1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- rulerconfigs
|
|
sideEffects: None
|
|
targetPort: 9443
|
|
type: ValidatingAdmissionWebhook
|
|
webhookPath: /validate-loki-grafana-com-v1-rulerconfig
|
|
|