From ac0e6bb22600015d432d80c4f0e986a5865abe52 Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Sun, 11 Sep 2022 23:47:55 +0200 Subject: [PATCH] chore(metallb): cleanup and move to enterprise train (#3740) --- .../metallb/.helmignore | 0 .../metallb/CHANGELOG.md | 15 - .../{stable => enterprise}/metallb/Chart.yaml | 4 +- .../{stable => enterprise}/metallb/icon.png | Bin charts/enterprise/metallb/questions.yaml | 293 +++++++++++++++++ .../metallb/templates/bgpadvertisement.yaml} | 15 +- .../metallb/templates/community.yaml | 13 + .../metallb/templates/ipaddresspool.yaml | 14 + .../metallb/templates/l2advertisement.yaml} | 15 +- .../metallb/templates/peers.yaml} | 15 +- charts/enterprise/metallb/values.yaml | 41 +++ charts/stable/metallb/README.md | 110 ------- charts/stable/metallb/ci/ci-values.yaml | 8 - charts/stable/metallb/questions.yaml | 300 ------------------ .../stable/metallb/templates/_community.tpl | 20 -- .../metallb/templates/_ipaddresspool.tpl | 24 -- charts/stable/metallb/templates/common.yaml | 12 - charts/stable/metallb/values.yaml | 49 --- 18 files changed, 369 insertions(+), 579 deletions(-) rename charts/{stable => enterprise}/metallb/.helmignore (100%) rename charts/{stable => enterprise}/metallb/CHANGELOG.md (91%) rename charts/{stable => enterprise}/metallb/Chart.yaml (96%) rename charts/{stable => enterprise}/metallb/icon.png (100%) create mode 100644 charts/enterprise/metallb/questions.yaml rename charts/{stable/metallb/templates/_bgpadvertisement.tpl => enterprise/metallb/templates/bgpadvertisement.yaml} (62%) create mode 100644 charts/enterprise/metallb/templates/community.yaml create mode 100644 charts/enterprise/metallb/templates/ipaddresspool.yaml rename charts/{stable/metallb/templates/_l2advertisement.tpl => enterprise/metallb/templates/l2advertisement.yaml} (51%) rename charts/{stable/metallb/templates/_peers.tpl => enterprise/metallb/templates/peers.yaml} (75%) create mode 100644 charts/enterprise/metallb/values.yaml delete mode 100644 charts/stable/metallb/README.md delete mode 100644 charts/stable/metallb/ci/ci-values.yaml delete mode 100644 charts/stable/metallb/questions.yaml delete mode 100644 charts/stable/metallb/templates/_community.tpl delete mode 100644 charts/stable/metallb/templates/_ipaddresspool.tpl delete mode 100644 charts/stable/metallb/templates/common.yaml delete mode 100644 charts/stable/metallb/values.yaml diff --git a/charts/stable/metallb/.helmignore b/charts/enterprise/metallb/.helmignore similarity index 100% rename from charts/stable/metallb/.helmignore rename to charts/enterprise/metallb/.helmignore diff --git a/charts/stable/metallb/CHANGELOG.md b/charts/enterprise/metallb/CHANGELOG.md similarity index 91% rename from charts/stable/metallb/CHANGELOG.md rename to charts/enterprise/metallb/CHANGELOG.md index 1eccf273de7..20b7cd07be2 100644 --- a/charts/stable/metallb/CHANGELOG.md +++ b/charts/enterprise/metallb/CHANGELOG.md @@ -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 diff --git a/charts/stable/metallb/Chart.yaml b/charts/enterprise/metallb/Chart.yaml similarity index 96% rename from charts/stable/metallb/Chart.yaml rename to charts/enterprise/metallb/Chart.yaml index d7fec88b4b9..783833016f7 100644 --- a/charts/stable/metallb/Chart.yaml +++ b/charts/enterprise/metallb/Chart.yaml @@ -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 diff --git a/charts/stable/metallb/icon.png b/charts/enterprise/metallb/icon.png similarity index 100% rename from charts/stable/metallb/icon.png rename to charts/enterprise/metallb/icon.png diff --git a/charts/enterprise/metallb/questions.yaml b/charts/enterprise/metallb/questions.yaml new file mode 100644 index 00000000000..6a9a1f3128b --- /dev/null +++ b/charts/enterprise/metallb/questions.yaml @@ -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 diff --git a/charts/stable/metallb/templates/_bgpadvertisement.tpl b/charts/enterprise/metallb/templates/bgpadvertisement.yaml similarity index 62% rename from charts/stable/metallb/templates/_bgpadvertisement.tpl rename to charts/enterprise/metallb/templates/bgpadvertisement.yaml index 5902c6afc7a..38ff48cd7d9 100644 --- a/charts/stable/metallb/templates/_bgpadvertisement.tpl +++ b/charts/enterprise/metallb/templates/bgpadvertisement.yaml @@ -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 -}} diff --git a/charts/enterprise/metallb/templates/community.yaml b/charts/enterprise/metallb/templates/community.yaml new file mode 100644 index 00000000000..c73e32133f2 --- /dev/null +++ b/charts/enterprise/metallb/templates/community.yaml @@ -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 }} diff --git a/charts/enterprise/metallb/templates/ipaddresspool.yaml b/charts/enterprise/metallb/templates/ipaddresspool.yaml new file mode 100644 index 00000000000..40f94c64596 --- /dev/null +++ b/charts/enterprise/metallb/templates/ipaddresspool.yaml @@ -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 }} diff --git a/charts/stable/metallb/templates/_l2advertisement.tpl b/charts/enterprise/metallb/templates/l2advertisement.yaml similarity index 51% rename from charts/stable/metallb/templates/_l2advertisement.tpl rename to charts/enterprise/metallb/templates/l2advertisement.yaml index 6bad0f050fc..3e76bff79b5 100644 --- a/charts/stable/metallb/templates/_l2advertisement.tpl +++ b/charts/enterprise/metallb/templates/l2advertisement.yaml @@ -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 -}} diff --git a/charts/stable/metallb/templates/_peers.tpl b/charts/enterprise/metallb/templates/peers.yaml similarity index 75% rename from charts/stable/metallb/templates/_peers.tpl rename to charts/enterprise/metallb/templates/peers.yaml index 1345cb42e94..a9bfa24d7cf 100644 --- a/charts/stable/metallb/templates/_peers.tpl +++ b/charts/enterprise/metallb/templates/peers.yaml @@ -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 -}} diff --git a/charts/enterprise/metallb/values.yaml b/charts/enterprise/metallb/values.yaml new file mode 100644 index 00000000000..3a8f7634102 --- /dev/null +++ b/charts/enterprise/metallb/values.yaml @@ -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 diff --git a/charts/stable/metallb/README.md b/charts/stable/metallb/README.md deleted file mode 100644 index 8dded43e6f4..00000000000 --- a/charts/stable/metallb/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# metallb - -![Version: 3.0.0](https://img.shields.io/badge/Version-3.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: upstream](https://img.shields.io/badge/AppVersion-upstream-informational?style=flat-square) - -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 - -* -* -* - -## 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 diff --git a/charts/stable/metallb/ci/ci-values.yaml b/charts/stable/metallb/ci/ci-values.yaml deleted file mode 100644 index 1a273e1903d..00000000000 --- a/charts/stable/metallb/ci/ci-values.yaml +++ /dev/null @@ -1,8 +0,0 @@ -metallb: - ipAddressPools: - - addressPool: - name: ci_pool - addresses: - - 172.0.0.0/24 - autoAssign: true - avoidBuggyIPs: false diff --git a/charts/stable/metallb/questions.yaml b/charts/stable/metallb/questions.yaml deleted file mode 100644 index 4e6a39e71b1..00000000000 --- a/charts/stable/metallb/questions.yaml +++ /dev/null @@ -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 diff --git a/charts/stable/metallb/templates/_community.tpl b/charts/stable/metallb/templates/_community.tpl deleted file mode 100644 index 9b2e907c8f2..00000000000 --- a/charts/stable/metallb/templates/_community.tpl +++ /dev/null @@ -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 -}} diff --git a/charts/stable/metallb/templates/_ipaddresspool.tpl b/charts/stable/metallb/templates/_ipaddresspool.tpl deleted file mode 100644 index 32dd65c233e..00000000000 --- a/charts/stable/metallb/templates/_ipaddresspool.tpl +++ /dev/null @@ -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 -}} diff --git a/charts/stable/metallb/templates/common.yaml b/charts/stable/metallb/templates/common.yaml deleted file mode 100644 index 2973235b99c..00000000000 --- a/charts/stable/metallb/templates/common.yaml +++ /dev/null @@ -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" . }} diff --git a/charts/stable/metallb/values.yaml b/charts/stable/metallb/values.yaml deleted file mode 100644 index 9458004cf92..00000000000 --- a/charts/stable/metallb/values.yaml +++ /dev/null @@ -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