diff --git a/metallb/Makefile b/metallb/Makefile index 7048b68a..6234cbfe 100644 --- a/metallb/Makefile +++ b/metallb/Makefile @@ -1,6 +1,6 @@ .PHONY: get-upstream -version=v0.14.5 +version=v0.14.9 cluster_resources=ClusterRole|ClusterRoleBinding|CustomResourceDefinition|ValidatingWebhookConfiguration namespaced_resources=DaemonSet|Deployment|Role|RoleBinding|Secret|Service|ServiceAccount diff --git a/metallb/cluster/upstream.yaml b/metallb/cluster/upstream.yaml index 90da0bda..51438862 100644 --- a/metallb/cluster/upstream.yaml +++ b/metallb/cluster/upstream.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: bfdprofiles.metallb.io spec: group: metallb.io @@ -123,7 +123,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: bgpadvertisements.metallb.io spec: group: metallb.io @@ -235,11 +235,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -299,11 +301,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -336,7 +340,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: bgppeers.metallb.io spec: conversion: @@ -372,6 +376,8 @@ spec: - jsonPath: .spec.ebgpMultiHop name: Multi Hops type: string + deprecated: true + deprecationWarning: v1beta1 is deprecated, please use v1beta2 name: v1beta1 schema: openAPIV3Schema: @@ -539,10 +545,31 @@ spec: description: To set if we want to disable MP BGP that will separate IPv4 and IPv6 route exchanges into distinct BGP sessions. type: boolean + dynamicASN: + description: |- + DynamicASN detects the AS number to use for the remote end of the session + without explicitly setting it via the ASN field. Limited to: + internal - if the neighbor's ASN is different than MyASN connection is denied. + external - if the neighbor's ASN is the same as MyASN the connection is denied. + ASN and DynamicASN are mutually exclusive and one of them must be specified. + enum: + - internal + - external + type: string ebgpMultiHop: description: To set if the BGPPeer is multi-hops away. Needed for FRR mode only. type: boolean + enableGracefulRestart: + description: |- + EnableGracefulRestart allows BGP peer to continue to forward data packets + along known routes while the routing protocol information is being + restored. This field is immutable because it requires restart of the BGP + session. Supported for FRR mode only. + type: boolean + x-kubernetes-validations: + - message: EnableGracefulRestart cannot be changed after creation + rule: self == oldSelf holdTime: description: Requested BGP hold time, per RFC4271. type: string @@ -591,11 +618,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -629,7 +658,9 @@ spec: type: object x-kubernetes-map-type: atomic peerASN: - description: AS number to expect from the remote end of the session. + description: |- + AS number to expect from the remote end of the session. + ASN and DynamicASN are mutually exclusive and one of them must be specified. format: int32 maximum: 4294967295 minimum: 0 @@ -656,7 +687,6 @@ spec: type: string required: - myASN - - peerASN - peerAddress type: object status: @@ -672,7 +702,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: communities.metallb.io spec: group: metallb.io @@ -737,7 +767,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: ipaddresspools.metallb.io spec: group: metallb.io @@ -852,11 +882,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -914,11 +946,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -949,7 +983,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: l2advertisements.metallb.io spec: group: metallb.io @@ -1044,11 +1078,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1102,11 +1138,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1132,7 +1170,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.3 name: servicel2statuses.metallb.io spec: group: metallb.io @@ -1147,6 +1185,12 @@ spec: - jsonPath: .status.node name: Allocated Node type: string + - jsonPath: .status.serviceName + name: Service Name + type: string + - jsonPath: .status.serviceNamespace + name: Service Namespace + type: string name: v1beta1 schema: openAPIV3Schema: @@ -1190,6 +1234,21 @@ spec: node: description: Node indicates the node that receives the directed traffic type: string + x-kubernetes-validations: + - message: Value is immutable + rule: self == oldSelf + serviceName: + description: ServiceName indicates the service this status represents + type: string + x-kubernetes-validations: + - message: Value is immutable + rule: self == oldSelf + serviceNamespace: + description: ServiceNamespace indicates the namespace of the service + type: string + x-kubernetes-validations: + - message: Value is immutable + rule: self == oldSelf type: object type: object served: true @@ -1246,7 +1305,6 @@ rules: - metallb-webhook-configuration resources: - validatingwebhookconfigurations - - mutatingwebhookconfigurations verbs: - create - delete @@ -1259,7 +1317,6 @@ rules: - admissionregistration.k8s.io resources: - validatingwebhookconfigurations - - mutatingwebhookconfigurations verbs: - list - watch diff --git a/metallb/namespaced/upstream.yaml b/metallb/namespaced/upstream.yaml index e0d87645..fdfe8dcf 100644 --- a/metallb/namespaced/upstream.yaml +++ b/metallb/namespaced/upstream.yaml @@ -112,6 +112,7 @@ rules: - pods verbs: - list + - get - apiGroups: - "" resources: @@ -260,7 +261,7 @@ spec: value: memberlist - name: METALLB_DEPLOYMENT value: controller - image: quay.io/metallb/controller:v0.14.5 + image: quay.io/metallb/controller:v0.14.9 livenessProbe: failureThreshold: 3 httpGet: @@ -341,6 +342,10 @@ spec: valueFrom: fieldRef: fieldPath: spec.nodeName + - name: METALLB_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name - name: METALLB_HOST valueFrom: fieldRef: @@ -353,7 +358,7 @@ spec: value: app=metallb,component=speaker - name: METALLB_ML_SECRET_KEY_PATH value: /etc/ml_secret_key - image: quay.io/metallb/speaker:v0.14.5 + image: quay.io/metallb/speaker:v0.14.9 livenessProbe: failureThreshold: 3 httpGet: