Skip to content

feat: Advanced configuration and customization options #27

@lexfrei

Description

@lexfrei

Description

Add advanced configuration options for better customization and fine-tuning of cloudflared behavior.

Features to implement

1. OriginRequest Configuration

  • Add cloudflare.originRequest for global origin settings
  • Support per-ingress originRequest overrides
  • Configure timeouts, keep-alive, HTTP/2, TLS verification, etc.
  • Follow Cloudflare's originRequest configuration schema

2. Customizable Liveness Probe

  • Make all probe parameters configurable:
    • failureThreshold (currently hardcoded to 1)
    • timeoutSeconds
    • periodSeconds
    • initialDelaySeconds
  • Maintain current defaults for backward compatibility

3. Log Level Configuration

  • Add logLevel parameter (debug, info, warn, error)
  • Set via TUNNEL_LOGLEVEL environment variable
  • Document available log levels

4. Additional Pod Labels

  • Add podLabels parameter for custom labels
  • Useful for service mesh, monitoring, policies
  • Merge with existing selector labels

5. Customizable Metrics Port (#14)

  • Add metricsPort parameter (default: 2000)
  • Use in configmap metrics config, service, and liveness probe
  • Remove hardcoded port references

Why is this needed?

  • OriginRequest: Fine-tune upstream connections for performance/security
  • Liveness Probe: Current aggressive settings (failureThreshold=1) can cause unnecessary restarts
  • Log Level: Different verbosity needed for debug vs production
  • Pod Labels: Integration with external systems and policies
  • Metrics Port: Allow customization for edge cases and follow best practices

Implementation Checklist

  • Add originRequest support in configmap template
  • Make liveness probe fully configurable in deployment
  • Add logLevel environment variable
  • Add podLabels to pod template
  • Make metrics port configurable (closes Make metrics port customizable in cloudflare-tunnel chart #14)
  • Update values.yaml with all new parameters and examples
  • Add comprehensive tests
  • Update values.schema.json
  • Update README.md with documentation and examples

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions