From 1d53458143e6083e0bf9116154503ca18c3c822f Mon Sep 17 00:00:00 2001 From: happybell80 Date: Sat, 7 Mar 2026 15:37:11 +0900 Subject: [PATCH] Initialize infra DOCS structure and philosophy --- .../00_IDENTITY/Infra_Project_Identity.md | 47 +++++++++++ .../Core_Infrastructure_Principles.md | 44 ++++++++++ .../02_GUARDRAILS/Operational_Guardrails.md | 22 +++++ .../Infrastructure_Project_Structure.md | 78 +++++++++++++++++ ...external_nas_to_internal_nas_sync_probe.md | 52 ++++++++++++ README.md | 46 ++++++++++ journey/README.md | 22 +++++ ...ฐ์ค€_์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ_๊ตฌ์กฐ์ดˆ์•ˆ.md | 84 +++++++++++++++++++ ...ํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md | 80 ++++++++++++++++++ ...ธฐ๋ณธ์ ๊ฒ€_๋ฐ_ro-being_ํ™ˆ_500_์กฐ์น˜.md | 75 +++++++++++++++++ 10 files changed, 550 insertions(+) create mode 100644 00_Philosophy/00_IDENTITY/Infra_Project_Identity.md create mode 100644 00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md create mode 100644 00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md create mode 100644 02_Architecture/Infrastructure_Project_Structure.md create mode 100644 260307_external_nas_to_internal_nas_sync_probe.md create mode 100644 README.md create mode 100644 journey/README.md create mode 100644 journey/research/260307_value_๊ธฐ์ค€_์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ_๊ตฌ์กฐ์ดˆ์•ˆ.md create mode 100644 journey/troubleshooting/260307_23์„œ๋ฒ„_์›Œํฌ์ŠคํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md create mode 100644 journey/worklog/260307_23์„œ๋ฒ„_๊ธฐ๋ณธ์ ๊ฒ€_๋ฐ_ro-being_ํ™ˆ_500_์กฐ์น˜.md diff --git a/00_Philosophy/00_IDENTITY/Infra_Project_Identity.md b/00_Philosophy/00_IDENTITY/Infra_Project_Identity.md new file mode 100644 index 0000000..6d8a90a --- /dev/null +++ b/00_Philosophy/00_IDENTITY/Infra_Project_Identity.md @@ -0,0 +1,47 @@ +# Infra Project Identity + +## ํ•œ ์ค„ ์ •์˜ + +์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ๋Š” `0_VALUE`์˜ ๊ฐ€์น˜๋ฅผ ์‹ค์ œ ์„ธ๊ณ„์—์„œ ๋Š๊ธฐ์ง€ ์•Š๊ฒŒ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด, **23 ์„œ๋ฒ„ / 24 ์„œ๋ฒ„ / ๋‚ด๋ถ€ NAS**๋ฅผ ํ•˜๋‚˜์˜ ์šด์˜ ์‹œ์Šคํ…œ์œผ๋กœ ์„ค๊ณ„ํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋‹ค. + +## ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ + +- ์„œ๋น„์Šค๊ฐ€ ๋Œ์•„๊ฐ„๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ์œผ๋กœ๋Š” ๊ฐ€์น˜๊ฐ€ ๋ณด์กด๋˜์ง€ ์•Š๋Š”๋‹ค. +- ๊ธฐ๋ก, ์ธ์ฆ, ๋ฐฐํฌ, ๋ฐฑ์—…, ๋ณต๊ตฌ, ๋กœ๊ทธ, ๋„คํŠธ์›Œํฌ๊ฐ€ ํฉ์–ด์ ธ ์žˆ์œผ๋ฉด ๊ฐ€์น˜ ํŒ๋‹จ ์ฒด๊ณ„๋„ ํ•จ๊ป˜ ๋ฌด๋„ˆ์ง„๋‹ค. +- ์‚ฌ๋žŒ ๊ธฐ์–ต๊ณผ ์ฆ‰ํฅ ์กฐ์น˜์— ์˜์กดํ•˜๋ฉด, ์‹คํŒจ ์›์ธ๊ณผ ๋ณต๊ตฌ ๊ธฐ์ค€์ด ์‚ฌ๋ผ์ง„๋‹ค. + +์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์„ ๋‹ด๋‹นํ•œ๋‹ค. + +- ์–ด๋–ค ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ์ฑ…์ž„์„ ์ง€๋Š”์ง€ ๊ณ ์ •ํ•œ๋‹ค. +- ํŠธ๋ž˜ํ”ฝ๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””๋ฅผ ํ†ต๊ณผํ•˜๋Š”์ง€ ์ถ”์  ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. +- ์žฅ์• ๊ฐ€ ๋‚˜๋„ ๊ธฐ๋ก๊ณผ ๋ณต๊ตฌ ๊ธฐ์ค€์ด ๋‚จ๋„๋ก ๋งŒ๋“ ๋‹ค. +- ๋ฌธ์„œ์™€ ์„ค์ •์„ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์šด์˜ ์‚ฌ์‹ค๊ณผ ์—ฐ๊ฒฐํ•œ๋‹ค. + +## ํ•ต์‹ฌ ์šด์˜ ๋Œ€์ƒ + +### 23 ์„œ๋ฒ„ +- ์—ญํ• : ๊ฒŒ์ดํŠธ์›จ์ด, ํ”„๋ก์‹œ, Git/CI, DB, ์šด์˜ ๋ณด์กฐ, 24 ์žฅ์•  ์‹œ ์ž„์‹œ ์ˆ˜์šฉ +- ์กด์žฌ ์ด์œ : ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์ง„์ž…์ ๊ณผ ์šด์˜ ์ œ์–ด๋ฉด(control plane)์„ ๋งก๊ธฐ ์œ„ํ•ด + +### 24 ์„œ๋ฒ„ +- ์—ญํ• : ํ•ต์‹ฌ ์•ฑ/์—์ด์ „ํŠธ/์Šคํ‚ฌ ๋Ÿฐํƒ€์ž„ +- ์กด์žฌ ์ด์œ : ์‚ฌ์šฉ์ž ๊ฐ€์น˜๊ฐ€ ์‹ค์ œ๋กœ ์ƒ์„ฑ๋˜๋Š” ์‹คํ–‰๋ฉด(runtime plane)์„ ์•ˆ์ •์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด + +### ๋‚ด๋ถ€ NAS +- ์—ญํ• : ๋ฐฑ์—…, ๋กœ๊ทธ ์•„์นด์ด๋ธŒ, ์‚ฐ์ถœ๋ฌผ ๋ณด์กด, ๋ณต๊ตฌ ๊ธฐ์ค€์  +- ์กด์žฌ ์ด์œ : ์„œ๋ฒ„ ์žฅ์• ๋‚˜ ๋ฐฐํฌ ์‹คํŒจ ํ›„์—๋„ ์ƒํƒœ๋ฅผ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ธฐ์–ต ์ €์žฅ์†Œ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด + +## ์ฃผ๋ณ€ ํ™˜๊ฒฝ์˜ ์œ„์น˜ + +- ๊ฐœ๋ฐœ ๋…ธํŠธ๋ถ: ๋ณ€๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ๊ฒ€์ฆํ•˜๋Š” ์ž‘์„ฑ ํ™˜๊ฒฝ +- ํ…Œ์ŠคํŠธ ์Šค๋งˆํŠธํฐ: ์‹ค์ œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ ํ™”๋ฉด/ํ–‰๋™์„ ๊ฒ€์ฆํ•˜๋Š” ์žฅ์น˜ +- ์™ธ๋ถ€ NAS/์™ธ๋ถ€ ์‹œ์Šคํ…œ: ํ•„์š” ์‹œ ์—ฐ๊ฒฐ๋˜๋Š” ์™ธ๋ถ€ ์ž์› + +์ด๋“ค์€ ์ค‘์š”ํ•˜์ง€๋งŒ, ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ์˜ ์ค‘์‹ฌ SSOT๋Š” ์•„๋‹ˆ๋‹ค. + +## ์ธํ”„๋ผ์˜ ์„ฑ๊ณต ๊ธฐ์ค€ + +- ์„œ๋น„์Šค๊ฐ€ ๋‹จ์ˆœํžˆ ๋œจ๋Š”๊ฐ€๊ฐ€ ์•„๋‹ˆ๋ผ, ์™œ ๋œจ๊ณ  ์™œ ์‹คํŒจํ–ˆ๋Š”์ง€ ์„ค๋ช… ๊ฐ€๋Šฅํ•œ๊ฐ€ +- ๋ณ€๊ฒฝ ํ›„ ๊ฒ€์ฆ๊ณผ ๋กค๋ฐฑ ๊ธฐ์ค€์ด ๋‚จ๋Š”๊ฐ€ +- ์‚ฌ๋žŒ์ด ๋ฐ”๋€Œ์–ด๋„ ๊ฐ™์€ ์ ˆ์ฐจ๋กœ ์šด์˜ ๊ฐ€๋Šฅํ•œ๊ฐ€ +- ์žฅ์•  ์‹œ ๊ฐ€์น˜ ์žˆ๋Š” ๊ธฐ๋ก๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋˜๋Š”๊ฐ€ diff --git a/00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md b/00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md new file mode 100644 index 0000000..20db528 --- /dev/null +++ b/00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md @@ -0,0 +1,44 @@ +# Core Infrastructure Principles + +## 1. Value First +- ์ธํ”„๋ผ๋Š” ๋น„์šฉ ํ•ญ๋ชฉ์ด ์•„๋‹ˆ๋ผ ๊ฐ€์น˜ ๋ณด์กด ์žฅ์น˜๋‹ค. +- 23/24/NAS์˜ ๊ตฌ์กฐ๋Š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € `์ง€์†์„ฑ`, `์ถ”์ ์„ฑ`, `๋ณต๊ตฌ ๊ฐ€๋Šฅ์„ฑ`์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค. + +## 2. Trust by Structure +- ์‹ ๋ขฐ๋Š” ์„ค๋ช…์ด ์•„๋‹ˆ๋ผ ๊ตฌ์กฐ์—์„œ ๋‚˜์˜จ๋‹ค. +- ๊ถŒํ•œ, ๊ฒฝ๋กœ, ๋กœ๊ทธ, ๋ฐฑ์—…, ๊ฒ€์ฆ, ๋ณต๊ตฌ ์ ˆ์ฐจ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด์•ผ ์šด์˜ ์‚ฌ์‹ค์„ ๋ฏฟ์„ ์ˆ˜ ์žˆ๋‹ค. + +## 3. Role Separation +- 23์€ ์ง„์ž…๊ณผ ์ œ์–ด, 24๋Š” ์‹คํ–‰, NAS๋Š” ๋ณด์กด๊ณผ ๋ณต๊ตฌ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. +- ํ•œ ์ž์‚ฐ์— ๋ชจ๋“  ์—ญํ• ์„ ๋ชฐ์•„๋„ฃ์ง€ ์•Š๋Š”๋‹ค. +- ์—ญํ• ์ด ๊ฒน์น˜๋”๋ผ๋„ ๊ธฐ์ค€ ์—ญํ• ์€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚จ๊ธด๋‹ค. + +## 4. Single Source of Truth +- IP, ํฌํŠธ, ์—…์ŠคํŠธ๋ฆผ, ์—”๋“œํฌ์ธํŠธ, ๋งˆ์šดํŠธ ๊ธฐ์ค€์€ ํ•œ ๋ฒˆ๋งŒ ์ •์˜ํ•œ๋‹ค. +- ๋น„๋ฏผ๊ฐ ์šด์˜๊ฐ’์€ `runtime.env`, ๋ฏผ๊ฐ๊ฐ’์€ `secrets.env`๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. +- ์—ฌ๋Ÿฌ ๋ฌธ์„œ์™€ ์„ค์ •์„ ๋™์‹œ์— ๊ณ ์ณ์•ผ ํ•˜๋ฉด ๊ตฌ์กฐ๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์œผ๋กœ ๋ณธ๋‹ค. + +## 5. Gateway First +- ์™ธ๋ถ€ ์š”์ฒญ์€ ๊ฐ€๋Šฅํ•œ ํ•œ ๋‹จ์ผ ์ง„์ž…์ ์—์„œ ํ†ต์ œํ•œ๋‹ค. +- ์ธ์ฆ, ๋ผ์šฐํŒ…, ๊ด€์ธก, ์žฅ์•  ๋ถ„๋ฆฌ๋Š” ์ง„์ž… ๊ณ„์ธต์—์„œ ๋จผ์ € ํŒ๋ณ„ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. +- ์ง์ ‘ ํฌํŠธ ๋…ธ์ถœ์€ ์˜ˆ์™ธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฆฌ์Šคํฌ๋กœ ๋ณธ๋‹ค. + +## 6. Continuity Over Convenience +- ๋น ๋ฅธ ์ž„์‹œ ํ•ด๊ฒฐ๋ณด๋‹ค ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ณต๊ตฌ ๊ตฌ์กฐ๋ฅผ ์šฐ์„ ํ•œ๋‹ค. +- ๋ฐฐํฌ๋Š” ์„ฑ๊ณต๋ณด๋‹ค ๋ณต๊ตฌ ๊ฐ€๋Šฅ์„ฑ์„ ํ•จ๊ป˜ ์ฆ๋ช…ํ•ด์•ผ ํ•œ๋‹ค. +- ๋ฐฑ์—…์€ ์กด์žฌ ์—ฌ๋ถ€๊ฐ€ ์•„๋‹ˆ๋ผ ์‹ค์ œ ๋ณต๊ตฌ ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ํ‰๊ฐ€ํ•œ๋‹ค. + +## 7. Verification Before Declaration +- ์„ค์ • ๋ณ€๊ฒฝ๋งŒ์œผ๋กœ ์™„๋ฃŒ๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๋Š”๋‹ค. +- ๋กœ๊ทธ, ํ—ฌ์Šค์ฒดํฌ, ์‹ค์ œ ๋„๋ฉ”์ธ ์‘๋‹ต, ์ €์žฅ ๊ฒฝ๋กœ, ๊ถŒํ•œ๊นŒ์ง€ ๋Œ€์กฐํ•ด์•ผ ํ•œ๋‹ค. +- `23 ์„ ๊ฒ€์ฆ -> 24 ๋ฐ˜์˜`์€ ์šด์˜ ๋ฆฌ๋“ฌ์˜ ๊ธฐ๋ณธ์ด๋‹ค. + +## 8. Documented Operations +- ์šด์˜ ๋ฌธ์„œ๋Š” ํšŒ๊ณ ๊ฐ€ ์•„๋‹ˆ๋ผ ์‹คํ–‰ ๊ธฐ์ค€์ด๋‹ค. +- ์ฒ ํ•™ ๋ฌธ์„œ๋Š” ์™œ๋ฅผ ์ •์˜ํ•˜๊ณ , ๊ตฌ์กฐ ๋ฌธ์„œ๋Š” ๋ฌด์—‡์„ ๊ณ ์ •ํ•˜๋ฉฐ, journey ๋ฌธ์„œ๋Š” ์‹ค์ œ ์‚ฌ์‹ค์„ ๋‚จ๊ธด๋‹ค. +- ๋ฐ˜๋ณต ๊ฒ€์ฆ๋œ ์šด์˜ ๊ทœ์น™๋งŒ ์ฒ ํ•™/๊ตฌ์กฐ ๊ณ„์ธต์œผ๋กœ ์Šน๊ฒฉํ•œ๋‹ค. + +## 9. Failure Must Stay Visible +- ์‹คํŒจ๋Š” ์ˆจ๊ธฐ์ง€ ์•Š๊ณ  ๋ถ„๋ฆฌ ๊ธฐ๋กํ•œ๋‹ค. +- ์žฅ์• ๋ฅผ ๋ฎ๋Š” ๊ด‘๋ฒ”์œ„ ํด๋ฐฑ, ์ƒํƒœ์ฝ”๋“œ ์™œ๊ณก, ์›์ธ ์€ํ๋ฅผ ๊ธˆ์ง€ํ•œ๋‹ค. +- ์ธํ”„๋ผ๋Š” ์‹คํŒจ๋ฅผ ์—†์• ๋Š” ์‹œ์Šคํ…œ์ด ์•„๋‹ˆ๋ผ, ์‹คํŒจ๋ฅผ ๋นจ๋ฆฌ ๋ถ„๋ฆฌํ•˜๊ณ  ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. diff --git a/00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md b/00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md new file mode 100644 index 0000000..536121b --- /dev/null +++ b/00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md @@ -0,0 +1,22 @@ +# Operational Guardrails + +## ์šด์˜ ๊ฒฝ๊ณ„ + +1. 23/24/NAS์˜ ์—ญํ•  ๋ฌธ๊ตฌ๋Š” ๋ฌธ์„œ์™€ ์„ค์ •์—์„œ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค. +2. ์™ธ๋ถ€ ๊ณต๊ฐœ ๊ฒฝ๋กœ๋Š” nginx/gateway ๊ธฐ์ค€์œผ๋กœ ๋จผ์ € ์„ค๋ช… ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. +3. ์ •์  ์ž์‚ฐ, ๋กœ๊ทธ, ๋ฐฑ์—…์€ ์‹คํ–‰ ๊ฒฝ๋กœ์™€ ๋ณต๊ตฌ ๊ฒฝ๋กœ๋ฅผ ๋ถ„๋ฆฌํ•œ๋‹ค. +4. ์„œ๋ฒ„ ์ด์ „, IP ๋ณ€๊ฒฝ, NAS ๋ณ€๊ฒฝ์€ SSOT ๋ณ€๊ฒฝ์œผ๋กœ ๋จผ์ € ๋‹ค๋ฃฌ๋‹ค. + +## ๊ธˆ์ง€์‚ฌํ•ญ + +1. ํ•œ ์„œ๋ฒ„์— ์ง„์ž…, ์‹คํ–‰, ์ €์žฅ, ๋ณต๊ตฌ ์ฑ…์ž„์„ ๋ฌด๋น„ํŒ์ ์œผ๋กœ ์ค‘์ฒฉํ•˜๋Š” ๊ฒƒ +2. ์„ค์ • ํŒŒ์ผ๋งŒ ๋ฐ”๊พธ๊ณ  ์‹ค์‘๋‹ต/์‹ค๋งˆ์šดํŠธ/์‹ค๋กœ๊ทธ ๊ฒ€์ฆ ์—†์ด ์™„๋ฃŒ๋กœ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ +3. ๋ฐฑ์—… ์กด์žฌ๋ฅผ ๋ณต๊ตฌ ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ์˜ค์ธํ•˜๋Š” ๊ฒƒ +4. ๋ฌธ์„œ ์—†์ด ์ž„์‹œ ์กฐ์น˜๋ฅผ ์ƒ์‹œ ์šด์˜ ๊ตฌ์กฐ๋กœ ๊ตณํžˆ๋Š” ๊ฒƒ +5. ๋กœ์ปฌ ์„ฑ๊ณต์„ ์šด์˜ ์„ฑ๊ณต์œผ๋กœ ์˜ค์ธํ•˜๋Š” ๊ฒƒ + +## ์Šน๊ฒฉ ๊ทœ์น™ + +- ํ•œ ๋ฒˆ์˜ ์žฅ์•  ๋Œ€์‘ ๊ธฐ๋ก์€ `journey`์— ๋‚จ๊ธด๋‹ค. +- ๋ฐ˜๋ณต ์žฌํ˜„๋œ ์šด์˜ ๊ธฐ์ค€๋งŒ `00_Philosophy`๋‚˜ `02_Architecture`๋กœ ์Šน๊ฒฉํ•œ๋‹ค. +- ์˜ˆ์™ธ๋Š” ์˜ˆ์™ธ๋กœ๋งŒ ๊ธฐ๋กํ•˜๊ณ , ์ƒ์‹œ ๊ตฌ์กฐ๋กœ ์Šน๊ฒฉํ•  ๋•Œ๋Š” ์ œ๊ฑฐ ์กฐ๊ฑด๊ณผ ์ด์œ ๋ฅผ ํ•จ๊ป˜ ๋‚จ๊ธด๋‹ค. diff --git a/02_Architecture/Infrastructure_Project_Structure.md b/02_Architecture/Infrastructure_Project_Structure.md new file mode 100644 index 0000000..e4a830e --- /dev/null +++ b/02_Architecture/Infrastructure_Project_Structure.md @@ -0,0 +1,78 @@ +# Infrastructure Project Structure + +## ๋ชฉ์  + +์ด ๋ฌธ์„œ๋Š” ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ `๋ฌด์—‡์ด ์žˆ๋Š”๊ฐ€`์™€ `์™œ ํ•„์š”ํ•œ๊ฐ€` ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ธฐ์ค€ ๋ฌธ์„œ๋‹ค. + +## 1. ํ•ต์‹ฌ ์šด์˜ ์ž์‚ฐ + +### 23 ์„œ๋ฒ„ +- ๋ฌด์—‡: + - nginx + - Gitea / CI + - PostgreSQL + - auth-server + - robeing-gateway + - ์šด์˜ ๋ณด์กฐ ํ”„๋ก ํŠธ/์„œ๋น„์Šค +- ์™œ: + - ์™ธ๋ถ€ ์š”์ฒญ์˜ ์ง„์ž…์ ๊ณผ ์šด์˜ ์ œ์–ด๋ฅผ ํ•œ๊ณณ์—์„œ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•ด + - ์ธ์ฆ, ๋ผ์šฐํŒ…, ๋ฐฐํฌ ๊ฒ€์ฆ, ์šด์˜ ํŒ๋‹จ์˜ ๊ธฐ์ค€๋ฉด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด + - 24 ์žฅ์•  ์‹œ ์ž„์‹œ ์ˆ˜์šฉ ์ง€์ ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด + +### 24 ์„œ๋ฒ„ +- ๋ฌด์—‡: + - rb8001 ๋“ฑ ํ•ต์‹ฌ ์•ฑ ๋Ÿฐํƒ€์ž„ + - ์Šคํ‚ฌ ์„œ๋น„์Šค๋“ค + - ์‹คํ–‰ ์ค‘์‹ฌ ์ปจํ…Œ์ด๋„ˆ +- ์™œ: + - ์‚ฌ์šฉ์ž ๊ฐ€์น˜๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹คํ–‰ ๋ถ€ํ•˜๋ฅผ 23๊ณผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด + - ์•ฑ ์žฅ์• ์™€ ๊ฒŒ์ดํŠธ์›จ์ด/DB ์žฅ์• ๋ฅผ ๋ถ„๋ฆฌํ•ด ์›์ธ ํŒ๋ณ„ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด + - ํ”„๋กœ๋•์…˜ ๊ธฐ์ค€ ์„œ๋ฒ„๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด + +### ๋‚ด๋ถ€ NAS +- ๋ฌด์—‡: + - ๋ฐฑ์—… ์ €์žฅ์†Œ + - ๋กœ๊ทธ ์•„์นด์ด๋ธŒ + - ๋ฆด๋ฆฌ์Šค/์‚ฐ์ถœ๋ฌผ ๋ณด๊ด€ + - ์žฅ๊ธฐ ๋ณด์กด ๊ฒฝ๋กœ +- ์™œ: + - ์„œ๋ฒ„ ์ž์ฒด์™€ ๋ถ„๋ฆฌ๋œ ๊ธฐ์–ต ์ €์žฅ์†Œ๊ฐ€ ์žˆ์–ด์•ผ ๋ณต๊ตฌ ๊ธฐ์ค€์ด ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— + - ์žฅ์•  ํ›„์—๋„ ๋กœ๊ทธ์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„์•ผ ์›์ธ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— + +## 2. ๋ณด์กฐ ์šด์˜ ์ž์‚ฐ + +### `infra-config` +- ๋ฌด์—‡: `runtime.env`, `secrets.env` +- ์™œ: ํ™˜๊ฒฝ๊ฐ’์˜ ๊ธฐ์ค€์ ์„ ์ฝ”๋“œ/๊ฐœ๋ณ„ `.env` ๋ฐ–์œผ๋กœ ๋ถ„๋ฆฌํ•ด SSOT๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด + +### `nginx-infra` +- ๋ฌด์—‡: nginx ๋ฐฐํฌ ์„ค์ • ์ €์žฅ์†Œ +- ์™œ: ์ง„์ž… ๊ณ„์ธต ์„ค์ •์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ €์žฅ์†Œ์™€ ๋ถ„๋ฆฌํ•ด ์ถ”์ ์„ฑ๊ณผ ๋ฐฐํฌ ์ผ๊ด€์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด + +### `/mnt/hdd/logs` +- ๋ฌด์—‡: ์„œ๋น„์Šค ๋กœ๊ทธ ์ €์žฅ ๊ฒฝ๋กœ +- ์™œ: ์ปจํ…Œ์ด๋„ˆ/์•ฑ ์ˆ˜๋ช…์ฃผ๊ธฐ์™€ ๋ถ„๋ฆฌ๋œ ๊ด€์ธก ๊ธฐ๋ก์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด + +### Gitea Actions / Runner +- ๋ฌด์—‡: 23์—์„œ ์šด์˜๋˜๋Š” ๋ฐฐํฌ ์ž๋™ํ™” ๊ฒฝ๋กœ +- ์™œ: ์ˆ˜๋™ ์„œ๋ฒ„ ์กฐ์ž‘๋ณด๋‹ค ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ฐฐํฌ ์ ˆ์ฐจ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด + +## 3. ๊ตฌ์กฐ์ ์œผ๋กœ ์ค‘์š”ํ•œ ๊ด€๊ณ„ + +### ์ง„์ž… ๊ฒฝ๋กœ +- ์‚ฌ์šฉ์ž/๋„๋ฉ”์ธ ์š”์ฒญ -> 23์˜ nginx/gateway -> ํ•„์š”ํ•œ ์„œ๋น„์Šค๋กœ ์ „๋‹ฌ +- ์˜๋ฏธ: ์™ธ๋ถ€ ์ง„์ž…์„ ํ†ต์ œ ๊ฐ€๋Šฅํ•œ ํ•œ๊ณณ์—์„œ ๋จผ์ € ๋ณธ๋‹ค. + +### ์‹คํ–‰ ๊ฒฝ๋กœ +- ์‹ค์ œ ์•ฑ ์ฒ˜๋ฆฌ์™€ ์Šคํ‚ฌ ์‹คํ–‰์€ 24๊ฐ€ ์ฃผ๋„ +- ์˜๋ฏธ: ์‚ฌ์šฉ์ž ๊ฐ€์น˜ ์ƒ์„ฑ ๋ถ€ํ•˜๋ฅผ ์ œ์–ด/์ €์žฅ ๊ณ„์ธต๊ณผ ๋ถ„๋ฆฌํ•œ๋‹ค. + +### ๋ณด์กด ๊ฒฝ๋กœ +- ๋ฐฑ์—…, ๋กœ๊ทธ, ์žฅ๊ธฐ ์‚ฐ์ถœ๋ฌผ์€ NAS๋กœ ๋ณด๋‚ธ๋‹ค. +- ์˜๋ฏธ: ์„œ๋ฒ„ ์žฅ์• ๊ฐ€ ๊ณง ๊ธฐ๋ก ์†์‹ค์ด ๋˜์ง€ ์•Š๊ฒŒ ํ•œ๋‹ค. + +## 4. ๋ฌธ์„œํ™” ์›์น™ + +- ์—ญํ•  ์ •์˜๋Š” ์ด ๋ฌธ์„œ ๊ฐ™์€ ๊ตฌ์กฐ ๋ฌธ์„œ์— ๊ณ ์ •ํ•œ๋‹ค. +- ์‹ค์ œ IP/ํฌํŠธ/๋งˆ์šดํŠธ ๊ฐ’์€ SSOT ๋ฌธ์„œ ๋˜๋Š” `infra-config` ๊ธฐ์ค€์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. +- ์žฅ์• /๋ณ€๊ฒฝ/๋ณต๊ตฌ ๊ณผ์ •์€ `journey/`์—์„œ ์‚ฌ์‹ค ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ๋กํ•œ๋‹ค. diff --git a/260307_external_nas_to_internal_nas_sync_probe.md b/260307_external_nas_to_internal_nas_sync_probe.md new file mode 100644 index 0000000..dfc2528 --- /dev/null +++ b/260307_external_nas_to_internal_nas_sync_probe.md @@ -0,0 +1,52 @@ +# 260307 External NAS -> Internal NAS Sync Probe + +## ๋ชฉ์  +- ์™ธ๋ถ€ NAS์˜ ํŒŒ์ผ์„ ๋‚ด๋ถ€ NAS๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. +- ๋‚ด๋ถ€ NAS์— ๋™์ผํ•œ ํด๋” ๊ตฌ์กฐ๋ฅผ ๋จผ์ € ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. + +## ๊ธฐ์ค€ ์ •๋ณด +- ์™ธ๋ถ€ NAS: `sigongipc.synology.me:5000` / DSM API `:5001` +- ๋‚ด๋ถ€ NAS: `192.168.0.101` +- ๋‚ด๋ถ€ ๋งˆ์šดํŠธ ๊ฒฝ๋กœ: `/mnt/nas` + +## ํ™•์ธ ๊ฒฐ๊ณผ +1. ์™ธ๋ถ€ NAS ์ ‘๊ทผ +- `sigongipc.synology.me:5000` DSM ์‘๋‹ต ํ™•์ธ +- DSM Web API ๋กœ๊ทธ์ธ ์„ฑ๊ณต +- SMB(139/445)๋Š” ์™ธ๋ถ€์—์„œ ํƒ€์ž„์•„์›ƒ์œผ๋กœ ์ง์ ‘ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ +- ๋”ฐ๋ผ์„œ ํ˜„์žฌ ์ ‘๊ทผ ๊ฒฝ๋กœ๋Š” `DSM File Station API`๊ฐ€ ๋งž์Œ + +2. ํŒŒ์ผ 1๊ฑด ์ „์†ก ๊ฒ€์ฆ +- ์™ธ๋ถ€ NAS ๊ฒฝ๋กœ: `/6.Company X/Thumbs.db` +- ๋‚ด๋ถ€ NAS ์ €์žฅ ๊ฒฝ๋กœ: `/mnt/nas/backup/current/external-nas-test/Thumbs.db` +- SHA256 ์ผ์น˜ ํ™•์ธ +- ๊ฒฐ๋ก : `์™ธ๋ถ€ NAS -> API ๋‹ค์šด๋กœ๋“œ -> ๋‚ด๋ถ€ NAS ์ €์žฅ` ๊ฒฝ๋กœ๋Š” ๋™์ž‘ํ•จ + +3. ํด๋” ๊ตฌ์กฐ ๋ฏธ๋Ÿฌ๋ง +- ๋‚ด๋ถ€ NAS์— `/mnt/nas/backup/current/external-nas-test/6.Company X` ์ƒ์„ฑ +- ์™ธ๋ถ€ NAS ์ƒ์œ„ ํด๋” ๊ตฌ์กฐ๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์ƒ์„ฑ +- ์ƒ์„ฑ ์™„๋ฃŒ ํด๋”: + - `0. ์—‘์…€๋Ÿฌ๋ ˆ์ดํ„ฐ ๋“ฑ๋ก` + - `1. ํ–‰์ •` + - `2. ์‹ ๊ทœ์šด์˜์‚ฌ ๋ฐ ํŽ€๋“œ ์šด์šฉ์‚ฌ, ์šฉ์—ญ ํ”„๋กœ๊ทธ๋žจ ์ œ์•ˆ ๋“ฑ` + - `3. ๋ฐฐ์น˜ํ”„๋กœ๊ทธ๋žจ(X-COURSE, X-HISSTORY ๋“ฑ)` + - `4. TIPS, WINGS, LIPS ํ”„๋กœ๊ทธ๋žจ` + - `5. ๋ฉ˜ํ† ํ’€` + - `6. ํˆฌ์ž` + - `7. ์‚ฌ์ง„` + - `8. ๊ต์œก` + - `9. ๋””์ž์ธ` + - `10. MOU&์ธ์ฆ` + - `11. Company X - logo & ๋””์ž์ธ` + - `12. ์ปดํผ๋‹ˆ์—‘์Šค ์†Œ๊ฐœ์ž๋ฃŒ` + - `SynologyDrive` + +## ํ˜„์žฌ ํŒ๋‹จ +- ์ด์ค‘ NAS ๊ตฌ์กฐ๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค. +- ์ง€๊ธˆ ํ™•์ธ๋œ ๋ฐฉ์‹์€ `์™ธ๋ถ€ DSM API -> ๋‚ด๋ถ€ NAS ํŒŒ์ผ ์ €์žฅ`์ด๋‹ค. +- ์•„์ง ์ž๋™ ๋™๊ธฐํ™”๋Š” ์—†๊ณ , ์ˆ˜๋™/์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ๋ธŒ๋งŒ ์™„๋ฃŒ๋œ ์ƒํƒœ๋‹ค. + +## ๋‹ค์Œ ๋‹จ๊ณ„ ํ›„๋ณด +1. ํŠน์ • ํด๋” ๋‹จ์œ„ ์žฌ๊ท€ ๋‹ค์šด๋กœ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ +2. ์™ธ๋ถ€ NAS -> ๋‚ด๋ถ€ NAS ๋‹จ๋ฐฉํ–ฅ ๋™๊ธฐํ™” ์ •์ฑ… ํ™•์ • +3. ๋‚ด๋ถ€ NAS์˜ ์—์ด์ „ํŠธ ์ „์šฉ ๊ฒฝ๋กœ(`/mnt/agent` ๋“ฑ) ๋ถ„๋ฆฌ diff --git a/README.md b/README.md new file mode 100644 index 0000000..d961d44 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# Infra DOCS + +์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” `0_VALUE`์˜ ๊ฐ€์น˜๋ฅผ ์‹ค์ œ ์šด์˜ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•˜๋Š” **์ „์ฒด ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ**์˜ ๊ณต์‹ ๋ฌธ์„œ ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค. + +์—ฌ๊ธฐ์„œ ์ธํ”„๋ผ๋Š” ํŠน์ • ์„œ๋ฒ„ ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹ˆ๋ผ, ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ๋ฌผ๋ฆฌ ์ธํ”„๋ผ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. + +- `23 ์„œ๋ฒ„`: ๊ฒŒ์ดํŠธ์›จ์ด, ํ”„๋ก์‹œ, Git/CI, DB, ์šด์˜ ๋ณด์กฐ +- `24 ์„œ๋ฒ„`: ์•ฑ ๋Ÿฐํƒ€์ž„, ํ•ต์‹ฌ ์„œ๋น„์Šค ์‹คํ–‰ +- `๋‚ด๋ถ€ NAS`: ๋ฐฑ์—…, ๋กœ๊ทธ ์•„์นด์ด๋ธŒ, ์‚ฐ์ถœ๋ฌผ/๋ณต๊ตฌ ๊ธฐ์ค€ ์ €์žฅ + +๊ฐœ๋ฐœ ๋…ธํŠธ๋ถ, ํ…Œ์ŠคํŠธ ์Šค๋งˆํŠธํฐ, ์™ธ๋ถ€ NAS ๊ฐ™์€ ์ž์‚ฐ์€ ํ•„์š”ํ•  ๋•Œ ์—ฐ๊ฒฐ๋˜๋Š” ์ฃผ๋ณ€ ์‹คํ–‰ ํ™˜๊ฒฝ์œผ๋กœ ๋‹ค๋ฃจ๋ฉฐ, ๋ณธ ๋ฌธ์„œ ์ฒด๊ณ„์˜ ์ค‘์‹ฌ SSOT๋Š” ์œ„ 3๊ฐœ์ž…๋‹ˆ๋‹ค. + +## ๋ฌธ์„œ ๊ตฌ์กฐ + +1. `00_Philosophy/` +- ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ๊ฐ€ ์™œ ์กด์žฌํ•˜๋Š”์ง€, ๋ฌด์—‡์„ ์ง€์ผœ์•ผ ํ•˜๋Š”์ง€, ๋ฌด์—‡์„ ๊ธˆ์ง€ํ•˜๋Š”์ง€ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. +- ๋ฐ˜๋ณต ๊ฒ€์ฆ ํ›„์—๋„ ๋ฐ”๋€Œ๊ธฐ ์–ด๋ ค์šด ๊ธฐ์ค€๋งŒ ๋‘ก๋‹ˆ๋‹ค. + +2. `02_Architecture/` +- 23/24/NAS๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์‹ค์ œ ๊ตฌ์„ฑ ์š”์†Œ, ์—ญํ•  ๋ถ„๋ฆฌ, ํŠธ๋ž˜ํ”ฝ/๋ฐ์ดํ„ฐ/์šด์˜ ๊ตฌ์กฐ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. +- ์ฒ ํ•™์„ ์šด์˜ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ๋ฒˆ์—ญํ•œ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. + +3. `journey/` +- ๋ฆฌ์„œ์น˜, ๊ณ„ํš, ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…, ์›Œํฌ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. +- ์‹คํ–‰ ์ค‘ ์‚ฌ์‹ค, ์กฐ์น˜, ๊ฒ€์ฆ ๊ฒฐ๊ณผ๋Š” ์—ฌ๊ธฐ๋งŒ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. + +## ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ์— ๋งž์ถ˜ ๊ตฌ์กฐ ์„ ํƒ ์ด์œ  + +- ์ผ๋ฐ˜ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์ฒ˜๋Ÿผ `์ œํ’ˆ ๊ธฐํš`๋ณด๋‹ค `์ง€์†์„ฑ ์žˆ๋Š” ์šด์˜ ๊ธฐ๋ฐ˜`์ด ์ค‘์‹ฌ์ž…๋‹ˆ๋‹ค. +- ๋”ฐ๋ผ์„œ `์ฒ ํ•™ -> ๊ตฌ์กฐ -> ์‹คํ–‰ ๊ธฐ๋ก`์˜ 3์ธต์ด ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. +- ์ „๋žต/๋กœ๋“œ๋งต์€ ํ•„์š” ์‹œ `journey/plans`์—์„œ ์šด์˜ ๊ณ„ํš์œผ๋กœ ๋‹ค๋ฃจ๊ณ , ๊ณ ์ • ์ฒ ํ•™์€ `00_Philosophy`๋กœ ์Šน๊ฒฉํ•ฉ๋‹ˆ๋‹ค. + +## ๋น ๋ฅธ ์ฝ๊ธฐ ์ˆœ์„œ + +1. `00_Philosophy/00_IDENTITY/Infra_Project_Identity.md` +2. `00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md` +3. `00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md` +4. `02_Architecture/Infrastructure_Project_Structure.md` +5. `journey/research/260307_value_๊ธฐ์ค€_์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ_๊ตฌ์กฐ์ดˆ์•ˆ.md` +6. `journey/README.md` + +## ๋ฌธ์„œ ์šด์˜ ๊ทœ์น™ + +- `00_Philosophy/`๋Š” ๊ณ ์ • ๊ธฐ์ค€๋งŒ ๋‘ก๋‹ˆ๋‹ค. +- ์‹ค์ œ ์žฅ์• , ๋ณ€๊ฒฝ, ์ ๊ฒ€, ๋ณต๊ตฌ ๊ธฐ๋ก์€ `journey/`์—๋งŒ ๋‘ก๋‹ˆ๋‹ค. +- `0_VALUE` ๊ณตํ†ต ์›์น™๊ณผ ์ถฉ๋Œํ•˜๋ฉด `0_VALUE`๋ฅผ ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. diff --git a/journey/README.md b/journey/README.md new file mode 100644 index 0000000..1ba515c --- /dev/null +++ b/journey/README.md @@ -0,0 +1,22 @@ +# Infra Journey + +์ด ํด๋”๋Š” ์ธํ”„๋ผ ์ด์Šˆ์™€ ์‹คํ–‰ ํ๋ฆ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. + +## ๊ตฌ์กฐ +- [ideas](./ideas/) : ์žˆ์œผ๋ฉด ์ข‹์€ ๊ตฌ์กฐ๋‚˜ ์šด์˜ ์•„์ด๋””์–ด +- [scenarios](./scenarios/) : ์šด์˜์ž/์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ์ƒํƒœ์™€ ํ๋ฆ„ +- [troubleshooting](./troubleshooting/) : ํ˜„์žฌ ๋ฌธ์ œ, ์ด์Šˆ, ์žฅ์• , ๊ตฌ์กฐ ์–ด๊ธ‹๋‚จ +- [research](./research/) : ์›์ธ ๋ถ„์„๊ณผ ์‚ฌ์‹ค ์ˆ˜์ง‘ +- [plans](./plans/) : ์‹คํ–‰ ๊ฒฐ์ •๊ณผ ์ „ํ™˜ ๊ณ„ํš +- [worklog](./worklog/) : ๋ฌธ์ œ ์—†์ด ๋๋‚œ ์‹คํ–‰์˜ ๊ฐ€๋ฒผ์šด ๊ธฐ๋ก + +## ๊ธฐ์ค€ +- ์ถœ๋ฐœ์ ์€ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. +- `์ข‹๊ฒ ๋‹ค`๋Š” `ideas`์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. +- `๊ธฐ๋Œ€ํ•œ๋‹ค`๋Š” `scenarios`์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. +- `๋ฌธ์ œ๋‹ค`๋Š” `troubleshooting`์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. +- ๊ทธ๋‹ค์Œ ํ•„์š”์— ๋”ฐ๋ผ `research -> plans -> worklog`๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. +- ์‹คํ–‰ ์ค‘ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด `worklog`๊ฐ€ ์•„๋‹ˆ๋ผ `troubleshooting`์œผ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. + +## ํ˜„์žฌ ๋ฌธ์„œ +- [23์„œ๋ฒ„ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ธํ”„๋ผ ๊ตฌ์กฐ์ •๋ฆฌ ์ด์Šˆ](./troubleshooting/260307_23์„œ๋ฒ„_์›Œํฌ์ŠคํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md) diff --git a/journey/research/260307_value_๊ธฐ์ค€_์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ_๊ตฌ์กฐ์ดˆ์•ˆ.md b/journey/research/260307_value_๊ธฐ์ค€_์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ_๊ตฌ์กฐ์ดˆ์•ˆ.md new file mode 100644 index 0000000..c6e8941 --- /dev/null +++ b/journey/research/260307_value_๊ธฐ์ค€_์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ_๊ตฌ์กฐ์ดˆ์•ˆ.md @@ -0,0 +1,84 @@ +# 260307 value ๊ธฐ์ค€ ์ธํ”„๋ผ์ฒ ํ•™๋ฌธ์„œ ๊ตฌ์กฐ์ดˆ์•ˆ + +## ๋ชฉ์  +- `infra ํ”„๋กœ์ ํŠธ`์˜ ์ฒ ํ•™ ๋ฌธ์„œ๋ฅผ ์“ฐ๊ธฐ ์ „์—, ์–ด๋–ค ์ƒ์œ„ ์›์น™๊ณผ ํƒ€ ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ ํŒจํ„ด์„ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š”์ง€ ์ •๋ฆฌํ•œ๋‹ค. +- ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” `DOCS` ์ƒ์œ„ ๊ตฌ์กฐ๋ฅผ ์ดˆ์•ˆ ์ˆ˜์ค€์œผ๋กœ ๊ณ ์ •ํ•œ๋‹ค. + +## ์ด๋ฒˆ์— ์ฐธ๊ณ ํ•œ ๊ธฐ์ค€ ๋ฌธ์„œ + +### 0_VALUE +- `/home/admin/0_VALUE/00_Principles/global-principles.md` +- `/home/admin/0_VALUE/00_Principles/vision.md` +- `/home/admin/0_VALUE/02_Governance/system-and-infrastructure-overview.md` +- `/home/admin/0_VALUE/02_Governance/infrastructure-ssot-principle.md` + +### robeing +- `/home/admin/robeing/DOCS/book/300_architecture/310_์ „์ฒด_์‹œ์Šคํ…œ_๊ตฌ์กฐ_์ปจํ…Œ์ด๋„ˆ์™€_๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค.md` +- `/home/admin/robeing/DOCS/book/300_architecture/314_infrastructure-ssot-principle.md` +- `/home/admin/robeing/DOCS/journey/plans/260303_23ํ…Œ์ŠคํŠธ๋ณด์กฐ_24ํ”„๋กœ๋•์…˜_์šด์˜์ „ํ™˜_๊ณ„ํš.md` +- `/home/admin/robeing/DOCS/journey/troubleshooting/260307_NAS_192_168_0_101_SSOT_์ „ํ™˜_๋ฐ_CIFS_์‹ค๋งˆ์šดํŠธ_๋ณต๊ตฌ.md` +- `/home/admin/robeing/DOCS/journey/troubleshooting/260226_NAS_192_168_219_51_์ ‘์†๋ถˆ๊ฐ€_์ž„์‹œ๋ฐฑ์—…๋ณต๊ตฌ.md` +- `/home/admin/robeing/DOCS/journey/troubleshooting/260303_51123_gateway_rb8001_์—ฐ๊ฒฐ์ ๊ฒ€_23์„œ๋ฒ„_์ „๋‹ฌ์‚ฌํ•ญ.md` + +### projectStarsAndI +- `/home/admin/projectStarsAndI/DOCS/journey/research/260221_23_24_NAS_๊ฒŒ์ดํŠธ์›จ์ด_์šด์˜๊ตฌ์„ฑ_์ •๋ฆฌ.md` + +### ๊ตฌ์กฐ ์ฐธ๊ณ ์šฉ ํ”„๋กœ์ ํŠธ +- `/home/admin/TheGooseCouncil/DOCS/README.md` +- `/home/admin/goosefarminvesting/DOCS/README.md` +- `/home/admin/robeing/DOCS/README.md` + +## ๊ณตํ†ต์œผ๋กœ ์ถ”์ถœ๋œ ์ธํ”„๋ผ ์ฒ ํ•™ ํ‚ค์›Œ๋“œ + +1. ์—ญํ•  ๋ถ„๋ฆฌ +- 23์€ ์ง„์ž…/์ œ์–ด, 24๋Š” ์‹คํ–‰, NAS๋Š” ๋ณด์กด/๋ณต๊ตฌ + +2. ์ง€์†์„ฑ +- ๊ฐ€์น˜ ์žˆ๋Š” ์ƒํƒœ๋Š” ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ์‚ฌ๋žŒ ๊ธฐ์–ต์—๋งŒ ๋‚จ์•„ ์žˆ์œผ๋ฉด ์•ˆ ๋œ๋‹ค. + +3. SSOT +- IP, ํฌํŠธ, ์—…์ŠคํŠธ๋ฆผ, ๋งˆ์šดํŠธ, ๋น„๋ฐ€๊ฐ’์€ ํ•œ ๋ฒˆ๋งŒ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. + +4. ๊ฒ€์ฆ ์šฐ์„  +- ์„ค์ • ๋ณ€๊ฒฝ์ด ์•„๋‹ˆ๋ผ ์‹ค์‘๋‹ต, ์‹ค๋งˆ์šดํŠธ, ์‹ค๋กœ๊ทธ๋กœ ํŒ๋‹จํ•œ๋‹ค. + +5. ๊ฒŒ์ดํŠธ์›จ์ด ์ค‘์‹ฌ +- ์™ธ๋ถ€ ์š”์ฒญ์€ ๋‹จ์ผ ์ง„์ž…์ ์—์„œ ๋จผ์ € ์ธ์ฆ/๋ผ์šฐํŒ…/๊ด€์ธก ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. + +6. ์‹คํŒจ์˜ ๊ฐ€์‹œ์„ฑ +- ์žฅ์• ๋ฅผ ๋ฎ์ง€ ์•Š๊ณ , ์›์ธ ๋ถ„๋ฆฌ์™€ ๋ณต๊ตฌ ๊ฐ€๋Šฅ์„ฑ์„ ๋‚จ๊ฒจ์•ผ ํ•œ๋‹ค. + +## ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” ๋ฌธ์„œ ๊ตฌ์กฐ ํŒ๋‹จ + +๋‹ค๋ฅธ ์ œํ’ˆ ํ”„๋กœ์ ํŠธ์˜ `์ „๋žต/์ œํ’ˆ` ์ค‘์‹ฌ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ๋งž์ง€ ์•Š์•˜๋‹ค. + +์ธํ”„๋ผ๋Š” ์ œํ’ˆ ๊ฐœ๋…๋ณด๋‹ค ์šด์˜ ์ง€์†์„ฑ์ด ๋ณธ์งˆ์ด๋ฏ€๋กœ, ์•„๋ž˜ ๊ตฌ์กฐ๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. + +1. `00_Philosophy` +- ์™œ ์ด ์ธํ”„๋ผ๋ฅผ ์šด์˜ํ•˜๋Š”๊ฐ€ +- ๋ฌด์—‡์„ ์ง€์ผœ์•ผ ํ•˜๋Š”๊ฐ€ +- ๋ฌด์—‡์„ ๊ธˆ์ง€ํ•˜๋Š”๊ฐ€ + +2. `02_Architecture` +- 23/24/NAS์™€ ๋ณด์กฐ ์ž์‚ฐ์ด ์–ด๋–ป๊ฒŒ ๋‚˜๋‰˜๋Š”๊ฐ€ +- ๋ฌด์—‡์ด ํ•ต์‹ฌ ์ž์‚ฐ์ด๊ณ  ๋ฌด์—‡์ด ๋ณด์กฐ ์ž์‚ฐ์ธ๊ฐ€ + +3. `journey` +- ์‹ค์ œ ๋ณ€๊ฒฝ, ์žฅ์• , ์ ๊ฒ€, ๋ณต๊ตฌ ๊ธฐ๋ก + +## ์ด๋ฒˆ ์ดˆ์•ˆ์—์„œ ๋ณด๋ฅ˜ํ•œ ํ•ญ๋ชฉ + +1. ๊ฐœ๋ฐœ ๋…ธํŠธ๋ถ/ํ…Œ์ŠคํŠธ ์Šค๋งˆํŠธํฐ/์™ธ๋ถ€ NAS์˜ ์ƒ์„ธ ์šด์˜ ์›์น™ +- ์ด์œ : ํ˜„์žฌ ์ฒ ํ•™ ๋ฌธ์„œ์˜ ์ค‘์‹ฌ์ถ•์€ 23/24/๋‚ด๋ถ€ NAS์ด๊ธฐ ๋•Œ๋ฌธ + +2. ์„ธ๋ถ€ ์ธ๋ฒคํ† ๋ฆฌ ํ‘œ +- ์ด์œ : ์ฒ ํ•™ ๋ฌธ์„œ๋ณด๋‹ค ๊ตฌ์กฐ ๋ฌธ์„œ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ํŽธ์ด ๋งž๊ธฐ ๋•Œ๋ฌธ + +3. ์žฅ๊ธฐ ๋กœ๋“œ๋งต ํด๋” +- ์ด์œ : ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ๋Š” `journey/plans`๋กœ ์ถฉ๋ถ„ํ•˜๊ณ , ๊ณ ์ • ๊ณ„์ธต์œผ๋กœ ๋ถ„๋ฆฌํ•  ์ •๋„๋กœ ์•ˆ์ •ํ™”๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ + +## ์ด๋ฒˆ ์ž‘์—…์˜ ๊ฒฐ๋ก  + +- `infra ํ”„๋กœ์ ํŠธ`์˜ ๋ณธ๋ฌธ์€ `23/24/NAS` ์ค‘์‹ฌ์œผ๋กœ ์“ด๋‹ค. +- ์ฃผ๋ณ€ ์ž์‚ฐ์€ ๋ณด์กฐ ์‹คํ–‰ ํ™˜๊ฒฝ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. +- ๋ฌธ์„œ ๊ตฌ์กฐ๋Š” `์ฒ ํ•™ -> ๊ตฌ์กฐ -> journey` ์‚ผ์ธต์œผ๋กœ ์œ ์ง€ํ•œ๋‹ค. diff --git a/journey/troubleshooting/260307_23์„œ๋ฒ„_์›Œํฌ์ŠคํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md b/journey/troubleshooting/260307_23์„œ๋ฒ„_์›Œํฌ์ŠคํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md new file mode 100644 index 0000000..efb3ad0 --- /dev/null +++ b/journey/troubleshooting/260307_23์„œ๋ฒ„_์›Œํฌ์ŠคํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md @@ -0,0 +1,80 @@ +--- +tags: [infra, workspace, ssot, structure, issue] +--- + +# 23์„œ๋ฒ„ ์›Œํฌ์ŠคํŽ˜์ด์Šค-์ธํ”„๋ผ ๊ตฌ์กฐ์ •๋ฆฌ ์ด์Šˆ + +## ์ƒ์œ„ ์›์น™ +- `/home/admin/0_VALUE/02_Governance/writing-principles.md` +- `/home/admin/0_VALUE/02_Governance/infrastructure-ssot-principle.md` + +## ๊ด€๋ จ ๋ฌธ์„œ +- ์ด์ „ ํƒ์นจ: `/home/admin/infra/DOCS/260307_external_nas_to_internal_nas_sync_probe.md` +- ์šด์˜ ์›์น™: `/home/admin/robeing/DOCS/book/300_architecture/314_infrastructure-ssot-principle.md` + +## ๋ฌธ์ œ ์ •์˜ +- 23 ์„œ๋ฒ„์˜ ์‹ค์ œ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ฃจํŠธ๋Š” `/home/admin`์ด์ง€๋งŒ, ๊ตฌ์กฐ ํ•ด์„์€ ์•„์ง ํ”„๋กœ์ ํŠธ ๋‹จ์œ„๋ณด๋‹ค ์ ˆ๋Œ€๊ฒฝ๋กœ ๋‹จ์œ„์— ๋ฌถ์—ฌ ์žˆ๋‹ค. +- ์ธํ”„๋ผ ๊ด€๋ จ ๊ฒฝ๋กœ๊ฐ€ `infra`, `infra-config`, `nginx-infra`๋กœ ๋ถ„์‚ฐ๋˜์–ด ์žˆ์–ด, ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ ๊ฒฝ๊ณ„๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š๋‹ค. +- ์—ฌ๋Ÿฌ ๋ฌธ์„œ์™€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ `/home/admin/infra-config`, `/home/admin/robeing/DOCS`, ๊ณผ๊ฑฐ `/home/admin/DOCS`๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์–ด ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์‹œ ์ˆ˜์ • ๋ฒ”์œ„๊ฐ€ ์ปค์ง„๋‹ค. +- `TheGooseCouncil`์™€ `thegoosecouncil`, `external_nas_test`, `tmp_lfs_branch_test`์ฒ˜๋Ÿผ ๊ฒฝ๊ณ„๊ฐ€ ๋ถˆ๋ช…ํ™•ํ•˜๊ฑฐ๋‚˜ ์ž„์‹œ ์„ฑ๊ฒฉ์ด ๋‚จ์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋ฃจํŠธ ์‹ ํ˜ธ๋ฅผ ํ๋ฆฐ๋‹ค. + +## ์™œ ๋ฌธ์ œ์ธ๊ฐ€ +- 23 ์„œ๋ฒ„๋งŒ์˜ ์ž„์‹œ ๊ตฌ์กฐ๊ฐ€ ๊ตณ์–ด์ง€๋ฉด 24 ์„œ๋ฒ„ ๋ณต๊ตฌ๋‚˜ ์‹ ๊ทœ ์„œ๋ฒ„ ์ด์‹ ์‹œ ๊ฒฝ๋กœ ์žฌ์ž‘์„ฑ ๋น„์šฉ์ด ๊ธ‰๊ฒฉํžˆ ์ปค์ง„๋‹ค. +- ์ธํ”„๋ผ ์ž‘์—…์ด ๋กœ๋น™ ๋ฌธ์„œ, ์„œ๋ฒ„ ๊ณต์šฉ ๊ทœ์น™, ๋Ÿฐํƒ€์ž„ ์„ค์ •์— ํฉ์–ด์ ธ ์žˆ์œผ๋ฉด ์ฑ…์ž„ ๊ฒฝ๊ณ„๊ฐ€ ์•ฝํ•ด์ง€๊ณ  ์ถ”์ ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค. +- SSOT๊ฐ€ ๊ฐ’(IP, secret)์—๋Š” ์ผ๋ถ€ ์ ์šฉ๋์ง€๋งŒ, ๊ฒฝ๋กœ์™€ ํ”„๋กœ์ ํŠธ ๊ฒฝ๊ณ„์—๋Š” ์•„์ง ์ ์šฉ๋˜์ง€ ์•Š์•„ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ๋‚ด์„ฑ์ด ๋‚ฎ๋‹ค. + +## ํ•ด๊ฒฐ ๋ชฉํ‘œ +- `/home/admin`์„ 23 ์„œ๋ฒ„์˜ `WORKSPACE_ROOT`๋กœ ๋ช…์‹œํ•œ๋‹ค. +- `infra`๋ฅผ ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ ๊ฒฝ๊ณ„๋กœ ๋ช…ํ™•ํžˆ ์ •์˜ํ•œ๋‹ค. +- ์ธํ”„๋ผ ์„ค์ •์€ ํ˜„์žฌ `infra-config`๋ฅผ ์œ ์ง€ํ•˜๋˜, ์˜๋ฏธ์ƒ `workspace-config` ์„ฑ๊ฒฉ์ž„์„ ๋ฌธ์„œ๋กœ ๋จผ์ € ๊ณ ์ •ํ•œ๋‹ค. +- ์ดํ›„ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•ด๋„ ๋ฃจํŠธ ๊ธฐ์ค€ ํ•ด์„์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ค€๋น„ํ•œ๋‹ค. + +## ๊ถŒ์žฅ ๊ตฌ์กฐ +```text +WORKSPACE_ROOT=/home/admin +โ”œโ”€โ”€ 0_VALUE +โ”œโ”€โ”€ infra +โ”‚ โ””โ”€โ”€ DOCS +โ”œโ”€โ”€ infra-config +โ”œโ”€โ”€ nginx-infra +โ”œโ”€โ”€ robeing +โ”œโ”€โ”€ TheGooseCouncil +โ”œโ”€โ”€ vMIR +โ”œโ”€โ”€ shopify0207 +โ””โ”€โ”€ keyfrees +``` + +## ๋‹จ๊ณ„๋ณ„ ์ „ํ™˜ ๋ฐฉ์•ˆ +### 1. ํ•ด์„ ๊ธฐ์ค€ ๋จผ์ € ๊ณ ์ • +- `WORKSPACE_ROOT=/home/admin`๋ฅผ ๊ณต์šฉ ๋Ÿฐํƒ€์ž„ SSOT์— ์ถ”๊ฐ€ํ•œ๋‹ค. +- ๋ฌธ์„œ์™€ ์šด์˜ ๊ทœ์น™์—์„œ 23 ์„œ๋ฒ„์˜ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ธฐ์ค€์ ์„ `/home/admin`์œผ๋กœ ํ†ต์ผํ•œ๋‹ค. + +### 2. ์ฐธ์กฐ ๊ฒฝ๋กœ ์ •๋ฆฌ +- `/home/admin/DOCS` ๊ฐ™์€ ๊ณผ๊ฑฐ ๊ฒฝ๋กœ๋ฅผ ์ „์ˆ˜ ์ ๊ฒ€ํ•ด ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๊ฒฝ๊ณ„๋กœ ๊ต์ฒดํ•œ๋‹ค. +- `infra-config`์™€ `robeing/DOCS`๋ฅผ ์ง์ ‘ ๋ฐ•์•„ ๋„ฃ์€ ์ ˆ๋Œ€๊ฒฝ๋กœ๋Š” ์šฐ์„ ์ˆœ์œ„ ๋†’์€ ๊ฒƒ๋ถ€ํ„ฐ ์ค„์ธ๋‹ค. + +### 3. ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ ๊ฒฝ๊ณ„ ๊ณ ์ • +- ์ธํ”„๋ผ ์ด์Šˆ, ์‹œ๋‚˜๋ฆฌ์˜ค, ํƒ์นจ ๋ฌธ์„œ๋Š” `infra/DOCS/journey/*`๋กœ ๋ชจ์€๋‹ค. +- ๋กœ๋น™ ๋ฌธ์„œ์—๋Š” ์ธํ”„๋ผ ์ž์ฒด๋ฅผ ๋ณต์ œ ๊ธฐ๋กํ•˜์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ์ฐธ์กฐ ๋งํฌ๋งŒ ๋‚จ๊ธด๋‹ค. + +### 4. ๋งˆ์ง€๋ง‰์— ์ด๋ฆ„/๋ฌผ๋ฆฌ๊ตฌ์กฐ ์žฌํŽธ ๊ฒ€ํ†  +- `infra-config`๋Š” ๋ฐ”๋กœ ์˜ฎ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. +- ์ฐธ์กฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ค„์–ด๋“  ๋’ค `workspace-config` ๋ฆฌ๋„ค์ž„ ๋˜๋Š” `infra/config` ์žฌ๋ฐฐ์น˜ ์—ฌ๋ถ€๋ฅผ ๊ฒ€ํ† ํ•œ๋‹ค. + +## ํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๋ฐฉ์‹ +- `infra`, `infra-config`, `nginx-infra`๋ฅผ ๋ฐ”๋กœ ํ•œ ํด๋”๋กœ ๋ชฐ์•„๋„ฃ๋Š” ๋ฐฉ์‹ +- ์ ˆ๋Œ€๊ฒฝ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ์„ ์œ ์ง€ํ•œ ์ฑ„ ๋ฌผ๋ฆฌ ์ด๋™๋ถ€ํ„ฐ ํ•˜๋Š” ๋ฐฉ์‹ +- ๋กœ๋น™ ๋ฌธ์„œ์™€ ์ธํ”„๋ผ ๋ฌธ์„œ์— ๊ฐ™์€ ์šด์˜ ์‚ฌ์‹ค์„ ์ค‘๋ณต ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹ + +## ํ˜„์žฌ ํŒ๋‹จ +- ์ง€๊ธˆ ๋‹จ๊ณ„์—์„œ๋Š” `๊ตฌ์กฐ ์ด๋™`๋ณด๋‹ค `๊ตฌ์กฐ ํ•ด์„์˜ SSOTํ™”`๊ฐ€ ์šฐ์„ ์ด๋‹ค. +- ์ฆ‰ ๋จผ์ € ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ฐœ๋…์„ ๋„์ž…ํ•˜๊ณ , ๊ทธ ๋‹ค์Œ ๊ฒฝ๋กœ ์ฐธ์กฐ๋ฅผ ์ค„์ด๊ณ , ๋งˆ์ง€๋ง‰์— ๋ฌผ๋ฆฌ ๋ฆฌ๋„ค์ž„์„ ํ•˜๋Š” ์ˆœ์„œ๊ฐ€ ๋งž๋‹ค. + +## ๋‹ค์Œ ์ž‘์—… +- `runtime.env`์— `WORKSPACE_ROOT=/home/admin` ์ถ”๊ฐ€ +- `/home/admin/DOCS` ์ž”์กด ์ฐธ์กฐ ์ „์ˆ˜ ์ •๋ฆฌ +- `infra` ํ”„๋กœ์ ํŠธ์šฉ `AGENTS.md` ์ดˆ์•ˆ ์ž‘์„ฑ ๊ฒ€ํ†  + +## ๋ฌธ์„œ ๊ด€๊ณ„ +- ์ด ๋ฌธ์„œ๋Š” 23 ์„œ๋ฒ„ ์›Œํฌ์ŠคํŽ˜์ด์Šค/์ธํ”„๋ผ ๊ฒฝ๊ณ„ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๋Š” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๋ฌธ์„œ๋‹ค. +- ์™ธ๋ถ€ NAS์™€ ๋‚ด๋ถ€ NAS ๋™๊ธฐํ™” ํƒ์นจ์€ ๋ณ„๋„ ์‹คํ–‰ ๊ธฐ๋ก์œผ๋กœ `/home/admin/infra/DOCS/260307_external_nas_to_internal_nas_sync_probe.md`๋ฅผ ๋”ฐ๋ฅธ๋‹ค. diff --git a/journey/worklog/260307_23์„œ๋ฒ„_๊ธฐ๋ณธ์ ๊ฒ€_๋ฐ_ro-being_ํ™ˆ_500_์กฐ์น˜.md b/journey/worklog/260307_23์„œ๋ฒ„_๊ธฐ๋ณธ์ ๊ฒ€_๋ฐ_ro-being_ํ™ˆ_500_์กฐ์น˜.md new file mode 100644 index 0000000..f516363 --- /dev/null +++ b/journey/worklog/260307_23์„œ๋ฒ„_๊ธฐ๋ณธ์ ๊ฒ€_๋ฐ_ro-being_ํ™ˆ_500_์กฐ์น˜.md @@ -0,0 +1,75 @@ +# 260307 23์„œ๋ฒ„ ๊ธฐ๋ณธ์ ๊ฒ€ ๋ฐ ro-being ํ™ˆ 500 ์กฐ์น˜ + +## ๋ชฉ์  +- 23 ์„œ๋ฒ„(51123)์˜ ๊ธฐ๋ณธ ์šด์˜ ์ƒํƒœ๋ฅผ ์ ๊ฒ€ํ•œ๋‹ค. +- ๋กœ๊ทธ์ธ MOTD ๊ธฐ์ค€์œผ๋กœ ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ, ํ•ต์‹ฌ ์„œ๋น„์Šค, ๋„๋ฉ”์ธ ์‘๋‹ต ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค. +- `ro-being.com` ํ™ˆ `500`์˜ ๋กœ๊ทธ ๊ธฐ์ค€ ์›์ธ์„ ํ™•์ธํ•˜๊ณ  ๋ณต๊ตฌํ•œ๋‹ค. + +## ์‚ฌ์‹ค +### ์„œ๋ฒ„ ๊ธฐ๋ณธ ์ƒํƒœ +- ์ ๊ฒ€ ์‹œ๊ฐ: `2026-03-07 15:22~15:24 KST` +- OS: `Ubuntu 22.04.5 LTS` +- ์ปค๋„: `6.8.0-101-generic` +- ์—…ํƒ€์ž„: ์•ฝ `20์‹œ๊ฐ„ 17๋ถ„` + +### ํŒจํ‚ค์ง€/๋ณด์•ˆ ์ƒํƒœ +- `apt list --upgradable` ๊ธฐ์ค€ ์ผ๋ฐ˜ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€๋Šฅ ํŒจํ‚ค์ง€๋Š” `2๊ฑด` + - `network-manager-openvpn` + - `network-manager-openvpn-gnome` +- `pro status --format json` ๊ธฐ์ค€ ์ด ์„œ๋ฒ„๋Š” Ubuntu Pro์— attach๋˜์ง€ ์•Š์•˜๋‹ค. +- MOTD์˜ `24 additional security updates can be applied with ESM Apps`๋Š” Pro ๋ฏธ์—ฐ๊ฒฐ ์ƒํƒœ ์•ˆ๋‚ด๋‹ค. + +### ๋ฆฌ์†Œ์Šค ์ƒํƒœ +- ๋ฃจํŠธ ๋””์Šคํฌ `/dev/sda2`: `228G` ์ค‘ `85G` ์‚ฌ์šฉ, `40%` +- HDD `/mnt/hdd`: `916G` ์ค‘ `169G` ์‚ฌ์šฉ, `20%` +- NAS `/mnt/nas`: `5.3T` ์ค‘ `6.2G` ์‚ฌ์šฉ, ๋งˆ์šดํŠธ ์ •์ƒ +- ๋ฉ”๋ชจ๋ฆฌ: `29Gi` ์ค‘ `6.7Gi` ์‚ฌ์šฉ, ๊ฐ€์šฉ `21Gi` +- ์Šค์™‘: `2.0Gi` ์ค‘ ์‚ฌ์šฉ `0` + +### ํ•ต์‹ฌ ์„œ๋น„์Šค ์ƒํƒœ +- `systemctl is-active` ๊ธฐ์ค€ `nginx`, `docker`, `postgresql`, `gitea` ๋ชจ๋‘ `active` +- `docker ps` ๊ธฐ์ค€ ์ฃผ์š” ์ปจํ…Œ์ด๋„ˆ `healthy` + - `robeing-gateway` + - `robeing_monitor` + - `auth-server` + - `rb8001` + - `goosefarm-app` + +### ๋„๋ฉ”์ธ ์‘๋‹ต ์ƒํƒœ +- `https://goosefarminvesting.com` โ†’ `HTTP/2 200` +- `https://git.ro-being.com` โ†’ `HTTP/2 200` +- `https://ro-being.com` โ†’ ์ ๊ฒ€ ์‹œ์ž‘ ์‹œ `HTTP/2 500` +- `https://www.ro-being.com` โ†’ ์ธ์ฆ์„œ SAN ๋ถˆ์ผ์น˜ + - ํ˜„์žฌ ์ธ์ฆ์„œ SAN: `ro-being.com`, `git.ro-being.com` + +### ro-being.com ํ™ˆ 500 ์›์ธ +- ์ ๊ฒ€ ์‹œ์ž‘ ์‹œ `https://ro-being.com`์€ `HTTP/2 500`์„ ๋ฐ˜ํ™˜ํ–ˆ๋‹ค. +- ๊ฐ™์€ ์‹œ๊ฐ๋Œ€ `robeing-gateway` ๋กœ๊ทธ์—์„œ๋Š” `/api/stats/rb8001` ์š”์ฒญ์ด `200 OK`๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๋‹ค. +- ๊ฐ™์€ ์‹œ๊ฐ๋Œ€ nginx `error.log`์—๋Š” ์•„๋ž˜ ์˜ค๋ฅ˜๊ฐ€ ๊ธฐ๋ก๋˜์—ˆ๋‹ค. + - `stat() "/home/admin/robeing/frontend-customer/dist/index.html" failed (13: Permission denied)` + - `rewrite or internal redirection cycle while internally redirecting to "/index.html"` +- ์ฆ‰, ํ™ˆ `500`์€ gateway ์žฅ์• ๊ฐ€ ์•„๋‹ˆ๋ผ nginx ์ •์  ์„œ๋น™ ๊ฒฝ๋กœ ์„ค๊ณ„ ๋ฌธ์ œ์˜€๋‹ค. +- ์„ธ๋ถ€์ ์œผ๋กœ๋Š” ๋‹ค์Œ ๋‘ ๋ฌธ์ œ๊ฐ€ ๊ฒน์ณ ์žˆ์—ˆ๋‹ค. + - nginx๊ฐ€ ํ”„๋กœ์ ํŠธ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ(`/home/admin/robeing/...`) ์•„๋ž˜ ์ •์  ํŒŒ์ผ์„ ์ง์ ‘ ์ฝ๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์—ˆ๋‹ค. + - `location /`์˜ SPA fallback์ด `try_files $uri $uri/ /index.html;`๋กœ ๋˜์–ด ์žˆ์–ด `/` ์š”์ฒญ์—์„œ ๋‚ด๋ถ€ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ–ˆ๋‹ค. + +## ์กฐ์น˜ +- `/home/admin/robeing/frontend-customer/dist/` ๋‚ด์šฉ์„ `/var/www/html/robeing/`์œผ๋กœ ๋™๊ธฐํ™”ํ–ˆ๋‹ค. +- `/var/www/html/robeing` ์†Œ์œ ๊ถŒ์„ `www-data:www-data`๋กœ ์ •๋ฆฌํ–ˆ๋‹ค. +- `/etc/nginx/sites-available/default` +- `/etc/nginx/sites-enabled/default` +- ์œ„ ๋‘ ํŒŒ์ผ์—์„œ `ro-being.com` ์ •์  ๋ฃจํŠธ๋ฅผ `root /var/www/html/robeing;`๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. +- ์œ„ ๋‘ ํŒŒ์ผ์—์„œ ํ™ˆ SPA fallback์„ `try_files $uri /index.html;`๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. + +## ๊ฒ€์ฆ +- `sudo nginx -t` ํ†ต๊ณผ +- `sudo systemctl reload nginx` ์ˆ˜ํ–‰ +- ์กฐ์น˜ ํ›„ `https://ro-being.com` ์žฌํ™•์ธ ๊ฒฐ๊ณผ `HTTP/2 200` +- ์กฐ์น˜ ํ›„ `https://ro-being.com/index.html` ์žฌํ™•์ธ ๊ฒฐ๊ณผ `HTTP/2 200` +- `https://git.ro-being.com`์€ ๊ณ„์† `HTTP/2 200` +- `https://goosefarminvesting.com`์€ ๊ณ„์† `HTTP/2 200` + +## ๋‚จ์€ ์ด์Šˆ +- `www.ro-being.com`์€ ํ˜„์žฌ ์ธ์ฆ์„œ SAN์— ํฌํ•จ๋˜์ง€ ์•Š์•„ TLS ๊ฒ€์ฆ ์‹คํŒจ ์ƒํƒœ๋‹ค. +- ์ผ๋ฐ˜ ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€๋Šฅ ํ•ญ๋ชฉ `2๊ฑด`์€ ๋‚จ์•„ ์žˆ๋‹ค. +- Ubuntu Pro/ESM Apps๋Š” ๋ฏธ์—ฐ๊ฒฐ ์ƒํƒœ๋‹ค.