Skip to content

Reverse tunnel server and agent modules

Mikhail Mazurskiy requested to merge ash2k/reverse-tunnel into master

Please use docs from gitlab-org/gitlab!51859 (merged) to understand what's going on here :)

Please see the second commit only, the first one is generated files and build files. I've tried to reduce the size of this MR but it's still huge. I've made the following changes separately to reduce the size: !224 (merged), !225 (merged), !226 (merged), !227 (merged), !228 (merged), !230 (merged), !231 (merged), !232 (merged), !235 (merged), !236 (merged), !238 (merged), !251 (merged), !254 (merged).

TODO in followups (because this MR it big already!):

  • proxy error responses (i.e. payload messages, etc)
  • send information about gRPC API methods an agent supports and use this information when picking a tunnel connection to use
  • maintain a number of standby tunnel connections rather than a fixed number (current impl).

Video overview https://youtu.be/9pnQF76hyZc

Draft Kubernetes API proxying MR that I used in the video for illustrative purposes: !255 (merged)

Docs update MR that I used in the video: gitlab-org/gitlab!51859 (merged)

Please note that code in this MR is not responsible for kas -> kas traffic routing, this will be done in gitlab-org/gitlab#297658 (closed).

Updates gitlab-org/gitlab#296824 (closed).

Edited by Mikhail Mazurskiy

Merge request reports

Loading