mirror of
https://github.com/turnstonelabs/turnstone.git
synced 2026-08-24 12:54:48 -06:00
57080f4615
* chore: release infrastructure for dual-track stable/experimental CI/CD changes for the 1.0 release: - Gate PyPI publish and Docker publish on CI success via workflow_run - Add docker-publish.yml: builds and pushes to GHCR with smart tagging (stable gets :X.Y.Z/:X.Y/:stable/:latest, pre-release gets :experimental) - Add stable/* and v* tags to CI and docker-scan triggers - Remove stale [mq] extra and types-redis from CI (Redis MQ deleted) - Remove stale redis from Renovate package rules Release tooling: - scripts/release.sh: bump version, uv lock, commit, tag (with --push) - docs/releasing.md: documents stable/experimental workflow Docker: - Add /workspace mount point (WORKSPACE_MOUNT env var, defaults to empty volume) - Update .env.example: remove stale Redis/auth-token refs, add workspace/model/discord README: - Remove beta warning, add hero image and release tracks table * fix: derive release tag from git instead of workflow_run.head_branch Use git tag --points-at HEAD after checkout to resolve the release tag instead of relying on workflow_run.head_branch, which may not reliably be the tag name for tag-triggered CI runs. Both publish and docker-publish workflows now skip cleanly when no v* tag exists at the checked-out commit.
50 lines
2.1 KiB
Bash
50 lines
2.1 KiB
Bash
# =============================================================================
|
|
# Turnstone Environment Variables
|
|
# Copy to .env and adjust values for your deployment.
|
|
#
|
|
# Usage:
|
|
# Single node: docker compose --profile production up
|
|
# 10-node cluster: docker compose --profile cluster up
|
|
# =============================================================================
|
|
|
|
# -- LLM Backend --------------------------------------------------------------
|
|
LLM_BASE_URL=http://host.docker.internal:8000/v1
|
|
OPENAI_API_KEY=dummy
|
|
# ANTHROPIC_API_KEY=sk-ant-...# Set instead of OPENAI_API_KEY for Anthropic
|
|
# TAVILY_API_KEY=tvly-... # Web search fallback (local models only)
|
|
# MODEL=# Override default model alias
|
|
|
|
# -- Authentication (required) ------------------------------------------------
|
|
# Generate with: python -c "import secrets; print(secrets.token_hex(32))"
|
|
TURNSTONE_JWT_SECRET=changeme-to-32-bytes-of-hex
|
|
|
|
# -- Database ------------------------------------------------------------------
|
|
# Single-node default is SQLite (zero config). Set these for PostgreSQL:
|
|
# DB_BACKEND=postgresql
|
|
# POSTGRES_USER=turnstone
|
|
# POSTGRES_PASSWORD=changeme
|
|
# DATABASE_URL=postgresql+psycopg://turnstone:changeme@postgres:5432/turnstone
|
|
|
|
# -- Ports ---------------------------------------------------------------------
|
|
# SERVER_PORT=8080
|
|
# CONSOLE_PORT=8090
|
|
|
|
# -- Workspace -----------------------------------------------------------------
|
|
# Bind-mount a host directory into the container at /workspace.
|
|
# The model can read/write files here. Default: empty Docker volume.
|
|
# WORKSPACE_MOUNT=/path/to/your/project
|
|
|
|
# -- Agent behavior ------------------------------------------------------------
|
|
# SKIP_PERMISSIONS=true # Auto-approve all tool calls (dev only)
|
|
# MCP_CONFIG=/workspace/mcp.json# MCP server configuration file
|
|
|
|
# -- Discord channel gateway ---------------------------------------------------
|
|
# TURNSTONE_DISCORD_TOKEN=
|
|
# TURNSTONE_DISCORD_GUILD=0
|
|
|
|
# -- Cluster (profile: cluster) -----------------------------------------------
|
|
# These are set per-node in compose.yaml; only override for custom topologies.
|
|
# TURNSTONE_NODE_ID=node-1
|
|
# TURNSTONE_ADVERTISE_URL=http://server-1:8080
|
|
|