Skip to content

NGINX pass through for API docs#61

Merged
ejfine merged 9 commits intomainfrom
misc-updates
Aug 19, 2025
Merged

NGINX pass through for API docs#61
ejfine merged 9 commits intomainfrom
misc-updates

Conversation

@ejfine
Copy link
Contributor

@ejfine ejfine commented Aug 19, 2025

Link to Issue or Message thread

#60

Why is this change necessary?

need to be able to have the frontend direct people to the backend API docs

How does this change address the issue?

Adds NGINX config pass through

What side effects does this change have?

None

How is this change tested?

Downstream repo

Other

Pulls in some upstream version bumps and other small changes.

Adds some more icons to the nuxt config

Summary by CodeRabbit

  • New Features

    • Frontend now exposes API docs endpoints and optional GraphiQL assets.
    • Expanded built-in UI icons for common controls and navigation.
  • Tests

    • CI uploads frontend test coverage on failure for easier debugging.
  • Chores

    • Updated tooling and dependencies (template generator, pre-commit, linters).
    • Devcontainer updates: extension bump, config path tweak, and enforced linux/amd64 platform.
    • Broadened .gitignore (logs, macOS files); refined pre-commit excludes for snapshots/generated files.
    • Tuned prerendering to reduce concurrency and add delay for stability.
    • Minor metadata updates.

@ejfine ejfine requested a review from Copilot August 19, 2025 20:16
@ejfine ejfine self-assigned this Aug 19, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 19, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Version bumps and config tweaks across devcontainer, pre-commit, tooling, and context. Added platform override in Docker Compose. Adjusted ignore patterns. Updated CI workflow to upload frontend coverage on failure. Nuxt config expanded icons and tweaked prerender pacing. Nginx template added Swagger and optional GraphiQL proxy locations.

Changes

