"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 contains the specification for a BGPPeer resource.",
"description":"Option to keep the original nexthop field when routes are sent to a BGP Peer. Setting \"true\" configures the selected BGP Peers node to use the \"next hop keep;\" instead of \"next hop self;\"(default) in the specific branch of the Node on \"bird.cfg\".",
"type":"boolean"
},
"maxRestartTime":{
"description":"Time to allow for software restart. When specified, this is configured as the graceful restart timeout. When not specified, the BIRD default of 120s is used.",
"type":"string"
},
"node":{
"description":"The node name identifying the Calico node instance that is targeted by this peer. If this is not set, and no nodeSelector is specified, then this BGP peer selects all nodes in the cluster.",
"type":"string"
},
"nodeSelector":{
"description":"Selector for the nodes that should have this peering. When this is set, the Node field must be empty.",
"description":"Maximum number of local AS numbers that are allowed in the AS path for received routes. This removes BGP loop prevention and should only be used if absolutely necessary.",
"description":"Optional BGP password for the peerings generated by this BGPPeer resource.",
"properties":{
"secretKeyRef":{
"description":"Selects a key of a secret in the node pod's namespace.",
"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",
"additionalProperties":false
}
},
"type":"object",
"additionalProperties":false
},
"peerIP":{
"description":"The IP address of the peer followed by an optional port number to peer with. If port number is given, format should be `[<IPv6>]:port` or `<IPv4>:<port>` for IPv4. If optional port number is not set, and this peer IP and ASNumber belongs to a calico/node with ListenPort set in BGPConfiguration, then we use that port to peer.",
"type":"string"
},
"peerSelector":{
"description":"Selector for the remote nodes to peer with. When this is set, the PeerIP and ASNumber fields must be empty. For each peering between the local node and selected remote nodes, we configure an IPv4 peering if both ends have NodeBGPSpec.IPv4Address specified, and an IPv6 peering if both ends have NodeBGPSpec.IPv6Address specified. The remote AS number comes from the remote node's NodeBGPSpec.ASNumber, or the global default if that is not set.",
"type":"string"
},
"reachableBy":{
"description":"Add an exact, i.e. /32, static route toward peer IP in order to prevent route flapping. ReachableBy contains the address of the gateway which peer can be reached by.",
"type":"string"
},
"sourceAddress":{
"description":"Specifies whether and how to configure a source address for the peerings generated by this BGPPeer resource. Default value \"UseNodeIP\" means to configure the node IP as the source address. \"None\" means not to configure a source address.",
"type":"string"
},
"ttlSecurity":{
"description":"TTLSecurity enables the generalized TTL security mechanism (GTSM) which protects against spoofed packets by ignoring received packets with a smaller than expected TTL value. The provided value is the number of hops (edges) between the peers.",