๐Ÿ“„ Dev Notes

CNAP๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๊ฒฝํ—˜ํ•œ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์ˆ ์„ ๊ณต์œ ํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.


  • Spring Security์™€ Keycloak ์—ฐ๋™ ๊ฐ€์ด๋“œ

    lemon โ€ข 2025-08-01 โ€ข Backend, Security, Authentication

    Spring ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ๋„์ž…ํ•  ๋•Œ ๊ฐ€์žฅ ํ”ํžˆ ๊ณ ๋ ค๋˜๋Š” ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๊ฐ€ OAuth2 ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐœ๋ณ„ API์— ๋Œ€ํ•ด ์„ธ๋ถ„ํ™”๋œ ์ ‘๊ทผ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์™ธ๋ถ€ ์ธ์ฆ ์„œ๋ฒ„์™€์˜ ์•ˆ์ •์ ์ธ ์—ฐ๋™์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. Keycloak์€ OAuth2์™€ OpenID Connect๋ฅผ ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์ธ์ฆ ์„œ๋ฒ„๋กœ, SSO(Single Sign-On), ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด(RBAC) ๋“ฑ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉ์ ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Spring Security์™€ ์—ฐ๋™ํ•˜๋ฉด Keycloak์˜ ์ธ์ฆ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด์„œ๋„, ๊ฐ API์— ๋Œ€ํ•ด ์œ ์—ฐํ•œ ๊ถŒํ•œ ์ œ์–ด ์ •์ฑ…์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Read More ๐Ÿ–‰ Spring Boot, Keycloak, OAuth2, Microservices, Security
  • Keycloak ์„ค์น˜ ๋ฐ ์ธ์ฆ ์„ค์ • ๊ฐ€์ด๋“œ

    lemon โ€ข 2025-07-23 โ€ข Security, Authentication

    Keycloak์€ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ํ”Œ๋žซํผ์œผ๋กœ, SSO(Single Sign-On), LDAP, OAuth2, OpenID Connect ๋“ฑ์„ ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค. Kubernetes, Spring Boot์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ, ํ† ํฐ ๋ฐœ๊ธ‰, ๊ถŒํ•œ ๊ด€๋ฆฌ ๋“ฑ์„ ์œ„ํ•ด ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด ๊ธ€์€ Keycloak์„ Kubernetes ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๊ณ , ์‚ฌ์šฉ์ž ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ํฌํ•จํ•œ ๊ธฐ๋ณธ ์ธ์ฆ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ํŠนํžˆ Keycloak ๋ฐฐํฌ, ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ, ์‚ฌ์šฉ์ž์™€ ๊ทธ๋ฃน ๋งคํ•‘, ๊ทธ๋ฆฌ๊ณ  ํ† ํฐ ๋ฐœ๊ธ‰๊นŒ์ง€ ์ด์–ด์ง€๋Š” ์ „์ฒด ์ธ์ฆ ํ๋ฆ„์„ ๋‹จ๊ณ„์ ์œผ๋กœ ๊ฒฝํ—˜ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

    Read More ๐Ÿ–‰ Keycloak, OIDC, OAuth2, Identity Management
  • Helm๊ณผ Kustomize๋ฅผ ํ™œ์šฉํ•œ GitOps ๋ฐฐํฌ ์ „๋žต

    lemon โ€ข 2025-07-22 โ€ข GitOps, Kubernetes

    Kubernetes ํ™˜๊ฒฝ์—์„œ ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ๊ณ ๋ฏผํ•ด๋ณธ ์—”์ง€๋‹ˆ์–ด๋ผ๋ฉด GitOps๋ผ๋Š” ์šฉ์–ด์— ์ต์ˆ™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Git์„ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์„ ์–ธ์  ๊ตฌ์„ฑ๊ณผ ์ž๋™ํ™”๋ฅผ ํ•ต์‹ฌ์œผ๋กœ ํ•˜๋Š” ์ด ๋ฐฉ์‹์€, ์ผ๊ด€๋œ ์ธํ”„๋ผ ์šด์˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ GitOps๋ฅผ ์ ์šฉํ•˜๋ ค๊ณ  ํ•˜๋ฉด, ์ ์ ˆํ•œ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๋ฐฐํฌ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

    GitOps ํ™˜๊ฒฝ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๊ณผ ์›๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ๋‹ค๋Š” ์ „์ œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ์„ ์–ธ์  ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ๊ณผ ๋ฐฐํฌยทํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด Helm๊ณผ Kustomize๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    Read More ๐Ÿ–‰ Helm, Kustomize, GitOps, CI/CD, Kubernetes
  • Kind๋ฅผ ํ™œ์šฉํ•œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ• ๊ฐ€์ด๋“œ

    lemon โ€ข 2025-07-20 โ€ข Kubernetes, Container

    Kind(Kubernetes IN Docker)๋ฅผ ์‚ฌ์šฉํ•ด Kubernetes ๋ฉ€ํ‹ฐ ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , NGINX Ingress Controller๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” Raspberry Pi 5๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Docker 27.3.1๊ณผ Kubernetes v1.30.0์„ ์‚ฌ์šฉํ•˜์—ฌ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    Read More ๐Ÿ–‰ Kind, Kubernetes, Cluster, DevOps