chore(metallb): cleanup and move to enterprise train (#3740)
This commit is contained in:
@@ -2,21 +2,6 @@
|
||||
|
||||
|
||||
|
||||
## [metallb-3.0.0](https://github.com/truecharts/charts/compare/metallb-2.0.14...metallb-3.0.0) (2022-09-11)
|
||||
|
||||
### Chore
|
||||
|
||||
- Auto-update chart README [skip ci]
|
||||
- update helm general non-major ([#3711](https://github.com/truecharts/charts/issues/3711))
|
||||
- replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402))
|
||||
|
||||
### Feat
|
||||
|
||||
- update for v0.13 ([#3695](https://github.com/truecharts/charts/issues/3695))
|
||||
|
||||
|
||||
|
||||
|
||||
## [metallb-3.0.0](https://github.com/truecharts/charts/compare/metallb-2.0.14...metallb-3.0.0) (2022-09-11)
|
||||
|
||||
### Chore
|
||||
@@ -10,7 +10,7 @@ keywords:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.5.6
|
||||
version: 10.5.7
|
||||
- name: metallb
|
||||
repository: https://metallb.github.io/metallb
|
||||
version: 0.13.5
|
||||
@@ -25,7 +25,7 @@ sources:
|
||||
- https://github.com/metallb/metallb
|
||||
- https://metallb.universe.tf
|
||||
type: application
|
||||
version: 3.0.0
|
||||
version: 4.0.0
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- core
|
||||
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
@@ -0,0 +1,293 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
# Include{global}
|
||||
# Include{controller}
|
||||
- variable: ipAddressPools
|
||||
label: IP Address Pools Object
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: Name of the IP address pool
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: autoAssign
|
||||
label: Auto Assign
|
||||
description: AutoAssign flag used to prevent MetallB from automatic
|
||||
allocation for a pool.
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: avoidBuggyIPs
|
||||
label: Avoid Buggy IPs
|
||||
description: AvoidBuggyIPs prevents addresses ending with .0 and .255
|
||||
to be used by a pool.
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: addresses
|
||||
label: Addresses Pools
|
||||
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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: addressPoolEntry
|
||||
label: Address Pool Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: L2Advertisements
|
||||
label: L2 Advertisements
|
||||
description: L2Advertisement allows to advertise the LoadBalancer IPs provided
|
||||
by the selected pools via L2.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: Name of the L2 Advertisement
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: addressPools
|
||||
label: Address Pools
|
||||
description: The list of IPAddressPools to advertise via this advertisement,
|
||||
selected by name.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: addressPoolEntry
|
||||
label: Address Pool Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: nodeSelectors
|
||||
label: Node Selectors
|
||||
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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: nodeSelectorEntry
|
||||
label: Node Selector Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: Communities
|
||||
label: Communities
|
||||
description: Community is a collection of aliases for communities. Users can
|
||||
define named aliases to be used in the BGPPeer CRD.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: The name of the alias for the community.
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: value
|
||||
label: Value
|
||||
description: The BGP community value corresponding to the given name.
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: Peers
|
||||
label: Peers
|
||||
description: BGPPeer is the Schema for the peers API.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: The name of the peer.
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: bfdProfile
|
||||
label: BFD Profile
|
||||
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.
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: ebgpMultiHop
|
||||
label: EBGP MultiHop
|
||||
description: TTo set if the BGPPeer is multi-hops away. Needed for
|
||||
FRR mode only.
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: holdTime
|
||||
label: Hold Time
|
||||
description: Requested BGP hold time, per RFC4271.
|
||||
schema:
|
||||
type: int
|
||||
- variable: keepaliveTime
|
||||
label: Keep Alive Time
|
||||
description: Requested BGP keep alive time, per RFC4271.
|
||||
schema:
|
||||
type: int
|
||||
- variable: myASN
|
||||
label: My ASN
|
||||
description: AS number to use for the local end of the session.
|
||||
schema:
|
||||
type: int
|
||||
- variable: password
|
||||
label: Password
|
||||
description: Authentication password for routers enforcing TCP MD5
|
||||
authenticated sessions
|
||||
schema:
|
||||
type: string
|
||||
private: true
|
||||
default: ""
|
||||
- variable: peerASN
|
||||
label: Peer ASN
|
||||
description: AS number to expect from the remote end of the session.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: peerAddress
|
||||
label: Peer Address
|
||||
description: Address to dial when establishing the session.
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: peerPort
|
||||
label: Peer Port
|
||||
description: Port to dial when establishing the session.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: routerID
|
||||
label: Router ID
|
||||
description: BGP router ID to advertise to the peer
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: sourceAddress
|
||||
label: Source Address
|
||||
description: Source address to use when establishing the session.
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: nodeSelectors
|
||||
label: Node Selectors
|
||||
description: Only connect to this peer on nodes that match one of
|
||||
these selectors.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: nodeSelectorEntry
|
||||
label: Node Selector Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: BGPAdvertisements
|
||||
label: BGP Advertisements
|
||||
description: BGPAdvertisement allows to advertise the IPs coming from the
|
||||
selected IPAddressPools via BGP.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: Name of the BGP Advertisement
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: addressPools
|
||||
label: Address Pools
|
||||
description: The list of IPAddressPools to advertise via this advertisement,
|
||||
selected by name.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: addressPoolEntry
|
||||
label: Address Pool Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: aggregationLength
|
||||
label: Aggregation Length
|
||||
description: The aggregation-length advertisement option lets you
|
||||
"roll up" the /32s into a larger prefix. Defaults to 32. Works for
|
||||
IPv4 addresses.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: localpref
|
||||
label: Local Pref
|
||||
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.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: communities
|
||||
label: 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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: communityEntry
|
||||
label: Community Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: peers
|
||||
label: 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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: peerEntry
|
||||
label: Peer Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
+2
-13
@@ -1,17 +1,9 @@
|
||||
{{- define "metallb.bgpadv" -}}
|
||||
|
||||
{{ $namespace := .Release.Namespace }}
|
||||
|
||||
{{- if .Values.metallb.BGPAdvertisements }}
|
||||
{{- range .Values.metallb.BGPAdvertisements }}
|
||||
{{- range .Values.BGPAdvertisements }}
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: BGPAdvertisement
|
||||
metadata:
|
||||
name: {{ .name }}
|
||||
labels:
|
||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
||||
annotations:
|
||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
||||
spec:
|
||||
ipAddressPools:
|
||||
{{- range .addressPools }}
|
||||
@@ -36,6 +28,3 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{- if .Values.Communities }}
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: Community
|
||||
metadata:
|
||||
name: communities
|
||||
spec:
|
||||
communities:
|
||||
{{- range .Values.Communities }}
|
||||
- name: {{ .name }}
|
||||
value: {{ .value }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{- range .Values.ipAddressPools }}
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: {{ .addressPool.name }}
|
||||
spec:
|
||||
addresses:
|
||||
{{- range .addressPool.addresses }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
autoAssign: {{ .addressPool.autoAssign | default true }}
|
||||
avoidBuggyIPs: {{ .addressPool.avoidBuggyIPs | default false }}
|
||||
{{- end }}
|
||||
+2
-13
@@ -1,17 +1,9 @@
|
||||
{{- define "metallb.layer2adv" -}}
|
||||
|
||||
{{ $namespace := .Release.Namespace }}
|
||||
|
||||
{{- if .Values.metallb.L2Advertisements }}
|
||||
{{- range .Values.metallb.L2Advertisements }}
|
||||
{{- range .Values.L2Advertisements }}
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: L2Advertisement
|
||||
metadata:
|
||||
name: {{ .name }}
|
||||
labels:
|
||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
||||
annotations:
|
||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
||||
spec:
|
||||
ipAddressPools:
|
||||
{{- range .addressPools }}
|
||||
@@ -25,6 +17,3 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
||||
+2
-13
@@ -1,17 +1,9 @@
|
||||
{{- define "metallb.peer" -}}
|
||||
|
||||
{{ $namespace := .Release.Namespace }}
|
||||
|
||||
{{- if .Values.metallb.Peers }}
|
||||
{{- range .Values.metallb.Peers }}
|
||||
{{- range .Values.Peers }}
|
||||
---
|
||||
apiVersion: metallb.io/v1beta2
|
||||
kind: BGPPeer
|
||||
metadata:
|
||||
name: {{ .name }}
|
||||
labels:
|
||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
||||
annotations:
|
||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
||||
spec:
|
||||
{{- with .password }}
|
||||
password: {{ . }}
|
||||
@@ -54,6 +46,3 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,41 @@
|
||||
image:
|
||||
repository: placeholder
|
||||
tag: upstream
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
metallb: {}
|
||||
|
||||
ipAddressPools: []
|
||||
L2Advertisements: []
|
||||
# - name: l2adv
|
||||
# addressPools:
|
||||
# - pool1
|
||||
# nodeSelectors:
|
||||
# - nodeA
|
||||
BGPAdvertisements: []
|
||||
# - name: bgpadv
|
||||
# addressPools:
|
||||
# - pool1
|
||||
# aggregationLength: 24
|
||||
# localpref: 100
|
||||
# communities:
|
||||
# - 1234:1
|
||||
# peers:
|
||||
# - peer1
|
||||
Communities: []
|
||||
# - name: community1
|
||||
# value: 1234:1
|
||||
Peers: []
|
||||
# - name: peer1
|
||||
# myASN: 1234
|
||||
# password: pass
|
||||
# routerID: 1234
|
||||
# bfdProfile: profile
|
||||
# ebgpMultiHop: false
|
||||
# holdTime: 10
|
||||
# keepaliveTime: 10
|
||||
# peerAddress: 172.30.0.2
|
||||
# peerPort: 179
|
||||
# sourceAddress: 172.30.0.3
|
||||
# nodeSelectors:
|
||||
# - nodeA
|
||||
@@ -1,110 +0,0 @@
|
||||
# metallb
|
||||
|
||||
  
|
||||
|
||||
A network load-balancer implementation for Kubernetes using standard routing protocols
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [metallb](https://truecharts.org/docs/charts/stable/metallb)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/truecharts/charts/tree/master/charts/stable/metallb>
|
||||
* <https://github.com/metallb/metallb>
|
||||
* <https://metallb.universe.tf>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.truecharts.org | common | 10.5.6 |
|
||||
| https://metallb.github.io/metallb | metallb | 0.13.5 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `metallb`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://charts.truecharts.org
|
||||
helm repo update
|
||||
helm install metallb TrueCharts/metallb
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `metallb` deployment
|
||||
|
||||
```console
|
||||
helm uninstall metallb
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the values.yaml file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the command line
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install metallb \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/metallb
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install metallb TrueCharts/metallb -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other charts
|
||||
|
||||
If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
---
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
@@ -1,8 +0,0 @@
|
||||
metallb:
|
||||
ipAddressPools:
|
||||
- addressPool:
|
||||
name: ci_pool
|
||||
addresses:
|
||||
- 172.0.0.0/24
|
||||
autoAssign: true
|
||||
avoidBuggyIPs: false
|
||||
@@ -1,300 +0,0 @@
|
||||
# Include{groups}
|
||||
questions:
|
||||
# Include{global}
|
||||
# Include{controller}
|
||||
- variable: metallb
|
||||
group: App Configuration
|
||||
label: MetalLB Configuration
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: ipAddressPools
|
||||
label: IP Address Pools Object
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: Name of the IP address pool
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: autoAssign
|
||||
label: Auto Assign
|
||||
description: AutoAssign flag used to prevent MetallB from automatic
|
||||
allocation for a pool.
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: avoidBuggyIPs
|
||||
label: Avoid Buggy IPs
|
||||
description: AvoidBuggyIPs prevents addresses ending with .0 and .255
|
||||
to be used by a pool.
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: addresses
|
||||
label: Addresses Pools
|
||||
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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: addressPoolEntry
|
||||
label: Address Pool Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: L2Advertisements
|
||||
label: L2 Advertisements
|
||||
description: L2Advertisement allows to advertise the LoadBalancer IPs provided
|
||||
by the selected pools via L2.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: Name of the L2 Advertisement
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: addressPools
|
||||
label: Address Pools
|
||||
description: The list of IPAddressPools to advertise via this advertisement,
|
||||
selected by name.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: addressPoolEntry
|
||||
label: Address Pool Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: nodeSelectors
|
||||
label: Node Selectors
|
||||
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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: nodeSelectorEntry
|
||||
label: Node Selector Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: Communities
|
||||
label: Communities
|
||||
description: Community is a collection of aliases for communities. Users can
|
||||
define named aliases to be used in the BGPPeer CRD.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: The name of the alias for the community.
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: value
|
||||
label: Value
|
||||
description: The BGP community value corresponding to the given name.
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: Peers
|
||||
label: Peers
|
||||
description: BGPPeer is the Schema for the peers API.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: The name of the peer.
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: bfdProfile
|
||||
label: BFD Profile
|
||||
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.
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: ebgpMultiHop
|
||||
label: EBGP MultiHop
|
||||
description: TTo set if the BGPPeer is multi-hops away. Needed for
|
||||
FRR mode only.
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: holdTime
|
||||
label: Hold Time
|
||||
description: Requested BGP hold time, per RFC4271.
|
||||
schema:
|
||||
type: int
|
||||
- variable: keepaliveTime
|
||||
label: Keep Alive Time
|
||||
description: Requested BGP keep alive time, per RFC4271.
|
||||
schema:
|
||||
type: int
|
||||
- variable: myASN
|
||||
label: My ASN
|
||||
description: AS number to use for the local end of the session.
|
||||
schema:
|
||||
type: int
|
||||
- variable: password
|
||||
label: Password
|
||||
description: Authentication password for routers enforcing TCP MD5
|
||||
authenticated sessions
|
||||
schema:
|
||||
type: string
|
||||
private: true
|
||||
default: ""
|
||||
- variable: peerASN
|
||||
label: Peer ASN
|
||||
description: AS number to expect from the remote end of the session.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: peerAddress
|
||||
label: Peer Address
|
||||
description: Address to dial when establishing the session.
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: peerPort
|
||||
label: Peer Port
|
||||
description: Port to dial when establishing the session.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: routerID
|
||||
label: Router ID
|
||||
description: BGP router ID to advertise to the peer
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: sourceAddress
|
||||
label: Source Address
|
||||
description: Source address to use when establishing the session.
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: nodeSelectors
|
||||
label: Node Selectors
|
||||
description: Only connect to this peer on nodes that match one of
|
||||
these selectors.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: nodeSelectorEntry
|
||||
label: Node Selector Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: BGPAdvertisements
|
||||
label: BGP Advertisements
|
||||
description: BGPAdvertisement allows to advertise the IPs coming from the
|
||||
selected IPAddressPools via BGP.
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: Name
|
||||
description: Name of the BGP Advertisement
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: ""
|
||||
- variable: addressPools
|
||||
label: Address Pools
|
||||
description: The list of IPAddressPools to advertise via this advertisement,
|
||||
selected by name.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: addressPoolEntry
|
||||
label: Address Pool Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: aggregationLength
|
||||
label: Aggregation Length
|
||||
description: The aggregation-length advertisement option lets you
|
||||
"roll up" the /32s into a larger prefix. Defaults to 32. Works for
|
||||
IPv4 addresses.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: localpref
|
||||
label: Local Pref
|
||||
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.
|
||||
schema:
|
||||
type: string
|
||||
valid_chars: '^[0-9]*$'
|
||||
default: ""
|
||||
- variable: communities
|
||||
label: 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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: communityEntry
|
||||
label: Community Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: peers
|
||||
label: 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.
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: peerEntry
|
||||
label: Peer Entry
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
@@ -1,20 +0,0 @@
|
||||
{{- define "metallb.community" -}}
|
||||
|
||||
{{- if .Values.metallb.Communities }}
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: Community
|
||||
metadata:
|
||||
name: communities
|
||||
labels:
|
||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
||||
annotations:
|
||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
||||
spec:
|
||||
communities:
|
||||
{{- range .Values.metallb.Communities }}
|
||||
- name: {{ .name }}
|
||||
value: {{ .value }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
||||
@@ -1,24 +0,0 @@
|
||||
{{- define "metallb.ipAddressPool" -}}
|
||||
|
||||
{{ $namespace := .Release.Namespace }}
|
||||
|
||||
{{- if .Values.metallb.ipAddressPools }}
|
||||
{{- range .Values.metallb.ipAddressPools }}
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: {{ .addressPool.name }}
|
||||
labels:
|
||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
||||
annotations:
|
||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
||||
spec:
|
||||
addresses:
|
||||
{{- range .addressPool.addresses }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
autoAssign: {{ .addressPool.autoAssign | default true }}
|
||||
avoidBuggyIPs: {{ .addressPool.avoidBuggyIPs | default false }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -1,12 +0,0 @@
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.common.loader.init" . }}
|
||||
|
||||
{{- include "metallb.ipAddressPool" . }}
|
||||
|
||||
{{- include "metallb.layer2adv" . }}
|
||||
|
||||
{{- include "metallb.bgpadv" . }}
|
||||
|
||||
{{- include "metallb.community" . }}
|
||||
|
||||
{{- include "metallb.peer" . }}
|
||||
@@ -1,49 +0,0 @@
|
||||
image:
|
||||
repository: placeholder
|
||||
tag: upstream
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
metallb:
|
||||
ipAddressPools:
|
||||
- addressPool:
|
||||
name: pool1
|
||||
addresses:
|
||||
- 192.168.1.0/24
|
||||
autoAssign: true
|
||||
avoidBuggyIPs: false
|
||||
# L2Advertisements:
|
||||
# - name: l2adv
|
||||
# addressPools:
|
||||
# - pool1
|
||||
# nodeSelectors:
|
||||
# - nodeA
|
||||
# BGPAdvertisements:
|
||||
# - name: bgpadv
|
||||
# addressPools:
|
||||
# - pool1
|
||||
# aggregationLength: 24
|
||||
# localpref: 100
|
||||
# communities:
|
||||
# - 1234:1
|
||||
# peers:
|
||||
# - peer1
|
||||
# Communities:
|
||||
# - name: community1
|
||||
# value: 1234:1
|
||||
# Peers:
|
||||
# - name: peer1
|
||||
# myASN: 1234
|
||||
# password: pass
|
||||
# routerID: 1234
|
||||
# bfdProfile: profile
|
||||
# ebgpMultiHop: false
|
||||
# holdTime: 10
|
||||
# keepaliveTime: 10
|
||||
# peerAddress: 172.30.0.2
|
||||
# peerPort: 179
|
||||
# sourceAddress: 172.30.0.3
|
||||
# nodeSelectors:
|
||||
# - nodeA
|
||||
|
||||
portal:
|
||||
enabled: false
|
||||
Reference in New Issue
Block a user