Skip to content

Conversation

@pascaliske
Copy link

Currently, when the operator is deployed into a custom namespace the leader election does not work because of a hard-coded default value for the LeaderElectionNamespace:

flag.StringVar(&clusterResourceNamespace, "cluster-resource-namespace", "cloudflare-operator-system", "The default namespace for cluster scoped resources.")

In fact the Kubebuilder book FAQs recommend to set the field only in non-cluster deployments for development purposes: https://book.kubebuilder.io/faq#after-make-run-i-see-errors-like-unable-to-find-leader-election-namespace-not-running-in-cluster

As an easy fix the default value could be removed.

…m namespace

Signed-off-by: Pascal Iske <info@pascaliske.dev>
StringKe referenced this pull request in StringKe/cloudflare-operator Jan 7, 2026
Implement comprehensive Cloudflare Zero Trust Kubernetes operator with 18 CRDs:

**New CRDs:**
- AccessApplication: Zero Trust application definitions
- AccessGroup: Reusable access policy groups
- AccessIdentityProvider: IdP configurations (OIDC, SAML, GitHub, Azure AD)
- AccessServiceToken: Machine-to-machine authentication tokens
- VirtualNetwork: Cloudflare virtual networks for traffic isolation
- NetworkRoute: IP routes through tunnels to private networks
- PrivateService: Expose K8s Services via WARP private IPs
- GatewayRule: Gateway DNS/HTTP/network policies
- GatewayList: Lists for gateway policy rules
- GatewayConfiguration: Global gateway settings
- DeviceSettingsPolicy: WARP client settings and split tunnels
- DevicePostureRule: Device posture checks for Zero Trust
- DNSRecord: DNS record management
- WARPConnector: WARP connector deployments

**Enhancements:**
- Add EnableWarpRouting to Tunnel/ClusterTunnel for private network access
- Add cluster-resource-namespace flag with Downward API injection (PR #178)
- Store previous-hostnames in TunnelBinding annotation (PR #166)
- Fix Secret finalizer order in cleanupTunnel (PR #158)

**API Clients:**
- Access API: Applications, Groups, Identity Providers, Service Tokens
- Gateway API: Rules, Lists, Configurations
- Device API: Split Tunnel, Fallback Domains, Posture Rules
- Network API: Virtual Networks, Routes
- DNS API: Record management

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
StringKe referenced this pull request in StringKe/cloudflare-operator Jan 7, 2026
Release v0.14.0 with Zero Trust CRDs:
- 14 new CRDs for Access, Gateway, Device, and Network management
- WARP routing support for private network access
- Upstream PR fixes (#178, #166, #158)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant