Skip to content

Commit e3f07bc

Browse files
authored
MetalLB BGPPeer 0.15.3 update (#754)
1 parent c6a5cb8 commit e3f07bc

File tree

1 file changed

+70
-18
lines changed

1 file changed

+70
-18
lines changed

metallb.io/bgppeer_v1beta2.json

Lines changed: 70 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
"description": "BGPPeer is the Schema for the peers API.",
33
"properties": {
44
"apiVersion": {
5-
"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",
5+
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
66
"type": "string"
77
},
88
"kind": {
9-
"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",
9+
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
1010
"type": "string"
1111
},
1212
"metadata": {
@@ -19,14 +19,60 @@
1919
"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.",
2020
"type": "string"
2121
},
22+
"connectTime": {
23+
"description": "Requested BGP connect time, controls how long BGP waits between connection attempts to a neighbor.",
24+
"type": "string",
25+
"x-kubernetes-validations": [
26+
{
27+
"message": "connect time should be between 1 seconds to 65535",
28+
"rule": "duration(self).getSeconds() >= 1 && duration(self).getSeconds() <= 65535"
29+
},
30+
{
31+
"message": "connect time should contain a whole number of seconds",
32+
"rule": "duration(self).getMilliseconds() % 1000 == 0"
33+
}
34+
]
35+
},
36+
"disableMP": {
37+
"default": false,
38+
"description": "To set if we want to disable MP BGP that will separate IPv4 and IPv6 route exchanges into distinct BGP sessions.\nDeprecated: DisableMP is deprecated in favor of dualStackAddressFamily.",
39+
"type": "boolean"
40+
},
41+
"dualStackAddressFamily": {
42+
"default": false,
43+
"description": "To set if we want to enable the neighbor not only for the ipfamily related to its session,\nbut also the other one. This allows to advertise/receive IPv4 prefixes over IPv6 sessions and vice versa.",
44+
"type": "boolean"
45+
},
46+
"dynamicASN": {
47+
"description": "DynamicASN detects the AS number to use for the remote end of the session\nwithout explicitly setting it via the ASN field. Limited to:\ninternal - if the neighbor's ASN is different than MyASN connection is denied.\nexternal - if the neighbor's ASN is the same as MyASN the connection is denied.\nASN and DynamicASN are mutually exclusive and one of them must be specified.",
48+
"enum": [
49+
"internal",
50+
"external"
51+
],
52+
"type": "string"
53+
},
2254
"ebgpMultiHop": {
2355
"description": "To set if the BGPPeer is multi-hops away. Needed for FRR mode only.",
2456
"type": "boolean"
2557
},
58+
"enableGracefulRestart": {
59+
"description": "EnableGracefulRestart allows BGP peer to continue to forward data packets\nalong known routes while the routing protocol information is being\nrestored. This field is immutable because it requires restart of the BGP\nsession. Supported for FRR mode only.",
60+
"type": "boolean",
61+
"x-kubernetes-validations": [
62+
{
63+
"message": "EnableGracefulRestart cannot be changed after creation",
64+
"rule": "self == oldSelf"
65+
}
66+
]
67+
},
2668
"holdTime": {
2769
"description": "Requested BGP hold time, per RFC4271.",
2870
"type": "string"
2971
},
72+
"interface": {
73+
"description": "Interface is the node interface over which the unnumbered BGP peering will\nbe established. No API validation takes place as that string value\nrepresents an interface name on the host and if user provides an invalid\nvalue, only the actual BGP session will not be established.\nAddress and Interface are mutually exclusive and one of them must be specified.",
74+
"type": "string"
75+
},
3076
"keepaliveTime": {
3177
"description": "Requested BGP keepalive time, per RFC4271.",
3278
"type": "string"
@@ -39,29 +85,30 @@
3985
"type": "integer"
4086
},
4187
"nodeSelectors": {
42-
"description": "Only connect to this peer on nodes that match one of these selectors.",
88+
"description": "Only connect to this peer on nodes that match one of these\nselectors.",
4389
"items": {
44-
"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.",
90+
"description": "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects.",
4591
"properties": {
4692
"matchExpressions": {
4793
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
4894
"items": {
49-
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
95+
"description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
5096
"properties": {
5197
"key": {
5298
"description": "key is the label key that the selector applies to.",
5399
"type": "string"
54100
},
55101
"operator": {
56-
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
102+
"description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
57103
"type": "string"
58104
},
59105
"values": {
60-
"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.",
106+
"description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
61107
"items": {
62108
"type": "string"
63109
},
64-
"type": "array"
110+
"type": "array",
111+
"x-kubernetes-list-type": "atomic"
65112
}
66113
},
67114
"required": [
@@ -71,17 +118,19 @@
71118
"type": "object",
72119
"additionalProperties": false
73120
},
74-
"type": "array"
121+
"type": "array",
122+
"x-kubernetes-list-type": "atomic"
75123
},
76124
"matchLabels": {
77125
"additionalProperties": {
78126
"type": "string"
79127
},
80-
"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.",
128+
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
81129
"type": "object"
82130
}
83131
},
84132
"type": "object",
133+
"x-kubernetes-map-type": "atomic",
85134
"additionalProperties": false
86135
},
87136
"type": "array"
@@ -91,22 +140,23 @@
91140
"type": "string"
92141
},
93142
"passwordSecret": {
94-
"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\".",
143+
"description": "passwordSecret is name of the authentication secret for BGP Peer.\nthe secret must be of type \"kubernetes.io/basic-auth\", and created in the\nsame namespace as the MetalLB deployment. The password is stored in the\nsecret as the key \"password\".",
95144
"properties": {
96145
"name": {
97-
"description": "Name is unique within a namespace to reference a secret resource.",
146+
"description": "name is unique within a namespace to reference a secret resource.",
98147
"type": "string"
99148
},
100149
"namespace": {
101-
"description": "Namespace defines the space within which the secret name must be unique.",
150+
"description": "namespace defines the space within which the secret name must be unique.",
102151
"type": "string"
103152
}
104153
},
105154
"type": "object",
155+
"x-kubernetes-map-type": "atomic",
106156
"additionalProperties": false
107157
},
108158
"peerASN": {
109-
"description": "AS number to expect from the remote end of the session.",
159+
"description": "AS number to expect from the remote end of the session.\nASN and DynamicASN are mutually exclusive and one of them must be specified.",
110160
"format": "int32",
111161
"maximum": 4294967295,
112162
"minimum": 0,
@@ -120,7 +170,7 @@
120170
"default": 179,
121171
"description": "Port to dial when establishing the session.",
122172
"maximum": 16384,
123-
"minimum": 0,
173+
"minimum": 1,
124174
"type": "integer"
125175
},
126176
"routerID": {
@@ -130,12 +180,14 @@
130180
"sourceAddress": {
131181
"description": "Source address to use when establishing the session.",
132182
"type": "string"
183+
},
184+
"vrf": {
185+
"description": "To set if we want to peer with the BGPPeer using an interface belonging to\na host vrf",
186+
"type": "string"
133187
}
134188
},
135189
"required": [
136-
"myASN",
137-
"peerASN",
138-
"peerAddress"
190+
"myASN"
139191
],
140192
"type": "object",
141193
"additionalProperties": false

0 commit comments

Comments
 (0)