00c42abca1ac347a175bd7f7667aff07631dcdef
- Agent: 유닛 User 가 Agent 계정과 다르면 deploy/module-as-user.sh 로 그 계정이 풀기·전환·DB 백업·마이그레이션 수행(sudoers 최소 규칙) - AriMail 마이그레이션에 유닛 EnvironmentFile(DB_FILE) 적용 - 도입 모듈 실제 버전은 REVISION.json 의 Suite 버전, 상류 버전은 upstreamVersion - Webmaker: keepExistingUnit 으로 운영 유닛의 강화 지시문 보존 - bootstrap-hal.sh: my.ariweb.net nginx 접근 경로 설치 - test/agent.test.mjs 회귀 테스트, VERSION_HISTORY·RUNBOOK 갱신, 로컬 E2E 보고서(릴리스 빌드 실행분) 반영 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Ariweb Suite
고객이 회원가입·로그인 → 상품 선택 → 사이트 제작(Webmaker) → 배포 → 도메인·HTTPS → 메일(AriMail) → 백업 → 운영(재배포·복원·이전·소유권·해지)까지 하나의 연결된 서비스로 이용하는 통합 플랫폼이다.
운영자는 HAL(hal.ariweb.net)에서 릴리스·서버·모듈·작업·장애·복구를 관리하고, HAL 이 Node Agent 를 통해 나머지 모든 모듈을 배포·갱신·되돌리기·복구한다.
- 버전: 0.1.1 — 변경 이력은 VERSION_HISTORY.md
- 설계·개발 규약: docs/ARCHITECTURE.md · 포털↔HAL 작업 계약: docs/HAL-JOBS.md · HAL↔Agent 프로토콜: docs/HAL-AGENT.md
- 도입 소스(Webmaker 1.7.3 · AriMail 1.0.11): IMPORTED_SOURCES.md —
node scripts/import-sources.mjs로 갱신 - 개발 지시 원문:
Ariweb-Suitle_Dev-Order_v0.1.1.md
구성
| 프로세스 | 진입점 | 포트 | 공개 주소 |
|---|---|---|---|
| HAL(제어 평면·운영자 콘솔·공개 상태) | hal/index.mjs |
127.0.0.1:8900 | https://hal.ariweb.net |
| 고객 포털 | portal/index.mjs |
127.0.0.1:8910 | https://my.ariweb.net |
| Node Agent | agent/index.mjs |
— | 각 관리 서버 |
| Webmaker(도입) | modules/webmaker/server.js |
127.0.0.1:3080 | https://webmaker.ariweb.net |
| AriMail(도입) | modules/arimail/server/index.mjs |
127.0.0.1:8790 + 메일 포트 | https://webmail.ariweb.net |
외부 npm 의존성 없음. Node 22.13 이상(node:sqlite).
개발
node test/run.mjs # 전체 회귀 테스트 (test/*.test.mjs)
node test/run.mjs lib # 이름에 lib 가 들어간 테스트만
node scripts/import-sources.mjs # 참조 저장소 고정 커밋에서 모듈 소스 갱신 + manifest
node scripts/release.mjs # 릴리스 artifact(dist/<version>/) 생성·검사
ARIWEB_PORTAL_DATA=./data/portal node portal/index.mjs
ARIWEB_HAL_DATA=./data/hal node hal/index.mjs
배포 순서(§32)
main에 병합된 승인 릴리스에서node scripts/release.mjs로 artifact 생성- 최초 설치에서만
deploy/bootstrap-hal.sh로 HAL 설치(HAL 자체 건강·실행 버전 확인, 첫 Node Agent 등록) - 이후 모든 모듈(포털·Webmaker·AriMail·Agent·백업·관측)은 HAL 운영자 콘솔의 모듈 배포 작업으로만 설치·갱신·되돌리기
Languages
JavaScript
91.8%
HTML
3.5%
Shell
2.8%
CSS
1.4%
Python
0.3%
Other
0.2%