Skip to content

Commit 23c8d57

Browse files
committed
addressed comments
1 parent ef49439 commit 23c8d57

File tree

4 files changed

+15
-91
lines changed

4 files changed

+15
-91
lines changed

docker-compose-library.yaml

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ services:
3030
condition: service_healthy
3131
mock-mcp:
3232
condition: service_healthy
33-
mock-tls-inference:
34-
condition: service_healthy
3533
networks:
3634
- lightspeednet
3735
volumes:
@@ -42,7 +40,6 @@ services:
4240
- ./tests/e2e/rag:/opt/app-root/src/.llama/storage/rag:Z
4341
- ./tests/e2e/secrets/mcp-token:/tmp/mcp-token:ro
4442
- ./tests/e2e/secrets/invalid-mcp-token:/tmp/invalid-mcp-token:ro
45-
- mock-tls-certs:/certs:ro
4643
environment:
4744
# LLM Provider API Keys
4845
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
@@ -116,31 +113,9 @@ services:
116113
retries: 3
117114
start_period: 2s
118115

119-
# Mock TLS inference server for TLS E2E tests
120-
mock-tls-inference:
121-
build:
122-
context: ./tests/e2e/mock_tls_inference_server
123-
dockerfile: Dockerfile
124-
container_name: mock-tls-inference
125-
ports:
126-
- "8443:8443"
127-
- "8444:8444"
128-
- "8445:8445"
129-
networks:
130-
- lightspeednet
131-
volumes:
132-
- mock-tls-certs:/certs
133-
healthcheck:
134-
test: ["CMD", "python", "-c", "import urllib.request,ssl;c=ssl.create_default_context();c.check_hostname=False;c.verify_mode=ssl.CERT_NONE;urllib.request.urlopen('https://localhost:8443/health',context=c)"]
135-
interval: 5s
136-
timeout: 3s
137-
retries: 3
138-
start_period: 5s
139-
140116

141117
networks:
142118
lightspeednet:
143119
driver: bridge
144120

145-
volumes:
146-
mock-tls-certs:
121+
volumes: {}

tests/e2e/configuration/library-mode/lightspeed-stack-tls.yaml

Lines changed: 0 additions & 21 deletions
This file was deleted.

tests/e2e/mock_tls_inference_server/server.py

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import datetime
1515
import json
1616
import ssl
17-
import sys
1817
import threading
1918
import time
2019
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
@@ -26,6 +25,9 @@
2625
from cryptography.x509 import CertificateBuilder, random_serial_number
2726

2827
MODEL_ID = "mock-tls-model"
28+
TLS_PORT = 8443
29+
MTLS_PORT = 8444
30+
HOSTNAME_MISMATCH_PORT = 8445
2931

3032

3133
class OpenAIHandler(BaseHTTPRequestHandler):
@@ -199,9 +201,6 @@ def main() -> None:
199201
Generates certificates on-the-fly using trustme and exports the CA cert
200202
to /certs/ca.crt and client cert to /certs/client.* for use by tests.
201203
"""
202-
tls_port = int(sys.argv[1]) if len(sys.argv) > 1 else 8443
203-
mtls_port = int(sys.argv[2]) if len(sys.argv) > 2 else 8444
204-
205204
print("=" * 60)
206205
print("Generating TLS certificates with trustme...")
207206
print("=" * 60)
@@ -262,20 +261,18 @@ def main() -> None:
262261
print("Starting servers...")
263262
print("=" * 60)
264263

265-
hostname_mismatch_port = int(sys.argv[3]) if len(sys.argv) > 3 else 8445
266-
267264
# Create TLS server (no client cert required)
268-
tls_server = ThreadingHTTPServer(("", tls_port), OpenAIHandler)
265+
tls_server = ThreadingHTTPServer(("", TLS_PORT), OpenAIHandler)
269266
tls_ctx = _make_tls_context(ca, server_cert, require_client_cert=False)
270267
tls_server.socket = tls_ctx.wrap_socket(tls_server.socket, server_side=True)
271268

272269
# Create mTLS server (client cert required)
273-
mtls_server = ThreadingHTTPServer(("", mtls_port), OpenAIHandler)
270+
mtls_server = ThreadingHTTPServer(("", MTLS_PORT), OpenAIHandler)
274271
mtls_ctx = _make_tls_context(ca, server_cert, require_client_cert=True)
275272
mtls_server.socket = mtls_ctx.wrap_socket(mtls_server.socket, server_side=True)
276273

277274
# Create hostname-mismatch TLS server (cert SAN ≠ connecting hostname)
278-
mismatch_server = ThreadingHTTPServer(("", hostname_mismatch_port), OpenAIHandler)
275+
mismatch_server = ThreadingHTTPServer(("", HOSTNAME_MISMATCH_PORT), OpenAIHandler)
279276
mismatch_ctx = _make_tls_context(
280277
ca, hostname_mismatch_cert, require_client_cert=False
281278
)
@@ -286,30 +283,25 @@ def main() -> None:
286283
print("=" * 60)
287284
print("Mock TLS Inference Server")
288285
print("=" * 60)
289-
print(f" TLS : https://localhost:{tls_port} (no client cert)")
290-
print(f" mTLS : https://localhost:{mtls_port} (client cert required)")
286+
print(f" TLS : https://localhost:{TLS_PORT} (no client cert)")
287+
print(f" mTLS : https://localhost:{MTLS_PORT} (client cert required)")
291288
print(
292-
f" Mismatch : https://localhost:{hostname_mismatch_port}"
289+
f" Mismatch : https://localhost:{HOSTNAME_MISMATCH_PORT}"
293290
" (hostname-mismatch cert)"
294291
)
295292
print(f" Model: {MODEL_ID}")
296293
print("=" * 60)
297294

298295
for srv, label in [
299-
(tls_server, f"TLS :{tls_port}"),
300-
(mtls_server, f"mTLS :{mtls_port}"),
301-
(mismatch_server, f"Mismatch :{hostname_mismatch_port}"),
296+
(tls_server, f"TLS :{TLS_PORT}"),
297+
(mtls_server, f"mTLS :{MTLS_PORT}"),
298+
(mismatch_server, f"Mismatch :{HOSTNAME_MISMATCH_PORT}"),
302299
]:
303300
t = threading.Thread(target=_run_server, args=(srv, label), daemon=True)
304301
t.start()
305302

306-
try:
307-
while True:
308-
time.sleep(3600)
309-
except KeyboardInterrupt:
310-
print("\nShutting down...")
311-
tls_server.shutdown()
312-
mtls_server.shutdown()
303+
# Keep main thread alive (daemon threads run until container stops)
304+
threading.Event().wait()
313305

314306

315307
if __name__ == "__main__":

tests/e2e/test_list.txt

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1 @@
1-
features/faiss.feature
2-
features/inline_rag.feature
3-
features/smoketests.feature
4-
features/authorized_noop.feature
5-
features/authorized_noop_token.feature
6-
features/authorized_rh_identity.feature
7-
features/rbac.feature
8-
features/conversations.feature
9-
features/conversation_cache_v2.feature
10-
features/feedback.feature
11-
features/health.feature
12-
features/info.feature
13-
features/responses.feature
14-
features/responses_streaming.feature
15-
features/query.feature
16-
features/rlsapi_v1.feature
17-
features/rlsapi_v1_errors.feature
18-
features/streaming_query.feature
19-
features/rest_api.feature
20-
features/mcp.feature
21-
features/models.feature
22-
features/proxy.feature
231
features/tls.feature

0 commit comments

Comments
 (0)