Skip to content

feat: establish repository and local stack foundation (COE-226)#1

Merged
kumanday merged 2 commits intomainfrom
leonardogonzalez/coe-226-repository-and-local-stack-foundation
Mar 21, 2026
Merged

feat: establish repository and local stack foundation (COE-226)#1
kumanday merged 2 commits intomainfrom
leonardogonzalez/coe-226-repository-and-local-stack-foundation

Conversation

@kumanday
Copy link
Copy Markdown
Collaborator

No description provided.

@kumanday kumanday added the symphony Symphony orchestrated task label Mar 21, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5d7514ceec

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +17 to +19
general_settings:
master_key: "os.environ/LITELLM_MASTER_KEY"
database_url: "os.environ/DATABASE_URL"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Move LiteLLM auth/database settings into litellm_settings

When someone starts the compose stack, LiteLLM will ignore these two keys because its config schema expects master_key and database_url under litellm_settings (the upstream quick-start example puts both there). In practice that means the proxy comes up without DB-backed state and without enforcing the master key, so session-scoped virtual keys and request persistence cannot work.

Useful? React with 👍 / 👎.

# LiteLLM Proxy Configuration for StackPerf Benchmarking
# Reference: https://docs.litellm.ai/docs/proxy/configs

model_list: []
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Define at least one LiteLLM route before using the sample variant

If an operator boots this stack and tries the included fireworks-kimi-k2-5-claude variant, LiteLLM has nothing to route to because model_list is empty and this commit adds no code that materializes configs/providers/*.yaml into proxy routes. The harness will send the alias kimi-k2-5, so benchmark traffic will be rejected instead of reaching Fireworks.

Useful? React with 👍 / 👎.

Comment on lines +1 to +2
{
"dashboard": {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Store the provisioned dashboard as raw dashboard JSON

Grafana file provisioning reads each JSON file here as a dashboard JSON model, but this file is wrapped in a top-level dashboard object, which is the Dashboard HTTP API payload shape instead. In the local stack that means the advertised LiteLLM Overview dashboard will not be imported on startup, leaving Grafana empty even though provisioning is configured.

Useful? React with 👍 / 👎.

Comment on lines +27 to +29
- job_name: 'postgres'
static_configs:
- targets: ['postgres:5432']
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scrape a Postgres exporter instead of the database port

This scrape job targets postgres:5432, but that port speaks the PostgreSQL wire protocol, not Prometheus HTTP. As soon as Prometheus starts, the postgres target will remain DOWN on every scrape, so the local stack never collects any database metrics unless an exporter is added and scraped instead.

Useful? React with 👍 / 👎.

- LiteLLM: move master_key/database_url to litellm_settings, add model routes
- Grafana: fix dashboard JSON format for file provisioning
- Prometheus: remove invalid postgres wire protocol scrape target
- Python: fix lint warnings (unused imports, blank line whitespace)
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 21, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 59aa937e-a1fd-4510-82fa-efe29903f359

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch leonardogonzalez/coe-226-repository-and-local-stack-foundation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can suggest fixes for GitHub Check annotations.

Configure the reviews.tools.github-checks setting to adjust the time to wait for GitHub Checks to complete.

@kumanday kumanday merged commit b5b1de4 into main Mar 21, 2026
1 check passed
@kumanday kumanday deleted the leonardogonzalez/coe-226-repository-and-local-stack-foundation branch March 21, 2026 03:16
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cadcb8e41f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +7 to +11
environment:
- LITELLM_MASTER_KEY=sk-stackperf-master-key-dev
- DATABASE_URL=postgresql://stackperf:stackperf-dev-password@postgres:5432/litellm
- LITELLM_SALT_KEY=stackperf-salt-key-dev-only
- STORE_MODEL_IN_DB=True
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pass Fireworks credentials through to the LiteLLM container

The sample proxy routes in configs/litellm/config.yaml:9-15 dereference FIREWORKS_BASE_URL and FIREWORKS_API_KEY, but this environment: block never injects either variable into the litellm container and does not use ${...} expansion, so copying .env.example still will not expose them. In the default local stack the proxy can start, but any request to kimi-k2-5 or glm-5 will fail at runtime because the upstream base URL/API key are missing inside the container.

Useful? React with 👍 / 👎.

Comment on lines +15 to +18
@main.command()
def config_validate() -> None:
"""Validate all configuration files."""
click.echo("Config validation: TODO")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make the config-validation CLI actually implement the published flow

This registers a top-level config-validate command that only prints Config validation: TODO and exits 0, while the contract published in docs/config-and-contracts.md:148-164 is bench config validate. As shipped, operators following the docs get No such command 'config', and even users who discover config-validate still get a false-success path that never loads or validates any YAML, so broken configs slip through unchecked.

Useful? React with 👍 / 👎.

kumanday added a commit that referenced this pull request Apr 2, 2026
- Remove .opensymphony/ metadata files from git tracking (Critical Issue #1)
- Remove orphaned src/cli/diagnose.py - health commands exist in cli/commands/health.py (Critical Issue #3)
- Fix hex_secret pattern to require 41+ chars to avoid matching 40-char git SHAs (Important Issue #4)

Refs: COE-299
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

symphony Symphony orchestrated task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant