💡Feature Request: Implement API for Dynamic Tunnel Management in cloudflared #1419
Labels
Priority: Normal
Minor issue impacting one or more users
Type: Feature Request
A big idea that would be split into smaller pieces
Describe the Feature You’d Like
I propose adding a dedicated API or extending the CLI interface to support dynamic management of tunnels through cloudflared access tcp. This feature would allow external applications and orchestration tools to programmatically:
1.Start tunnels dynamically by specifying a hostname and target URL.
2.Monitor tunnel status in real-time, including health checks and error reporting.
3.Gracefully terminate tunnels remotely for proper resource management and secure shutdowns.
4.Retrieve tunnel connection details for enhanced logging and integration with external monitoring systems.
Describe Alternatives You’ve Considered
Currently, the only method for managing tunnels is through direct system command execution (e.g., cloudflared access tcp --hostname --url). This approach presents several key limitations:
Why This Feature Is Important
A dedicated API would unlock several important benefits:
Additional Security Features Request
It would be highly beneficial if the new API supported encrypted hostname transmission. This could be achieved by:
This would help hide DNS connection details and significantly enhance security, especially in Zero Trust environments.
Possible Implementation Ideas
/api/tunnel/start
/api/tunnel/status/{id}
/api/tunnel/stop/{id}
Additional Context
Adding an API for managing cloudflared tunnels programmatically would enable better integration with:
Use Cases
Final Thoughts
Implementing an API for tunnel management would significantly enhance cloudflared by enabling dynamic integration into modern infrastructure stacks. This feature would allow:
Thank you for considering this request! I look forward to your feedback and hope to see this feature implemented soon.
Thank you for considering this feature request! ⭐️
The text was updated successfully, but these errors were encountered: