๊ตฌ์ฑ
config.yaml์ ์ ํ ์ฌํญ์
๋๋ค. ์์ผ๋ฉด ํ๋ก์๋ ์๋์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์์ํฉ๋๋ค.
๊ธฐ๋ณธ ์ค์ ํ์ผ ๊ฒฝ๋ก
์น์ ์ ๋ชฉ: โ๊ธฐ๋ณธ ์ค์ ํ์ผ ๊ฒฝ๋กโ| OS | ๊ฒฝ๋ก |
|---|---|
| macOS | ~/Library/Application Support/sotatek-proxy/config.yaml |
| Linux | ~/.config/sotatek-proxy/config.yaml ($XDG_CONFIG_HOME ์ค์) |
| Windows | %ProgramData%\SotatekProxy\config.yaml |
์ ์ฒด ์์
์น์ ์ ๋ชฉ: โ์ ์ฒด ์์โ# ๋ก์ปฌ ๋ฆฌ์ค๋ ํฌํธ. ๋ฃจํ๋ฐฑ ๋ฐ์ธ๋ฉ์ ํ๋์ฝ๋ฉ๋จ โ `host`๋ ์ค์ ๋ถ๊ฐ.port: 3817
# ์
์คํธ๋ฆผ Bifrost ๊ฒ์ดํธ์จ์ด. ๊ฒฝ๋ก๋ 1:1๋ก ์ ๋ฌ๋จ (์ ๊ฑฐ ์์).upstream_url: 'https://bifrost.sotatek.works'
# {pid โ git-remote} ์บ์์ TTL(์ด). 0์ด๋ฉด ๋นํ์ฑํ.cache_ttl_seconds: 60
# ๋ก๊น
โ lumberjack์ ํตํ ๋กํ
์ด์
, stdout์ผ๋ก ๋์ ์ถ๋ ฅ.log: # file: <OS๋ณ ๊ธฐ๋ณธ๊ฐ โ ๋น์๋์ธ์> max_size_mb: 50 # ํ์ฌ ํ์ผ์ด ์ด ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ฉด ๋กํ
์ด์
max_backups: 5 # N๊ฐ์ ๋กํ
์ด์
๋ (.gz) ํ์ผ ์ ์ง max_age_days: 30 # ์ด๋ณด๋ค ์ค๋๋ ๋กํ
์ด์
ํ์ผ ์ญ์ json: false # JSON ๋ก๊ทธ ์ถ๋ ฅ์ ์ํด true๋ก ์ค์ (Loki/ELK ์์ง)
# ์ ํ์ ํ๋กํ์ผ๋ง ์๋ํฌ์ธํธ. ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋นํ์ฑํ๋จ. ์์ ์ ๋ฃจํ๋ฐฑ ์ ์ฉ ๊ฐ์ ์ ์ฉ.pprof: enable: false addr: '127.0.0.1:8316'
# ์์ธ ๋ก๊น
(gin ๋๋ฒ๊ทธ ๋ชจ๋ + logrus ๋๋ฒ๊ทธ ๋ ๋ฒจ).debug: falseํ๋ ์ฐธ์กฐ
์น์ ์ ๋ชฉ: โํ๋ ์ฐธ์กฐโ| ํ๋ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ๋น๊ณ |
|---|---|---|---|
port | int | 3817 | 1โ65535. ๋ฃจํ๋ฐฑ ๋ฐ์ธ๋ฉ ํ๋์ฝ๋ฉ. |
upstream_url | string | https://bifrost.sotatek.works | http:// ๋๋ https://๋ก ์์ํด์ผ ํฉ๋๋ค. http://๋ ์์ ์ ๊ฒฝ๊ณ ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค (API ํค๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด ํ๋ฌธ์ผ๋ก ์ ์ก๋จ). |
cache_ttl_seconds | int | 60 | 0์ด๋ฉด ์บ์ ๋นํ์ฑํ. |
log.file | string | OS ๊ธฐ๋ณธ๊ฐ | ๋น ๋ฌธ์์ด์ ๊ธฐ๋ณธ๊ฐ ์ ์ง. |
log.max_size_mb | int | 50 | ๋กํ ์ด์ ํฌ๊ธฐ ์๊ณ๊ฐ. |
log.max_backups | int | 5 | ์ ์งํ ๋กํ
์ด์
๋ .gz ํ์ผ ์. |
log.max_age_days | int | 30 | ์ด๋ณด๋ค ์ค๋๋ ๋กํ ์ด์ ํ์ผ ์ญ์ . |
log.json | bool | false | ๋ก๊ทธ ์์ง์ ์ํ JSON ๋ผ์ธ ํ์. |
pprof.enable | bool | false | /debug/pprof/* ํ์ฑํ. |
pprof.addr | string | 127.0.0.1:8316 | ๋ฃจํ๋ฐฑ์ผ๋ก ํ์ธ๋์ด์ผ ํฉ๋๋ค (์์ ์ ๊ฒ์ฆ). |
debug | bool | false | ์์ธ ๋ก๊ทธ + Gin ๋๋ฒ๊ทธ ๋ชจ๋. |
ํ๊ฒฝ ๋ณ์ ์ฌ์ ์
์น์ ์ ๋ชฉ: โํ๊ฒฝ ๋ณ์ ์ฌ์ ์โ๋ณ์๋ฅผ ์ค์ ํ ํ ๋ฐ๋ชฌ์ ์์ํฉ๋๋ค. ํ๊ฒฝ ๋ณ์ ๊ฐ์ด YAML์ ๋ฎ์ด์๋๋ค.
| ๋ณ์ | ํ๋ | ์์ |
|---|---|---|
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 |
ํซ ๋ฆฌ๋ก๋
์น์ ์ ๋ชฉ: โํซ ๋ฆฌ๋ก๋โconfig.yaml์ ํธ์งํ๊ณ ์ ์ฅํ๋ฉด ์ฝ 500ms ์ด๋ด์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค (fsnotify ๋๋ฐ์ด์ค). ๋ค์ ํญ๋ชฉ์ ์ฌ์์ ์์ด ์ ์ฉ๋ฉ๋๋ค:
debugcache_ttl_secondslog.max_size_mb,log.max_backups,log.max_age_dayslog.json
์์ฒญ ๋ณธ๋ฌธ ํฌ๊ธฐ ์ ํ
์น์ ์ ๋ชฉ: โ์์ฒญ ๋ณธ๋ฌธ ํฌ๊ธฐ ์ ํโ์ธ๋ฐ์ด๋ ์์ฒญ ๋ณธ๋ฌธ์ ๋ก์ปฌ ํด๋ผ์ด์ธํธ์ ๊ณผ๋ถํ๋ฅผ ๋ฐฉ์ดํ๊ธฐ ์ํด 100 MiB๋ก ์ ํ๋ฉ๋๋ค. SSE / ์คํธ๋ฆฌ๋ฐ ์๋ต์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. ์ด ์ ํ์ ํ์ฌ ์ปดํ์ผ ํ์ ์์์ ๋๋ค.