mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-06-27 18:50:41 +00:00
feat: allow the interface on which the server will listen to be configured (#2015)
# What does this PR do? It may not always be desirable to listen on all interfaces, which is the default. As an example, by listening instead only on a loopback interface, the server cannot be reached except from within the host it is run on. This PR makes this configurable, through a CLI option, an env var or an entry on the config file. ## Test Plan I ran a server with and without the added CLI argument to verify that the argument is used if provided, but the default is as it was before if not. Signed-off-by: Gordon Sim <gsim@redhat.com>
This commit is contained in:
parent
64f8d4c3ad
commit
b8f7e1504d
36 changed files with 5 additions and 40 deletions
|
@ -271,7 +271,7 @@ Now, let's start the Llama Stack Distribution Server. You will need the YAML con
|
||||||
|
|
||||||
```
|
```
|
||||||
llama stack run -h
|
llama stack run -h
|
||||||
usage: llama stack run [-h] [--port PORT] [--image-name IMAGE_NAME] [--disable-ipv6] [--env KEY=VALUE] [--tls-keyfile TLS_KEYFILE] [--tls-certfile TLS_CERTFILE]
|
usage: llama stack run [-h] [--port PORT] [--image-name IMAGE_NAME] [--env KEY=VALUE] [--tls-keyfile TLS_KEYFILE] [--tls-certfile TLS_CERTFILE]
|
||||||
[--image-type {conda,container,venv}]
|
[--image-type {conda,container,venv}]
|
||||||
config
|
config
|
||||||
|
|
||||||
|
@ -285,7 +285,6 @@ options:
|
||||||
--port PORT Port to run the server on. It can also be passed via the env var LLAMA_STACK_PORT. (default: 8321)
|
--port PORT Port to run the server on. It can also be passed via the env var LLAMA_STACK_PORT. (default: 8321)
|
||||||
--image-name IMAGE_NAME
|
--image-name IMAGE_NAME
|
||||||
Name of the image to run. Defaults to the current environment (default: None)
|
Name of the image to run. Defaults to the current environment (default: None)
|
||||||
--disable-ipv6 Disable IPv6 support (default: False)
|
|
||||||
--env KEY=VALUE Environment variables to pass to the server in KEY=VALUE format. Can be specified multiple times. (default: [])
|
--env KEY=VALUE Environment variables to pass to the server in KEY=VALUE format. Can be specified multiple times. (default: [])
|
||||||
--tls-keyfile TLS_KEYFILE
|
--tls-keyfile TLS_KEYFILE
|
||||||
Path to TLS key file for HTTPS (default: None)
|
Path to TLS key file for HTTPS (default: None)
|
||||||
|
|
|
@ -258,9 +258,9 @@ class ServerConfig(BaseModel):
|
||||||
default=None,
|
default=None,
|
||||||
description="Authentication configuration for the server",
|
description="Authentication configuration for the server",
|
||||||
)
|
)
|
||||||
disable_ipv6: bool = Field(
|
host: str | None = Field(
|
||||||
default=False,
|
default=None,
|
||||||
description="Disable IPv6 support",
|
description="The host the server should listen on",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -358,7 +358,6 @@ def main(args: argparse.Namespace | None = None):
|
||||||
default=int(os.getenv("LLAMA_STACK_PORT", 8321)),
|
default=int(os.getenv("LLAMA_STACK_PORT", 8321)),
|
||||||
help="Port to listen on",
|
help="Port to listen on",
|
||||||
)
|
)
|
||||||
parser.add_argument("--disable-ipv6", action="store_true", help="Whether to disable IPv6 support")
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--env",
|
"--env",
|
||||||
action="append",
|
action="append",
|
||||||
|
@ -514,7 +513,7 @@ def main(args: argparse.Namespace | None = None):
|
||||||
else:
|
else:
|
||||||
logger.info(f"HTTPS enabled with certificates:\n Key: {keyfile}\n Cert: {certfile}")
|
logger.info(f"HTTPS enabled with certificates:\n Key: {keyfile}\n Cert: {certfile}")
|
||||||
|
|
||||||
listen_host = ["::", "0.0.0.0"] if not config.server.disable_ipv6 else "0.0.0.0"
|
listen_host = config.server.host or ["::", "0.0.0.0"]
|
||||||
logger.info(f"Listening on {listen_host}:{port}")
|
logger.info(f"Listening on {listen_host}:{port}")
|
||||||
|
|
||||||
uvicorn_config = {
|
uvicorn_config = {
|
||||||
|
|
|
@ -139,4 +139,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -137,4 +137,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -235,4 +235,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -126,4 +126,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -117,4 +117,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -254,4 +254,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -244,4 +244,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -202,4 +202,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -134,4 +134,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -124,4 +124,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -134,4 +134,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -124,4 +124,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -160,4 +160,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -144,4 +144,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -129,4 +129,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -113,4 +113,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -219,4 +219,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -137,4 +137,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -127,4 +127,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -241,4 +241,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -147,4 +147,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -137,4 +137,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -144,4 +144,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -132,4 +132,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -202,4 +202,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -620,4 +620,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -124,4 +124,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -123,4 +123,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -271,4 +271,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -261,4 +261,3 @@ tool_groups:
|
||||||
provider_id: wolfram-alpha
|
provider_id: wolfram-alpha
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -723,4 +723,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -128,4 +128,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
|
@ -211,4 +211,3 @@ tool_groups:
|
||||||
provider_id: rag-runtime
|
provider_id: rag-runtime
|
||||||
server:
|
server:
|
||||||
port: 8321
|
port: 8321
|
||||||
disable_ipv6: false
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue