gravitational / teleport

The easiest, and most secure way to access and protect all of your infrastructure.
https://goteleport.com
GNU Affero General Public License v3.0
16.98k stars 1.71k forks source link

Machine ID: Database/Application Tunnel Services #36291

Open strideynet opened 6 months ago

strideynet commented 6 months ago

Currently, to access Applications/Databases, users must configure an output for the correct type of certificates and then use these with tbot proxy ran separately to create the appropriate tunnel. This typically means creating a systemd service per tunnel and one for the main tbot process.

This has some limitations:

Following https://github.com/gravitational/teleport/pull/36140 , we can now build long-lived sub-services which run inside the main tbot process. We can leverage this to allow tunnels to applications/databases to be managed by the main tbot process. This resolves the limitations above and offers some additional benefits.

Hypothetical configuration:

services:
  - type: authenticated-app-tunnel
    listen: tcp://127.0.0.1:8080
    app_name: foo
  - type: authenticated-database-tunnel
    listen: tcp://127.0.0.1:8080
    service: example-server
    database: example
    username: alice
strideynet commented 3 months ago

Picking this up since most of Q1 goals are finished and we now have the infra in place to support services.