mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 00:36:34 +02:00
* Rename all arch references to plano across the codebase
Complete rebrand from "Arch"/"archgw" to "Plano" including:
- Config files: arch_config_schema.yaml, workflow, demo configs
- Environment variables: ARCH_CONFIG_* → PLANO_CONFIG_*
- Python CLI: variables, functions, file paths, docker mounts
- Rust crates: config paths, log messages, metadata keys
- Docker/build: Dockerfile, supervisord, .dockerignore, .gitignore
- Docker Compose: volume mounts and env vars across all demos/tests
- GitHub workflows: job/step names
- Shell scripts: log messages
- Demos: Python code, READMEs, VS Code configs, Grafana dashboard
- Docs: RST includes, code comments, config references
- Package metadata: package.json, pyproject.toml, uv.lock
External URLs (docs.archgw.com, github.com/katanemo/archgw) left as-is.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Update remaining arch references in docs
- Rename RST cross-reference labels: arch_access_logging, arch_overview_tracing, arch_overview_threading → plano_*
- Update label references in request_lifecycle.rst
- Rename arch_config_state_storage_example.yaml → plano_config_state_storage_example.yaml
- Update config YAML comments: "Arch creates/uses" → "Plano creates/uses"
- Update "the Arch gateway" → "the Plano gateway" in configuration_reference.rst
- Update arch_config_schema.yaml reference in provider_models.py
- Rename arch_agent_router → plano_agent_router in config example
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix remaining arch references found in second pass
- config/docker-compose.dev.yaml: ARCH_CONFIG_FILE → PLANO_CONFIG_FILE,
arch_config.yaml → plano_config.yaml, archgw_logs → plano_logs
- config/test_passthrough.yaml: container mount path
- tests/e2e/docker-compose.yaml: source file path (was still arch_config.yaml)
- cli/planoai/core.py: comment and log message
- crates/brightstaff/src/tracing/constants.rs: doc comment
- tests/{e2e,archgw}/common.py: get_arch_messages → get_plano_messages,
arch_state/arch_messages variables renamed
- tests/{e2e,archgw}/test_prompt_gateway.py: updated imports and usages
- demos/shared/test_runner/{common,test_demos}.py: same renames
- tests/e2e/test_model_alias_routing.py: docstring
- .dockerignore: archgw_modelserver → plano_modelserver
- demos/use_cases/claude_code_router/pretty_model_resolution.sh: container name
Note: x-arch-* HTTP header values and Rust constant names intentionally
preserved for backwards compatibility with existing deployments.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
106 lines
2.8 KiB
Bash
106 lines
2.8 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Function to load environment variables from the .env file
|
|
load_env() {
|
|
if [ -f ".env" ]; then
|
|
export $(grep -v '^#' .env | xargs)
|
|
fi
|
|
}
|
|
|
|
# Function to determine the docker-compose file based on the argument
|
|
get_compose_file() {
|
|
case "$1" in
|
|
jaeger)
|
|
echo "docker-compose-jaeger.yaml"
|
|
;;
|
|
logfire)
|
|
echo "docker-compose-logfire.yaml"
|
|
;;
|
|
signoz)
|
|
echo "docker-compose-signoz.yaml"
|
|
;;
|
|
honeycomb)
|
|
echo "docker-compose-honeycomb.yaml"
|
|
;;
|
|
*)
|
|
echo "docker-compose.yaml"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# Function to start the demo
|
|
start_demo() {
|
|
# Step 1: Determine the docker-compose file
|
|
COMPOSE_FILE=$(get_compose_file "$1" 2>/dev/null)
|
|
|
|
# Step 2: Check if .env file exists
|
|
if [ -f ".env" ]; then
|
|
echo ".env file already exists. Skipping creation."
|
|
else
|
|
# Step 3: Check for required environment variables
|
|
if [ -z "$OPENAI_API_KEY" ]; then
|
|
echo "Error: OPENAI_API_KEY environment variable is not set for the demo."
|
|
exit 1
|
|
fi
|
|
if [ "$1" == "logfire" ] && [ -z "$LOGFIRE_API_KEY" ]; then
|
|
echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire."
|
|
exit 1
|
|
fi
|
|
if [ "$1" == "honeycomb" ] && [ -z "$HONEYCOMB_API_KEY" ]; then
|
|
echo "Error: HONEYCOMB_API_KEY environment variable is required for Honeycomb."
|
|
exit 1
|
|
fi
|
|
|
|
# Create .env file
|
|
echo "Creating .env file..."
|
|
echo "OPENAI_API_KEY=$OPENAI_API_KEY" >.env
|
|
if [ "$1" == "logfire" ]; then
|
|
echo "LOGFIRE_API_KEY=$LOGFIRE_API_KEY" >>.env
|
|
fi
|
|
echo ".env file created with required API keys."
|
|
fi
|
|
|
|
load_env
|
|
|
|
if [ "$1" == "logfire" ] && [ -z "$LOGFIRE_API_KEY" ]; then
|
|
echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire."
|
|
exit 1
|
|
fi
|
|
if [ "$1" == "honeycomb" ] && [ -z "$HONEYCOMB_API_KEY" ]; then
|
|
echo "Error: HONEYCOMB_API_KEY environment variable is required for Honeycomb."
|
|
exit 1
|
|
fi
|
|
|
|
# Step 4: Start Plano
|
|
echo "Starting Plano with config.yaml..."
|
|
planoai up config.yaml
|
|
|
|
# Step 5: Start Network Agent with the chosen Docker Compose file
|
|
echo "Starting Network Agent with $COMPOSE_FILE..."
|
|
docker compose -f "$COMPOSE_FILE" up -d # Run in detached mode
|
|
}
|
|
|
|
# Function to stop the demo
|
|
stop_demo() {
|
|
echo "Stopping all Docker Compose services..."
|
|
|
|
# Stop all services by iterating through all configurations
|
|
for compose_file in ./docker-compose*.yaml; do
|
|
echo "Stopping services in $compose_file..."
|
|
docker compose -f "$compose_file" down
|
|
done
|
|
|
|
# Stop Plano
|
|
echo "Stopping Plano..."
|
|
planoai down
|
|
}
|
|
|
|
# Main script logic
|
|
if [ "$1" == "down" ]; then
|
|
# Call stop_demo with the second argument as the demo to stop
|
|
stop_demo
|
|
else
|
|
# Use the argument (jaeger, logfire, signoz) to determine the compose file
|
|
start_demo "$1"
|
|
fi
|