Cohort / File(s) Summary
Copier metadata
.copier-answers.yml
Update _commit from v0.0.62 to v0.0.64.
Devcontainer config
.devcontainer/devcontainer.json, .devcontainer/docker-compose.yml, template/.devcontainer/devcontainer.json.jinja, template/.devcontainer/docker-compose.yml.jinja
Bump Ruff extension (2025.22.0 → 2025.24.0). Switch Ruff config path to absolute workspace path. Add platform: linux/amd64 with comment in compose. Update context hash comment.
Tooling versions
.devcontainer/install-ci-tooling.py, extensions/context.py, pyproject.toml
Upgrade versions: Copier (9.8.0 → 9.9.1), Pre-Commit (4.2.0 → 4.3.0), Pulumi libs, boto3. Update pyproject to copier>=9.9.1.
Pre-commit configs
.pre-commit-config.yaml, template/.pre-commit-config.yaml.jinja
Raise minimum pre-commit version. Update hook revisions. Expand excludes to ignore test snapshots and generated files; broaden some path patterns.
Ignore rules
.gitignore, template/.gitignore
Add **/logs/*.log.* and macOS .DS_Store ignores.
CI workflow
template/.github/workflows/ci.yaml.jinja
Make frontend unit test command unconditional; add step to upload frontend/.coverage on failure.
Nuxt config
template/frontend/nuxt.config.ts.jinja
Expand icon bundle list; adjust Nitro prerender: concurrency 4 → 1, add interval 200ms.
Nginx template
template/frontend/{% if not deploy_as_executable %}default.conf.template{% endif %}.jinja
Add /api-docs and /static/swagger/ proxy locations; conditionally add /static/graphiql/ when frontend_uses_graphql; reuse @proxy.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer
  participant GH as GitHub Actions
  participant FE as Frontend Tests
  participant UA as Upload Artifact

  Dev->>GH: Push / PR triggers CI
  GH->>FE: Run pnpm frontend unit tests
  alt Tests fail
    GH->>UA: Upload frontend/.coverage (on failure)
  else Tests pass
    GH-->>Dev: Proceed to next steps
  end
Loading
sequenceDiagram
  autonumber
  actor C as Client
  participant N as Nginx (frontend)
  participant P as @proxy (backend)

  C->>N: GET /api/...
  N->>P: proxy_pass

  C->>N: GET /api-docs
  N->>P: proxy_pass

  C->>N: GET /static/swagger/...
  N->>P: proxy_pass

  opt when frontend_uses_graphql
    C->>N: GET /static/graphiql/...
    N->>P: proxy_pass
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

A rabbit taps its tiny keys, so spry,
Pins hop ahead, the versions climb the sky.
Swagger paths and GraphiQL appear,
Tests may fail—coverage lands right here.
Prerenders pause, icons multiply—
In burrows of config, I nibble, comply. 🐇✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between a54ddc2 and 0b35ea9.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (15)
  • .copier-answers.yml (1 hunks)
  • .devcontainer/devcontainer.json (3 hunks)
  • .devcontainer/docker-compose.yml (1 hunks)
  • .devcontainer/install-ci-tooling.py (1 hunks)
  • .gitignore (1 hunks)
  • .pre-commit-config.yaml (9 hunks)
  • extensions/context.py (1 hunks)
  • pyproject.toml (1 hunks)
  • template/.devcontainer/devcontainer.json.jinja (2 hunks)
  • template/.devcontainer/docker-compose.yml.jinja (1 hunks)
  • template/.github/workflows/ci.yaml.jinja (1 hunks)
  • template/.gitignore (1 hunks)
  • template/.pre-commit-config.yaml.jinja (11 hunks)
  • template/frontend/nuxt.config.ts.jinja (1 hunks)
  • template/frontend/{% if not deploy_as_executable %}default.conf.template{% endif %}.jinja (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch misc-updates

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds NGINX configuration to enable pass-through for API documentation, allowing the frontend to direct users to backend API docs including Swagger and GraphiQL interfaces. It also includes upstream version bumps for various development tools and adds additional icon support for the Nuxt frontend.

  • Adds NGINX location blocks for /api-docs and /static/swagger/ to proxy backend API documentation
  • Updates multiple development tool versions (pre-commit hooks, Copier, Ruff, Pylint, etc.)
  • Expands Nuxt icon configuration with additional Lucide icons and adjusts build performance settings

Reviewed Changes

Copilot reviewed 14 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
template/frontend/{% if not deploy_as_executable %}default.conf.template{% endif %}.jinja Adds NGINX location blocks for API docs pass-through
template/frontend/nuxt.config.ts.jinja Expands icon bundle and adjusts prerender settings
template/.pre-commit-config.yaml.jinja Updates pre-commit hook versions and exclusion patterns
template/.gitignore Adds macOS and additional log file patterns
template/.github/workflows/ci.yaml.jinja Adds test coverage artifact upload on failure
template/.devcontainer/*.jinja Updates VS Code extension versions and platform specification
pyproject.toml Updates Copier dependency version
extensions/context.py Updates multiple dependency versions
.pre-commit-config.yaml Updates pre-commit hook versions (root config)
.devcontainer/* Updates tooling versions and platform specification
.copier-answers.yml Updates template commit reference

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

nitro: {
prerender: {
concurrency: 4, // lower the concurrency to not be such a memory hog
concurrency: 1, // lower the concurrency to not be such a memory hog
Copy link

Copilot AI Aug 19, 2025

Choose a reason for hiding this comment

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

Setting concurrency to 1 may significantly slow down the prerender process. Consider using a value like 2 or 3 instead of 1 to balance memory usage with build performance.

Suggested change
concurrency: 1, // lower the concurrency to not be such a memory hog
concurrency: 2, // balance memory usage with build performance (was 1)

Copilot uses AI. Check for mistakes.
@ejfine ejfine merged commit ee227be into main Aug 19, 2025
11 of 12 checks passed
@ejfine ejfine deleted the misc-updates branch August 19, 2025 20:25
@coderabbitai coderabbitai bot mentioned this pull request Aug 21, 2025
@coderabbitai coderabbitai bot mentioned this pull request Sep 23, 2025
@coderabbitai coderabbitai bot mentioned this pull request Oct 9, 2025
@coderabbitai coderabbitai bot mentioned this pull request Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants