ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toInfrastructure
์๋ฌธ ์ฝ๊ธฐ
Cloudflare Workers์ KV ๊ธฐ๋ฐ์ No-Auth Secret ๊ด๋ฆฌ API ๊ตฌ์ถ
๐ I Built DG Encoder โ A Free Cloudflare Worker API for Storing Secrets, Webhooks, and Dynamic Configurations
AI ์์ฝ
Context
ํ๋ก ํธ์๋ ์ฝ๋ ๋ด Webhook URL์ด๋ ์ค์ ๊ฐ ๋ ธ์ถ ๋ฐฉ์ง๋ฅผ ์ํด ๋ฐฑ์๋ ๊ตฌ์ถ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํธ์ถํ ์ ์๋ ๊ฒฝ๋ ์คํ ๋ฆฌ์ง ํ์์ฑ ๋๋. ๊ธฐ์กด์ ์ํฐํ๋ผ์ด์ฆ Secret Management ํด์ ๋ณต์กํ ์ค์ ๊ณผ ์ ๋ฃ ํ๋์ผ๋ก ์ธํด ์๊ท๋ชจ ํ๋ก์ ํธ ๋์ ์ ์ง์ ์ฅ๋ฒฝ ์กด์ฌ.
Technical Solution
- Cloudflare Workers ๊ธฐ๋ฐ Edge Computing ํ๊ฒฝ์ ์ฑํํ์ฌ ๊ธ๋ก๋ฒ ์ ์ง์ฐ ์๋ต ๋ฐ ๊ณ ๊ฐ์ฉ์ฑ ํ๋ณด
- Cloudflare KV(Key-Value) ์คํ ๋ฆฌ์ง ํ์ฉ์ ํตํ ํ ์คํธ ๋ฐ์ดํฐ์ ๋น ๋ฅธ ์ฝ๊ธฐ/์ฐ๊ธฐ ์ต์ ํ
- ๊ณ ์ ID ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๋งคํ ๊ตฌ์กฐ๋ฅผ ํตํด ์๋ณธ ๊ฐ์ ์ง์ ๋ ธ์ถ์ ์ฐจ๋จํ๋ ๊ฐ์ ์ฐธ์กฐ ์ํคํ ์ฒ ์ค๊ณ
- Request Header์ ๋๋ฉ์ธ ๊ฒ์ฆ ๋ก์ง์ ํตํ ํ์ฉ๋ ๋๋ฉ์ธ ์ธ ์ ๊ทผ์ ์ฐจ๋จํ๋ ์ต์ํ์ ๋ณด์ ๊ณ์ธต ๊ตฌํ
- API Key ์๋ ์ ๊ทผ์ฑ์ ์ํด ๊ณ ์ ์๋ณ์์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฉ์ปค๋์ฆ ์ ์ฉ
- RESTful API ์ค๊ณ๋ฅผ ํตํ ์ ์ฅ(POST), ์กฐํ(GET), ์์ (PATCH), ์ญ์ (DELETE) ๋ผ์ดํ์ฌ์ดํด ๊ตฌ์ถ
์ค์ฒ ํฌ์ธํธ
์ค์ ๊ฐ์ ์ ์ ๋ ธ์ถ์ ๋ง๊ธฐ ์ํด Edge KV ๊ธฐ๋ฐ์ Proxy ์ ์ฅ์๋ฅผ ๊ตฌ์ถํ๊ณ , ๋๋ฉ์ธ ํ์ดํธ๋ฆฌ์คํธ ๋ฐฉ์์ผ๋ก ์ ๊ทผ ์ ์ด๋ฅผ ๊ตฌํํ๋ ๊ฒฝ๋ ๋ณด์ ํจํด ๊ฒํ ๊ฐ๋ฅ