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)
|
## [metallb-3.0.0](https://github.com/truecharts/charts/compare/metallb-2.0.14...metallb-3.0.0) (2022-09-11)
|
||||||
|
|
||||||
### Chore
|
### Chore
|
||||||
@@ -10,7 +10,7 @@ keywords:
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.truecharts.org
|
repository: https://library-charts.truecharts.org
|
||||||
version: 10.5.6
|
version: 10.5.7
|
||||||
- name: metallb
|
- name: metallb
|
||||||
repository: https://metallb.github.io/metallb
|
repository: https://metallb.github.io/metallb
|
||||||
version: 0.13.5
|
version: 0.13.5
|
||||||
@@ -25,7 +25,7 @@ sources:
|
|||||||
- https://github.com/metallb/metallb
|
- https://github.com/metallb/metallb
|
||||||
- https://metallb.universe.tf
|
- https://metallb.universe.tf
|
||||||
type: application
|
type: application
|
||||||
version: 3.0.0
|
version: 4.0.0
|
||||||
annotations:
|
annotations:
|
||||||
truecharts.org/catagories: |
|
truecharts.org/catagories: |
|
||||||
- core
|
- 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" -}}
|
{{- range .Values.BGPAdvertisements }}
|
||||||
|
---
|
||||||
{{ $namespace := .Release.Namespace }}
|
|
||||||
|
|
||||||
{{- if .Values.metallb.BGPAdvertisements }}
|
|
||||||
{{- range .Values.metallb.BGPAdvertisements }}
|
|
||||||
apiVersion: metallb.io/v1beta1
|
apiVersion: metallb.io/v1beta1
|
||||||
kind: BGPAdvertisement
|
kind: BGPAdvertisement
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .name }}
|
name: {{ .name }}
|
||||||
labels:
|
|
||||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
|
||||||
annotations:
|
|
||||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
|
||||||
spec:
|
spec:
|
||||||
ipAddressPools:
|
ipAddressPools:
|
||||||
{{- range .addressPools }}
|
{{- range .addressPools }}
|
||||||
@@ -36,6 +28,3 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- 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" -}}
|
{{- range .Values.L2Advertisements }}
|
||||||
|
---
|
||||||
{{ $namespace := .Release.Namespace }}
|
|
||||||
|
|
||||||
{{- if .Values.metallb.L2Advertisements }}
|
|
||||||
{{- range .Values.metallb.L2Advertisements }}
|
|
||||||
apiVersion: metallb.io/v1beta1
|
apiVersion: metallb.io/v1beta1
|
||||||
kind: L2Advertisement
|
kind: L2Advertisement
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .name }}
|
name: {{ .name }}
|
||||||
labels:
|
|
||||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
|
||||||
annotations:
|
|
||||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
|
||||||
spec:
|
spec:
|
||||||
ipAddressPools:
|
ipAddressPools:
|
||||||
{{- range .addressPools }}
|
{{- range .addressPools }}
|
||||||
@@ -25,6 +17,3 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
+2
-13
@@ -1,17 +1,9 @@
|
|||||||
{{- define "metallb.peer" -}}
|
{{- range .Values.Peers }}
|
||||||
|
---
|
||||||
{{ $namespace := .Release.Namespace }}
|
|
||||||
|
|
||||||
{{- if .Values.metallb.Peers }}
|
|
||||||
{{- range .Values.metallb.Peers }}
|
|
||||||
apiVersion: metallb.io/v1beta2
|
apiVersion: metallb.io/v1beta2
|
||||||
kind: BGPPeer
|
kind: BGPPeer
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .name }}
|
name: {{ .name }}
|
||||||
labels:
|
|
||||||
{{- include "tc.common.labels" $ | nindent 4 }}
|
|
||||||
annotations:
|
|
||||||
{{- include "tc.common.annotations" $ | nindent 4 }}
|
|
||||||
spec:
|
spec:
|
||||||
{{- with .password }}
|
{{- with .password }}
|
||||||
password: {{ . }}
|
password: {{ . }}
|
||||||
@@ -54,6 +46,3 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- 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