Cấu hình
config.yaml là tùy chọn. Nếu không có, proxy khởi động với các giá trị mặc định dưới đây.
Đường dẫn config mặc định
Phần tiêu đề “Đường dẫn config mặc định”| OS | Đường dẫn |
|---|---|
| macOS | ~/Library/Application Support/sotatek-proxy/config.yaml |
| Linux | ~/.config/sotatek-proxy/config.yaml (tuân theo $XDG_CONFIG_HOME) |
| Windows | %ProgramData%\SotatekProxy\config.yaml |
Ví dụ đầy đủ
Phần tiêu đề “Ví dụ đầy đủ”# Local listener port. Loopback bind is hardcoded — `host` is not configurable.port: 3817
# Upstream Bifrost gateway. Path is forwarded 1:1 (no strip).upstream_url: 'https://bifrost.sotatek.works'
# TTL (seconds) for the {pid → git-remote} cache. 0 disables.cache_ttl_seconds: 60
# Logging — rotation via lumberjack, tee'd to stdout.log: # file: <per-OS default — leave empty> max_size_mb: 50 # rotate when current file exceeds this size max_backups: 5 # keep N rotated (.gz) files max_age_days: 30 # delete rotated files older than this json: false # set true to emit JSON logs (Loki/ELK ingest)
# Optional profiling endpoint. Disabled by default. Loopback-only enforced at startup.pprof: enable: false addr: '127.0.0.1:8316'
# Verbose logging (gin debug mode + logrus debug level).debug: falseTham chiếu trường
Phần tiêu đề “Tham chiếu trường”| Trường | Kiểu | Mặc định | Ghi chú |
|---|---|---|---|
port | int | 3817 | 1–65535. Loopback bind cố định. |
upstream_url | string | https://bifrost.sotatek.works | Phải bắt đầu bằng http:// hoặc https://. http:// kích hoạt cảnh báo khởi động (API key sẽ truyền qua mạng dưới dạng plaintext). |
cache_ttl_seconds | int | 60 | 0 vô hiệu hóa cache. |
log.file | string | Mặc định theo OS | Chuỗi rỗng giữ nguyên mặc định. |
log.max_size_mb | int | 50 | Ngưỡng kích thước để xoay vòng. |
log.max_backups | int | 5 | Số file .gz đã xoay vòng cần giữ. |
log.max_age_days | int | 30 | Xóa các file đã xoay vòng cũ hơn số ngày này. |
log.json | bool | false | Định dạng JSON line để nạp log. |
pprof.enable | bool | false | Bật /debug/pprof/*. |
pprof.addr | string | 127.0.0.1:8316 | Phải trỏ về loopback (được kiểm tra khi khởi động). |
debug | bool | false | Log chi tiết + Gin debug mode. |
Ghi đè biến môi trường
Phần tiêu đề “Ghi đè biến môi trường”Đặt biến, sau đó khởi động daemon. Giá trị env ghi đè YAML.
| Biến | Trường | Ví dụ |
|---|---|---|
SOTATEK_PROXY_PORT | port | 3818 |
SOTATEK_PROXY_UPSTREAM | upstream_url | https://bifrost-staging.sotatek.works |
SOTATEK_PROXY_DEBUG | debug | true |
SOTATEK_PROXY_LOG_JSON | log.json | true |
Hot-reload
Phần tiêu đề “Hot-reload”Chỉnh sửa config.yaml và lưu — thay đổi được áp dụng trong khoảng ~500ms (fsnotify debounced). Không cần khởi động lại cho:
debugcache_ttl_secondslog.max_size_mb,log.max_backups,log.max_age_dayslog.json
Giới hạn kích thước body
Phần tiêu đề “Giới hạn kích thước body”Body của inbound request bị giới hạn ở 100 MiB để phòng chống các client cục bộ không kiểm soát được. SSE / streaming response không bị ảnh hưởng. Giới hạn hiện tại là hằng số compile-time.