Skip to content

docs: update README.md#68

Open
ga111o wants to merge 1 commit into
easy-cloud-Knet:stagingfrom
ga111o:readme
Open

docs: update README.md#68
ga111o wants to merge 1 commit into
easy-cloud-Knet:stagingfrom
ga111o:readme

Conversation

@ga111o

@ga111o ga111o commented Jun 16, 2026

Copy link
Copy Markdown
Member

Summary

몇 주간 손 놓고 있었던 거 팔로우업도 할 겸 완전히 무시되고 있었던 readme 업데이트 했습니다.
클로드가 전문 작성해주었고, 제가 확인하며 틀린 내용 수정 및 윤문하였습니다.

Type of Change

  • Bug fix
  • New feature
  • Refactoring
  • Docs / Config
  • CI/CD

Summary by CodeRabbit

  • Documentation
    • Significantly expanded documentation with comprehensive system overview, component architecture details, supported environment specifications, and deployment procedures
    • Added detailed configuration guides, Docker Compose setup instructions, and API endpoint documentation with sample requests and responses
    • Included data storage specifications, project directory structure reference, integration testing guidelines, and CI/CD deployment mappings with required configuration variables

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

README.md is fully rewritten in Korean, replacing minimal English prerequisites and command snippets with comprehensive documentation covering system components, VM creation flow, environment requirements, Docker Compose execution, configuration precedence, HTTP API routes, MySQL/Redis data store schemas, project directory structure, blackbox integration test instructions, and CI/CD branch-to-deployment mapping.

Changes

KWS Control README 전면 재작성

Layer / File(s) Summary
컴포넌트 개요, 목차, 아키텍처 및 VM 생성 흐름
README.md
Core 노드/CMS/Guacamole/MySQL/Redis 역할 개요, 구조화된 목차, VM 생성 단계별 오케스트레이션 및 롤백 동작(CMS 서브넷/IP 롤백 TODO 포함)이 추가되었습니다.
지원 환경 및 Docker Compose 실행 방법
README.md
Go/Docker/MySQL/Redis 버전 요구사항 테이블, Docker Compose 실행 절차, 컨테이너 포트 매핑, MySQL 초기화 동작, curl 헬스 체크 예시가 추가되었습니다.
설정 우선순위 및 환경 변수 레퍼런스
README.md
환경 변수 vs config.yaml 우선순위 규칙, REDIS_HOST 특수 폴백 동작, 환경 변수 참조 테이블, 예시 resources/config.yaml 구조가 문서화되었습니다.
HTTP API 라우트 및 데이터 저장소 스키마
README.md
VM 라이프사이클/상태/정보/연결/업데이트 엔드포인트 라우트 테이블, JSON-in-body GET 주의사항, 상태 정규화 값, MySQL/Guacamole 테이블 목록 및 Redis 키/값 JSON 필드가 문서화되었습니다.
프로젝트 디렉토리 구조, 통합 테스트, CI/CD
README.md
전체 프로젝트 구조 파일/폴더별 설명, 블랙박스 통합 테스트 실행 방법, 브랜치-워크플로우-이미지-포트 매핑 및 GitHub Actions 필수 시크릿 변수 목록이 추가되었습니다.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 토끼가 문서를 열어보니,
한국어로 가득 찬 README!
VM 생성, API, Redis 스키마,
구조도 테스트도 깔끔하게~
이제 누구든 쉽게 알 수 있어요 🌸

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'docs: update README.md' is generic and vague, using 'update' without specifying what meaningful changes were made to the README despite significant content rewrite. Consider a more descriptive title that reflects the main change, such as 'docs: rewrite README.md with KWS Control system documentation' to better convey the scope of changes.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kwonkwonn kwonkwonn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋습니다!
클로드.md 처럼 써도 되겠네요 ㅎㅎ

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
README.md (1)

44-52: 💤 Low value

Label the plain fenced blocks.

Both directory-tree fences are missing a language identifier, which triggers markdownlint and renders less consistently. Use text or plaintext for those blocks.

Also applies to: 210-290

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 44 - 52, The directory-tree fenced code blocks in the
README are missing language identifiers on their markdown fences, which causes
markdownlint violations and inconsistent rendering. Add a language identifier
(either `text` or `plaintext`) to all fenced code blocks that contain the
directory structure. Specifically, identify each opening fence marker (three
backticks) that precedes directory tree content and append the language
identifier immediately after the backticks, for example: ```text instead of just
```.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 16: The table of contents link `[설정(Configuration)](`#설정configuration`)`
has an incorrect anchor that does not match any heading in the document. Update
the anchor in this TOC entry from `#설정configuration` to `#설정` to match the
actual `## 설정` heading in the document, or alternatively rename the heading to
`## 설정(Configuration)` to match the TOC link text.
- Around line 111-112: The environment variable name for Guacamole configuration
is inconsistent across the documentation and configuration files. Decide on one
canonical name (either `GUACAMOLE_BASE_URL` or `GUAC_BASE_URL`), then find and
update all occurrences of the alternate name in the README.md file (including
both the environment variable reference section and the CI/CD workflow
documentation section), the .env.example file, and all workflow files to use the
chosen canonical name consistently throughout.

---

Nitpick comments:
In `@README.md`:
- Around line 44-52: The directory-tree fenced code blocks in the README are
missing language identifiers on their markdown fences, which causes markdownlint
violations and inconsistent rendering. Add a language identifier (either `text`
or `plaintext`) to all fenced code blocks that contain the directory structure.
Specifically, identify each opening fence marker (three backticks) that precedes
directory tree content and append the language identifier immediately after the
backticks, for example: ```text instead of just ```.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 05a90a51-ff13-42e4-a45c-758e5e177599

📥 Commits

Reviewing files that changed from the base of the PR and between c3b4b73 and fc4c323.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
1. [아키텍처](#아키텍처)
2. [지원 환경](#지원-환경)
3. [실행](#실행)
4. [설정(Configuration)](#설정configuration)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix the TOC anchor.

#설정configuration does not match the ## 설정 heading, so this link will be broken on GitHub. Point it at #설정 (or rename the heading to match).

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 16-16: Link fragments should be valid

(MD051, link-fragments)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 16, The table of contents link
`[설정(Configuration)](`#설정configuration`)` has an incorrect anchor that does not
match any heading in the document. Update the anchor in this TOC entry from
`#설정configuration` to `#설정` to match the actual `## 설정` heading in the document,
or alternatively rename the heading to `## 설정(Configuration)` to match the TOC
link text.

Source: Linters/SAST tools

Comment thread README.md
Comment on lines +111 to +112
| `GUACAMOLE_BASE_URL` | Guacamole 베이스 URL (예: `http://host:8080/guacamole`) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
rg -n 'GUACAMOLE_BASE_URL|GUAC_BASE_URL' README.md .env.example .github/workflows

Repository: easy-cloud-Knet/KWS_Control

Length of output: 481


Align environment variable name across README, .env.example, and workflows.

The documentation uses GUACAMOLE_BASE_URL (line 111, .env.example) but the CI/CD section (line 320) and workflow file reference GUAC_BASE_URL. This inconsistency will cause users to create secrets with the wrong name. Choose one canonical name and update all occurrences.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 111 - 112, The environment variable name for
Guacamole configuration is inconsistent across the documentation and
configuration files. Decide on one canonical name (either `GUACAMOLE_BASE_URL`
or `GUAC_BASE_URL`), then find and update all occurrences of the alternate name
in the README.md file (including both the environment variable reference section
and the CI/CD workflow documentation section), the .env.example file, and all
workflow files to use the chosen canonical name consistently throughout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants