feat: add TLS listener support to aibridgeproxyd (#22411)

## Description

Adds optional TLS support for the AI Bridge Proxy listener. When TLS cert and key files are provided, the proxy serves over HTTPS instead of plain HTTP.

## Changes

* New configuration options to enable TLS on the proxy listener 
* Wraps the TCP listener in `tls.NewListener` when configured
* Tests for validation errors, invalid files, and full integration (tunneled + MITM) through a TLS listener

Note: Documentation for TLS listener setup and client configuration will be handled in a follow-up PR.
Related to: https://github.com/coder/internal/issues/1335
This commit is contained in:
Susana Ferreira
2026-03-05 09:19:34 +00:00
committed by GitHub
parent 7bcd9f6de8
commit 21c91cebaa
13 changed files with 346 additions and 7 deletions
+2
View File
@@ -170,6 +170,8 @@ curl -X GET http://coder-server:8080/api/v2/deployment/config \
"enabled": true,
"key_file": "string",
"listen_addr": "string",
"tls_cert_file": "string",
"tls_key_file": "string",
"upstream_proxy": "string",
"upstream_proxy_ca": "string"
},
+10
View File
@@ -623,6 +623,8 @@
"enabled": true,
"key_file": "string",
"listen_addr": "string",
"tls_cert_file": "string",
"tls_key_file": "string",
"upstream_proxy": "string",
"upstream_proxy_ca": "string"
}
@@ -637,6 +639,8 @@
| `enabled` | boolean | false | | |
| `key_file` | string | false | | |
| `listen_addr` | string | false | | |
| `tls_cert_file` | string | false | | |
| `tls_key_file` | string | false | | |
| `upstream_proxy` | string | false | | |
| `upstream_proxy_ca` | string | false | | |
@@ -746,6 +750,8 @@
"enabled": true,
"key_file": "string",
"listen_addr": "string",
"tls_cert_file": "string",
"tls_key_file": "string",
"upstream_proxy": "string",
"upstream_proxy_ca": "string"
},
@@ -2671,6 +2677,8 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
"enabled": true,
"key_file": "string",
"listen_addr": "string",
"tls_cert_file": "string",
"tls_key_file": "string",
"upstream_proxy": "string",
"upstream_proxy_ca": "string"
},
@@ -3240,6 +3248,8 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
"enabled": true,
"key_file": "string",
"listen_addr": "string",
"tls_cert_file": "string",
"tls_key_file": "string",
"upstream_proxy": "string",
"upstream_proxy_ca": "string"
},