Telepresence share feature -- share your local apps with other telepresence users
Please describe your use case / problem. A clear and concise description of your use case / problem. The "why" is really valuable to us. For example, "I have a set of services whose clients have long-lived connections." TLDR: Telepresence has the potential to allow P2P sharing of applications which might be useful for use cases such as quick sharing of MVPs/Jupyter notebooks
Currently, using telepresence intercept, we are able to "share" our apps with other telepresence users by intercepting a workload and redirecting the traffic to our local app. Then, other telepresence users can access the app "locally". However, this solution is unelegant as it requires a workload to be created manually in order to support the sharing of the local app. Morever, if a workload was created for the sole purpose of sharing the app, the compute in running the original container in the workload is wasted, not to mention the user still has to remember to remove the workload after they are done with their sharing to prevent resource wastage.
Describe the solution you'd like I plan to add a command known as telepresence share
telepresence share <workload_name> --port <port_no:port_name>This will create a deployment+service with named ports that runs a sleeping container, and also uses telepresence intercept logic to intercept traffic towards the specified port of the deployment. Moreover, I plan to add logic in the traffic-manager to delete these ports based on an annotation of how long they should live, default 24h to clean up unused share resources automatically
Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
Versions (please complete the following information)
- Output of
telepresence version(just in case the feature exists in future versions) - Kubernetes Environment and Version
Additional context Add any other context about the feature request here.
Source: telepresenceio/telepresence