-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
56 lines (51 loc) · 2.97 KB
/
render.yaml
File metadata and controls
56 lines (51 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# render.yaml — PeerGlass deployment on Render.com
# Docs: https://render.com/docs/blueprint-spec
#
# Deploy instructions:
# 1. Push this repo to GitHub
# 2. Go to https://dashboard.render.com → New → Blueprint
# 3. Connect your GitHub repo — Render auto-reads this file
# 4. Set GREYNOISE_API_KEY in the dashboard (optional, for threat intel)
# 5. Done — API is live at https://peerglass.onrender.com
#
# Architecture on Render:
# ┌─────────────────────────────────────────────┐
# │ peerglass-api (Web Service — Python) │
# │ uvicorn api:app → /v1/ip, /v1/dns, … │
# │ Auto-deploys on every git push to main │
# └─────────────────────────────────────────────┘
# ┌─────────────────────────────────────────────┐
# │ peerglass-ui (Static Site — Sprint 7) │
# │ React + Vite build → dist/ │
# │ Note: uncomment when Web UI is built │
# └─────────────────────────────────────────────┘
#
# Starter plan ($7/mo): always-on, no cold starts, zero-downtime deploys.
#
# MCP stdio server (server.py) is NOT deployable here —
# it runs locally inside Claude Desktop as a stdio subprocess.
services:
# ── REST API ─────────────────────────────────────────────────
- type: web
name: peerglass-api-v1
runtime: python
plan: starter # always-on, no cold starts
region: oregon # closest to RIR servers (ARIN/APNIC)
branch: main
buildCommand: pip install -r requirements.txt
startCommand: uvicorn api:app --host 0.0.0.0 --port $PORT --workers 2
healthCheckPath: /v1/meta/status
envVars:
# CORS — set to your frontend domain in production
# e.g. "https://your-username.github.io" or "*" for open access
- key: PEERGLASS_ALLOWED_ORIGINS
value: "https://duksh.github.io"
# Optional — enables GreyNoise threat classification
# Free API key: https://www.greynoise.io/plans/community
- key: GREYNOISE_API_KEY
sync: false # set manually in Render dashboard
autoDeploy: true # redeploy on every push to branch
# ── Web UI ───────────────────────────────────────────────────
# Hosted on GitHub Pages at https://duksh.github.io/peerglass/
# Deployed automatically via .github/workflows/deploy-ui.yml on push to main.
# No Render service needed for the UI.