| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730 |
- ---
- # Source: metallb/templates/service-accounts.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: metallb-controller
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: controller
- ---
- # Source: metallb/templates/service-accounts.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: metallb-speaker
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: speaker
- ---
- # Source: metallb/templates/webhooks.yaml
- apiVersion: v1
- kind: Secret
- metadata:
- name: webhook-server-cert
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: addresspools.metallb.io
- spec:
- group: metallb.io
- names:
- kind: AddressPool
- listKind: AddressPoolList
- plural: addresspools
- singular: addresspool
- scope: Namespaced
- conversion:
- strategy: Webhook
- webhook:
- conversionReviewVersions: ["v1alpha1", "v1beta1"]
- clientConfig:
- # this is a valid pem format, otherwise the apiserver will reject the deletion of the crds
- # with "unable to parse bytes as PEM block", The controller will patch it with the right content after it starts
- caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGWlRDQ0EwMmdBd0lCQWdJVU5GRW1XcTM3MVpKdGkrMmlSQzk1WmpBV1MxZ3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3UWpFTE1Ba0dBMVVFQmhNQ1dGZ3hGVEFUQmdOVkJBY01ERVJsWm1GMWJIUWdRMmwwZVRFY01Cb0dBMVVFDQpDZ3dUUkdWbVlYVnNkQ0JEYjIxd1lXNTVJRXgwWkRBZUZ3MHlNakEzTVRrd09UTXlNek5hRncweU1qQTRNVGd3DQpPVE15TXpOYU1FSXhDekFKQmdOVkJBWVRBbGhZTVJVd0V3WURWUVFIREF4RVpXWmhkV3gwSUVOcGRIa3hIREFhDQpCZ05WQkFvTUUwUmxabUYxYkhRZ1EyOXRjR0Z1ZVNCTWRHUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDDQpEd0F3Z2dJS0FvSUNBUUNxVFpxMWZRcC9vYkdlenhES0o3OVB3Ny94azJwellualNzMlkzb1ZYSm5sRmM4YjVlDQpma2ZZQnY2bndscW1keW5PL2phWFBaQmRQSS82aFdOUDBkdVhadEtWU0NCUUpyZzEyOGNXb3F0MGNTN3pLb1VpDQpvcU1tQ0QvRXVBeFFNZjhRZDF2c1gvVllkZ0poVTZBRXJLZEpIaXpFOUJtUkNkTDBGMW1OVW55Rk82UnRtWFZUDQpidkxsTDVYeTc2R0FaQVBLOFB4aVlDa0NtbDdxN0VnTWNiOXlLWldCYmlxQ3VkTXE5TGJLNmdKNzF6YkZnSXV4DQo1L1pXK2JraTB2RlplWk9ZODUxb1psckFUNzJvMDI4NHNTWW9uN0pHZVZkY3NoUnh5R1VpSFpSTzdkaXZVTDVTDQpmM2JmSDFYbWY1ZDQzT0NWTWRuUUV2NWVaOG8zeWVLa3ZrbkZQUGVJMU9BbjdGbDlFRVNNR2dhOGFaSG1URSttDQpsLzlMSmdDYjBnQmtPT0M0WnV4bWh2aERKV1EzWnJCS3pMQlNUZXN0NWlLNVlwcXRWVVk2THRyRW9FelVTK1lsDQpwWndXY2VQWHlHeHM5ZURsR3lNVmQraW15Y3NTU1UvVno2Mmx6MnZCS21NTXBkYldDQWhud0RsRTVqU2dyMjRRDQp0eGNXLys2N3d5KzhuQlI3UXdqVTFITndVRjBzeERWdEwrZ1NHVERnSEVZSlhZelYvT05zMy94TkpoVFNPSkxNDQpoeXNVdyttaGdackdhbUdXcHVIVU1DUitvTWJzMTc1UkcrQjJnUFFHVytPTjJnUTRyOXN2b0ZBNHBBQm8xd1dLDQpRYjRhY3pmeVVscElBOVFoSmFsZEY3S3dPSHVlV3gwRUNrNXg0T2tvVDBvWVp0dzFiR0JjRGtaSmF3SURBUUFCDQpvMU13VVRBZEJnTlZIUTRFRmdRVW90UlNIUm9IWTEyRFZ4R0NCdEhpb1g2ZmVFQXdId1lEVlIwakJCZ3dGb0FVDQpvdFJTSFJvSFkxMkRWeEdDQnRIaW9YNmZlRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCDQpBUXNGQUFPQ0FnRUFSbkpsWWRjMTFHd0VxWnh6RDF2R3BDR2pDN2VWTlQ3aVY1d3IybXlybHdPYi9aUWFEa0xYDQpvVStaOVVXT1VlSXJTdzUydDdmQUpvVVAwSm5iYkMveVIrU1lqUGhvUXNiVHduOTc2ZldBWTduM3FMOXhCd1Y0DQphek41OXNjeUp0dlhMeUtOL2N5ak1ReDRLajBIMFg0bWJ6bzVZNUtzWWtYVU0vOEFPdWZMcEd0S1NGVGgrSEFDDQpab1Q5YnZHS25adnNHd0tYZFF0Wnh0akhaUjVqK3U3ZGtQOTJBT051RFNabS8rWVV4b2tBK09JbzdSR3BwSHNXDQo1ZTdNY0FTVXRtb1FORXd6dVFoVkJaRWQ1OGtKYjUrV0VWbGNzanlXNnRTbzErZ25tTWNqR1BsMWgxR2hVbjV4DQpFY0lWRnBIWXM5YWo1NmpBSjk1MVQvZjhMaWxmTlVnanBLQ0c1bnl0SUt3emxhOHNtdGlPdm1UNEpYbXBwSkI2DQo4bmdHRVluVjUrUTYwWFJ2OEhSSGp1VG9CRHVhaERrVDA2R1JGODU1d09FR2V4bkZpMXZYWUxLVllWb1V2MXRKDQo4dVdUR1pwNllDSVJldlBqbzg5ZytWTlJSaVFYUThJd0dybXE5c0RoVTlqTjA0SjdVL1RvRDFpNHE3VnlsRUc5DQorV1VGNkNLaEdBeTJIaEhwVncyTGFoOS9lUzdZMUZ1YURrWmhPZG1laG1BOCtqdHNZamJadnR5Mm1SWlF0UUZzDQpUU1VUUjREbUR2bVVPRVRmeStpRHdzK2RkWXVNTnJGeVVYV2dkMnpBQU4ydVl1UHFGY2pRcFNPODFzVTJTU3R3DQoxVzAyeUtYOGJEYmZFdjBzbUh3UzliQnFlSGo5NEM1Mjg0YXpsdTBmaUdpTm1OUEM4ckJLRmhBPQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
- service:
- namespace: default
- name: metallb-webhook-service
- path: /convert
- versions:
- - deprecated: true
- deprecationWarning: metallb.io v1alpha1 AddressPool is deprecated
- name: v1alpha1
- schema:
- openAPIV3Schema:
- description: AddressPool is the Schema for the addresspools 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: AddressPoolSpec defines the desired state of AddressPool.
- properties:
- addresses:
- description: A list of IP address ranges over which MetalLB has authority.
- You can list multiple ranges in a single pool, they will all share
- the same settings. Each range can be either a CIDR prefix, or an
- explicit start-end range of IPs.
- items:
- type: string
- type: array
- autoAssign:
- default: true
- description: AutoAssign flag used to prevent MetallB from automatic
- allocation for a pool.
- type: boolean
- bgpAdvertisements:
- description: When an IP is allocated from this pool, how should it
- be translated into BGP announcements?
- items:
- properties:
- aggregationLength:
- default: 32
- description: The aggregation-length advertisement option lets
- you “roll up” the /32s into a larger prefix.
- format: int32
- minimum: 1
- type: integer
- aggregationLengthV6:
- default: 128
- description: Optional, defaults to 128 (i.e. no aggregation)
- if not specified.
- format: int32
- type: integer
- communities:
- description: BGP communities
- items:
- type: string
- type: array
- localPref:
- description: BGP LOCAL_PREF attribute which is used by BGP best
- path algorithm, Path with higher localpref is preferred over
- one with lower localpref.
- format: int32
- type: integer
- type: object
- type: array
- protocol:
- description: Protocol can be used to select how the announcement is
- done.
- enum:
- - layer2
- - bgp
- type: string
- required:
- - addresses
- - protocol
- type: object
- status:
- description: AddressPoolStatus defines the observed state of AddressPool.
- type: object
- required:
- - spec
- type: object
- served: true
- storage: false
- subresources:
- status: {}
- - deprecated: true
- deprecationWarning: metallb.io v1beta1 AddressPool is deprecated, consider using
- IPAddressPool
- name: v1beta1
- schema:
- openAPIV3Schema:
- description: AddressPool represents a pool of IP addresses that can be allocated
- to LoadBalancer services. AddressPool is deprecated and being replaced by
- IPAddressPool.
- 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: AddressPoolSpec defines the desired state of AddressPool.
- properties:
- addresses:
- description: A list of IP address ranges over which MetalLB has authority.
- You can list multiple ranges in a single pool, they will all share
- the same settings. Each range can be either a CIDR prefix, or an
- explicit start-end range of IPs.
- items:
- type: string
- type: array
- autoAssign:
- default: true
- description: AutoAssign flag used to prevent MetallB from automatic
- allocation for a pool.
- type: boolean
- bgpAdvertisements:
- description: Drives how an IP allocated from this pool should translated
- into BGP announcements.
- items:
- properties:
- aggregationLength:
- default: 32
- description: The aggregation-length advertisement option lets
- you “roll up” the /32s into a larger prefix.
- format: int32
- minimum: 1
- type: integer
- aggregationLengthV6:
- default: 128
- description: Optional, defaults to 128 (i.e. no aggregation)
- if not specified.
- format: int32
- type: integer
- communities:
- description: BGP communities to be associated with the given
- advertisement.
- items:
- type: string
- type: array
- localPref:
- description: BGP LOCAL_PREF attribute which is used by BGP best
- path algorithm, Path with higher localpref is preferred over
- one with lower localpref.
- format: int32
- type: integer
- type: object
- type: array
- protocol:
- description: Protocol can be used to select how the announcement is
- done.
- enum:
- - layer2
- - bgp
- type: string
- required:
- - addresses
- - protocol
- type: object
- status:
- description: AddressPoolStatus defines the observed state of AddressPool.
- type: object
- required:
- - spec
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: bfdprofiles.metallb.io
- spec:
- group: metallb.io
- names:
- kind: BFDProfile
- listKind: BFDProfileList
- plural: bfdprofiles
- singular: bfdprofile
- scope: Namespaced
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: BFDProfile represents the settings of the bfd session that can
- be optionally associated with a BGP session.
- 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: BFDProfileSpec defines the desired state of BFDProfile.
- properties:
- detectMultiplier:
- description: Configures the detection multiplier to determine packet
- loss. The remote transmission interval will be multiplied by this
- value to determine the connection loss detection timer.
- format: int32
- maximum: 255
- minimum: 2
- type: integer
- echoInterval:
- description: Configures the minimal echo receive transmission interval
- that this system is capable of handling in milliseconds. Defaults
- to 50ms
- format: int32
- maximum: 60000
- minimum: 10
- type: integer
- echoMode:
- description: Enables or disables the echo transmission mode. This
- mode is disabled by default, and not supported on multi hops setups.
- type: boolean
- minimumTtl:
- description: 'For multi hop sessions only: configure the minimum expected
- TTL for an incoming BFD control packet.'
- format: int32
- maximum: 254
- minimum: 1
- type: integer
- passiveMode:
- description: 'Mark session as passive: a passive session will not
- attempt to start the connection and will wait for control packets
- from peer before it begins replying.'
- type: boolean
- receiveInterval:
- description: The minimum interval that this system is capable of receiving
- control packets in milliseconds. Defaults to 300ms.
- format: int32
- maximum: 60000
- minimum: 10
- type: integer
- transmitInterval:
- description: The minimum transmission interval (less jitter) that
- this system wants to use to send BFD control packets in milliseconds.
- Defaults to 300ms
- format: int32
- maximum: 60000
- minimum: 10
- type: integer
- type: object
- status:
- description: BFDProfileStatus defines the observed state of BFDProfile.
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: bgpadvertisements.metallb.io
- spec:
- group: metallb.io
- names:
- kind: BGPAdvertisement
- listKind: BGPAdvertisementList
- plural: bgpadvertisements
- singular: bgpadvertisement
- scope: Namespaced
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: BGPAdvertisement allows to advertise the IPs coming from the
- selected IPAddressPools via BGP, setting the parameters of the BGP Advertisement.
- 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: BGPAdvertisementSpec defines the desired state of BGPAdvertisement.
- properties:
- aggregationLength:
- default: 32
- description: The aggregation-length advertisement option lets you
- “roll up” the /32s into a larger prefix. Defaults to 32. Works for
- IPv4 addresses.
- format: int32
- minimum: 1
- type: integer
- aggregationLengthV6:
- default: 128
- description: The aggregation-length advertisement option lets you
- “roll up” the /128s into a larger prefix. Defaults to 128. Works
- for IPv6 addresses.
- format: int32
- type: integer
- communities:
- description: The BGP communities to be associated with the announcement.
- Each item can be a community of the form 1234:1234 or the name of
- an alias defined in the Community CRD.
- items:
- type: string
- type: array
- ipAddressPoolSelectors:
- description: A selector for the IPAddressPools which would get advertised
- via this advertisement. If no IPAddressPool is selected by this
- or by the list, the advertisement is applied to all the IPAddressPools.
- 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
- 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
- type: array
- ipAddressPools:
- description: The list of IPAddressPools to advertise via this advertisement,
- selected by name.
- items:
- type: string
- type: array
- localPref:
- description: The BGP LOCAL_PREF attribute which is used by BGP best
- path algorithm, Path with higher localpref is preferred over one
- with lower localpref.
- format: int32
- type: integer
- nodeSelectors:
- description: NodeSelectors allows to limit the nodes to announce as
- next hops for the LoadBalancer IP. When empty, all the nodes having are
- announced as next hops.
- 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
- 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
- type: array
- peers:
- description: Peers limits the bgppeer to advertise the ips of the
- selected pools to. When empty, the loadbalancer IP is announced
- to all the BGPPeers configured.
- items:
- type: string
- type: array
- type: object
- status:
- description: BGPAdvertisementStatus defines the observed state of BGPAdvertisement.
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: bgppeers.metallb.io
- spec:
- group: metallb.io
- names:
- kind: BGPPeer
- listKind: BGPPeerList
- plural: bgppeers
- singular: bgppeer
- scope: Namespaced
- conversion:
- strategy: Webhook
- webhook:
- conversionReviewVersions: ["v1beta1", "v1beta2"]
- clientConfig:
- # this is a valid pem format, otherwise the apiserver will reject the deletion of the crds
- # with "unable to parse bytes as PEM block", The controller will patch it with the right content after it starts
- caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGWlRDQ0EwMmdBd0lCQWdJVU5GRW1XcTM3MVpKdGkrMmlSQzk1WmpBV1MxZ3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3UWpFTE1Ba0dBMVVFQmhNQ1dGZ3hGVEFUQmdOVkJBY01ERVJsWm1GMWJIUWdRMmwwZVRFY01Cb0dBMVVFDQpDZ3dUUkdWbVlYVnNkQ0JEYjIxd1lXNTVJRXgwWkRBZUZ3MHlNakEzTVRrd09UTXlNek5hRncweU1qQTRNVGd3DQpPVE15TXpOYU1FSXhDekFKQmdOVkJBWVRBbGhZTVJVd0V3WURWUVFIREF4RVpXWmhkV3gwSUVOcGRIa3hIREFhDQpCZ05WQkFvTUUwUmxabUYxYkhRZ1EyOXRjR0Z1ZVNCTWRHUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDDQpEd0F3Z2dJS0FvSUNBUUNxVFpxMWZRcC9vYkdlenhES0o3OVB3Ny94azJwellualNzMlkzb1ZYSm5sRmM4YjVlDQpma2ZZQnY2bndscW1keW5PL2phWFBaQmRQSS82aFdOUDBkdVhadEtWU0NCUUpyZzEyOGNXb3F0MGNTN3pLb1VpDQpvcU1tQ0QvRXVBeFFNZjhRZDF2c1gvVllkZ0poVTZBRXJLZEpIaXpFOUJtUkNkTDBGMW1OVW55Rk82UnRtWFZUDQpidkxsTDVYeTc2R0FaQVBLOFB4aVlDa0NtbDdxN0VnTWNiOXlLWldCYmlxQ3VkTXE5TGJLNmdKNzF6YkZnSXV4DQo1L1pXK2JraTB2RlplWk9ZODUxb1psckFUNzJvMDI4NHNTWW9uN0pHZVZkY3NoUnh5R1VpSFpSTzdkaXZVTDVTDQpmM2JmSDFYbWY1ZDQzT0NWTWRuUUV2NWVaOG8zeWVLa3ZrbkZQUGVJMU9BbjdGbDlFRVNNR2dhOGFaSG1URSttDQpsLzlMSmdDYjBnQmtPT0M0WnV4bWh2aERKV1EzWnJCS3pMQlNUZXN0NWlLNVlwcXRWVVk2THRyRW9FelVTK1lsDQpwWndXY2VQWHlHeHM5ZURsR3lNVmQraW15Y3NTU1UvVno2Mmx6MnZCS21NTXBkYldDQWhud0RsRTVqU2dyMjRRDQp0eGNXLys2N3d5KzhuQlI3UXdqVTFITndVRjBzeERWdEwrZ1NHVERnSEVZSlhZelYvT05zMy94TkpoVFNPSkxNDQpoeXNVdyttaGdackdhbUdXcHVIVU1DUitvTWJzMTc1UkcrQjJnUFFHVytPTjJnUTRyOXN2b0ZBNHBBQm8xd1dLDQpRYjRhY3pmeVVscElBOVFoSmFsZEY3S3dPSHVlV3gwRUNrNXg0T2tvVDBvWVp0dzFiR0JjRGtaSmF3SURBUUFCDQpvMU13VVRBZEJnTlZIUTRFRmdRVW90UlNIUm9IWTEyRFZ4R0NCdEhpb1g2ZmVFQXdId1lEVlIwakJCZ3dGb0FVDQpvdFJTSFJvSFkxMkRWeEdDQnRIaW9YNmZlRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCDQpBUXNGQUFPQ0FnRUFSbkpsWWRjMTFHd0VxWnh6RDF2R3BDR2pDN2VWTlQ3aVY1d3IybXlybHdPYi9aUWFEa0xYDQpvVStaOVVXT1VlSXJTdzUydDdmQUpvVVAwSm5iYkMveVIrU1lqUGhvUXNiVHduOTc2ZldBWTduM3FMOXhCd1Y0DQphek41OXNjeUp0dlhMeUtOL2N5ak1ReDRLajBIMFg0bWJ6bzVZNUtzWWtYVU0vOEFPdWZMcEd0S1NGVGgrSEFDDQpab1Q5YnZHS25adnNHd0tYZFF0Wnh0akhaUjVqK3U3ZGtQOTJBT051RFNabS8rWVV4b2tBK09JbzdSR3BwSHNXDQo1ZTdNY0FTVXRtb1FORXd6dVFoVkJaRWQ1OGtKYjUrV0VWbGNzanlXNnRTbzErZ25tTWNqR1BsMWgxR2hVbjV4DQpFY0lWRnBIWXM5YWo1NmpBSjk1MVQvZjhMaWxmTlVnanBLQ0c1bnl0SUt3emxhOHNtdGlPdm1UNEpYbXBwSkI2DQo4bmdHRVluVjUrUTYwWFJ2OEhSSGp1VG9CRHVhaERrVDA2R1JGODU1d09FR2V4bkZpMXZYWUxLVllWb1V2MXRKDQo4dVdUR1pwNllDSVJldlBqbzg5ZytWTlJSaVFYUThJd0dybXE5c0RoVTlqTjA0SjdVL1RvRDFpNHE3VnlsRUc5DQorV1VGNkNLaEdBeTJIaEhwVncyTGFoOS9lUzdZMUZ1YURrWmhPZG1laG1BOCtqdHNZamJadnR5Mm1SWlF0UUZzDQpUU1VUUjREbUR2bVVPRVRmeStpRHdzK2RkWXVNTnJGeVVYV2dkMnpBQU4ydVl1UHFGY2pRcFNPODFzVTJTU3R3DQoxVzAyeUtYOGJEYmZFdjBzbUh3UzliQnFlSGo5NEM1Mjg0YXpsdTBmaUdpTm1OUEM4ckJLRmhBPQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
- service:
- namespace: default
- name: metallb-webhook-service
- path: /convert
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- 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:
- type: string
- ebgpMultiHop:
- description: EBGP peer is multi-hops away
- 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:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- minItems: 1
- type: array
- required:
- - key
- - operator
- - values
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: array
- password:
- description: Authentication password for routers enforcing TCP MD5
- authenticated sessions
- type: string
- 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:
- 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
- required:
- - myASN
- - peerASN
- - peerAddress
- type: object
- status:
- description: BGPPeerStatus defines the observed state of Peer.
- type: object
- type: object
- served: true
- storage: false
- subresources:
- status: {}
- - name: v1beta2
- schema:
- openAPIV3Schema:
- 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
- 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
- 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
- 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
- required:
- - myASN
- - peerASN
- - peerAddress
- type: object
- status:
- description: BGPPeerStatus defines the observed state of Peer.
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- ---
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: ipaddresspools.metallb.io
- spec:
- group: metallb.io
- names:
- kind: IPAddressPool
- listKind: IPAddressPoolList
- plural: ipaddresspools
- singular: ipaddresspool
- scope: Namespaced
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: IPAddressPool represents a pool of IP addresses that can be allocated
- to LoadBalancer 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: IPAddressPoolSpec defines the desired state of IPAddressPool.
- properties:
- addresses:
- description: A list of IP address ranges over which MetalLB has authority.
- You can list multiple ranges in a single pool, they will all share
- the same settings. Each range can be either a CIDR prefix, or an
- explicit start-end range of IPs.
- items:
- type: string
- type: array
- autoAssign:
- default: true
- description: AutoAssign flag used to prevent MetallB from automatic
- allocation for a pool.
- type: boolean
- avoidBuggyIPs:
- default: false
- description: AvoidBuggyIPs prevents addresses ending with .0 and .255
- to be used by a pool.
- type: boolean
- required:
- - addresses
- type: object
- status:
- description: IPAddressPoolStatus defines the observed state of IPAddressPool.
- type: object
- required:
- - spec
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: l2advertisements.metallb.io
- spec:
- group: metallb.io
- names:
- kind: L2Advertisement
- listKind: L2AdvertisementList
- plural: l2advertisements
- singular: l2advertisement
- scope: Namespaced
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: L2Advertisement allows to advertise the LoadBalancer IPs provided
- by the selected pools via L2.
- 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: L2AdvertisementSpec defines the desired state of L2Advertisement.
- properties:
- interfaces:
- description: A list of interfaces to announce from. The LB IP will
- be announced only from these interfaces. If the field is not set,
- we advertise from all the interfaces on the host.
- items:
- type: string
- type: array
- ipAddressPoolSelectors:
- description: A selector for the IPAddressPools which would get advertised
- via this advertisement. If no IPAddressPool is selected by this
- or by the list, the advertisement is applied to all the IPAddressPools.
- 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
- 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
- type: array
- ipAddressPools:
- description: The list of IPAddressPools to advertise via this advertisement,
- selected by name.
- items:
- type: string
- type: array
- nodeSelectors:
- description: NodeSelectors allows to limit the nodes to announce as
- next hops for the LoadBalancer IP. When empty, all the nodes having are
- announced as next hops.
- 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
- 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
- type: array
- type: object
- status:
- description: L2AdvertisementStatus defines the observed state of L2Advertisement.
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/charts/crds/templates/crds.yaml
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.7.0
- creationTimestamp: null
- name: communities.metallb.io
- spec:
- group: metallb.io
- names:
- kind: Community
- listKind: CommunityList
- plural: communities
- singular: community
- scope: Namespaced
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: Community is a collection of aliases for communities. Users can
- define named aliases to be used in the BGPPeer CRD.
- 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: CommunitySpec defines the desired state of Community.
- properties:
- communities:
- items:
- properties:
- name:
- description: The name of the alias for the community.
- type: string
- value:
- description: The BGP community value corresponding to the given
- name.
- type: string
- type: object
- type: array
- type: object
- status:
- description: CommunityStatus defines the observed state of Community.
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRole
- metadata:
- name: metallb:controller
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- rules:
- - apiGroups: [""]
- resources: ["services"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["services/status"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["create", "delete", "get", "list", "patch", "update", "watch"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["create", "delete", "get", "list", "patch", "update", "watch"]
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRole
- metadata:
- name: metallb:speaker
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- rules:
- - apiGroups: [""]
- resources: ["services", "endpoints", "nodes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["discovery.k8s.io"]
- resources: ["endpointslices"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRoleBinding
- metadata:
- name: metallb:controller
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- subjects:
- - kind: ServiceAccount
- name: metallb-controller
- namespace: default
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: metallb:controller
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRoleBinding
- metadata:
- name: metallb:speaker
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- subjects:
- - kind: ServiceAccount
- name: metallb-speaker
- namespace: default
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: metallb:speaker
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: Role
- metadata:
- name: metallb-pod-lister
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- rules:
- - apiGroups: [""]
- resources: ["pods"]
- verbs: ["list"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["addresspools"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["bfdprofiles"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["bgppeers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["l2advertisements"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["bgpadvertisements"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["ipaddresspools"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["communities"]
- verbs: ["get", "list", "watch"]
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: Role
- metadata:
- name: metallb-controller
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- rules:
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames: ["metallb-memberlist"]
- verbs: ["list"]
- - apiGroups: ["apps"]
- resources: ["deployments"]
- resourceNames: ["metallb-controller"]
- verbs: ["get"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create", "delete", "get", "list", "patch", "update", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["addresspools"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["ipaddresspools"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["metallb.io"]
- resources: ["bgppeers"]
- verbs: ["get", "list"]
- - apiGroups: ["metallb.io"]
- resources: ["bgpadvertisements"]
- verbs: ["get", "list"]
- - apiGroups: ["metallb.io"]
- resources: ["l2advertisements"]
- verbs: ["get", "list"]
- - apiGroups: ["metallb.io"]
- resources: ["communities"]
- verbs: ["get", "list","watch"]
- - apiGroups: ["metallb.io"]
- resources: ["bfdprofiles"]
- verbs: ["get", "list","watch"]
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
- name: metallb-pod-lister
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: metallb-pod-lister
- subjects:
- - kind: ServiceAccount
- name: metallb-speaker
- ---
- # Source: metallb/templates/rbac.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
- name: metallb-controller
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: metallb-controller
- subjects:
- - kind: ServiceAccount
- name: metallb-controller
- ---
- # Source: metallb/templates/webhooks.yaml
- apiVersion: v1
- kind: Service
- metadata:
- name: metallb-webhook-service
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- spec:
- ports:
- - port: 443
- targetPort: 9443
- selector:
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/component: controller
- ---
- # Source: metallb/templates/speaker.yaml
- apiVersion: apps/v1
- kind: DaemonSet
- metadata:
- name: metallb-speaker
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: speaker
- spec:
- updateStrategy:
- type: RollingUpdate
- selector:
- matchLabels:
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/component: speaker
- template:
- metadata:
- labels:
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/component: speaker
- spec:
- serviceAccountName: metallb-speaker
- terminationGracePeriodSeconds: 0
- hostNetwork: true
- volumes:
- containers:
- - name: speaker
- image: quay.io/metallb/speaker:v0.13.7
- args:
- - --port=7472
- - --log-level=info
- env:
- - name: METALLB_NODE_NAME
- valueFrom:
- fieldRef:
- fieldPath: spec.nodeName
- - name: METALLB_HOST
- valueFrom:
- fieldRef:
- fieldPath: status.hostIP
- - name: METALLB_ML_BIND_ADDR
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: METALLB_ML_LABELS
- value: "app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker"
- - name: METALLB_ML_BIND_PORT
- value: "7946"
- - name: METALLB_ML_SECRET_KEY
- valueFrom:
- secretKeyRef:
- name: metallb-memberlist
- key: secretkey
- ports:
- - name: monitoring
- containerPort: 7472
- - name: memberlist-tcp
- containerPort: 7946
- protocol: TCP
- - name: memberlist-udp
- containerPort: 7946
- protocol: UDP
- livenessProbe:
- httpGet:
- path: /metrics
- port: monitoring
- initialDelaySeconds: 10
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /metrics
- port: monitoring
- initialDelaySeconds: 10
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- readOnlyRootFilesystem: true
- capabilities:
- drop:
- - ALL
- add:
- - NET_RAW
- nodeSelector:
- "kubernetes.io/os": linux
- tolerations:
- - key: node-role.kubernetes.io/master
- effect: NoSchedule
- operator: Exists
- - key: node-role.kubernetes.io/control-plane
- effect: NoSchedule
- operator: Exists
- ---
- # Source: metallb/templates/controller.yaml
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: metallb-controller
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: controller
- spec:
- strategy:
- type: RollingUpdate
- selector:
- matchLabels:
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/component: controller
- template:
- metadata:
- labels:
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/component: controller
- spec:
- serviceAccountName: metallb-controller
- terminationGracePeriodSeconds: 0
- securityContext:
- fsGroup: 65534
- runAsNonRoot: true
- runAsUser: 65534
- containers:
- - name: controller
- image: quay.io/metallb/controller:v0.13.7
- args:
- - --port=7472
- - --log-level=info
- - --cert-service-name=metallb-webhook-service
- env:
- - name: METALLB_ML_SECRET_NAME
- value: metallb-memberlist
- - name: METALLB_DEPLOYMENT
- value: metallb-controller
- ports:
- - name: monitoring
- containerPort: 7472
- - containerPort: 9443
- name: webhook-server
- protocol: TCP
- volumeMounts:
- - mountPath: /tmp/k8s-webhook-server/serving-certs
- name: cert
- readOnly: true
- livenessProbe:
- httpGet:
- path: /metrics
- port: monitoring
- initialDelaySeconds: 10
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /metrics
- port: monitoring
- initialDelaySeconds: 10
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- readOnlyRootFilesystem: true
- capabilities:
- drop:
- - ALL
- nodeSelector:
- "kubernetes.io/os": linux
- volumes:
- - name: cert
- secret:
- defaultMode: 420
- secretName: webhook-server-cert
- ---
- # Source: metallb/templates/webhooks.yaml
- apiVersion: admissionregistration.k8s.io/v1
- kind: ValidatingWebhookConfiguration
- metadata:
- name: metallb-webhook-configuration
- labels:
- helm.sh/chart: metallb-0.13.7
- app.kubernetes.io/name: metallb
- app.kubernetes.io/instance: metallb
- app.kubernetes.io/version: "v0.13.7"
- app.kubernetes.io/managed-by: Helm
- webhooks:
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta1-addresspool
- failurePolicy: Fail
- name: addresspoolvalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta1
- operations:
- - CREATE
- - UPDATE
- resources:
- - addresspools
- sideEffects: None
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta2-bgppeer
- failurePolicy: Fail
- name: bgppeervalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta2
- operations:
- - CREATE
- - UPDATE
- resources:
- - bgppeers
- sideEffects: None
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta1-ipaddresspool
- failurePolicy: Fail
- name: ipaddresspoolvalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta1
- operations:
- - CREATE
- - UPDATE
- resources:
- - ipaddresspools
- sideEffects: None
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta1-bgpadvertisement
- failurePolicy: Fail
- name: bgpadvertisementvalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta1
- operations:
- - CREATE
- - UPDATE
- resources:
- - bgpadvertisements
- sideEffects: None
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta1-community
- failurePolicy: Fail
- name: communityvalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta1
- operations:
- - CREATE
- - UPDATE
- resources:
- - communities
- sideEffects: None
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta1-bfdprofile
- failurePolicy: Fail
- name: bfdprofilevalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta1
- operations:
- - CREATE
- - DELETE
- resources:
- - bfdprofiles
- sideEffects: None
- - admissionReviewVersions:
- - v1
- clientConfig:
- service:
- name: metallb-webhook-service
- namespace: default
- path: /validate-metallb-io-v1beta1-l2advertisement
- failurePolicy: Fail
- name: l2advertisementvalidationwebhook.metallb.io
- rules:
- - apiGroups:
- - metallb.io
- apiVersions:
- - v1beta1
- operations:
- - CREATE
- - UPDATE
- resources:
- - l2advertisements
- sideEffects: None
|