groups: - name: Container Image description: Image to be used for container - name: General Settings description: General Deployment Settings - name: App Configuration description: App Specific Config Options - name: Networking and Services description: Configure Network and Services for Container - name: Storage and Persistence description: Persist and Share Data that is Separate from the Container - name: Ingress description: Ingress Configuration - name: Security and Permissions description: Configure Security Context and Permissions - name: Resources and Devices description: "Specify Resources/Devices to be Allocated to Workload" - name: Middlewares description: Traefik Middlewares - name: Metrics description: Metrics - name: VPN description: VPN - name: Addons description: Addon Configuration - name: Advanced description: Advanced Configuration - name: Documentation description: Documentation questions: - variable: global label: Global Settings group: "General Settings" schema: type: dict hidden: true attrs: - variable: isSCALE label: Flag this is SCALE schema: type: boolean default: true hidden: true - variable: ipAddressPools group: App Configuration label: IP Address Pools Object schema: type: list default: [] items: - variable: ipAddressPoolsEntry label: IP Address Pool Entry schema: additional_attrs: true type: dict attrs: - 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 group: App Configuration label: L2 Advertisements description: L2Advertisement allows to advertise the LoadBalancer IPs provided by the selected pools via L2. schema: type: list default: [] items: - variable: L2AdvertisementEntry label: L2 Advertisement Entry schema: additional_attrs: true type: dict attrs: - 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 group: App Configuration label: Communities description: Community is a collection of aliases for communities. Users can define named aliases to be used in the BGPPeer CRD. schema: type: list default: [] items: - variable: CommunityEntry label: Community Entry schema: additional_attrs: true type: dict attrs: - 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 group: App Configuration label: Peers description: BGPPeer is the Schema for the peers API. schema: type: list default: [] items: - variable: PeerEntry label: Peer Entry schema: additional_attrs: true type: dict attrs: - 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 group: App Configuration label: BGP Advertisements description: BGPAdvertisement allows to advertise the IPs coming from the selected IPAddressPools via BGP. schema: type: list default: [] items: - variable: BGPAdvertisementEntry label: BGP Advertisement Entry schema: additional_attrs: true type: dict attrs: - 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