Skip to content

v1.0.0

Choose a tag to compare

@KiqoCode KiqoCode released this 04 Apr 11:04
· 8 commits to main since this release

NetPoint v1.0 Release Notes

Release Date: 2023-03-14

Overview

NetPoint is a Kubernetes network policy exporter designed to transform NetworkPolicy data into a DataCenterObjects format consumable by Checkpoint firewalls. This initial release introduces multiple views for exporting data, robust GitOps tracking enforcement, advanced filtering options, and graceful shutdown capabilities for production-grade Kubernetes environments.

New Features

  • Multiple Views for Data Export:

    • all: Aggregates all unique CIDRs from all NetworkPolicies into a single object.
    • policy: Produces one DataCenterObject per individual NetworkPolicy.
    • namespace: Groups NetworkPolicies by namespace, aggregating CIDRs per namespace.
    • internet: Splits the aggregated CIDRs into two objects – one for public and one for private addresses.
    • cidr: Allows users to supply a comma‑separated list of CIDRs and returns one object per provided CIDR, where each object’s Ranges field lists only those network policy CIDRs that are fully contained within the provided range.
  • GitOps Tracking Enforcement:

    • Introduces the GITOPS_TRACKING_REQUIREMENT environment variable to enforce filtering.
    • Supported values:
      • label: Only include NetworkPolicies with the app.kubernetes.io/instance label.
      • annotation: Only include NetworkPolicies with the argocd.argoproj.io/tracking-id annotation.
      • label+annotation: Both the label and the annotation must be present.
    • Policies that do not meet the configured requirement are excluded from processing.
  • Advanced Filtering Capabilities:

    • Optional query parameters (namespace and name) allow filtering NetworkPolicies by a specific namespace or policy name.
    • When no filter is provided, the application bypasses unnecessary looping for efficiency.
  • Graceful Shutdown:

    • Implements signal handling (SIGINT/SIGTERM) to enable a graceful shutdown.
    • Ensures that in-flight requests are completed before termination, supporting seamless rollouts.
  • Kubernetes In-Cluster Configuration:

    • Utilizes the in-cluster configuration, making deployment in Kubernetes straightforward and robust.

Bug Fixes & Improvements

  • CIDR Containment Logic:
    Updated helper functions to accurately determine if a NetworkPolicy CIDR (typically /32) is fully contained within a user-provided CIDR range.

  • Performance Optimization:
    Skips the filtering loop when no namespace or name filter is specified, reducing overhead.

Known Limitations

  • Full support is provided for IPv4; IPv6 support is experimental.
  • Advanced filtering and reporting features are planned for future releases.

Full Changelog: https://github.com/TwistedSolutions/netpoint/commits/v1.0.0