Compare commits
No commits in common. "bba527fdb042b11b95abac00409f6fceb748f1e0" and "f3140bee79c37cb65cb7de02e0527fd0984bc2fa" have entirely different histories.
bba527fdb0
...
f3140bee79
23 changed files with 1 additions and 18613 deletions
|
@ -1,588 +0,0 @@
|
||||||
---
|
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.14.0
|
|
||||||
creationTimestamp: null
|
|
||||||
name: ciliumbgppeeringpolicies.cilium.io
|
|
||||||
spec:
|
|
||||||
group: cilium.io
|
|
||||||
names:
|
|
||||||
categories:
|
|
||||||
- cilium
|
|
||||||
- ciliumbgp
|
|
||||||
kind: CiliumBGPPeeringPolicy
|
|
||||||
listKind: CiliumBGPPeeringPolicyList
|
|
||||||
plural: ciliumbgppeeringpolicies
|
|
||||||
shortNames:
|
|
||||||
- bgpp
|
|
||||||
singular: ciliumbgppeeringpolicy
|
|
||||||
scope: Cluster
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
name: v2alpha1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: CiliumBGPPeeringPolicy is a Kubernetes third-party resource for
|
|
||||||
instructing Cilium's BGP control plane to create virtual BGP routers.
|
|
||||||
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 is a human readable description of a BGP peering policy
|
|
||||||
properties:
|
|
||||||
nodeSelector:
|
|
||||||
description: "NodeSelector selects a group of nodes where this BGP
|
|
||||||
Peering Policy applies. \n If empty / nil this policy applies to
|
|
||||||
all nodes."
|
|
||||||
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.
|
|
||||||
enum:
|
|
||||||
- In
|
|
||||||
- NotIn
|
|
||||||
- Exists
|
|
||||||
- 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:
|
|
||||||
description: MatchLabelsValue represents the value from the
|
|
||||||
MatchLabels {key,value} pair.
|
|
||||||
maxLength: 63
|
|
||||||
pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
|
|
||||||
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
|
|
||||||
virtualRouters:
|
|
||||||
description: A list of CiliumBGPVirtualRouter(s) which instructs the
|
|
||||||
BGP control plane how to instantiate virtual BGP routers.
|
|
||||||
items:
|
|
||||||
description: CiliumBGPVirtualRouter defines a discrete BGP virtual
|
|
||||||
router configuration.
|
|
||||||
properties:
|
|
||||||
exportPodCIDR:
|
|
||||||
default: false
|
|
||||||
description: ExportPodCIDR determines whether to export the
|
|
||||||
Node's private CIDR block to the configured neighbors.
|
|
||||||
type: boolean
|
|
||||||
localASN:
|
|
||||||
description: LocalASN is the ASN of this virtual router. Supports
|
|
||||||
extended 32bit ASNs
|
|
||||||
format: int64
|
|
||||||
maximum: 4294967295
|
|
||||||
minimum: 0
|
|
||||||
type: integer
|
|
||||||
neighbors:
|
|
||||||
description: Neighbors is a list of neighboring BGP peers for
|
|
||||||
this virtual router
|
|
||||||
items:
|
|
||||||
description: CiliumBGPNeighbor is a neighboring peer for use
|
|
||||||
in a CiliumBGPVirtualRouter configuration.
|
|
||||||
properties:
|
|
||||||
advertisedPathAttributes:
|
|
||||||
description: AdvertisedPathAttributes can be used to apply
|
|
||||||
additional path attributes to selected routes when advertising
|
|
||||||
them to the peer. If empty / nil, no additional path
|
|
||||||
attributes are advertised.
|
|
||||||
items:
|
|
||||||
description: CiliumBGPPathAttributes can be used to
|
|
||||||
apply additional path attributes to matched routes
|
|
||||||
when advertising them to a BGP peer.
|
|
||||||
properties:
|
|
||||||
communities:
|
|
||||||
description: Communities defines a set of community
|
|
||||||
values advertised in the supported BGP Communities
|
|
||||||
path attributes. If nil / not set, no BGP Communities
|
|
||||||
path attribute will be advertised.
|
|
||||||
properties:
|
|
||||||
large:
|
|
||||||
description: Large holds a list of the BGP Large
|
|
||||||
Communities Attribute (RFC 8092) values.
|
|
||||||
items:
|
|
||||||
description: BGPLargeCommunity type represents
|
|
||||||
a value of the BGP Large Communities Attribute
|
|
||||||
(RFC 8092), as three 4-byte decimal numbers
|
|
||||||
separated by colons.
|
|
||||||
pattern: ^([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])$
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
standard:
|
|
||||||
description: Standard holds a list of "standard"
|
|
||||||
32-bit BGP Communities Attribute (RFC 1997)
|
|
||||||
values defined as numeric values.
|
|
||||||
items:
|
|
||||||
description: BGPStandardCommunity type represents
|
|
||||||
a value of the "standard" 32-bit BGP Communities
|
|
||||||
Attribute (RFC 1997) as a 4-byte decimal
|
|
||||||
number or two 2-byte decimal numbers separated
|
|
||||||
by a colon (<0-65535>:<0-65535>). For example,
|
|
||||||
no-export community value is 65553:65281.
|
|
||||||
pattern: ^([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])$|^([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]):([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
wellKnown:
|
|
||||||
description: WellKnown holds a list "standard"
|
|
||||||
32-bit BGP Communities Attribute (RFC 1997)
|
|
||||||
values defined as well-known string aliases
|
|
||||||
to their numeric values.
|
|
||||||
items:
|
|
||||||
description: "BGPWellKnownCommunity type represents
|
|
||||||
a value of the \"standard\" 32-bit BGP Communities
|
|
||||||
Attribute (RFC 1997) as a well-known string
|
|
||||||
alias to its numeric value. Allowed values
|
|
||||||
and their mapping to the numeric values:
|
|
||||||
\n internet = 0x00000000
|
|
||||||
(0:0) planned-shut = 0xffff0000
|
|
||||||
(65535:0) accept-own = 0xffff0001
|
|
||||||
(65535:1) route-filter-translated-v4 = 0xffff0002
|
|
||||||
(65535:2) route-filter-v4 = 0xffff0003
|
|
||||||
(65535:3) route-filter-translated-v6 = 0xffff0004
|
|
||||||
(65535:4) route-filter-v6 = 0xffff0005
|
|
||||||
(65535:5) llgr-stale = 0xffff0006
|
|
||||||
(65535:6) no-llgr = 0xffff0007
|
|
||||||
(65535:7) blackhole = 0xffff029a
|
|
||||||
(65535:666) no-export =
|
|
||||||
0xffffff01\t(65535:65281) no-advertise =
|
|
||||||
0xffffff02 (65535:65282) no-export-subconfed
|
|
||||||
\ = 0xffffff03 (65535:65283) no-peer
|
|
||||||
\ = 0xffffff04 (65535:65284)"
|
|
||||||
enum:
|
|
||||||
- internet
|
|
||||||
- planned-shut
|
|
||||||
- accept-own
|
|
||||||
- route-filter-translated-v4
|
|
||||||
- route-filter-v4
|
|
||||||
- route-filter-translated-v6
|
|
||||||
- route-filter-v6
|
|
||||||
- llgr-stale
|
|
||||||
- no-llgr
|
|
||||||
- blackhole
|
|
||||||
- no-export
|
|
||||||
- no-advertise
|
|
||||||
- no-export-subconfed
|
|
||||||
- no-peer
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
type: object
|
|
||||||
localPreference:
|
|
||||||
description: LocalPreference defines the preference
|
|
||||||
value advertised in the BGP Local Preference path
|
|
||||||
attribute. As Local Preference is only valid for
|
|
||||||
iBGP peers, this value will be ignored for eBGP
|
|
||||||
peers (no Local Preference path attribute will
|
|
||||||
be advertised). If nil / not set, the default
|
|
||||||
Local Preference of 100 will be advertised in
|
|
||||||
the Local Preference path attribute for iBGP peers.
|
|
||||||
format: int64
|
|
||||||
maximum: 4294967295
|
|
||||||
minimum: 0
|
|
||||||
type: integer
|
|
||||||
selector:
|
|
||||||
description: Selector selects a group of objects
|
|
||||||
of the SelectorType resulting into routes that
|
|
||||||
will be announced with the configured Attributes.
|
|
||||||
If nil / not set, all objects of the SelectorType
|
|
||||||
are selected.
|
|
||||||
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.
|
|
||||||
enum:
|
|
||||||
- In
|
|
||||||
- NotIn
|
|
||||||
- Exists
|
|
||||||
- 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:
|
|
||||||
description: MatchLabelsValue represents the
|
|
||||||
value from the MatchLabels {key,value} pair.
|
|
||||||
maxLength: 63
|
|
||||||
pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
|
|
||||||
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
|
|
||||||
selectorType:
|
|
||||||
description: 'SelectorType defines the object type
|
|
||||||
on which the Selector applies: - For "PodCIDR"
|
|
||||||
the Selector matches k8s CiliumNode resources
|
|
||||||
(path attributes apply to routes announced for
|
|
||||||
PodCIDRs of selected CiliumNodes. Only affects
|
|
||||||
routes of cluster scope / Kubernetes IPAM CIDRs,
|
|
||||||
not Multi-Pool IPAM CIDRs. - For "CiliumLoadBalancerIPPool"
|
|
||||||
the Selector matches CiliumLoadBalancerIPPool
|
|
||||||
custom resources (path attributes apply to routes
|
|
||||||
announced for selected CiliumLoadBalancerIPPools).
|
|
||||||
- For "CiliumPodIPPool" the Selector matches CiliumPodIPPool
|
|
||||||
custom resources (path attributes apply to routes
|
|
||||||
announced for allocated CIDRs of selected CiliumPodIPPools).'
|
|
||||||
enum:
|
|
||||||
- PodCIDR
|
|
||||||
- CiliumLoadBalancerIPPool
|
|
||||||
- CiliumPodIPPool
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- selectorType
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
authSecretRef:
|
|
||||||
description: AuthSecretRef is the name of the secret to
|
|
||||||
use to fetch a TCP authentication password for this
|
|
||||||
peer.
|
|
||||||
type: string
|
|
||||||
connectRetryTimeSeconds:
|
|
||||||
default: 120
|
|
||||||
description: ConnectRetryTimeSeconds defines the initial
|
|
||||||
value for the BGP ConnectRetryTimer (RFC 4271, Section
|
|
||||||
8).
|
|
||||||
format: int32
|
|
||||||
maximum: 2147483647
|
|
||||||
minimum: 1
|
|
||||||
type: integer
|
|
||||||
eBGPMultihopTTL:
|
|
||||||
default: 1
|
|
||||||
description: EBGPMultihopTTL controls the multi-hop feature
|
|
||||||
for eBGP peers. Its value defines the Time To Live (TTL)
|
|
||||||
value used in BGP packets sent to the neighbor. The
|
|
||||||
value 1 implies that eBGP multi-hop feature is disabled
|
|
||||||
(only a single hop is allowed). This field is ignored
|
|
||||||
for iBGP peers.
|
|
||||||
format: int32
|
|
||||||
maximum: 255
|
|
||||||
minimum: 1
|
|
||||||
type: integer
|
|
||||||
families:
|
|
||||||
description: "Families, if provided, defines a set of
|
|
||||||
AFI/SAFIs the speaker will negotiate with it's peer.
|
|
||||||
\n If this slice is not provided the default families
|
|
||||||
of IPv6 and IPv4 will be provided."
|
|
||||||
items:
|
|
||||||
description: CiliumBGPFamily represents a AFI/SAFI address
|
|
||||||
family pair.
|
|
||||||
properties:
|
|
||||||
afi:
|
|
||||||
description: Afi is the Address Family Identifier
|
|
||||||
(AFI) of the family.
|
|
||||||
enum:
|
|
||||||
- ipv4
|
|
||||||
- ipv6
|
|
||||||
- l2vpn
|
|
||||||
- ls
|
|
||||||
- opaque
|
|
||||||
type: string
|
|
||||||
safi:
|
|
||||||
description: Safi is the Subsequent Address Family
|
|
||||||
Identifier (SAFI) of the family.
|
|
||||||
enum:
|
|
||||||
- unicast
|
|
||||||
- multicast
|
|
||||||
- mpls_label
|
|
||||||
- encapsulation
|
|
||||||
- vpls
|
|
||||||
- evpn
|
|
||||||
- ls
|
|
||||||
- sr_policy
|
|
||||||
- mup
|
|
||||||
- mpls_vpn
|
|
||||||
- mpls_vpn_multicast
|
|
||||||
- route_target_constraints
|
|
||||||
- flowspec_unicast
|
|
||||||
- flowspec_vpn
|
|
||||||
- key_value
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- afi
|
|
||||||
- safi
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
gracefulRestart:
|
|
||||||
description: GracefulRestart defines graceful restart
|
|
||||||
parameters which are negotiated with this neighbor.
|
|
||||||
If empty / nil, the graceful restart capability is disabled.
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
description: Enabled flag, when set enables graceful
|
|
||||||
restart capability.
|
|
||||||
type: boolean
|
|
||||||
restartTimeSeconds:
|
|
||||||
default: 120
|
|
||||||
description: RestartTimeSeconds is the estimated time
|
|
||||||
it will take for the BGP session to be re-established
|
|
||||||
with peer after a restart. After this period, peer
|
|
||||||
will remove stale routes. This is described RFC
|
|
||||||
4724 section 4.2.
|
|
||||||
format: int32
|
|
||||||
maximum: 4095
|
|
||||||
minimum: 1
|
|
||||||
type: integer
|
|
||||||
required:
|
|
||||||
- enabled
|
|
||||||
type: object
|
|
||||||
holdTimeSeconds:
|
|
||||||
default: 90
|
|
||||||
description: HoldTimeSeconds defines the initial value
|
|
||||||
for the BGP HoldTimer (RFC 4271, Section 4.2). Updating
|
|
||||||
this value will cause a session reset.
|
|
||||||
format: int32
|
|
||||||
maximum: 65535
|
|
||||||
minimum: 3
|
|
||||||
type: integer
|
|
||||||
keepAliveTimeSeconds:
|
|
||||||
default: 30
|
|
||||||
description: KeepaliveTimeSeconds defines the initial
|
|
||||||
value for the BGP KeepaliveTimer (RFC 4271, Section
|
|
||||||
8). It can not be larger than HoldTimeSeconds. Updating
|
|
||||||
this value will cause a session reset.
|
|
||||||
format: int32
|
|
||||||
maximum: 65535
|
|
||||||
minimum: 1
|
|
||||||
type: integer
|
|
||||||
peerASN:
|
|
||||||
description: PeerASN is the ASN of the peer BGP router.
|
|
||||||
Supports extended 32bit ASNs
|
|
||||||
format: int64
|
|
||||||
maximum: 4294967295
|
|
||||||
minimum: 0
|
|
||||||
type: integer
|
|
||||||
peerAddress:
|
|
||||||
description: PeerAddress is the IP address of the peer.
|
|
||||||
This must be in CIDR notation and use a /32 to express
|
|
||||||
a single host.
|
|
||||||
format: cidr
|
|
||||||
type: string
|
|
||||||
peerPort:
|
|
||||||
default: 179
|
|
||||||
description: PeerPort is the TCP port of the peer. 1-65535
|
|
||||||
is the range of valid port numbers that can be specified.
|
|
||||||
If unset, defaults to 179.
|
|
||||||
format: int32
|
|
||||||
maximum: 65535
|
|
||||||
minimum: 1
|
|
||||||
type: integer
|
|
||||||
required:
|
|
||||||
- peerASN
|
|
||||||
- peerAddress
|
|
||||||
type: object
|
|
||||||
minItems: 1
|
|
||||||
type: array
|
|
||||||
podIPPoolSelector:
|
|
||||||
description: "PodIPPoolSelector selects CiliumPodIPPools based
|
|
||||||
on labels. The virtual router will announce allocated CIDRs
|
|
||||||
of matching CiliumPodIPPools. \n If empty / nil no CiliumPodIPPools
|
|
||||||
will be announced."
|
|
||||||
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.
|
|
||||||
enum:
|
|
||||||
- In
|
|
||||||
- NotIn
|
|
||||||
- Exists
|
|
||||||
- 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:
|
|
||||||
description: MatchLabelsValue represents the value from
|
|
||||||
the MatchLabels {key,value} pair.
|
|
||||||
maxLength: 63
|
|
||||||
pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
|
|
||||||
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
|
|
||||||
serviceSelector:
|
|
||||||
description: "ServiceSelector selects a group of load balancer
|
|
||||||
services which this virtual router will announce. The loadBalancerClass
|
|
||||||
for a service must be nil or specify a class supported by
|
|
||||||
Cilium, e.g. \"io.cilium/bgp-control-plane\". Refer to the
|
|
||||||
following document for additional details regarding load balancer
|
|
||||||
classes: \n https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
|
|
||||||
\n If empty / nil no services will be announced."
|
|
||||||
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.
|
|
||||||
enum:
|
|
||||||
- In
|
|
||||||
- NotIn
|
|
||||||
- Exists
|
|
||||||
- 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:
|
|
||||||
description: MatchLabelsValue represents the value from
|
|
||||||
the MatchLabels {key,value} pair.
|
|
||||||
maxLength: 63
|
|
||||||
pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
|
|
||||||
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
|
|
||||||
required:
|
|
||||||
- localASN
|
|
||||||
- neighbors
|
|
||||||
type: object
|
|
||||||
minItems: 1
|
|
||||||
type: array
|
|
||||||
required:
|
|
||||||
- virtualRouters
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- metadata
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources: {}
|
|
||||||
status:
|
|
||||||
acceptedNames:
|
|
||||||
kind: ""
|
|
||||||
plural: ""
|
|
||||||
conditions: []
|
|
||||||
storedVersions: []
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -10,7 +10,4 @@ Thumbs.db
|
||||||
*.key
|
*.key
|
||||||
*.pem
|
*.pem
|
||||||
kubeconfig*
|
kubeconfig*
|
||||||
talosconfig.yaml
|
|
||||||
omniconfig.yaml
|
|
||||||
omni-template.yaml
|
|
||||||
config.xml
|
config.xml
|
||||||
|
|
|
@ -6,5 +6,5 @@ resources:
|
||||||
# Pre Flux-Kustomizations
|
# Pre Flux-Kustomizations
|
||||||
- ./namespace.yaml
|
- ./namespace.yaml
|
||||||
# Flux-Kustomizations
|
# Flux-Kustomizations
|
||||||
# - ./cilium/ks.yaml
|
- ./cilium/ks.yaml
|
||||||
- ./metrics-server/ks.yaml
|
- ./metrics-server/ks.yaml
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- ./monitoring.coreos.com_alertmanagers.yaml
|
|
||||||
- ./monitoring.coreos.com_podmonitors.yaml
|
|
||||||
- ./monitoring.coreos.com_prometheusrules.yaml
|
|
||||||
- ./monitoring.coreos.com_servicemonitors.yaml
|
|
||||||
- ./monitoring.coreos.com_thanosrulers.yaml
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,825 +0,0 @@
|
||||||
---
|
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.13.0
|
|
||||||
operator.prometheus.io/version: 0.69.1
|
|
||||||
name: podmonitors.monitoring.coreos.com
|
|
||||||
spec:
|
|
||||||
group: monitoring.coreos.com
|
|
||||||
names:
|
|
||||||
categories:
|
|
||||||
- prometheus-operator
|
|
||||||
kind: PodMonitor
|
|
||||||
listKind: PodMonitorList
|
|
||||||
plural: podmonitors
|
|
||||||
shortNames:
|
|
||||||
- pmon
|
|
||||||
singular: podmonitor
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- name: v1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: PodMonitor defines monitoring for a set of pods.
|
|
||||||
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:
|
|
||||||
Specification of desired Pod selection for target discovery
|
|
||||||
by Prometheus.
|
|
||||||
properties:
|
|
||||||
attachMetadata:
|
|
||||||
description:
|
|
||||||
"`attachMetadata` defines additional metadata which is
|
|
||||||
added to the discovered targets. \n It requires Prometheus >= v2.37.0."
|
|
||||||
properties:
|
|
||||||
node:
|
|
||||||
description:
|
|
||||||
When set to true, Prometheus must have the `get`
|
|
||||||
permission on the `Nodes` objects.
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
jobLabel:
|
|
||||||
description:
|
|
||||||
"The label to use to retrieve the job name from. `jobLabel`
|
|
||||||
selects the label from the associated Kubernetes `Pod` object which
|
|
||||||
will be used as the `job` label for all metrics. \n For example
|
|
||||||
if `jobLabel` is set to `foo` and the Kubernetes `Pod` object is
|
|
||||||
labeled with `foo: bar`, then Prometheus adds the `job=\"bar\"`
|
|
||||||
label to all ingested metrics. \n If the value of this field is
|
|
||||||
empty, the `job` label of the metrics defaults to the namespace
|
|
||||||
and name of the PodMonitor object (e.g. `<namespace>/<name>`)."
|
|
||||||
type: string
|
|
||||||
keepDroppedTargets:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on the number of targets dropped by
|
|
||||||
relabeling that will be kept in memory. 0 means no limit. \n It
|
|
||||||
requires Prometheus >= v2.47.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
labelLimit:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on number of labels that will be accepted
|
|
||||||
for a sample. \n It requires Prometheus >= v2.27.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
labelNameLengthLimit:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on length of labels name that will
|
|
||||||
be accepted for a sample. \n It requires Prometheus >= v2.27.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
labelValueLengthLimit:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on length of labels value that will
|
|
||||||
be accepted for a sample. \n It requires Prometheus >= v2.27.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
namespaceSelector:
|
|
||||||
description:
|
|
||||||
Selector to select which namespaces the Kubernetes `Pods`
|
|
||||||
objects are discovered from.
|
|
||||||
properties:
|
|
||||||
any:
|
|
||||||
description:
|
|
||||||
Boolean describing whether all namespaces are selected
|
|
||||||
in contrast to a list restricting them.
|
|
||||||
type: boolean
|
|
||||||
matchNames:
|
|
||||||
description: List of namespace names to select from.
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
type: object
|
|
||||||
podMetricsEndpoints:
|
|
||||||
description: List of endpoints part of this PodMonitor.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
PodMetricsEndpoint defines an endpoint serving Prometheus
|
|
||||||
metrics to be scraped by Prometheus.
|
|
||||||
properties:
|
|
||||||
authorization:
|
|
||||||
description:
|
|
||||||
"`authorization` configures the Authorization header
|
|
||||||
credentials to use when scraping the target. \n Cannot be
|
|
||||||
set at the same time as `basicAuth`, or `oauth2`."
|
|
||||||
properties:
|
|
||||||
credentials:
|
|
||||||
description:
|
|
||||||
Selects a key of a Secret in the namespace
|
|
||||||
that contains the credentials 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:
|
|
||||||
description:
|
|
||||||
"Defines the authentication type. The value
|
|
||||||
is case-insensitive. \n \"Basic\" is not a supported value.
|
|
||||||
\n Default: \"Bearer\""
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
basicAuth:
|
|
||||||
description:
|
|
||||||
"`basicAuth` configures the Basic Authentication
|
|
||||||
credentials to use when scraping the target. \n Cannot be
|
|
||||||
set at the same time as `authorization`, or `oauth2`."
|
|
||||||
properties:
|
|
||||||
password:
|
|
||||||
description:
|
|
||||||
"`password` specifies a key of a Secret containing
|
|
||||||
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:
|
|
||||||
"`username` specifies a key of a Secret containing
|
|
||||||
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
|
|
||||||
bearerTokenSecret:
|
|
||||||
description:
|
|
||||||
"`bearerTokenSecret` specifies a key of a Secret
|
|
||||||
containing the bearer token for scraping targets. The secret
|
|
||||||
needs to be in the same namespace as the PodMonitor object
|
|
||||||
and readable by the Prometheus Operator. \n Deprecated: use
|
|
||||||
`authorization` instead."
|
|
||||||
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
|
|
||||||
enableHttp2:
|
|
||||||
description:
|
|
||||||
"`enableHttp2` can be used to disable HTTP2 when
|
|
||||||
scraping the target."
|
|
||||||
type: boolean
|
|
||||||
filterRunning:
|
|
||||||
description:
|
|
||||||
"When true, the pods which are not running (e.g.
|
|
||||||
either in Failed or Succeeded state) are dropped during the
|
|
||||||
target discovery. \n If unset, the filtering is enabled. \n
|
|
||||||
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase"
|
|
||||||
type: boolean
|
|
||||||
followRedirects:
|
|
||||||
description:
|
|
||||||
"`followRedirects` defines whether the scrape requests
|
|
||||||
should follow HTTP 3xx redirects."
|
|
||||||
type: boolean
|
|
||||||
honorLabels:
|
|
||||||
description:
|
|
||||||
When true, `honorLabels` preserves the metric's
|
|
||||||
labels when they collide with the target's labels.
|
|
||||||
type: boolean
|
|
||||||
honorTimestamps:
|
|
||||||
description:
|
|
||||||
"`honorTimestamps` controls whether Prometheus
|
|
||||||
preserves the timestamps when exposed by the target."
|
|
||||||
type: boolean
|
|
||||||
interval:
|
|
||||||
description:
|
|
||||||
"Interval at which Prometheus scrapes the metrics
|
|
||||||
from the target. \n If empty, Prometheus uses the global scrape
|
|
||||||
interval."
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
metricRelabelings:
|
|
||||||
description:
|
|
||||||
"`metricRelabelings` configures the relabeling
|
|
||||||
rules to apply to the samples before ingestion."
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
"RelabelConfig allows dynamic rewriting of the
|
|
||||||
label set for targets, alerts, scraped samples and remote
|
|
||||||
write samples. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
||||||
properties:
|
|
||||||
action:
|
|
||||||
default: replace
|
|
||||||
description:
|
|
||||||
"Action to perform based on the regex matching.
|
|
||||||
\n `Uppercase` and `Lowercase` actions require Prometheus
|
|
||||||
>= v2.36.0. `DropEqual` and `KeepEqual` actions require
|
|
||||||
Prometheus >= v2.41.0. \n Default: \"Replace\""
|
|
||||||
enum:
|
|
||||||
- replace
|
|
||||||
- Replace
|
|
||||||
- keep
|
|
||||||
- Keep
|
|
||||||
- drop
|
|
||||||
- Drop
|
|
||||||
- hashmod
|
|
||||||
- HashMod
|
|
||||||
- labelmap
|
|
||||||
- LabelMap
|
|
||||||
- labeldrop
|
|
||||||
- LabelDrop
|
|
||||||
- labelkeep
|
|
||||||
- LabelKeep
|
|
||||||
- lowercase
|
|
||||||
- Lowercase
|
|
||||||
- uppercase
|
|
||||||
- Uppercase
|
|
||||||
- keepequal
|
|
||||||
- KeepEqual
|
|
||||||
- dropequal
|
|
||||||
- DropEqual
|
|
||||||
type: string
|
|
||||||
modulus:
|
|
||||||
description:
|
|
||||||
"Modulus to take of the hash of the source
|
|
||||||
label values. \n Only applicable when the action is
|
|
||||||
`HashMod`."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
regex:
|
|
||||||
description:
|
|
||||||
Regular expression against which the extracted
|
|
||||||
value is matched.
|
|
||||||
type: string
|
|
||||||
replacement:
|
|
||||||
description:
|
|
||||||
"Replacement value against which a Replace
|
|
||||||
action is performed if the regular expression matches.
|
|
||||||
\n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
separator:
|
|
||||||
description:
|
|
||||||
Separator is the string between concatenated
|
|
||||||
SourceLabels.
|
|
||||||
type: string
|
|
||||||
sourceLabels:
|
|
||||||
description:
|
|
||||||
The source labels select values from existing
|
|
||||||
labels. Their content is concatenated using the configured
|
|
||||||
Separator and matched against the configured regular
|
|
||||||
expression.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
LabelName is a valid Prometheus label name
|
|
||||||
which may only contain ASCII letters, numbers, as
|
|
||||||
well as underscores.
|
|
||||||
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
targetLabel:
|
|
||||||
description:
|
|
||||||
"Label to which the resulting string is written
|
|
||||||
in a replacement. \n It is mandatory for `Replace`,
|
|
||||||
`HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and
|
|
||||||
`DropEqual` actions. \n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
oauth2:
|
|
||||||
description:
|
|
||||||
"`oauth2` configures the OAuth2 settings to use
|
|
||||||
when scraping the target. \n It requires Prometheus >= 2.27.0.
|
|
||||||
\n Cannot be set at the same time as `authorization`, or `basicAuth`."
|
|
||||||
properties:
|
|
||||||
clientId:
|
|
||||||
description:
|
|
||||||
"`clientId` specifies a key of a Secret or
|
|
||||||
ConfigMap containing the OAuth2 client's 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:
|
|
||||||
"`clientSecret` specifies a key of a Secret
|
|
||||||
containing the OAuth2 client's 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:
|
|
||||||
"`endpointParams` configures the HTTP parameters
|
|
||||||
to append to the token URL."
|
|
||||||
type: object
|
|
||||||
scopes:
|
|
||||||
description:
|
|
||||||
"`scopes` defines the OAuth2 scopes used for
|
|
||||||
the token request."
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
tokenUrl:
|
|
||||||
description:
|
|
||||||
"`tokenURL` configures the URL to fetch the
|
|
||||||
token from."
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- clientId
|
|
||||||
- clientSecret
|
|
||||||
- tokenUrl
|
|
||||||
type: object
|
|
||||||
params:
|
|
||||||
additionalProperties:
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
description: "`params` define optional HTTP URL parameters."
|
|
||||||
type: object
|
|
||||||
path:
|
|
||||||
description:
|
|
||||||
"HTTP path from which to scrape for metrics. \n
|
|
||||||
If empty, Prometheus uses the default value (e.g. `/metrics`)."
|
|
||||||
type: string
|
|
||||||
port:
|
|
||||||
description:
|
|
||||||
"Name of the Pod port which this endpoint refers
|
|
||||||
to. \n It takes precedence over `targetPort`."
|
|
||||||
type: string
|
|
||||||
proxyUrl:
|
|
||||||
description:
|
|
||||||
'`proxyURL` configures the HTTP Proxy URL (e.g.
|
|
||||||
"http://proxyserver:2195") to go through when scraping the
|
|
||||||
target.'
|
|
||||||
type: string
|
|
||||||
relabelings:
|
|
||||||
description:
|
|
||||||
"`relabelings` configures the relabeling rules
|
|
||||||
to apply the target's metadata labels. \n The Operator automatically
|
|
||||||
adds relabelings for a few standard Kubernetes fields. \n
|
|
||||||
The original scrape job's name is available via the `__tmp_prometheus_job_name`
|
|
||||||
label. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
"RelabelConfig allows dynamic rewriting of the
|
|
||||||
label set for targets, alerts, scraped samples and remote
|
|
||||||
write samples. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
||||||
properties:
|
|
||||||
action:
|
|
||||||
default: replace
|
|
||||||
description:
|
|
||||||
"Action to perform based on the regex matching.
|
|
||||||
\n `Uppercase` and `Lowercase` actions require Prometheus
|
|
||||||
>= v2.36.0. `DropEqual` and `KeepEqual` actions require
|
|
||||||
Prometheus >= v2.41.0. \n Default: \"Replace\""
|
|
||||||
enum:
|
|
||||||
- replace
|
|
||||||
- Replace
|
|
||||||
- keep
|
|
||||||
- Keep
|
|
||||||
- drop
|
|
||||||
- Drop
|
|
||||||
- hashmod
|
|
||||||
- HashMod
|
|
||||||
- labelmap
|
|
||||||
- LabelMap
|
|
||||||
- labeldrop
|
|
||||||
- LabelDrop
|
|
||||||
- labelkeep
|
|
||||||
- LabelKeep
|
|
||||||
- lowercase
|
|
||||||
- Lowercase
|
|
||||||
- uppercase
|
|
||||||
- Uppercase
|
|
||||||
- keepequal
|
|
||||||
- KeepEqual
|
|
||||||
- dropequal
|
|
||||||
- DropEqual
|
|
||||||
type: string
|
|
||||||
modulus:
|
|
||||||
description:
|
|
||||||
"Modulus to take of the hash of the source
|
|
||||||
label values. \n Only applicable when the action is
|
|
||||||
`HashMod`."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
regex:
|
|
||||||
description:
|
|
||||||
Regular expression against which the extracted
|
|
||||||
value is matched.
|
|
||||||
type: string
|
|
||||||
replacement:
|
|
||||||
description:
|
|
||||||
"Replacement value against which a Replace
|
|
||||||
action is performed if the regular expression matches.
|
|
||||||
\n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
separator:
|
|
||||||
description:
|
|
||||||
Separator is the string between concatenated
|
|
||||||
SourceLabels.
|
|
||||||
type: string
|
|
||||||
sourceLabels:
|
|
||||||
description:
|
|
||||||
The source labels select values from existing
|
|
||||||
labels. Their content is concatenated using the configured
|
|
||||||
Separator and matched against the configured regular
|
|
||||||
expression.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
LabelName is a valid Prometheus label name
|
|
||||||
which may only contain ASCII letters, numbers, as
|
|
||||||
well as underscores.
|
|
||||||
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
targetLabel:
|
|
||||||
description:
|
|
||||||
"Label to which the resulting string is written
|
|
||||||
in a replacement. \n It is mandatory for `Replace`,
|
|
||||||
`HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and
|
|
||||||
`DropEqual` actions. \n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
scheme:
|
|
||||||
description:
|
|
||||||
"HTTP scheme to use for scraping. \n `http` and
|
|
||||||
`https` are the expected values unless you rewrite the `__scheme__`
|
|
||||||
label via relabeling. \n If empty, Prometheus uses the default
|
|
||||||
value `http`."
|
|
||||||
enum:
|
|
||||||
- http
|
|
||||||
- https
|
|
||||||
type: string
|
|
||||||
scrapeTimeout:
|
|
||||||
description:
|
|
||||||
"Timeout after which Prometheus considers the scrape
|
|
||||||
to be failed. \n If empty, Prometheus uses the global scrape
|
|
||||||
timeout unless it is less than the target's scrape interval
|
|
||||||
value in which the latter is used."
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
targetPort:
|
|
||||||
anyOf:
|
|
||||||
- type: integer
|
|
||||||
- type: string
|
|
||||||
description:
|
|
||||||
"Name or number of the target port of the `Pod`
|
|
||||||
object behind the Service, the port must be specified with
|
|
||||||
container port property. \n Deprecated: use 'port' instead."
|
|
||||||
x-kubernetes-int-or-string: true
|
|
||||||
tlsConfig:
|
|
||||||
description: TLS configuration to use when scraping the target.
|
|
||||||
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
|
|
||||||
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
|
|
||||||
insecureSkipVerify:
|
|
||||||
description: Disable target certificate validation.
|
|
||||||
type: boolean
|
|
||||||
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
|
|
||||||
trackTimestampsStaleness:
|
|
||||||
description:
|
|
||||||
"`trackTimestampsStaleness` defines whether Prometheus
|
|
||||||
tracks staleness of the metrics that have an explicit timestamp
|
|
||||||
present in scraped data. Has no effect if `honorTimestamps`
|
|
||||||
is false. \n It requires Prometheus >= v2.48.0."
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
podTargetLabels:
|
|
||||||
description:
|
|
||||||
"`podTargetLabels` defines the labels which are transferred
|
|
||||||
from the associated Kubernetes `Pod` object onto the ingested metrics."
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
sampleLimit:
|
|
||||||
description:
|
|
||||||
"`sampleLimit` defines a per-scrape limit on the number
|
|
||||||
of scraped samples that will be accepted."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
selector:
|
|
||||||
description: Label selector to select the Kubernetes `Pod` objects.
|
|
||||||
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
|
|
||||||
targetLimit:
|
|
||||||
description:
|
|
||||||
"`targetLimit` defines a limit on the number of scraped
|
|
||||||
targets that will be accepted."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
required:
|
|
||||||
- selector
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
|
@ -1,143 +0,0 @@
|
||||||
---
|
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.13.0
|
|
||||||
operator.prometheus.io/version: 0.69.1
|
|
||||||
name: prometheusrules.monitoring.coreos.com
|
|
||||||
spec:
|
|
||||||
group: monitoring.coreos.com
|
|
||||||
names:
|
|
||||||
categories:
|
|
||||||
- prometheus-operator
|
|
||||||
kind: PrometheusRule
|
|
||||||
listKind: PrometheusRuleList
|
|
||||||
plural: prometheusrules
|
|
||||||
shortNames:
|
|
||||||
- promrule
|
|
||||||
singular: prometheusrule
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- name: v1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description:
|
|
||||||
PrometheusRule defines recording and alerting rules for a Prometheus
|
|
||||||
instance
|
|
||||||
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: Specification of desired alerting rule definitions for Prometheus.
|
|
||||||
properties:
|
|
||||||
groups:
|
|
||||||
description: Content of Prometheus rule file
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
RuleGroup is a list of sequentially evaluated recording
|
|
||||||
and alerting rules.
|
|
||||||
properties:
|
|
||||||
interval:
|
|
||||||
description:
|
|
||||||
Interval determines how often rules in the group
|
|
||||||
are evaluated.
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
limit:
|
|
||||||
description:
|
|
||||||
Limit the number of alerts an alerting rule and
|
|
||||||
series a recording rule can produce. Limit is supported starting
|
|
||||||
with Prometheus >= 2.31 and Thanos Ruler >= 0.24.
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: Name of the rule group.
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
partial_response_strategy:
|
|
||||||
description:
|
|
||||||
"PartialResponseStrategy is only used by ThanosRuler
|
|
||||||
and will be ignored by Prometheus instances. More info: https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response"
|
|
||||||
pattern: ^(?i)(abort|warn)?$
|
|
||||||
type: string
|
|
||||||
rules:
|
|
||||||
description: List of alerting and recording rules.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
"Rule describes an alerting or recording rule
|
|
||||||
See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
|
|
||||||
or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)
|
|
||||||
rule"
|
|
||||||
properties:
|
|
||||||
alert:
|
|
||||||
description:
|
|
||||||
Name of the alert. Must be a valid label
|
|
||||||
value. Only one of `record` and `alert` must be set.
|
|
||||||
type: string
|
|
||||||
annotations:
|
|
||||||
additionalProperties:
|
|
||||||
type: string
|
|
||||||
description:
|
|
||||||
Annotations to add to each alert. Only valid
|
|
||||||
for alerting rules.
|
|
||||||
type: object
|
|
||||||
expr:
|
|
||||||
anyOf:
|
|
||||||
- type: integer
|
|
||||||
- type: string
|
|
||||||
description: PromQL expression to evaluate.
|
|
||||||
x-kubernetes-int-or-string: true
|
|
||||||
for:
|
|
||||||
description:
|
|
||||||
Alerts are considered firing once they have
|
|
||||||
been returned for this long.
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
keep_firing_for:
|
|
||||||
description:
|
|
||||||
KeepFiringFor defines how long an alert will
|
|
||||||
continue firing after the condition that triggered it
|
|
||||||
has cleared.
|
|
||||||
minLength: 1
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
labels:
|
|
||||||
additionalProperties:
|
|
||||||
type: string
|
|
||||||
description: Labels to add or overwrite.
|
|
||||||
type: object
|
|
||||||
record:
|
|
||||||
description:
|
|
||||||
Name of the time series to output to. Must
|
|
||||||
be a valid metric name. Only one of `record` and `alert`
|
|
||||||
must be set.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- expr
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
x-kubernetes-list-map-keys:
|
|
||||||
- name
|
|
||||||
x-kubernetes-list-type: map
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
|
@ -1,853 +0,0 @@
|
||||||
---
|
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.13.0
|
|
||||||
operator.prometheus.io/version: 0.69.1
|
|
||||||
name: servicemonitors.monitoring.coreos.com
|
|
||||||
spec:
|
|
||||||
group: monitoring.coreos.com
|
|
||||||
names:
|
|
||||||
categories:
|
|
||||||
- prometheus-operator
|
|
||||||
kind: ServiceMonitor
|
|
||||||
listKind: ServiceMonitorList
|
|
||||||
plural: servicemonitors
|
|
||||||
shortNames:
|
|
||||||
- smon
|
|
||||||
singular: servicemonitor
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- name: v1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: ServiceMonitor defines monitoring for a set of services.
|
|
||||||
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:
|
|
||||||
Specification of desired Service selection for target discovery
|
|
||||||
by Prometheus.
|
|
||||||
properties:
|
|
||||||
attachMetadata:
|
|
||||||
description:
|
|
||||||
"`attachMetadata` defines additional metadata which is
|
|
||||||
added to the discovered targets. \n It requires Prometheus >= v2.37.0."
|
|
||||||
properties:
|
|
||||||
node:
|
|
||||||
description:
|
|
||||||
When set to true, Prometheus must have the `get`
|
|
||||||
permission on the `Nodes` objects.
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
endpoints:
|
|
||||||
description: List of endpoints part of this ServiceMonitor.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
Endpoint defines an endpoint serving Prometheus metrics
|
|
||||||
to be scraped by Prometheus.
|
|
||||||
properties:
|
|
||||||
authorization:
|
|
||||||
description:
|
|
||||||
"`authorization` configures the Authorization header
|
|
||||||
credentials to use when scraping the target. \n Cannot be
|
|
||||||
set at the same time as `basicAuth`, or `oauth2`."
|
|
||||||
properties:
|
|
||||||
credentials:
|
|
||||||
description:
|
|
||||||
Selects a key of a Secret in the namespace
|
|
||||||
that contains the credentials 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:
|
|
||||||
description:
|
|
||||||
"Defines the authentication type. The value
|
|
||||||
is case-insensitive. \n \"Basic\" is not a supported value.
|
|
||||||
\n Default: \"Bearer\""
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
basicAuth:
|
|
||||||
description:
|
|
||||||
"`basicAuth` configures the Basic Authentication
|
|
||||||
credentials to use when scraping the target. \n Cannot be
|
|
||||||
set at the same time as `authorization`, or `oauth2`."
|
|
||||||
properties:
|
|
||||||
password:
|
|
||||||
description:
|
|
||||||
"`password` specifies a key of a Secret containing
|
|
||||||
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:
|
|
||||||
"`username` specifies a key of a Secret containing
|
|
||||||
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
|
|
||||||
bearerTokenFile:
|
|
||||||
description:
|
|
||||||
"File to read bearer token for scraping the target.
|
|
||||||
\n Deprecated: use `authorization` instead."
|
|
||||||
type: string
|
|
||||||
bearerTokenSecret:
|
|
||||||
description:
|
|
||||||
"`bearerTokenSecret` specifies a key of a Secret
|
|
||||||
containing the bearer token for scraping targets. The secret
|
|
||||||
needs to be in the same namespace as the ServiceMonitor object
|
|
||||||
and readable by the Prometheus Operator. \n Deprecated: use
|
|
||||||
`authorization` instead."
|
|
||||||
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
|
|
||||||
enableHttp2:
|
|
||||||
description:
|
|
||||||
"`enableHttp2` can be used to disable HTTP2 when
|
|
||||||
scraping the target."
|
|
||||||
type: boolean
|
|
||||||
filterRunning:
|
|
||||||
description:
|
|
||||||
"When true, the pods which are not running (e.g.
|
|
||||||
either in Failed or Succeeded state) are dropped during the
|
|
||||||
target discovery. \n If unset, the filtering is enabled. \n
|
|
||||||
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase"
|
|
||||||
type: boolean
|
|
||||||
followRedirects:
|
|
||||||
description:
|
|
||||||
"`followRedirects` defines whether the scrape requests
|
|
||||||
should follow HTTP 3xx redirects."
|
|
||||||
type: boolean
|
|
||||||
honorLabels:
|
|
||||||
description:
|
|
||||||
When true, `honorLabels` preserves the metric's
|
|
||||||
labels when they collide with the target's labels.
|
|
||||||
type: boolean
|
|
||||||
honorTimestamps:
|
|
||||||
description:
|
|
||||||
"`honorTimestamps` controls whether Prometheus
|
|
||||||
preserves the timestamps when exposed by the target."
|
|
||||||
type: boolean
|
|
||||||
interval:
|
|
||||||
description:
|
|
||||||
"Interval at which Prometheus scrapes the metrics
|
|
||||||
from the target. \n If empty, Prometheus uses the global scrape
|
|
||||||
interval."
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
metricRelabelings:
|
|
||||||
description:
|
|
||||||
"`metricRelabelings` configures the relabeling
|
|
||||||
rules to apply to the samples before ingestion."
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
"RelabelConfig allows dynamic rewriting of the
|
|
||||||
label set for targets, alerts, scraped samples and remote
|
|
||||||
write samples. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
||||||
properties:
|
|
||||||
action:
|
|
||||||
default: replace
|
|
||||||
description:
|
|
||||||
"Action to perform based on the regex matching.
|
|
||||||
\n `Uppercase` and `Lowercase` actions require Prometheus
|
|
||||||
>= v2.36.0. `DropEqual` and `KeepEqual` actions require
|
|
||||||
Prometheus >= v2.41.0. \n Default: \"Replace\""
|
|
||||||
enum:
|
|
||||||
- replace
|
|
||||||
- Replace
|
|
||||||
- keep
|
|
||||||
- Keep
|
|
||||||
- drop
|
|
||||||
- Drop
|
|
||||||
- hashmod
|
|
||||||
- HashMod
|
|
||||||
- labelmap
|
|
||||||
- LabelMap
|
|
||||||
- labeldrop
|
|
||||||
- LabelDrop
|
|
||||||
- labelkeep
|
|
||||||
- LabelKeep
|
|
||||||
- lowercase
|
|
||||||
- Lowercase
|
|
||||||
- uppercase
|
|
||||||
- Uppercase
|
|
||||||
- keepequal
|
|
||||||
- KeepEqual
|
|
||||||
- dropequal
|
|
||||||
- DropEqual
|
|
||||||
type: string
|
|
||||||
modulus:
|
|
||||||
description:
|
|
||||||
"Modulus to take of the hash of the source
|
|
||||||
label values. \n Only applicable when the action is
|
|
||||||
`HashMod`."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
regex:
|
|
||||||
description:
|
|
||||||
Regular expression against which the extracted
|
|
||||||
value is matched.
|
|
||||||
type: string
|
|
||||||
replacement:
|
|
||||||
description:
|
|
||||||
"Replacement value against which a Replace
|
|
||||||
action is performed if the regular expression matches.
|
|
||||||
\n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
separator:
|
|
||||||
description:
|
|
||||||
Separator is the string between concatenated
|
|
||||||
SourceLabels.
|
|
||||||
type: string
|
|
||||||
sourceLabels:
|
|
||||||
description:
|
|
||||||
The source labels select values from existing
|
|
||||||
labels. Their content is concatenated using the configured
|
|
||||||
Separator and matched against the configured regular
|
|
||||||
expression.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
LabelName is a valid Prometheus label name
|
|
||||||
which may only contain ASCII letters, numbers, as
|
|
||||||
well as underscores.
|
|
||||||
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
targetLabel:
|
|
||||||
description:
|
|
||||||
"Label to which the resulting string is written
|
|
||||||
in a replacement. \n It is mandatory for `Replace`,
|
|
||||||
`HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and
|
|
||||||
`DropEqual` actions. \n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
oauth2:
|
|
||||||
description:
|
|
||||||
"`oauth2` configures the OAuth2 settings to use
|
|
||||||
when scraping the target. \n It requires Prometheus >= 2.27.0.
|
|
||||||
\n Cannot be set at the same time as `authorization`, or `basicAuth`."
|
|
||||||
properties:
|
|
||||||
clientId:
|
|
||||||
description:
|
|
||||||
"`clientId` specifies a key of a Secret or
|
|
||||||
ConfigMap containing the OAuth2 client's 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:
|
|
||||||
"`clientSecret` specifies a key of a Secret
|
|
||||||
containing the OAuth2 client's 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:
|
|
||||||
"`endpointParams` configures the HTTP parameters
|
|
||||||
to append to the token URL."
|
|
||||||
type: object
|
|
||||||
scopes:
|
|
||||||
description:
|
|
||||||
"`scopes` defines the OAuth2 scopes used for
|
|
||||||
the token request."
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
tokenUrl:
|
|
||||||
description:
|
|
||||||
"`tokenURL` configures the URL to fetch the
|
|
||||||
token from."
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- clientId
|
|
||||||
- clientSecret
|
|
||||||
- tokenUrl
|
|
||||||
type: object
|
|
||||||
params:
|
|
||||||
additionalProperties:
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
description: params define optional HTTP URL parameters.
|
|
||||||
type: object
|
|
||||||
path:
|
|
||||||
description:
|
|
||||||
"HTTP path from which to scrape for metrics. \n
|
|
||||||
If empty, Prometheus uses the default value (e.g. `/metrics`)."
|
|
||||||
type: string
|
|
||||||
port:
|
|
||||||
description:
|
|
||||||
"Name of the Service port which this endpoint refers
|
|
||||||
to. \n It takes precedence over `targetPort`."
|
|
||||||
type: string
|
|
||||||
proxyUrl:
|
|
||||||
description:
|
|
||||||
'`proxyURL` configures the HTTP Proxy URL (e.g.
|
|
||||||
"http://proxyserver:2195") to go through when scraping the
|
|
||||||
target.'
|
|
||||||
type: string
|
|
||||||
relabelings:
|
|
||||||
description:
|
|
||||||
"`relabelings` configures the relabeling rules
|
|
||||||
to apply the target's metadata labels. \n The Operator automatically
|
|
||||||
adds relabelings for a few standard Kubernetes fields. \n
|
|
||||||
The original scrape job's name is available via the `__tmp_prometheus_job_name`
|
|
||||||
label. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
"RelabelConfig allows dynamic rewriting of the
|
|
||||||
label set for targets, alerts, scraped samples and remote
|
|
||||||
write samples. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
||||||
properties:
|
|
||||||
action:
|
|
||||||
default: replace
|
|
||||||
description:
|
|
||||||
"Action to perform based on the regex matching.
|
|
||||||
\n `Uppercase` and `Lowercase` actions require Prometheus
|
|
||||||
>= v2.36.0. `DropEqual` and `KeepEqual` actions require
|
|
||||||
Prometheus >= v2.41.0. \n Default: \"Replace\""
|
|
||||||
enum:
|
|
||||||
- replace
|
|
||||||
- Replace
|
|
||||||
- keep
|
|
||||||
- Keep
|
|
||||||
- drop
|
|
||||||
- Drop
|
|
||||||
- hashmod
|
|
||||||
- HashMod
|
|
||||||
- labelmap
|
|
||||||
- LabelMap
|
|
||||||
- labeldrop
|
|
||||||
- LabelDrop
|
|
||||||
- labelkeep
|
|
||||||
- LabelKeep
|
|
||||||
- lowercase
|
|
||||||
- Lowercase
|
|
||||||
- uppercase
|
|
||||||
- Uppercase
|
|
||||||
- keepequal
|
|
||||||
- KeepEqual
|
|
||||||
- dropequal
|
|
||||||
- DropEqual
|
|
||||||
type: string
|
|
||||||
modulus:
|
|
||||||
description:
|
|
||||||
"Modulus to take of the hash of the source
|
|
||||||
label values. \n Only applicable when the action is
|
|
||||||
`HashMod`."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
regex:
|
|
||||||
description:
|
|
||||||
Regular expression against which the extracted
|
|
||||||
value is matched.
|
|
||||||
type: string
|
|
||||||
replacement:
|
|
||||||
description:
|
|
||||||
"Replacement value against which a Replace
|
|
||||||
action is performed if the regular expression matches.
|
|
||||||
\n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
separator:
|
|
||||||
description:
|
|
||||||
Separator is the string between concatenated
|
|
||||||
SourceLabels.
|
|
||||||
type: string
|
|
||||||
sourceLabels:
|
|
||||||
description:
|
|
||||||
The source labels select values from existing
|
|
||||||
labels. Their content is concatenated using the configured
|
|
||||||
Separator and matched against the configured regular
|
|
||||||
expression.
|
|
||||||
items:
|
|
||||||
description:
|
|
||||||
LabelName is a valid Prometheus label name
|
|
||||||
which may only contain ASCII letters, numbers, as
|
|
||||||
well as underscores.
|
|
||||||
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
targetLabel:
|
|
||||||
description:
|
|
||||||
"Label to which the resulting string is written
|
|
||||||
in a replacement. \n It is mandatory for `Replace`,
|
|
||||||
`HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and
|
|
||||||
`DropEqual` actions. \n Regex capture groups are available."
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
scheme:
|
|
||||||
description:
|
|
||||||
"HTTP scheme to use for scraping. \n `http` and
|
|
||||||
`https` are the expected values unless you rewrite the `__scheme__`
|
|
||||||
label via relabeling. \n If empty, Prometheus uses the default
|
|
||||||
value `http`."
|
|
||||||
enum:
|
|
||||||
- http
|
|
||||||
- https
|
|
||||||
type: string
|
|
||||||
scrapeTimeout:
|
|
||||||
description:
|
|
||||||
"Timeout after which Prometheus considers the scrape
|
|
||||||
to be failed. \n If empty, Prometheus uses the global scrape
|
|
||||||
timeout unless it is less than the target's scrape interval
|
|
||||||
value in which the latter is used."
|
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
||||||
type: string
|
|
||||||
targetPort:
|
|
||||||
anyOf:
|
|
||||||
- type: integer
|
|
||||||
- type: string
|
|
||||||
description:
|
|
||||||
"Name or number of the target port of the `Pod`
|
|
||||||
object behind the Service, the port must be specified with
|
|
||||||
container port property. \n Deprecated: use `port` instead."
|
|
||||||
x-kubernetes-int-or-string: true
|
|
||||||
tlsConfig:
|
|
||||||
description: TLS configuration to use when scraping the target.
|
|
||||||
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
|
|
||||||
trackTimestampsStaleness:
|
|
||||||
description:
|
|
||||||
"`trackTimestampsStaleness` defines whether Prometheus
|
|
||||||
tracks staleness of the metrics that have an explicit timestamp
|
|
||||||
present in scraped data. Has no effect if `honorTimestamps`
|
|
||||||
is false. \n It requires Prometheus >= v2.48.0."
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
jobLabel:
|
|
||||||
description:
|
|
||||||
"`jobLabel` selects the label from the associated Kubernetes
|
|
||||||
`Service` object which will be used as the `job` label for all metrics.
|
|
||||||
\n For example if `jobLabel` is set to `foo` and the Kubernetes
|
|
||||||
`Service` object is labeled with `foo: bar`, then Prometheus adds
|
|
||||||
the `job=\"bar\"` label to all ingested metrics. \n If the value
|
|
||||||
of this field is empty or if the label doesn't exist for the given
|
|
||||||
Service, the `job` label of the metrics defaults to the name of
|
|
||||||
the associated Kubernetes `Service`."
|
|
||||||
type: string
|
|
||||||
keepDroppedTargets:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on the number of targets dropped by
|
|
||||||
relabeling that will be kept in memory. 0 means no limit. \n It
|
|
||||||
requires Prometheus >= v2.47.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
labelLimit:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on number of labels that will be accepted
|
|
||||||
for a sample. \n It requires Prometheus >= v2.27.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
labelNameLengthLimit:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on length of labels name that will
|
|
||||||
be accepted for a sample. \n It requires Prometheus >= v2.27.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
labelValueLengthLimit:
|
|
||||||
description:
|
|
||||||
"Per-scrape limit on length of labels value that will
|
|
||||||
be accepted for a sample. \n It requires Prometheus >= v2.27.0."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
namespaceSelector:
|
|
||||||
description:
|
|
||||||
Selector to select which namespaces the Kubernetes `Endpoints`
|
|
||||||
objects are discovered from.
|
|
||||||
properties:
|
|
||||||
any:
|
|
||||||
description:
|
|
||||||
Boolean describing whether all namespaces are selected
|
|
||||||
in contrast to a list restricting them.
|
|
||||||
type: boolean
|
|
||||||
matchNames:
|
|
||||||
description: List of namespace names to select from.
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
type: object
|
|
||||||
podTargetLabels:
|
|
||||||
description:
|
|
||||||
"`podTargetLabels` defines the labels which are transferred
|
|
||||||
from the associated Kubernetes `Pod` object onto the ingested metrics."
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
sampleLimit:
|
|
||||||
description:
|
|
||||||
"`sampleLimit` defines a per-scrape limit on the number
|
|
||||||
of scraped samples that will be accepted."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
selector:
|
|
||||||
description: Label selector to select the Kubernetes `Endpoints` objects.
|
|
||||||
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
|
|
||||||
targetLabels:
|
|
||||||
description:
|
|
||||||
"`targetLabels` defines the labels which are transferred
|
|
||||||
from the associated Kubernetes `Service` object onto the ingested
|
|
||||||
metrics."
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
targetLimit:
|
|
||||||
description:
|
|
||||||
"`targetLimit` defines a limit on the number of scraped
|
|
||||||
targets that will be accepted."
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
required:
|
|
||||||
- selector
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue