Skip to content

Release v0.20.0 #2385

Description

@ytsarev

Looks like it's time to make our quarterly cadence release.

Draft release bullets:

  • Added ZoneDelegation-based dynamic zone management, including reconciliation, status updates, glue A/IP resolution, authoritative DNS lookup from
    ZoneDelegation state, finalization, and Infoblox cleanup support.

  • Added k8gb.io/exposed-hostnames annotation to resolve dynamic hostnames into exposed IPs across Ingress, Gateway API, LoadBalancer Service, and Istio VirtualService resources.

  • Added spec.serviceHealthPolicy for canonical k8gb.io/v1beta1 GSLBs: default Any, optional All for multi-Service hosts that require every backing Service to be healthy.

  • Improved legacy migration compatibility by preserving legacy GSLB annotations and adding Service annotation migration coverage.

  • Improved DNS safety with validation for generated localtargets-* names and admission validation for exposed hostnames.

  • Reworked local/dev deployment flows to rely on CoreDNS LoadBalancer exposure instead of the old init-ingress path, with stronger debug output and demo helpers.

  • Added local failover and AI inference resilience demos, plus multi-Service Ingress examples.

  • Expanded operator documentation with split-brain behavior, exposed hostnames, AI inference resilience, local setup, and service upgrade guidance.

  • Updated platform/dependency stack, including Go 1.26.3, Kubernetes v0.36, controller-runtime v0.24.1, external-dns v0.21.0, external-dns Helm chart 1.21.1, K3s v1.36.1, Terratest v1.0.0, and OTel collector v0.153.0.

  • Expanded CI/test coverage with ZoneDelegation, service health policy, legacy annotation migration, and multi-version Kubernetes test matrix work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    To do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions