crds-catalog/metallb.io/bgppeer_v1beta2.json
2024-03-26 12:14:28 +00:00

156 lines
6.6 KiB
JSON

{
"description": "BGPPeer is the Schema for the peers API.",
"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": "BGPPeerSpec defines the desired state of Peer.",
"properties": {
"bfdProfile": {
"description": "The name of the BFD Profile to be used for the BFD session associated to the BGP session. If not set, the BFD session won't be set up.",
"type": "string"
},
"ebgpMultiHop": {
"description": "To set if the BGPPeer is multi-hops away. Needed for FRR mode only.",
"type": "boolean"
},
"holdTime": {
"description": "Requested BGP hold time, per RFC4271.",
"type": "string"
},
"keepaliveTime": {
"description": "Requested BGP keepalive time, per RFC4271.",
"type": "string"
},
"myASN": {
"description": "AS number to use for the local end of the session.",
"format": "int32",
"maximum": 4294967295,
"minimum": 0,
"type": "integer"
},
"nodeSelectors": {
"description": "Only connect to this peer on nodes that match one of these selectors.",
"items": {
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no 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",
"additionalProperties": false
},
"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",
"additionalProperties": false
},
"type": "array"
},
"password": {
"description": "Authentication password for routers enforcing TCP MD5 authenticated sessions",
"type": "string"
},
"passwordSecret": {
"description": "passwordSecret is name of the authentication secret for BGP Peer. the secret must be of type \"kubernetes.io/basic-auth\", and created in the same namespace as the MetalLB deployment. The password is stored in the secret as the key \"password\".",
"properties": {
"name": {
"description": "name is unique within a namespace to reference a secret resource.",
"type": "string"
},
"namespace": {
"description": "namespace defines the space within which the secret name must be unique.",
"type": "string"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"peerASN": {
"description": "AS number to expect from the remote end of the session.",
"format": "int32",
"maximum": 4294967295,
"minimum": 0,
"type": "integer"
},
"peerAddress": {
"description": "Address to dial when establishing the session.",
"type": "string"
},
"peerPort": {
"default": 179,
"description": "Port to dial when establishing the session.",
"maximum": 16384,
"minimum": 0,
"type": "integer"
},
"routerID": {
"description": "BGP router ID to advertise to the peer",
"type": "string"
},
"sourceAddress": {
"description": "Source address to use when establishing the session.",
"type": "string"
},
"vrf": {
"description": "To set if we want to peer with the BGPPeer using an interface belonging to a host vrf",
"type": "string"
}
},
"required": [
"myASN",
"peerASN",
"peerAddress"
],
"type": "object",
"additionalProperties": false
},
"status": {
"description": "BGPPeerStatus defines the observed state of Peer.",
"type": "object"
}
},
"type": "object"
}