Skip to content

Commit a5d1c39

Browse files
committed
(lcore-1251) added tls e2e tests
1 parent b689f72 commit a5d1c39

22 files changed

Lines changed: 1290 additions & 1 deletion

docker-compose-library.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ services:
4040
- ./tests/e2e/rag:/opt/app-root/src/.llama/storage/rag:Z
4141
- ./tests/e2e/secrets/mcp-token:/tmp/mcp-token:ro
4242
- ./tests/e2e/secrets/invalid-mcp-token:/tmp/invalid-mcp-token:ro
43+
- ./tests/e2e/mock_tls_inference_server/certs:/certs:ro
4344
environment:
4445
# LLM Provider API Keys
4546
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
@@ -113,6 +114,24 @@ services:
113114
retries: 3
114115
start_period: 2s
115116

117+
# Mock TLS inference server for TLS E2E tests
118+
mock-tls-inference:
119+
build:
120+
context: ./tests/e2e/mock_tls_inference_server
121+
dockerfile: Dockerfile
122+
container_name: mock-tls-inference
123+
ports:
124+
- "8443:8443"
125+
- "8444:8444"
126+
networks:
127+
- lightspeednet
128+
healthcheck:
129+
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)"]
130+
interval: 5s
131+
timeout: 3s
132+
retries: 3
133+
start_period: 5s
134+
116135

117136
networks:
118137
lightspeednet:

docker-compose.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ services:
3131
- ./lightspeed-stack.yaml:/opt/app-root/lightspeed-stack.yaml:ro
3232
- llama-storage:/opt/app-root/src/.llama/storage
3333
- ./tests/e2e/rag:/opt/app-root/src/.llama/storage/rag:z
34+
- ./tests/e2e/mock_tls_inference_server/certs:/certs:ro
3435
environment:
3536
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
3637
- TAVILY_SEARCH_API_KEY=${TAVILY_SEARCH_API_KEY:-}
@@ -138,6 +139,24 @@ services:
138139
retries: 3
139140
start_period: 2s
140141

142+
# Mock TLS inference server for TLS E2E tests
143+
mock-tls-inference:
144+
build:
145+
context: ./tests/e2e/mock_tls_inference_server
146+
dockerfile: Dockerfile
147+
container_name: mock-tls-inference
148+
ports:
149+
- "8443:8443"
150+
- "8444:8444"
151+
networks:
152+
- lightspeednet
153+
healthcheck:
154+
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)"]
155+
interval: 5s
156+
timeout: 3s
157+
retries: 3
158+
start_period: 5s
159+
141160

142161
volumes:
143162
llama-storage:
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
version: 2
2+
image_name: starter
3+
4+
apis:
5+
- agents
6+
- batches
7+
- datasetio
8+
- eval
9+
- files
10+
- inference
11+
- safety
12+
- scoring
13+
- tool_runtime
14+
- vector_io
15+
16+
providers:
17+
inference:
18+
- provider_id: tls-openai
19+
provider_type: remote::openai
20+
config:
21+
api_key: test-key
22+
base_url: https://mock-tls-inference:8443/v1
23+
allowed_models: ["mock-tls-model"]
24+
network:
25+
tls:
26+
verify: /certs/ca.crt
27+
min_version: "TLSv1.3"
28+
vector_io:
29+
- config:
30+
persistence:
31+
namespace: vector_io::faiss
32+
backend: kv_default
33+
provider_id: faiss
34+
provider_type: inline::faiss
35+
tool_runtime:
36+
- config: {}
37+
provider_id: rag-runtime
38+
provider_type: inline::rag-runtime
39+
agents:
40+
- config:
41+
persistence:
42+
agent_state:
43+
namespace: agents_state
44+
backend: kv_default
45+
responses:
46+
table_name: agents_responses
47+
backend: sql_default
48+
provider_id: meta-reference
49+
provider_type: inline::meta-reference
50+
files:
51+
- config:
52+
metadata_store:
53+
table_name: files_metadata
54+
backend: sql_default
55+
storage_dir: ~/.llama/storage/files
56+
provider_id: meta-reference-files
57+
provider_type: inline::localfs
58+
safety:
59+
- config:
60+
excluded_categories: []
61+
provider_id: llama-guard
62+
provider_type: inline::llama-guard
63+
scoring:
64+
- provider_id: basic
65+
provider_type: inline::basic
66+
config: {}
67+
- provider_id: llm-as-judge
68+
provider_type: inline::llm-as-judge
69+
config: {}
70+
batches:
71+
- config:
72+
kvstore:
73+
namespace: batches_store
74+
backend: kv_default
75+
provider_id: reference
76+
provider_type: inline::reference
77+
datasetio:
78+
- config:
79+
kvstore:
80+
namespace: localfs_datasetio
81+
backend: kv_default
82+
provider_id: localfs
83+
provider_type: inline::localfs
84+
eval:
85+
- config:
86+
kvstore:
87+
namespace: eval_store
88+
backend: kv_default
89+
provider_id: meta-reference
90+
provider_type: inline::meta-reference
91+
92+
server:
93+
port: 8321
94+
95+
storage:
96+
backends:
97+
kv_default:
98+
type: kv_sqlite
99+
db_path: ${env.KV_STORE_PATH:=~/.llama/storage/kv_store.db}
100+
sql_default:
101+
type: sql_sqlite
102+
db_path: ${env.SQL_STORE_PATH:=~/.llama/storage/sql_store.db}
103+
stores:
104+
metadata:
105+
namespace: registry
106+
backend: kv_default
107+
inference:
108+
table_name: inference_store
109+
backend: sql_default
110+
conversations:
111+
table_name: openai_conversations
112+
backend: sql_default
113+
114+
registered_resources:
115+
models:
116+
- model_id: mock-tls-model
117+
provider_id: tls-openai
118+
provider_model_id: mock-tls-model
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
version: 2
2+
image_name: starter
3+
4+
apis:
5+
- agents
6+
- batches
7+
- datasetio
8+
- eval
9+
- files
10+
- inference
11+
- safety
12+
- scoring
13+
- tool_runtime
14+
- vector_io
15+
16+
providers:
17+
inference:
18+
- provider_id: tls-openai
19+
provider_type: remote::openai
20+
config:
21+
api_key: test-key
22+
base_url: https://mock-tls-inference:8444/v1
23+
allowed_models: ["mock-tls-model"]
24+
network:
25+
tls:
26+
verify: /certs/ca.crt
27+
client_cert: /certs/client.crt
28+
client_key: /certs/client.key
29+
vector_io:
30+
- config:
31+
persistence:
32+
namespace: vector_io::faiss
33+
backend: kv_default
34+
provider_id: faiss
35+
provider_type: inline::faiss
36+
tool_runtime:
37+
- config: {}
38+
provider_id: rag-runtime
39+
provider_type: inline::rag-runtime
40+
agents:
41+
- config:
42+
persistence:
43+
agent_state:
44+
namespace: agents_state
45+
backend: kv_default
46+
responses:
47+
table_name: agents_responses
48+
backend: sql_default
49+
provider_id: meta-reference
50+
provider_type: inline::meta-reference
51+
files:
52+
- config:
53+
metadata_store:
54+
table_name: files_metadata
55+
backend: sql_default
56+
storage_dir: ~/.llama/storage/files
57+
provider_id: meta-reference-files
58+
provider_type: inline::localfs
59+
safety:
60+
- config:
61+
excluded_categories: []
62+
provider_id: llama-guard
63+
provider_type: inline::llama-guard
64+
scoring:
65+
- provider_id: basic
66+
provider_type: inline::basic
67+
config: {}
68+
- provider_id: llm-as-judge
69+
provider_type: inline::llm-as-judge
70+
config: {}
71+
batches:
72+
- config:
73+
kvstore:
74+
namespace: batches_store
75+
backend: kv_default
76+
provider_id: reference
77+
provider_type: inline::reference
78+
datasetio:
79+
- config:
80+
kvstore:
81+
namespace: localfs_datasetio
82+
backend: kv_default
83+
provider_id: localfs
84+
provider_type: inline::localfs
85+
eval:
86+
- config:
87+
kvstore:
88+
namespace: eval_store
89+
backend: kv_default
90+
provider_id: meta-reference
91+
provider_type: inline::meta-reference
92+
93+
server:
94+
port: 8321
95+
96+
storage:
97+
backends:
98+
kv_default:
99+
type: kv_sqlite
100+
db_path: ${env.KV_STORE_PATH:=~/.llama/storage/kv_store.db}
101+
sql_default:
102+
type: sql_sqlite
103+
db_path: ${env.SQL_STORE_PATH:=~/.llama/storage/sql_store.db}
104+
stores:
105+
metadata:
106+
namespace: registry
107+
backend: kv_default
108+
inference:
109+
table_name: inference_store
110+
backend: sql_default
111+
conversations:
112+
table_name: openai_conversations
113+
backend: sql_default
114+
115+
registered_resources:
116+
models:
117+
- model_id: mock-tls-model
118+
provider_id: tls-openai
119+
provider_model_id: mock-tls-model

0 commit comments

Comments
 (0)