Skip to content

[DONT MERGE] Public Rev Proxy#33

Open
cmyui wants to merge 166 commits intok8s-rev-proxyfrom
public-rev-proxy
Open

[DONT MERGE] Public Rev Proxy#33
cmyui wants to merge 166 commits intok8s-rev-proxyfrom
public-rev-proxy

Conversation

@cmyui
Copy link
Copy Markdown
Member

@cmyui cmyui commented Aug 28, 2025

No description provided.

@cmyui cmyui changed the base branch from main to k8s-rev-proxy August 28, 2025 02:20
@cmyui cmyui requested a review from infernalfire72 as a code owner August 28, 2025 02:20
Josh and others added 5 commits December 22, 2025 02:12
Route traffic to k8s workers via VPC instead of public IPs.
This keeps traffic internal and works with the new firewall rules.

VPC IPs:
- k8s-worker01: 10.118.0.3
- k8s-worker02: 10.118.0.7

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Static assets were hitting the 10r/s + 10 burst rate limit when pages
load with 30+ flag SVGs, causing intermittent 503 errors.

Also adds limit_req_status 429 to the catch-all so rate-limited requests
return proper 429 status instead of 503.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add gzip_vary for proper caching with proxies
- Add gzip_proxied any to compress proxied responses
- Set gzip_comp_level 6 for good compression/speed balance
- Configure gzip_types for CSS, JS, JSON, SVG, and fonts

Previously only had bare `gzip on;` which uses defaults
(level 1, limited types). This should reduce transfer
sizes for text assets by 60-80%.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Set `Cache-Control: public, max-age=31536000, immutable` for /static/
- Assets are now content-hashed (e.g., dist-abc123.min.js)
- immutable flag tells browsers to never revalidate

Companion PR: hanayo content hashing implementation

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@cmyui cmyui changed the title Public rev proxy [DONT MERGE] Jan 15, 2026
@cmyui cmyui changed the title [DONT MERGE] [DONT MERGE] Public Rev Proxy Jan 15, 2026
cmyui and others added 7 commits February 18, 2026 04:14
The GitHub-hosted runner cannot SSH into mysql-master01 because
the firewall only allows VPC traffic on port 22.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
appleboy/ssh-action runs SSH inside a Docker container using
the host's bridge network, which doesn't route to VPC IPs.
Use a direct ssh command from the runner shell instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The SSH timeout was caused by the wrong host secret, not
Docker networking. Revert to the action for cleaner workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The k8s ingress handles /api prefix stripping. The rewrite rules
were double-stripping the prefix, causing 405 on POST endpoints.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use org secrets (SERVER_HOST, SERVER_SSH_KEY) instead of custom secrets
- Switch runner from self-hosted to ubuntu-latest
- Pull nginx configs from server-infra repo on the server

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

4 participants