Test Scenarios Journeys - MZC-CSC/mc-web-console GitHub Wiki
Test Scenarios โ ์ฌ์ / ์ค์น๊ฒ์ฆ
์์ฑ: 2026-09-28 ยท ๊ฒฐ๊ณผ ๊ธฐ์ค: ์ต๊ทผ ์คํ 2026-09-16 ยท ๋์ ๋ฐฐํฌ ๋ฒ์ :
web:0.5.2 infra:0.12.9 conn:0.12.18 wf:0.5.1 app:0.5.2 data:0.5.3 cost:0.5.2 obs:0.5.0
์ ๋ฌด ์ฌ์ (J)
J2
RBAC ์จ๋ณด๋ฉ & ์ญํ ๋ณ ๋ฐ๋ชจ ์๋๋ฆฌ์ค โ ๊ฒฐ๊ณผ: โฌ ๋ฏธ์คํ
์ญํ ๋ชจ๋ธ
์ฌ์ฉ์ โโ์์โโโถ ์ฌ์ฉ์๊ทธ๋ฃน โโํ ๋นโโโถ ์ญํ
โโ platform-role : ์ญํ ๋ณ ๋
ธ์ถ ๋ฉ๋ด ์ ์
โโ workspace-role: workspace์ ํ ๋นํ๋ ์ญํ ๋ก ์ฌ์ฉ ์ ๋ฌด
โโ csp-role : ๋์ CSP ์ญํ ๋งคํ (์์์๊ฒฉ์ฆ๋ช
๋ฐ๊ธ์ฉ)
| ํ๋ฅด์๋ | ๊ทธ๋ฃน | ํด๋ฆญ ๊ฐ๋ฅ ๋ฉ๋ด | ํ ๋ฉ๋ด URL ์ง์ ์ ๊ทผ | CSP ์์์๊ฒฉ์ฆ๋ช |
|---|---|---|---|---|
| ๊ด๋ฆฌ์ (admin) | grp-admin | ์ ์ฒด (Settings ํฌํจ) | โ | โ |
| bill-viewer | grp-bill | Cost Analysis | unauthorized | โ (viewer ๋งคํ ์ญํ ) |
| bill-์ด์์ | grp-bill-ops | Cost Analysis (+์ค์ /์คํ) | unauthorized | โ (billing-์ฝ๊ธฐ์ฐ๊ธฐ CSP ์ญํ ) |
| application-viewer | grp-app | SW Catalogs (์กฐํ) | unauthorized | โ |
| application-์ด์์ | grp-app-ops | SW Catalogs (+๋ฐฐํฌ/๋ฑ๋ก) | unauthorized | โ (app-๋ฐฐํฌ CSP ์ญํ ) |
| workflow-viewer | grp-wf | Workflows (์กฐํ) | unauthorized | โ |
| workflow-์ด์์ | grp-wf-ops | Workflows (+์์ฑ/์คํ) | unauthorized | โ (wf-์คํ CSP ์ญํ ) |
| monitoring-viewer | grp-mon | Monitorings (์กฐํ) | unauthorized | โ |
| monitoring-์ด์์ | grp-mon-ops | Monitorings (+์๋/์์ด์ ํธ ์ค์ ) | unauthorized | โ (mon-์์ง CSP ์ญํ ) |
ํ์ ์คํ: โ ๊ทธ๋ฃนยท์ญํ (3์ข
๊ตฌ์ฑ ํฌํจ)์ ํ๋ซํผ ์ค์น ์์ ์ ์๋, ๊ณ์ 9์ข
๋ง ์จ๋ณด๋ฉ์ผ๋ก ์ถ๊ฐ.
โก viewer ๊ณ์ด๋ ์์์๊ฒฉ์ฆ๋ช
๋ฐ๊ธ ๊ฐ๋ฅ (์ญํ ๋ณ ๋งคํ๋ CSP ์ญํ ๋ก). โข ๋นํ ๋น ๋ฉ๋ด URL ์ง์
์ ๊ทผ์ unauthorized ์ฒ๋ฆฌ. โฃ ์ฌ์ด๋๋ฐ ๋ฉ๋ดยทApprovals ํ๋ฉด ์ ์ ์๋ณธ =
mc-iam-manager/asset/menu/menu.yaml. โค ์ฝ์์ ์์์๊ฒฉ์ฆ๋ช
์์ฒญ ๋ฒํผ์ ๋ฏธ๊ตฌํ(TODO) โ
๊ตฌํ ์ ๊น์ง API ์ง์ ํธ์ถ๋ก ๊ฒ์ฆ(TC-IAM-TEMPCRED-01), ๊ตฌํ ํ TC-IAM-TEMPCRED-UI-01 ์์ฑ.
Phase 0 โ ์ค์น ์๋ ๊ฒ์ฆ (๊ทธ๋ฃนยท์ญํ ์ ์ค์น ์์ ์ ์ถ๊ฐ๋จ)
๊ทธ๋ฃน/์ญํ ์ ๊ด๋ฆฌ์ UI๊ฐ ์๋๋ผ ํ๋ซํผ ์ค์น ์์ ์ ์๋๋๋ค. Phase 0์ ์๋๊ฐ ์จ์ ํ์ง API๋ก ๊ฒ์ฆํ๋ contract ๋จ๊ณ๋ค (๋ฐ๋ชจ์์๋ ํ๋ฉด์ผ๋ก ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ผ๋ก ๋์ฒด ๊ฐ๋ฅ).
| Step | ๊ฒ์ฆ | ๊ธฐ๋๊ฒฐ๊ณผ | ๊ด๋ จ TC |
|---|---|---|---|
| 0-1 | ๊ทธ๋ฃน ์๋ | grp-* 9์ข ์กด์ฌ | TC-IAM-SEED-GROUPS-01 |
| 0-2 | ์ญํ ์๋ | permission.yaml์ ์ญํ ์ ๋ถ ์กด์ฌ + platform ๋ฉ๋ด ์ผ์น + csp-role ๋งคํ ์กด์ฌ | TC-IAM-SEED-ROLES-01 |
| 0-3 | ๊ทธ๋ฃน-์ญํ ํ ๋น ์๋ | PERSONAS groupโplatformRole ๋งคํ๊ณผ ์ผ์น | TC-IAM-SEED-GROUP-ROLE-01 |
Phase 1 โ ๊ณตํต ์จ๋ณด๋ฉ (์ญํ ๋ณ ๋ฐ๋ณต)
| Step | ํ๋ฉด | ํ๋(์ฃผ์ฒด) | ๊ธฐ๋๊ฒฐ๊ณผ | ๊ด๋ จ TC |
|---|---|---|---|---|
| 1-1 | /auth/signup | ๊ฐ์ ์ ์ฒญ (ํ๋ฅด์๋) | ์ ์ฒญ ์๋ฃ, ๋ก๊ทธ์ธ ๋ถ๊ฐ ์ํ | TC-IAM-SIGNUP-01 |
| 1-2 | Settings > Approvals | ์น์ธ + ๊ทธ๋ฃน ๋ฐฐ์ (๊ด๋ฆฌ์) | ์น์ธ๋จ, ๊ทธ๋ฃน ์์ ํ์ธ | TC-IAM-APPROVE-01 |
| 1-3 | /auth/login | ๋ก๊ทธ์ธ (ํ๋ฅด์๋) | ์ฑ๊ณต, ์ญํ ๋ฐ์๋ ์ธ์ | TC-IAM-LOGIN-01 |
| 1-4 | ์ฒซ ํ๋ฉด | ์ฌ์ด๋๋ฐ ํ์ธ | ์๊ธฐ ๋ฉ๋ด๋ง ๋ ธ์ถ/ํด๋ฆญ ๊ฐ๋ฅ | TC-IAM-MENU-VIS-01 |
| 1-5 | ํ ๋๋ฉ์ธ ๋ฉ๋ด URL ์ง์ ์ ๊ทผ | ๊ฐ์ ์ง์ ์๋ | ๋น๋ ธ์ถ + ์ง์ URL๋ ๊ฑฐ๋ถ(unauthorized) | TC-IAM-MENU-VIS-02 |
Phase 2 โ ์ญํ ๋ณ ๋ฐ๋ชจ (๊ฐ ์ญํ = demo 1ํ ์คํ ๋จ์)
J2-A ๊ด๋ฆฌ์ ์ ์ฒด ๋ฉ๋ด ์ํ โ Approvals์์ ๋๊ธฐ ์ฌ์ฉ์ ์น์ธ ์์ฐ โ CSP ์์์๊ฒฉ์ฆ๋ช ๋ฐ๊ธ(๊ด๋ฆฌ ๋งคํ) โ ๋ฐ๊ธ๋ ์๊ฒฉ์ฆ๋ช ์๋ณ์ ํ์ธ.
J2-B1 bill-viewer / J2-B2 bill-์ด์์ ๋ก๊ทธ์ธ โ ์ฌ์ด๋๋ฐ์ Cost Analysis๋ง โ ์ง์ (iframe ๋ก๋ฉ ํ์ธ) โ viewer: ์ค์ ์ฑ ๋ฒํผ ๋น๋ ธ์ถยท์์์๊ฒฉ์ฆ๋ช ์์ฒญ ๊ฑฐ๋ถ ํ์ธ / ์ด์์: ๋น์ฉ ์ค์ ๋ณ๊ฒฝ 1๊ฑด + ์์์๊ฒฉ์ฆ๋ช ์์ฒญ โ ๋งคํ๋ CSP ์ญํ (billing)๋ก ๋ฐ๊ธ๋จ ํ์ธ.
J2-C1 application-viewer / J2-C2 application-์ด์์ ๋ก๊ทธ์ธ โ SW Catalogs๋ง โ viewer: ์นดํ๋ก๊ทธ ์กฐํ, ๋ฐฐํฌ ๋ฒํผ ๋น๋ ธ์ถ / ์ด์์: ์นดํ๋ก๊ทธ ํญ๋ชฉ ๋ฐฐํฌ 1๊ฑด + ์์์๊ฒฉ์ฆ๋ช (app-๋ฐฐํฌ ์ญํ ) ๋ฐ๊ธ ํ์ธ.
J2-D1 workflow-viewer / J2-D2 workflow-์ด์์ ๋ก๊ทธ์ธ โ Workflows๋ง โ viewer: ์ํฌํ๋ก์ฐ ๋ชฉ๋กยท์ด๋ ฅ ์กฐํ๋ง / ์ด์์: ์ํฌํ๋ก์ฐ ์์ฑโ์คํ 1ํ + ์์์๊ฒฉ์ฆ๋ช (wf-์คํ ์ญํ ) ๋ฐ๊ธ ํ์ธ.
J2-E1 monitoring-viewer / J2-E2 monitoring-์ด์์ ๋ก๊ทธ์ธ โ Monitorings๋ง โ viewer: ๋์๋ณด๋ ์กฐํ๋ง / ์ด์์: ์๋ ๊ท์น 1๊ฑด ์์ฑ + ์์์๊ฒฉ์ฆ๋ช (mon-์์ง ์ญํ ) ๋ฐ๊ธ ํ์ธ.
์์์๊ฒฉ์ฆ๋ช ๊ณตํต ๊ฒ์ฆ ์คํ (์ ์ญํ )
์ฝ์ ์์ฒญ ๋ฒํผ์ด ๋ฏธ๊ตฌํ(TODO)์ด๋ฏ๋ก ๋น๋ถ๊ฐ API ์ง์ ํธ์ถ๋ก ๊ฒ์ฆํ๋ค. ๋ฒํผ์ด ์ถ๊ฐ๋๋ฉด T-1์ UI ํด๋ฆญ์ผ๋ก ๊ต์ฒดํ๊ณ TC-IAM-TEMPCRED-UI-01์ ๊ตฌํํ๋ค.
| Step | ํ๋ | ๊ธฐ๋๊ฒฐ๊ณผ | ๊ด๋ จ TC |
|---|---|---|---|
| T-1 | ์๊ฒฉ์ฆ๋ช ์์ฒญ API ํธ์ถ (์ญํ ํ ํฐ) | csp-role ๋งคํ ์กฐํ๋จ | TC-IAM-TEMPCRED-01 |
| T-2 | ๋ฐ๊ธ ์๋ต ํ์ธ | ๋งคํ๋ CSP ์ญํ ๋ช ์ผ๋ก STS ์๊ฒฉ์ฆ๋ช ๋ฐ๊ธ (accessKey/token ์กด์ฌ, ๋ง๋ฃ์๊ฐ ์ ํจ) | TC-IAM-TEMPCRED-01 |
J3
์ํฌํ๋ก์ฐ ๊ธฐ๋ฐ ์๋น์ค ์์ฑ (Infra / K8s / nodegroup) โ ๊ฒฐ๊ณผ: โฌ ๋ฏธ์คํ
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | workflow-์ด์์(wfoperator) ๋๋ admin โ wfoperator๋ platform-role ์๋ ์ ๊น์ง admin์ผ๋ก ์คํ |
| ๋ชฉํ | ์์ฑ ํ๋ฉด์์ ์ ์ ๋ฐฉ์์ผ๋ก workflow๋ฅผ ์ ํํด, ์ ํํ workflow๋๋ก Infra/K8s/nodegroup์ด ๊ตฌ์ฑ๋จ์ ํ์ธํ๋ค |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace + ์คํ ๊ฐ๋ฅํ workflow๊ฐ mc-workflow-manager์ ๋ฑ๋ก๋ผ ์์ |
| ๊ณ์ธต | L2 (์ค CSP โ K8s๋ ephemeral, ์ข ๋ฃ ์ ์ญ์ ) |
ํ๋ก์ฐ 3์ข
J3-1 โ Create Infra with workflow (TC-INFRA-CREATE-WF-01)
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋๊ฒฐ๊ณผ (assert) |
|---|---|---|---|
| 1 | Infra Workloads > Create Infra | ์ ์ ๋ฐฉ์ = workflow ์ ํ | workflow ๋ชฉ๋ก ๋ก๋ฉยทํ์ (mc-workflow-manager ์กฐํ) |
| 2 | workflow ๋ชฉ๋ก | Infra ๊ตฌ์ฑ workflow ์ ํ โ ์คํ | ์์ฑ ์์ฒญ ์๋ฝ, workflow ์คํ ์์ |
| 3 | Infra ๋ชฉ๋ก | ๊ตฌ์ฑ ์๋ฃ ๋๊ธฐ | workflow ์ ์๋๋ก Infra ๊ตฌ์ฑ (nodegroup/node ์ยท์คํ ์ผ์น), Running |
| 4 | (teardown) | ์์ฑ๋ Infra ์ญ์ | ephemeral โ e2e-{runId}-* ์์กด๋ฌผ ์์ |
J3-2 โ Create Cluster with workflow (TC-K8S-CREATE-WF-01/02)
CSP๋ณ ์์ฑ ํน์ฑ์ด ๋ฌ๋ผ ์ง์ workflow๋ฅผ ๊ตฌ๋ณํด ์งํํ๋ค:
| CSP ํน์ฑ | ์๋ฏธ | ๋์ workflow | TC |
|---|---|---|---|
| cluster-only | ํด๋ฌ์คํฐ๋ง ์์ฑ, nodegroup์ ์ดํ ๋ณ๋ ์ถ๊ฐ | wf-k8s-cluster-only | TC-K8S-CREATE-WF-01 |
| cluster+nodegroup | ์์ฑ ์ nodegroup ๋์ ๊ตฌ์ฑ ํ์/๊ธฐ๋ณธ | wf-k8s-with-nodegroup | TC-K8S-CREATE-WF-02 |
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋๊ฒฐ๊ณผ |
|---|---|---|---|
| 1 | K8s Workloads > Create Cluster | workflow ๋ชฉ๋ก์์ CSP ํน์ฑ์ ๋ง๋ workflow ์ ํ | ๋ชฉ๋ก์ ํด๋น CSP ์ง์ workflow๋ง/๊ตฌ๋ถ ํ์ |
| 2 | ์คํ | ์์ฑ ์์ฒญ | workflow ์คํ, cluster Creating |
| 3 | ๋ชฉ๋ก | Active ๋๊ธฐ | cluster-only: nodegroup 0 / with-nodegroup: ์ ์๋ nodegroupยทnode ์ ์ผ์น |
| 4 | (teardown) | cluster ์ญ์ | K8s๋ ephemeral โ ์ฆ์ ์ญ์ |
J3-3 โ Add NodeGroup with workflow (TC-K8S-NODEGROUP-WF-01)
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋๊ฒฐ๊ณผ |
|---|---|---|---|
| 1 | K8s Workloads > cluster ์ ํ | Add NodeGroup ํด๋ฆญ | workflow ๋ชฉ๋ก ํ์ |
| 2 | workflow ์ ํ โ ์คํ | nodegroup ์ถ๊ฐ ์์ฒญ | workflow ์คํ ์๋ฝ |
| 3 | cluster ์์ธ | ์๋ฃ ๋๊ธฐ | workflow ์ ์๋๋ก nodegroup ์ถ๊ฐ (์ด๋ฆยทnode ์ ์ผ์น), ๊ธฐ์กด nodegroup ๋ถ๋ณ |
| 4 | (teardown) | cluster ์ญ์ (J3-2์ ์ฐ๊ณ) ๋๋ nodegroup ์ ๊ฑฐ | ์์กด๋ฌผ ์์ |
๊ฒ์ฆ ํฌ์ธํธ (workflow โ ์ค์ ๊ตฌ์ฑ ๋์กฐ)
"ํด๋น workflow๋๋ก ๊ตฌ์ฑ"์ ํ์ ์: workflow ์ ์(mc-workflow-manager API์์ ์กฐํ)์์ ๊ธฐ๋ ๋ฆฌ์์ค ๋ช ์ธ(nodegroup ์, node ์, ์คํ)๋ฅผ ์ฝ์ด โ tumblebug ์กฐํ ๊ฒฐ๊ณผ์ ๋์กฐํ๋ค. UI ํ์ ์ผ์น๋ ๊ทธ ๋ค์ ๋จ๊ณ assert.
J5
operator์ Infra Workload ์ด์ ์ฌ์ โ ๊ฒฐ๊ณผ: โฌ ๋ฏธ์คํ
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | operator (์ด์ ๋ด๋น) |
| ๋ชฉํ | ์ด์ ์ค์ธ Infra Workload์ node ์ ์ด์ nodegroup ์ค์ผ์ผ์ ์ฝ์์์ ์ํํ๋ค |
| ์ฌ์ ์กฐ๊ฑด | withInfra โ ํ์ Infra Workload๊ฐ Running (acquire๊ฐ resume ์ํ) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋๊ฒฐ๊ณผ | ๊ด๋ จ TC |
|---|---|---|---|---|
| 1 | Infra Workloads ๋ชฉ๋ก | ๋์ Workload ์ ํ | ์์ธ ํจ๋ ๋ ธ์ถ, node ๋ชฉ๋ก ํ์ | โ |
| 2 | node ๋ชฉ๋ก | node ์ฌ์์ | targetAction=Reboot โ Running ๋ณต๊ท, publicIP ๋ถ๋ณ | TC-INFRA-NODE-REBOOT-01 |
| 3 | nodegroup ํจ๋ | ์ค์ผ์ผ ์์ (1โ2 node) | node 2๋ Running, ๋ชฉ๋ก ์ ์ผ์น | TC-INFRA-NODEGROUP-SCALE-01 |
| 4 | nodegroup ํจ๋ | ์ค์ผ์ผ ์ธ (2โ1 node) | ์๋ณต, ์์กด node ์ ์ | TC-INFRA-NODEGROUP-SCALE-02 |
J11
nodegroup ์ค์ผ์ผ ์์ โ nginx ์ค์น โ NLB ์ฐ๊ฒฐยทํฌ์ค์ฒดํฌ โ ๊ฒฐ๊ณผ: โฌ ๋ฏธ์คํ
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin ๋๋ application-์ด์์(appoperator) โ appoperator๋ platform-role ์๋ ์ ๊น์ง admin์ผ๋ก ์คํ |
| ๋ชฉํ | ์ด์ ์ค์ธ Infra Workload๋ฅผ ์ค์ผ์ผ ์์ํด ์๋น์ค ์ฉ๋์ ๋๋ฆฌ๊ณ , nginx๋ฅผ ๋ฐฐํฌํ ๋ค NLB๋ก ๋ ธ์ถํด ํฌ์ค์ฒดํฌ๊น์ง ํ์ธํ๋ค |
| ์ฌ์ ์กฐ๊ฑด | withInfra โ ํ์ Infra Workload Running (acquire๊ฐ resume ์ํ) |
| ๊ณ์ธต | L2 (์ค CSP) โ NLBยท์ถ๊ฐ node๋ ๊ณผ๊ธ ๋์ |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋๊ฒฐ๊ณผ (assert) | ๊ด๋ จ TC |
|---|---|---|---|---|
| 1 | Infra Workloads ๋ชฉ๋ก | ๋์ Infra ์ ํ | ์์ธ ํจ๋, nodegroup ๋ชฉ๋ก ํ์ | โ |
| 2 | nodegroup ํจ๋ | ์ค์ผ์ผ ์์ (1โ2 node) | ์์ฒญ ์๋ฝ, ์ ๊ท node Creating ์ ์ด | TC-INFRA-NODEGROUP-SCALEOUT-01 |
| 3 | node ๋ชฉ๋ก | ์ ์ฒด Running ๋๊ธฐ | ์ ๊ท node Running + ๊ธฐ์กด node id/publicIP ๋ถ๋ณ(๋ฎ์ด์จ์ง ์ฌ๊ณ ๋ฐฉ์ด) + UI ๋ ธ๋ ์ ์ผ์น | TC-INFRA-NODEGROUP-SCALEOUT-01 |
| 4 | Remote Command | nginx ์ค์น (nodegroup ๋์ ์๊ฒฉ ๋ช ๋ น) | ๋ช
๋ น ์ฑ๊ณต ์๋ต, ๊ฐ node์์ curl localhost:80 200 |
TC-INFRA-CMD-NGINX-01 |
| 5 | NLB | NLB ์์ฑ โ ํด๋น nodegroup์ node๋ค ๋ฑ๋ก + ํฌํธ ๋งคํ(80โ80) | PostNLB ์ฑ๊ณต, ๋์ node ์ = nodegroup node ์, listener/target port ์ผ์น | TC-INFRA-NLB-CREATE-01 |
| 6 | NLB ์์ธ/๋ชฉ๋ก | health check ์๋ต ํ์ธ (Check Health) | GetNLBHealth ์๋ต์์ ๋ฑ๋ก node ์ ๋ถ healthy (์ ์ด ๋๊ธฐ ํ์ฉ) | TC-INFRA-NLB-HEALTH-01 |
| 7 | (teardown) | NLB ์ญ์ โ ์ค์ผ์ผ ์ธ(2โ1) ์๋ณต | DelNLB ์ฑ๊ณต, ํ์ด ์๋ ๊ตฌ์ฑ(1 node)์ผ๋ก ๋ณต๊ท ํ suspend | โ |
์ค์น ํ ํตํฉ ๊ฒ์ฆ (IV)
IV1
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
๋ก๊ทธ์ธ & RBAC ์ด๊ธฐ ์ค์ โ ๊ฒฐ๊ณผ: โญ๏ธ SKIP(09-11)
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | ํด๋ฆฐ ์ค์น ์งํ admin ๋ก๊ทธ์ธ โ ๊ทธ๋ฃน ์์ฑ โ (์ญํ ํ ๋น) โ ์ฌ์ฉ์ ์์ฑ โ ๊ทธ๋ฃน์ ์ฌ์ฉ์ ๋ฐฐ์ ๊น์ง, RBAC ๋ถํธ์คํธ๋ฉ ์ ์ฒด ํ๋ฆ์ด ํ๋ฉด์์ ๋์ํ๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | ์์(๋น๋ก๊ทธ์ธ ์ํ์์ ์์) โ ๋ ๋ฆฝ ์คํ, ํ ๋ง ์ ์ฒด์ ์ฒซ ๊ด๋ฌธ |
| ๊ณ์ธต | L1(ui) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 1 | ๋ก๊ทธ์ธ | #id/#password ์
๋ ฅ โ #loginbtn |
POST /api/auth/login ์ฑ๊ณต, ์ธ์ฆ ํ ํ๋ฉด ์ง์
|
| 2 | Groups | ๋ถ๋ชจ ๋
ธ๋ ์ ํ โ #btn-add-child โ #create-group-form(#group-name ๋ฑ) ์
๋ ฅ โ ์ ์ฅ |
POST /api/mc-iam-manager/Createorganization ์ฑ๊ณต, ํธ๋ฆฌ์ ์ ๊ทธ๋ฃน ๋
ธ์ถ |
| 3 | Roles | (ํ์ธ๋ง) Role ๋ง์คํฐ ๋ชฉ๋ก ์กด์ฌ ํ์ธ โ ๊ทธ๋ฃน์ ์ง์ ์ญํ ์ ํ ๋นํ๋ UI๋ ์ด ๋น๋์ ์์(์๋ ๋น๊ณ ) | ์ญํ ๋ง์คํฐ(admin/operator/viewer/billadmin/billviewer) ๋ชฉ๋ก ํ์ |
| 4 | Users | Add User(#usercreate ์์ ๋) โ ์ฌ์ฉ์ ์ ๋ณด ์
๋ ฅ โ ์์ฑ |
์ฌ์ฉ์ ์์ฑ ์ฑ๊ณต |
| 5 | Users | ์์ฑํ ์ฌ์ฉ์ ํ ์ ํ โ Assigned Groups ํจ๋ โ + Add Group โ ๊ทธ๋ฃน ์ ํ โ Assign |
๊ทธ๋ฃน ๋ฐฐ์ ์ฑ๊ณต โ ํ์ฌ ๋ผ์ด๋ธ ํ๊ฒฝ์์ 404 ์ฌํ๋จ(์๋ ๋น๊ณ ) |
| 6 | (ํ์ฅ ํฌ์ธํธ) | ์ญํ ๋ณ ๋ฉ๋ด ๊ตฌ์ฑ์ด ์ค์ ๋ก ๋ค๋ฅด๊ฒ ๋ ธ์ถ๋๋์ง ํ์ธ | ๊ตฌํ ์๋ฃ(2026-08-21) โ Step 2~5์ ๋ ๋ฆฝ๋ ๋ณ๋ test๋ก ๋ถ๋ฆฌ, ๋ฐ๋ชจ ๊ณ์ 15์ข ์ ์ ๊ฒ์ฆ(์๋ "Step 6" ์ ์ฐธ์กฐ) |
IV2
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
Cloud Resources ์ ์ด โ ๊ฒฐ๊ณผ: โ PASS(09-11)
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | Cloud Resources ํ๋ฉด๊ตฐ(Networks/SecurityGroups/SSHKeys/Disks/ServerSpecs/ServerImages/MyImages/NLBs)์ด ์ ์ ๋ก๋๋๊ณ , ์ฌ๋ฌ CSP์ ์์์ด ํ ๋ชฉ๋ก์ ํจ๊ป ํ์๋๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace(admin) โ ๋ ๋ฆฝ ์คํ, ๋ค๋ฅธ IV ์ฌ์ ์ ์์กดํ์ง ์์ |
| ๊ณ์ธต | L1(ui) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 1 | Networks | ํ๋ฉด ์ง์ | #vnet-list-table ๋ ๋, Provider ์ปฌ๋ผ์ 2๊ฐ ์ด์ ์๋ก ๋ค๋ฅธ CSP ๊ฐ ์กด์ฌ(๋ฉํฐํด๋ผ์ฐ๋ ํ์ธ) |
| 2 | SecurityGroups | ํ๋ฉด ์ง์ | #sg-list-table ๋ ๋ |
| 3 | SSHKeys / Disks / ServerSpecs / ServerImages / MyImages / NLBs | ๊ฐ ํ๋ฉด ์ง์ | ๋ชฉ๋ก ํ
์ด๋ธ(#sshkey-list-table / #disk-list-table / #spec-table / #image-table / #myimage-list-table / #nlb-list-table)์ด Tabulator๋ก ์ด๊ธฐํ๋์ด ๋ ๋, ์ง์
์ค ๋ฏธ์ฒ๋ฆฌ JS ์์ธ(pageerror) ์์ |
IV3
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
Workflows๋ก Infra/K8s ์ ์ด โ ๊ฒฐ๊ณผ: โญ๏ธ SKIP(09-11)
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | Workflows ํ๋ฉด(iframe, mc-workflow-manager/Jenkins)์์ Infra ์ํฌํ๋ก์ฐ ์ก๊ณผ K8s ์ํฌํ๋ก์ฐ ์ก์ ๊ฐ๊ฐ RUNํด ์์์ ์์ฑ โ โ ์ฒด์ธ์ ์์ ์์ฑ ์ง์ . ์ดํ IV4~IV7์ด ์ฌ๊ธฐ์ ๋ง๋ ์์์ ์ด์ด๋ฐ๋๋ค |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace(admin) โ ๋ ๋ฆฝ ์คํ(IV1/IV2์ ์์กดํ์ง ์์). ๋จ IV4~IV7์ ์ด ์ฌ์ ์ ์ฐ์ถ๋ฌผ(Infra/K8s ์ด๋ฆ)์ ์์กด |
| ๊ณ์ธต | L1(ui, iframe) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 1 | Workflows | Workspace/Project ์ ํ ํ ํ๋ฉด ์ง์ | iframe ๋ก๋ฉ(mc-workflow-manager-fe ๋ฑ๋ก ํ /web/workflow/list), postMessage ํธ๋์
ฐ์ดํฌ(accessToken/workspaceInfo/projectInfo) ์์ |
| 2 | Workflows | Infra ๊ด๋ จ ์ก์ RUN ํด๋ฆญ โ ํ๋ผ๋ฏธํฐ ์
๋ ฅ ํ์
์ e2e-{runId}-iv-infra + nodegroup ng01,ng02 ์
๋ ฅ โ ์ ์ถ |
Infra Workload ์์ฑ ์์ฒญ ์ ์ |
| 3 | Workflows | K8s ๊ด๋ จ ์ก์ RUN ํด๋ฆญ โ ํ๋ผ๋ฏธํฐ ์
๋ ฅ ํ์
์ e2e-{runId}-iv-k8s + nodegroup ng01 ์
๋ ฅ โ ์ ์ถ |
K8s Workload ์์ฑ ์์ฒญ ์ ์ |
| 4 | Infra/K8s Workloads(native) | ๋ ์์์ด ์ต์ข ์ ์ผ๋ก Running/Ready ์ํ์ ๋๋ฌ | ์ดํ ์ฌ์ ์ด ์ด์ด๋ฐ์ ์ ์๋ ์ํ |
IV4
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
Infra/K8s ์ ์ด โ ๊ฒฐ๊ณผ: ๐ง BLOCKED
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | IV3์ด Workflow๋ก ์์ฑํ Infra/K8s ์์์ native ํ๋ฉด(Infra Workloads/K8s Workloads)์์ ์ง์ ์ ์ด(์ฌ๋ถํ /์ค์ผ์ผ ๋ฑ)ํ ์ ์๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace(admin) โ IV3 ์์กด. ๊ฐ์ ๋ฐ์์ IV3์ด ๋ง๋ e2e-{runId}-iv-infra/e2e-{runId}-iv-k8s๋ฅผ ์ด๋ฆ์ผ๋ก ์ฌํ์ |
| ๊ณ์ธต | L1(ui) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 0 | Infra/K8s Workloads | ์ ํ ์์ ์กด์ฌ ํ์ธ(๊ฐ๋) | ์์ผ๋ฉด ๐ง BLOCKED๋ก ์๊ธฐ๋ณด๊ณ , ์์ธ ๋ชจ๋ฅผ FAIL๋ก ์ฃฝ์ง ์์ |
| 1 | Infra Workloads | e2e-{runId}-iv-infra ๊ฒ์ โ ์์ธ ์ง์
|
๋ชฉ๋ก/์์ธ์์ nodegroup ng01,ng02 ํ์ธ |
| 2 | Infra Workloads | ์ ์ด ๋์(์: node reboot) ์ํ | ์ํ ์ ์ด ํ์ธ |
| 3 | K8s Workloads | e2e-{runId}-iv-k8s ๊ฒ์ โ ์์ธ ์ง์
|
nodegroup ng01 ํ์ธ |
| 4 | K8s Workloads | ์ ์ด ๋์(์: nodegroup scale) ์ํ | ์ํ ์ ์ด ํ์ธ |
IV5
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
SW Catalogs ์ ์ด (์ธํ๋ผ๊ฐ ์๋ ์ํ์์) โ ๊ฒฐ๊ณผ: ๐ง BLOCKED
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | IV3์ด ๋ง๋ Infra/K8s ์์์ ๋์์ผ๋ก SW Catalogs(iframe, mc-sw-catalog)์์ SW๋ฅผ ์ค์นํ ์ ์๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace(admin) โ IV3 ์์กด. Infra/K8s ๋ ๋ค ๋์(๋ฐฐํฌ ๋ฐฉ์์ด ๋ค๋ฅผ ์ ์์ โ VM SW ์ค์น vs K8s workload ๋ฐฐํฌ) |
| ๊ณ์ธต | L1(ui, iframe) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 0 | Infra/K8s Workloads | ์ ํ ์์(Infra+K8s) ์กด์ฌ ํ์ธ(๊ฐ๋) | ์์ผ๋ฉด ๐ง BLOCKED |
| 1 | SW Catalogs | ํ๋ฉด ์ง์ | iframe ๋ก๋ฉ + ํธ๋์ ฐ์ดํฌ |
| 2 | SW Catalogs | e2e-{runId}-iv-infra ๋์ SW ์ค์น |
์ค์น ์์ฒญ ์ ์ |
| 3 | SW Catalogs | e2e-{runId}-iv-k8s ๋์ SW(workload) ๋ฐฐํฌ |
๋ฐฐํฌ ์์ฒญ ์ ์ |
IV6
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
Cost Analysis ์ ์ด (์ธํ๋ผ๊ฐ ์๋ ์ํ์์) โ ๊ฒฐ๊ณผ: ๐ง BLOCKED
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | IV3์ด ๋ง๋ Infra/K8s ์์์ ๋น์ฉ ํญ๋ชฉ์ด Cost Analysis(iframe, mc-cost-optimizer)์ ๊ฐ๊ฐ ๋ฐ์๋๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace(admin) โ IV3 ์์กด. Infra/K8s ๋ ๋ค(K8s๋ nodegroup ๋จ์ ๋น์ฉ๊น์ง) |
| ๊ณ์ธต | L1(ui, iframe) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 0 | Infra/K8s Workloads | ์ ํ ์์(Infra+K8s) ์กด์ฌ ํ์ธ(๊ฐ๋) | ์์ผ๋ฉด ๐ง BLOCKED |
| 1 | Cost Analysis | ํ๋ฉด ์ง์ | iframe ๋ก๋ฉ + ํธ๋์ ฐ์ดํฌ |
| 2 | Cost Analysis | Infra(e2e-{runId}-iv-infra) ๋น์ฉ ํญ๋ชฉ ํ์ธ |
ํญ๋ชฉ ์กด์ฌ(๊ณผ๊ธ ๋ฐ์์๋ ์์ฐจ๊ฐ ์์ ์ ์์ โ ์กด์ฌ ์ฌ๋ถ๋ง ํ์ธ) |
| 3 | Cost Analysis | K8s(e2e-{runId}-iv-k8s) nodegroup ๋จ์ ๋น์ฉ ํญ๋ชฉ ํ์ธ |
ํญ๋ชฉ ์กด์ฌ |
| 4 | Cost Analysis | IV2์์ ๊ด์ธก๋ CSP ์งํฉ๊ณผ ๊ต์ฐจ ํ์ธ | ๋ฉํฐํด๋ผ์ฐ๋ ๋น์ฉ ์ง๊ณ ์ผ๊ด์ฑ(coverage ๊ด์ ) |
IV7
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
Monitoring ์ ์ด (์ธํ๋ผ๊ฐ ์๋ ์ํ์์) โ ๊ฒฐ๊ณผ: ๐ง BLOCKED
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | IV3์ด ๋ง๋ Infra/K8s ์์์ Monitoring(iframe, mc-observability) ์์ด์ ํธ๋ฅผ ์ค์นํ ์ ์๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace(admin) โ IV3 ์์กด. Infra/K8s ๋ ๋ค(์ค์น ๋ฐฉ์์ด ๋ค๋ฅผ ์ ์์ โ VM agent vs K8s์ฉ ๋ชจ๋ํฐ๋ง) |
| ๊ณ์ธต | L1(ui, iframe) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 0 | Infra/K8s Workloads | ์ ํ ์์(Infra+K8s) ์กด์ฌ ํ์ธ(๊ฐ๋) | ์์ผ๋ฉด ๐ง BLOCKED |
| 1 | Monitoring | ํ๋ฉด ์ง์ | iframe ๋ก๋ฉ + ํธ๋์ ฐ์ดํฌ |
| 2 | Monitoring | e2e-{runId}-iv-infra ๋์ ๋ชจ๋ํฐ๋ง ์์ด์ ํธ ์ค์น |
์ค์น ์์ฒญ ์ ์ |
| 3 | Monitoring | e2e-{runId}-iv-k8s ๋์ ๋ชจ๋ํฐ๋ง ์ค์น(ํ๋ฉด์ด ์ ๊ณตํ๋ ๋ฐฉ์๋๋ก) |
์ค์น ์์ฒญ ์ ์ |
IV8
v07 ์คํ: ์๋๋ฆฌ์ค ยท spec
Data Migrations ์ ์ด โ ๊ฒฐ๊ณผ: โญ๏ธ SKIP(09-11)
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ํ๋ฅด์๋ | admin |
| ๋ชฉํ | Data Migrations(mc-data-manager, iframe) ํ๋ฉด์ด ์ ์ ๋ก๋ฉ๋๊ณ postMessage ํธ๋์ ฐ์ดํฌ๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธ |
| ์ฌ์ ์กฐ๊ฑด | withWorkspace โ ๋ ๋ฆฝ ์คํ |
| ๊ณ์ธต | L1(ui, iframe) |
Steps:
| Step | ํ๋ฉด | ํ๋ | ๊ธฐ๋ ๊ฒฐ๊ณผ |
|---|---|---|---|
| 1 | Data Migrations | ํ๋ฉด ์ง์ | iframe ๋ก๋ฉ, ํ ํฐ/workspace postMessage ํธ๋์ ฐ์ดํฌ ์์ |
| 2 | Data Migrations | iframe ๋ด๋ถ root ๋ ๋ ํ์ธ | ์ฝํ ์ธ ํ์(๋น ํ๋ฉด/์๋ฌ ์๋) |