From 520e7b45944232561e6eb78157560eafb66f74fd Mon Sep 17 00:00:00 2001 From: Pavel Boldyrev <627562+bpg@users.noreply.github.com> Date: Fri, 18 Jul 2025 16:20:09 -0400 Subject: [PATCH] more docs Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com> --- .../virtual_environment_sdn_zone_evpn.md | 38 +++++++++++++++++++ .../virtual_environment_sdn_zone_qinq.md | 33 ++++++++++++++++ .../virtual_environment_sdn_zone_vlan.md | 31 +++++++++++++++ .../virtual_environment_sdn_zone_vxlan.md | 31 +++++++++++++++ main.go | 4 ++ 5 files changed, 137 insertions(+) create mode 100644 docs/resources/virtual_environment_sdn_zone_evpn.md create mode 100644 docs/resources/virtual_environment_sdn_zone_qinq.md create mode 100644 docs/resources/virtual_environment_sdn_zone_vlan.md create mode 100644 docs/resources/virtual_environment_sdn_zone_vxlan.md diff --git a/docs/resources/virtual_environment_sdn_zone_evpn.md b/docs/resources/virtual_environment_sdn_zone_evpn.md new file mode 100644 index 00000000..fc2b9efc --- /dev/null +++ b/docs/resources/virtual_environment_sdn_zone_evpn.md @@ -0,0 +1,38 @@ +--- +layout: page +title: proxmox_virtual_environment_sdn_zone_evpn +parent: Resources +subcategory: Virtual Environment +description: |- + EVPN Zone in Proxmox SDN. The EVPN zone creates a routable Layer 3 network, capable of spanning across multiple clusters. +--- + +# Resource: proxmox_virtual_environment_sdn_zone_evpn + +EVPN Zone in Proxmox SDN. The EVPN zone creates a routable Layer 3 network, capable of spanning across multiple clusters. + + + + +## Schema + +### Required + +- `id` (String) The unique identifier of the SDN zone. + +### Optional + +- `advertise_subnets` (Boolean) Enable subnet advertisement for EVPN. +- `controller` (String) EVPN controller address. +- `disable_arp_nd_suppression` (Boolean) Disable ARP/ND suppression for EVPN. +- `dns` (String) DNS API server address. +- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `.`. The DNS zone must already exist on the DNS server. +- `exit_nodes` (Set of String) List of exit nodes for EVPN. +- `exit_nodes_local_routing` (Boolean) Enable local routing for EVPN exit nodes. +- `ipam` (String) IP Address Management system. +- `mtu` (Number) MTU value for the zone. +- `nodes` (Set of String) Proxmox node names. +- `primary_exit_node` (String) Primary exit node for EVPN. +- `reverse_dns` (String) Reverse DNS API server address. +- `rt_import` (String) Route target import for EVPN. +- `vrf_vxlan` (Number) VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets. diff --git a/docs/resources/virtual_environment_sdn_zone_qinq.md b/docs/resources/virtual_environment_sdn_zone_qinq.md new file mode 100644 index 00000000..7cad37b5 --- /dev/null +++ b/docs/resources/virtual_environment_sdn_zone_qinq.md @@ -0,0 +1,33 @@ +--- +layout: page +title: proxmox_virtual_environment_sdn_zone_qinq +parent: Resources +subcategory: Virtual Environment +description: |- + QinQ Zone in Proxmox SDN. QinQ also known as VLAN stacking, that uses multiple layers of VLAN tags for isolation. The QinQ zone defines the outer VLAN tag (the Service VLAN) whereas the inner VLAN tag is defined by the VNet. Your physical network switches must support stacked VLANs for this configuration. Due to the double stacking of tags, you need 4 more bytes for QinQ VLANs. For example, you must reduce the MTU to 1496 if you physical interface MTU is 1500. +--- + +# Resource: proxmox_virtual_environment_sdn_zone_qinq + +QinQ Zone in Proxmox SDN. QinQ also known as VLAN stacking, that uses multiple layers of VLAN tags for isolation. The QinQ zone defines the outer VLAN tag (the Service VLAN) whereas the inner VLAN tag is defined by the VNet. Your physical network switches must support stacked VLANs for this configuration. Due to the double stacking of tags, you need 4 more bytes for QinQ VLANs. For example, you must reduce the MTU to 1496 if you physical interface MTU is 1500. + + + + +## Schema + +### Required + +- `id` (String) The unique identifier of the SDN zone. + +### Optional + +- `bridge` (String) A local, VLAN-aware bridge that is already configured on each local node +- `dns` (String) DNS API server address. +- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `.`. The DNS zone must already exist on the DNS server. +- `ipam` (String) IP Address Management system. +- `mtu` (Number) MTU value for the zone. +- `nodes` (Set of String) Proxmox node names. +- `reverse_dns` (String) Reverse DNS API server address. +- `service_vlan` (Number) Service VLAN tag for QinQ. +- `service_vlan_protocol` (String) Service VLAN protocol for QinQ. diff --git a/docs/resources/virtual_environment_sdn_zone_vlan.md b/docs/resources/virtual_environment_sdn_zone_vlan.md new file mode 100644 index 00000000..921f4187 --- /dev/null +++ b/docs/resources/virtual_environment_sdn_zone_vlan.md @@ -0,0 +1,31 @@ +--- +layout: page +title: proxmox_virtual_environment_sdn_zone_vlan +parent: Resources +subcategory: Virtual Environment +description: |- + VLAN Zone in Proxmox SDN. It uses an existing local Linux or OVS bridge to connect to the node's physical interface. It uses VLAN tagging defined in the VNet to isolate the network segments. This allows connectivity of VMs between different nodes. +--- + +# Resource: proxmox_virtual_environment_sdn_zone_vlan + +VLAN Zone in Proxmox SDN. It uses an existing local Linux or OVS bridge to connect to the node's physical interface. It uses VLAN tagging defined in the VNet to isolate the network segments. This allows connectivity of VMs between different nodes. + + + + +## Schema + +### Required + +- `id` (String) The unique identifier of the SDN zone. + +### Optional + +- `bridge` (String) The local bridge or OVS switch, already configured on _each_ node that allows node-to-node connection. +- `dns` (String) DNS API server address. +- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `.`. The DNS zone must already exist on the DNS server. +- `ipam` (String) IP Address Management system. +- `mtu` (Number) MTU value for the zone. +- `nodes` (Set of String) Proxmox node names. +- `reverse_dns` (String) Reverse DNS API server address. diff --git a/docs/resources/virtual_environment_sdn_zone_vxlan.md b/docs/resources/virtual_environment_sdn_zone_vxlan.md new file mode 100644 index 00000000..9879f5c3 --- /dev/null +++ b/docs/resources/virtual_environment_sdn_zone_vxlan.md @@ -0,0 +1,31 @@ +--- +layout: page +title: proxmox_virtual_environment_sdn_zone_vxlan +parent: Resources +subcategory: Virtual Environment +description: |- + VXLAN Zone in Proxmox SDN. It establishes a tunnel (overlay) on top of an existing network (underlay). This encapsulates layer 2 Ethernet frames within layer 4 UDP datagrams using the default destination port 4789. You have to configure the underlay network yourself to enable UDP connectivity between all peers. Because VXLAN encapsulation uses 50 bytes, the MTU needs to be 50 bytes lower than the outgoing physical interface. +--- + +# Resource: proxmox_virtual_environment_sdn_zone_vxlan + +VXLAN Zone in Proxmox SDN. It establishes a tunnel (overlay) on top of an existing network (underlay). This encapsulates layer 2 Ethernet frames within layer 4 UDP datagrams using the default destination port 4789. You have to configure the underlay network yourself to enable UDP connectivity between all peers. Because VXLAN encapsulation uses 50 bytes, the MTU needs to be 50 bytes lower than the outgoing physical interface. + + + + +## Schema + +### Required + +- `id` (String) The unique identifier of the SDN zone. + +### Optional + +- `dns` (String) DNS API server address. +- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `.`. The DNS zone must already exist on the DNS server. +- `ipam` (String) IP Address Management system. +- `mtu` (Number) MTU value for the zone. +- `nodes` (Set of String) Proxmox node names. +- `peers` (Set of String) A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here +- `reverse_dns` (String) Reverse DNS API server address. diff --git a/main.go b/main.go index c71c3b4e..ed774222 100644 --- a/main.go +++ b/main.go @@ -66,6 +66,10 @@ import ( //go:generate cp ./build/docs-gen/resources/virtual_environment_network_linux_bridge.md ./docs/resources/ //go:generate cp ./build/docs-gen/resources/virtual_environment_network_linux_vlan.md ./docs/resources/ //go:generate cp ./build/docs-gen/resources/virtual_environment_sdn_zone_simple.md ./docs/resources/ +//go:generate cp ./build/docs-gen/resources/virtual_environment_sdn_zone_vlan.md ./docs/resources/ +//go:generate cp ./build/docs-gen/resources/virtual_environment_sdn_zone_qinq.md ./docs/resources/ +//go:generate cp ./build/docs-gen/resources/virtual_environment_sdn_zone_vxlan.md ./docs/resources/ +//go:generate cp ./build/docs-gen/resources/virtual_environment_sdn_zone_evpn.md ./docs/resources/ //go:generate cp ./build/docs-gen/resources/virtual_environment_user_token.md ./docs/resources/ //go:generate cp ./build/docs-gen/resources/virtual_environment_vm2.md ./docs/resources/ //go:generate cp ./build/docs-gen/resources/virtual_environment_metrics_server.md ./docs/resources/