Skip to content

Proposal: Split proxmox_firewall and new firewall features #300

@PendaGTP

Description

@PendaGTP

Summary

Split proxmox_firewall into four sub-modules and introduce three new module to manage new firewall options (cluster-level node-level and vm/lxc-level)

Context

Currently, the module proxmox_firewall manages "lot of things", which makes it difficult to maintain and, in my opinion, impractical for users.
I propose to split it into smaller module and focusing on one feature at a time.

Current the module handle (each one will be new dedicated module):

  • Security Group
  • Rules
  • Alias
  • IP Sets

The module doesn't handle (each one will be new dedicated module):

I think we can work on these modules without removing "proxmox_firewall," but gradually indicate in the module documentation the recommendation to use a dedicated module, then deprecate the "proxmox_firewall" module.

I don't think all modules should comes on a same time, they can be added one by one, without impacting users.

Bellow modules that I have in mind that could fit well. For each module I can draft module documention if this can helps use define module interface.

As mentionned this is a proposal, a starting point for thinking about the path we want to take for managing firewall features. Please feel free to share your thoughts.

Related issues (just for tracking):

Firewall modules proposal

proxmox_firewall_rules

Description: Manages cluster-level, node-level or VM/container-level firewall rules
API:

  • /api2/json/cluster/firewall/rules
  • /api2/json/nodes/{node}/firewall/rules
  • /api2/json/nodes/{node}/lxc/{vmid}/firewall/rules
  • /api2/json/nodes/{node}/qemu/{vmid}/firewall/rules

proxmox_cluster_firewall_security_group

Description: Manages security group defined at cluster level
API:

  • /api2/json/cluster/firewall/groups/

proxmox_firewall_options

Description: Manages firewall options on VM/container-level
API:

  • /api2/json/nodes/{node}/qemu/{vmid}/firewall/options
  • /api2/json/nodes/{node}/lxc/{vmid}/firewall/options

proxmox_node_firewall_options

Description: Manages firewall options on node-level
API:

  • /api2/json/nodes/{node}/firewall/options

proxmox_firewall_ipset

Description: Manage IPSET at cluster-level, VM/container-level
API:

  • /api2/json/cluster/firewall/ipset
  • /api2/json/nodes/{node}/qemu/{vmid}/firewall/ipset
  • /api2/json/nodes/{node}/lxc/{vmid}/firewall/ipset

proxmox_firewall_alias

Description: Manage IP addresses association of networks with a name
API:

  • /api2/json/cluster/firewall/aliases
  • /api2/json/nodes/{node}/qemu/{vmid}/firewall/aliases
  • /api2/json/nodes/{node}/lxc/{vmid}/firewall/aliases

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions