mirror of
https://github.com/katanemo/plano.git
synced 2026-06-29 15:49:40 +02:00
Merge branch 'main' into adil/use_standard_tracing
This commit is contained in:
commit
891f3a7413
102 changed files with 6426 additions and 1026 deletions
|
|
@ -18,7 +18,7 @@ $ cargo test
|
|||
```
|
||||
|
||||
## Local development
|
||||
- Build docker image for arch gateway. Note this needs to be built once.
|
||||
- Build docker image for Plano. Note this needs to be built once.
|
||||
```
|
||||
$ sh build_filter_image.sh
|
||||
```
|
||||
|
|
@ -27,9 +27,9 @@ $ cargo test
|
|||
```
|
||||
$ cargo build --target wasm32-wasip1 --release
|
||||
```
|
||||
- Start envoy with arch_config.yaml and test,
|
||||
- Start envoy with config.yaml and test,
|
||||
```
|
||||
$ docker compose -f docker-compose.dev.yaml up archgw
|
||||
$ docker compose -f docker-compose.dev.yaml up plano
|
||||
```
|
||||
- dev version of docker-compose file uses following files that are mounted inside the container. That means no docker rebuild is needed if any of these files change. Just restart the container and chagne will be picked up,
|
||||
- envoy.template.yaml
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ properties:
|
|||
type: string
|
||||
enum:
|
||||
- plano_orchestrator_v1
|
||||
max_retries:
|
||||
type: integer
|
||||
type:
|
||||
type: string
|
||||
enum:
|
||||
|
|
|
|||
|
|
@ -278,6 +278,7 @@ static_resources:
|
|||
|
||||
{% if listener.agents %}
|
||||
|
||||
# agent listeners
|
||||
- name: {{ listener.name | replace(" ", "_") }}
|
||||
address:
|
||||
socket_address:
|
||||
|
|
@ -333,7 +334,7 @@ static_resources:
|
|||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/agents/"
|
||||
cluster: bright_staff
|
||||
timeout: {{ llm_gateway_listener.timeout }}
|
||||
timeout: {{ listener.timeout | default('30s') }}
|
||||
http_filters:
|
||||
- name: envoy.filters.http.compressor
|
||||
typed_config:
|
||||
|
|
@ -412,7 +413,7 @@ static_resources:
|
|||
"@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
|
||||
path: "/var/log/access_llm.log"
|
||||
format: |
|
||||
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%" "%UPSTREAM_CLUSTER%"
|
||||
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%" "%UPSTREAM_CLUSTER%" attempts=%UPSTREAM_REQUEST_ATTEMPT_COUNT%
|
||||
route_config:
|
||||
name: local_routes
|
||||
virtual_hosts:
|
||||
|
|
@ -533,7 +534,7 @@ static_resources:
|
|||
"@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
|
||||
path: "/var/log/access_llm.log"
|
||||
format: |
|
||||
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%" "%UPSTREAM_CLUSTER%"
|
||||
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%" "%UPSTREAM_CLUSTER%" attempts=%UPSTREAM_REQUEST_ATTEMPT_COUNT%
|
||||
route_config:
|
||||
name: local_routes
|
||||
virtual_hosts:
|
||||
|
|
@ -558,6 +559,16 @@ static_resources:
|
|||
auto_host_rewrite: true
|
||||
cluster: {{ llm_cluster_name }}
|
||||
timeout: 300s
|
||||
{% if llm_gateway_listener.max_retries %}
|
||||
retry_policy:
|
||||
retry_on: "5xx,connect-failure,refused-stream,reset,retriable-status-codes"
|
||||
num_retries: {{ llm_gateway_listener.max_retries }}
|
||||
per_try_timeout: 30s
|
||||
retriable_status_codes: [429, 500, 502, 503, 504]
|
||||
retry_back_off:
|
||||
base_interval: 0.5s
|
||||
max_interval: 5s
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
- match:
|
||||
prefix: "/"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ failed_files=()
|
|||
for file in $(find . -name config.yaml -o -name arch_config_full_reference.yaml); do
|
||||
echo "Validating ${file}..."
|
||||
touch $(pwd)/${file}_rendered
|
||||
if ! docker run --rm -v "$(pwd)/${file}:/app/arch_config.yaml:ro" -v "$(pwd)/${file}_rendered:/app/arch_config_rendered.yaml:rw" --entrypoint /bin/sh katanemo/plano:0.4.3 -c "python -m planoai.config_generator" 2>&1 > /dev/null ; then
|
||||
if ! docker run --rm -v "$(pwd)/${file}:/app/arch_config.yaml:ro" -v "$(pwd)/${file}_rendered:/app/arch_config_rendered.yaml:rw" --entrypoint /bin/sh katanemo/plano:0.4.4 -c "python -m planoai.config_generator" 2>&1 > /dev/null ; then
|
||||
echo "Validation failed for $file"
|
||||
failed_files+=("$file")
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue