메인 콘텐츠로 건너뛰기 탐색으로 건너뛰기 푸터로 건너뛰기
디자인 파트너 프로그램: 무료로 가입하고 평생 BUSINESS 플랜 혜택을 누리세요

CLI 애플리케이션

플랫폼 관리를 위한 Rediacc 명령줄 인터페이스 완전 가이드

Rediacc CLI 참조

개요

**Rediacc CLI** (`rdc`)는 자체 호스팅 인프라(머신, 저장소, 스토리지, 백업 등)를 관리하는 명령줄 인터페이스입니다.

설치

[Rediacc 릴리스 페이지](https://www.rediacc.com)에서 플랫폼에 맞는 최신 바이너리를 다운로드하거나 패키지 매니저를 통해 설치하세요:

# macOS / Linux
curl -fsSL https://www.rediacc.com | sh

# Or use the packaged binary directly
./rdc --help

전역 옵션

모든 명령에서 다음 전역 플래그를 사용할 수 있습니다:

플래그설명
--output출력 형식 (table|json|yaml|csv)
--config이 명령에 특정 구성 사용
--lang언어 재정의 ({{languages}})
--force확인 프롬프트 건너뜀

1. 에이전트 유틸리티

AI 에이전트를 위한 인트로스펙션 명령어입니다. 주요 하위 명령어: capabilities (모든 명령어와 인수/옵션을 JSON으로 나열), schema (단일 명령어의 상세 스키마), exec (stdin의 JSON 입력으로 명령어 실행, 항상 JSON 반환).

1.1 capabilities

인수 및 옵션과 함께 사용 가능한 모든 명령어를 나열합니다

rdc agent capabilities

1.2 schema

특정 명령어의 상세 스키마를 표시합니다

rdc agent schema [options]
플래그설명필수기본값
--command <path>대화형 셸 대신 명령 실행-

1.3 exec

stdin의 JSON 입력으로 명령어를 실행합니다

rdc agent exec [options]
플래그설명필수기본값
--command <path>대화형 셸 대신 명령 실행-

1.4 generate-reference

Claude 스킬을 위한 명령어 참조 마크다운을 생성합니다

rdc agent generate-reference

2. 구성 관리

~/.config/rediacc/에 저장된 CLI 설정 파일을 관리합니다. 설정 내 머신, 저장소, 스토리지 백엔드, SSH 키에 대한 CRUD 작업. 주요 하위 명령어: init (이름 지정 설정 생성), show, list, ssh (키 관리), recover (백업에서 복원), prune (오래된 항목 정리). 중첩 그룹: config machine, config repository, config storage, config infra.

구성 파일은 연결 세부 정보 (API URL, 자격 증명, 기본 팀/리전/브리지)를 저장하여 환경 간 빠른 전환을 가능하게 합니다.

2.1 prune

~/.config/rediacc/<config>.json의 로컬 설정 파일에서 불필요한 항목을 제거합니다. 세 가지 버킷이 정리되며 모두 로컬에서만 처리됩니다 (SSH/renet 호출 없음): (1) 앵커 GUID/저장소/머신이 더 이상 활성 설정에 없는 ACME 인증서 캐시 항목; (2) 유예 기간이 만료된 보관된 저장소 (기본값 7일, defaults.pruneGraceDays 참조); (3) 끊어진 교차 참조 (machine→strategy, strategy→repo). 여전히 사용 중인 리소스, 자격증명, 스토리지 토큰, known-hosts는 변경되지 않습니다. 기본 동작은 변경 사항을 적용합니다. 미리 보기만 하려면 --dry-run을 사용하십시오.

rdc config prune [options]
플래그설명필수기본값
--dry-run설정 파일을 수정하지 않고 제거될 항목을 미리 봅니다. 다른 prune 명령의 기본 비활성 의미론을 따릅니다.아니오-
--certs-onlyACME 인증서 캐시 버킷만 처리합니다. 보관 삭제 및 교차 참조 정리를 건너뜁니다. --archives-only 및 --refs-only와 함께 사용할 수 없습니다.아니오-
--archives-only만료된 보관 삭제만 처리합니다. 인증서 캐시 및 교차 참조 정리를 건너뜁니다. --certs-only 및 --refs-only와 함께 사용할 수 없습니다.아니오-
--refs-only끊어진 교차 참조만 처리합니다 (machine→strategy, strategy→repo excludes/includes). 인증서 캐시 및 보관을 건너뜁니다. --certs-only 및 --archives-only와 함께 사용할 수 없습니다.아니오-
--purge-archived유예 기간에 관계없이 모든 보관된 저장소를 삭제합니다 ('rdc config repository purge-archived' 실행과 동일). 보관된 자격증명 중 복원이 필요한 것이 없는 경우에만 사용하십시오.아니오-
--grace-days <days>이번 실행에 대한 보관 유예 기간 (일 단위)을 재정의합니다. 설정의 defaults.pruneGraceDays로 대체되며 둘 다 설정되지 않은 경우 7을 사용합니다.아니오-

2.2 init

새로운 이름 지정 설정 파일을 생성합니다

머신을 직접 추가할 수 있습니다:

rdc config init [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
--ssh-key <path>SSH 개인 키 경로 (예: ~/.ssh/id_rsa)아니오-
--renet-path <path>renet 바이너리 경로 (기본값: PATH의 renet)아니오-
--master-password <password>마스터 비밀번호로 리소스를 암호화합니다아니오-
-u, --api-url <url>API 주소아니오-
--server <url>계정 서버 URL아니오-

2.3 list

모든 설정 파일을 나열합니다

rdc config list

2.4 show

현재 설정 세부 정보를 표시합니다

rdc config show [options]
플래그설명필수기본값
--reveal민감한 값의 평문을 표시합니다 (대화형 전용)아니오-

2.5 delete

설정 파일을 삭제합니다

rdc config delete [options]
플래그설명필수기본값
--name <name>리소스 이름-

2.6 set

기본값을 설정합니다 (team, region, bridge)

rdc config set [options]
플래그설명필수기본값
--key <key>구성 키-
--value <value>구성 값-

: 기본값을 설정하면 모든 명령에 `--team`, `--region`, `--bridge`를 전달하지 않아도 됩니다.

2.7 clear

기본값을 지웁니다 (전체 또는 특정 키)

rdc config clear [options]
플래그설명필수기본값
--key <key>구성 키아니오-

2.8 recover

백업 (.bak) 파일에서 설정을 복원합니다

rdc config recover [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-y, --yes확인 프롬프트 건너뜀아니오-

2.9 set-ssh

현재 설정의 SSH 구성을 업데이트합니다

rdc config set-ssh

2.10 set-renet

renet 바이너리 경로를 설정합니다

rdc config set-renet

2.11 ssh

SSH 키 설정을 관리합니다

set

현재 설정의 SSH 키를 설정합니다

rdc config ssh set [options]
플래그설명필수기본값
--key <path>SSH 개인 키 파일 경로-
--embed경로 저장 대신 키 내용을 설정에 직접 포함합니다아니오-

show

현재 SSH 키 설정을 표시합니다

rdc config ssh show

remove

현재 설정에서 SSH 키를 제거합니다

rdc config ssh remove

2.12 remote

원격 설정 스토리지 연결을 관리합니다

enable

이 설정을 원격 암호화 스토리지에 연결합니다

rdc config remote enable [options]
플래그설명필수기본값
--headless기기 코드 흐름을 사용합니다 (헤드리스 서버용)아니오-
--api-url <url>계정 서버 URL아니오-

disable

원격 스토리지 연결을 끊고 설정을 로컬에 저장합니다

rdc config remote disable

status

원격 연결 상태를 표시합니다

rdc config remote status

refresh

원격 스토리지에서 설정을 강제로 다시 가져옵니다

rdc config remote refresh

2.13 machine

현재 설정에서 머신을 관리합니다

add

현재 설정에 머신을 추가합니다. SSH 호스트 키를 자동으로 검사합니다. 추가 후 실행하십시오: config machine setup <name>

rdc config machine add [options]
플래그설명필수기본값
--name <name>리소스 이름-
--ip <address>머신 IP 주소 또는 호스트명-
--user <username>SSH 사용자 이름-
--port <port>SSH 포트아니오22
--datastore <path>머신의 데이터스토어 경로아니오/mnt/rediacc

remove

현재 설정에서 머신을 제거합니다

rdc config machine remove [options]
플래그설명필수기본값
--name <name>리소스 이름-

list

현재 설정의 머신을 나열합니다

rdc config machine list

scan-keys

현재 설정의 머신에 대한 SSH 호스트 키를 검사합니다

rdc config machine scan-keys [options]
플래그설명필수기본값
-m, --machine <name>머신 이름아니오-

setup

저장소를 위한 원격 머신을 프로비저닝합니다 (renet 설치, Docker 구성, BTRFS 데이터스토어). 멱등성. 'config machine add' 후 'repo create' 전에 필요합니다

rdc config machine setup [options]
플래그설명필수기본값
--name <name>리소스 이름-
--datastore <path>원격 머신의 데이터스토어 경로아니오/mnt/rediacc
--datastore-size <size>데이터스토어 크기 (예: 95%, 100G)아니오95%
--debug디버그 출력 활성화아니오-

set-ceph

머신에 대한 Ceph RBD 설정을 지정합니다

rdc config machine set-ceph [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--pool <name>Ceph 풀 이름 (예: rbd)-
--image <name>RBD 이미지 이름 (예: datastore-prod1)-
--cluster <name>Ceph 클러스터 이름아니오ceph

2.14 repository

현재 설정에서 저장소 매핑을 관리합니다

add

현재 설정에 저장소 GUID 매핑을 추가합니다

rdc config repository add [options]
플래그설명필수기본값
--name <name>리소스 이름-
--guid <guid>저장소 GUID (스토리지 백업 파일 이름에서 가져온 UUID)-
--tag <tag>저장소 태그아니오latest
--credential <credential>저장소 자격증명 (암호화 패스프레이즈)아니오-
--network-id <id>Docker 격리를 위한 네트워크 ID (2816, 2880, ...). 생략 시 자동 할당아니오-

remove

현재 설정에서 저장소 매핑을 제거합니다

rdc config repository remove [options]
플래그설명필수기본값
--name <name>리소스 이름-

list

현재 설정의 저장소 GUID 매핑을 나열합니다

rdc config repository list

list-archived

보관된 저장소 자격증명을 나열합니다

rdc config repository list-archived

restore-archived

보관된 저장소 자격증명을 복원합니다

rdc config repository restore-archived [options]
플래그설명필수기본값
--name <name>리소스 이름-
--new-name <name>새 리소스 이름아니오-

purge-archived

보관된 모든 자격증명을 영구적으로 삭제합니다

rdc config repository purge-archived

2.15 provider

자동화된 머신 프로비저닝을 위한 클라우드 공급자를 관리합니다

add

클라우드 공급자를 추가합니다

rdc config provider add [options]
플래그설명필수기본값
--name <name>리소스 이름-
--provider <source>알려진 공급자 소스 (예: linode/linode, hetznercloud/hcloud)아니오-
--source <source>커스텀 OpenTofu 공급자 소스 (예: vultr/vultr)아니오-
--token <token>클라우드 공급자의 API 토큰-
--region <region>새 머신의 기본 지역아니오-
--type <type>기본 인스턴스 유형/크기아니오-
--image <image>기본 OS 이미지아니오-
--ssh-user <user>새 VM의 SSH 사용자 이름 (기본값: root)아니오-
--resource <type>커스텀: VM의 OpenTofu 리소스 유형아니오-
--label-attr <attr>커스텀: VM 레이블의 속성 이름아니오-
--region-attr <attr>커스텀: 지역의 속성 이름아니오-
--size-attr <attr>커스텀: 인스턴스 유형의 속성 이름아니오-
--image-attr <attr>커스텀: OS 이미지의 속성 이름아니오-
--ipv4-output <attr>커스텀: IPv4 주소의 출력 속성아니오-
--ipv6-output <attr>커스텀: IPv6 주소의 출력 속성아니오-
--ssh-key-attr <attr>커스텀: SSH 키의 속성 이름아니오-
--ssh-key-format <format>커스텀: SSH 키 형식 (inline_list 또는 resource_id)아니오-
--ssh-key-resource <type>커스텀: SSH 키의 OpenTofu 리소스 유형아니오-

remove

클라우드 공급자 설정을 제거합니다

rdc config provider remove [options]
플래그설명필수기본값
--name <name>리소스 이름-

list

설정된 클라우드 공급자를 나열합니다

rdc config provider list

2.16 storage

현재 설정에서 스토리지 백엔드를 관리합니다

import

rclone 설정 파일에서 스토리지를 가져옵니다

rdc config storage import [options]
플래그설명필수기본값
--file <path>파일 경로-
--name <name>이 이름의 섹션만 가져옵니다아니오-

remove

현재 설정에서 스토리지를 제거합니다

rdc config storage remove [options]
플래그설명필수기본값
--name <name>리소스 이름-

list

현재 설정의 스토리지를 나열합니다

rdc config storage list

2.17 infra

인프라 설정을 관리합니다 (프록시, DNS, 인증서)

set

머신에 대한 인프라 설정을 지정합니다 (머신별: IP, 도메인, 포트; 공유: 인증서 이메일, CF DNS 토큰)

rdc config infra set [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--public-ipv4 <ip>공용 IPv4 주소 (머신별)아니오-
--public-ipv6 <ip>공용 IPv6 주소 (머신별)아니오-
--base-domain <domain>애플리케이션의 기본 도메인 (머신별)아니오-
--cert-email <email>TLS 인증서 알림을 위한 이메일 (머신 간 공유)아니오-
--cf-dns-token <token>ACME DNS-01 챌린지를 위한 Cloudflare DNS API 토큰 (머신 간 공유)아니오-
--tcp-ports <ports>포워드할 TCP 포트 (쉼표로 구분, 예: 25,143,465)아니오-
--udp-ports <ports>포워드할 UDP 포트 (쉼표로 구분, 예: 53)아니오-

show

머신의 인프라 설정을 표시합니다

rdc config infra show [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-

push

인프라 설정을 머신에 푸시합니다 (Traefik 프록시, 라우터, Cloudflare DNS). 먼저 'config infra set <machine>'을 실행하십시오

rdc config infra push [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--debug디버그 출력 활성화아니오-

2.18 cert-cache

캐시된 TLS 인증서를 관리합니다

pull

머신에서 TLS 인증서를 다운로드하고 캐시합니다

rdc config cert-cache pull [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--no-prune오래된 네트워크 ID 인증서 정리를 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-

push

캐시된 TLS 인증서를 머신에 업로드합니다

rdc config cert-cache push [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--debug디버그 출력 활성화아니오-

status

캐시된 인증서 목록을 표시합니다

rdc config cert-cache status

clear

인증서 캐시를 제거합니다

rdc config cert-cache clear

2.19 field

포인터 주소 지정 설정 필드 작업 (get/set/unset/rotate/list). RFC 6901 JSON 포인터 (예: /credentials/cfDnsApiToken).

get

JSON 포인터로 단일 설정 값을 읽습니다. 민감한 필드는 --reveal 없이 가려집니다 (인간 전용).

rdc config field get [options]
플래그설명필수기본값
--pointer <pointer>필드에 대한 JSON 포인터 (예: /credentials/cfDnsApiToken)-
--reveal민감한 값의 평문을 표시합니다 (대화형 TTY 전용; 감사 기록됨)아니오-
--digest값 대신 SHA-256 다이제스트를 출력합니다 (에이전트와 공유하기 안전합니다)아니오-

set

JSON 포인터에서 설정 값을 씁니다. 민감한 경로는 --current가 필요합니다 (지식 게이트).

rdc config field set [options]
플래그설명필수기본값
--pointer <pointer>필드에 대한 JSON 포인터 (예: /credentials/cfDnsApiToken)-
--new <value>새 값 (JSON처럼 보이면 JSON으로 파싱됩니다: {, [, ", true/false/null/숫자)-
--current <value>현재 평문 값 -- 민감한 경로 변경 시 필요합니다 (지식 게이트 증명)아니오-

unset

JSON 포인터에서 설정 값을 삭제합니다. 민감한 경로는 --current가 필요합니다.

rdc config field unset [options]
플래그설명필수기본값
--pointer <pointer>필드에 대한 JSON 포인터 (예: /credentials/cfDnsApiToken)-
--current <value>현재 평문 값 -- 민감한 경로 삭제 시 필요합니다아니오-

rotate

--current 없이 민감한 값을 교체합니다. 대화형 TTY 전용; 명시적으로 감사 기록됩니다.

rdc config field rotate [options]
플래그설명필수기본값
--pointer <pointer>민감한 필드에 대한 JSON 포인터 (예: /credentials/cfDnsApiToken)-
--new <value>새 값-

list

등록된 모든 민감도 포인터 템플릿과 해당 종류 및 commit/encrypt 정책을 나열합니다.

rdc config field list [options]
플래그설명필수기본값
--sensitive민감한 (비공개) 템플릿만 표시합니다아니오-

2.20 edit

$EDITOR에서 활성 설정을 가려진 JSONC 프로젝션으로 엽니다. 인간 전용; 에이전트는 거부됩니다.

rdc config edit [options]
플래그설명필수기본값
--reveal민감한 값의 평문을 표시합니다 (대화형 TTY 전용; 감사 기록됨)아니오-
--dump현재 설정을 JSONC로 stdout에 출력합니다 (읽기 전용; 가려진 경우 에이전트에게 안전합니다)아니오-
--apply <file>편집된 JSONC 파일을 적용합니다 ($EDITOR 실행을 건너뜁니다)아니오-
--current-secrets <file>--apply의 지식 게이트를 위한 pointer→이전 평문 매핑 JSON 파일아니오-
--editor <cmd>편집기 명령 재정의 (git 우선순위를 따름: 플래그 > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR)아니오-

2.21 audit

설정 감사 로그를 검사합니다 (~/.config/rediacc/audit.log.jsonl의 해시 체인 JSONL)

log

최근 감사 항목을 JSON으로 출력합니다

rdc config audit log [options]
플래그설명필수기본값
--since <spec>이 시간 이후의 항목만 표시합니다 (예: '24h', '7d', ISO 타임스탬프)아니오-
--path <glob>JSON 포인터 글로브로 필터링합니다 (예: /credentials/*)아니오-
--actor <kind>액터 종류로 필터링합니다 (human|agent)아니오-

tail

새 감사 항목을 실시간으로 스트리밍합니다 (중지하려면 Ctrl+C)

rdc config audit tail

verify

모든 감사 항목에 걸친 SHA-256 해시 체인 무결성을 검증합니다

rdc config audit verify

2.22 backup-strategy

이름 지정 백업 전략을 관리합니다 (hot/cold 모드, 대상, 스케줄링)

set

백업 전략을 생성하거나 업데이트합니다

rdc config backup-strategy set [options]
플래그설명필수기본값
--name <name>전략 이름 (필수)-
--destination <name>전략 내 대상 이름아니오-
--storage <name>스토리지 설정 이름 (rclone 자격증명)아니오-
--cron <expression>크론 스케줄 (예: "0 * * * *" 은 매시간)아니오-
--mode <mode>백업 모드: "hot" (무중단) 또는 "cold" (중지, 스냅샷, 재시작)아니오-
--bwlimit <limit>Rclone 대역폭 제한 (예: "6M", "10M:off", "08:00,3M;22:00,10M")아니오-
--include <repos>이 저장소만 백업합니다 (쉼표로 구분된 이름)아니오-
--exclude <repos>백업에서 이 저장소를 제외합니다 (쉼표로 구분된 이름)아니오-
--folder <path>이 대상에 대한 스토리지 버킷 아래의 하위 폴더 (예: hot, cold)아니오-
--enable전략 또는 대상을 활성화합니다아니오-
--disable전략 또는 대상을 비활성화합니다아니오-

remove

백업 전략 또는 대상을 제거합니다

rdc config backup-strategy remove [options]
플래그설명필수기본값
--name <name>전략 이름 (필수)-
--destination <name>이 대상만 제거합니다 (다른 대상은 유지)아니오-

list

모든 백업 전략을 나열합니다

rdc config backup-strategy list

show

백업 전략 세부 정보를 표시합니다

rdc config backup-strategy show [options]
플래그설명필수기본값
--name <name>전략 이름 (생략 시 모두 표시)아니오-

3. 데이터스토어 관리

머신 데이터스토어를 위한 저수준 블록 스토리지 관리 (Ceph RBD 또는 로컬 BTRFS). 일반적으로 초기 머신 설정 또는 머신 간 마이그레이션 시에만 필요합니다. 주요 하위 명령어: init (데이터스토어 생성), status (상태/사용량), fork (다른 머신에 데이터스토어 복제), unfork (스냅샷에서 복원).

3.1 init

머신에서 데이터스토어를 초기화합니다 (로컬 루프 백엔드 또는 Ceph RBD)

rdc datastore init [options]
플래그설명필수기본값
-m, --machine <name>머신 이름 (Ceph 데이터스토어가 호스팅되는 곳)-
--size <size>데이터스토어 크기 (예: 5G, 50G, 100G)-
--backend <type>백엔드 유형: local (기본값) 또는 ceph아니오local
--pool <name>Ceph 풀 이름 (기본값: 머신 설정에서, 또는 rbd)아니오rbd
--image <name>Ceph RBD 이미지 이름 (기본값: set-ceph를 통한 머신 설정에서)아니오-
--cluster <name>Ceph 클러스터 이름 (기본값: ceph)아니오ceph
--force데이터스토어가 이미 존재해도 강제 초기화 (경고: 스토리지 재포맷)아니오-
--debug디버그 출력 활성화아니오-

3.2 fork

RBD 스냅샷 + 클론을 통해 Ceph 데이터스토어의 로컬 COW 복사본을 생성합니다 (2초 미만). 출력에서 스냅샷/클론 이름을 저장하여 unfork에 사용하세요. 대상 이름당 하나의 포크만 가능합니다; 재포크 전에 unfork 하세요

rdc datastore fork [options]
플래그설명필수기본값
-m, --machine <name>머신 이름 (Ceph 데이터스토어가 호스팅되는 곳)-
--to <name>클론 접미사 (<image>-fork-<name> 이름의 클론을 생성). 포크는 소스 머신에 남습니다-
--cow-size <size>COW 백킹 파일 크기 (기본값: 자동, 요청에 따라 증가)아니오-
--debug디버그 출력 활성화아니오-

3.3 unfork

포크를 정리합니다: COW 언마운트, 클론 제거, 스냅샷 제거

rdc datastore unfork [options]
플래그설명필수기본값
-m, --machine <name>머신 이름 (Ceph 데이터스토어가 호스팅되는 곳)-
--source <image>포크된 원본 RBD 이미지 (config set-ceph --image에서, 예: ds-prod)-
--snapshot <name>제거할 스냅샷 (fork 출력의 "Snapshot:" 값, 예: fork-<timestamp>)-
--dest <image>제거할 클론 이미지 (fork 출력의 "Clone:" 값, 예: ds-prod-fork-<machine>)-
--pool <name>Ceph 풀 이름 (기본값: 머신 설정에서)아니오-
--mount-point <path>언마운트할 포크 마운트 포인트 (기본값: /mnt/rediacc)아니오-
--force개별 단계가 실패해도 정리를 계속합니다 (예: 언마운트, 스냅샷 제거)아니오-
--debug디버그 출력 활성화아니오-

3.4 status

데이터스토어 백엔드, 크기, 사용량, 마운트 상태, cow_mode (포크된 경우)를 표시합니다

rdc datastore status [options]
플래그설명필수기본값
-m, --machine <name>머신 이름 (Ceph 데이터스토어가 호스팅되는 곳)-
--debug디버그 출력 활성화아니오-

4. 머신 관리

원격 머신 상태를 검사합니다: 시스템 리소스, 실행 중인 컨테이너, systemd 서비스, 배포된 저장소, 상태 진단. 읽기 전용 조회입니다. 저장소를 수정하려면 `repo`를 사용하세요. 주요 하위 명령어: query (--system, --containers, --repositories, --services 필터와 함께 전체 상태), list, create, rename, delete, prune.

4.1 list

머신 목록을 나열합니다

rdc machine list [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
--search <text>{{field}}에서 검색아니오-
--sort <field>필드로 정렬아니오-
--desc내림차순 정렬아니오-

4.2 create

새 머신을 생성합니다

rdc machine create [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-
-b, --bridge <name>브리지 이름아니오-
--vault <json>JSON 문자열로 된 머신 볼트 데이터아니오-

4.3 rename

머신 이름을 변경합니다

rdc machine rename [options]
플래그설명필수기본값
--current-name <name>현재 리소스 이름-
--new-name <name>새 리소스 이름-
-t, --team <name>팀 이름아니오-

4.4 delete

머신을 삭제합니다

rdc machine delete [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-
-f, --force확인 프롬프트 건너뜀아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

4.5 vault

머신 볼트 관리 (클라우드 어댑터 전용)

rdc machine vault

4.6 vault-status

{{t:cli.commands.machine.vault-status.description}}

rdc machine vault-status [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-

4.7 update

머신 설정을 업데이트합니다

rdc machine update

4.8 health

CI/CD 파이프라인을 위한 머신 상태를 확인합니다

health 명령은 시스템 메트릭, 컨테이너 상태, 서비스 안정성, 스토리지 정보를 출력합니다 -- CI/CD 파이프라인 검사에 유용합니다.

rdc machine health [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-

4.9 containers

상태, 상태 확인, 도메인 라우팅과 함께 머신의 컨테이너를 나열합니다. JSON에는 저장소가 이름으로 해석된 전체 컨테이너 세부 정보(원본은 repository_guid), 도메인, autoRoute가 포함됩니다

rdc machine containers [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-
--health-check상태 확인 모드 - 비정상 컨테이너가 있으면 종료 코드 2로 종료아니오-

4.10 services

머신의 rediacc 관리 systemd 서비스를 나열합니다 (이름, 상태, 하위 상태, 재시작 횟수, 메모리, 저장소 이름으로 해석, 원본은 repository_guid). CI/CD에서 실패하거나 재시작 중인 서비스가 있으면 종료 코드 2로 종료하려면 --stability-check을 사용하세요

rdc machine services [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-
--stability-check안정성 확인 모드 - 실패하거나 재시작 중인 서비스가 있으면 종료 코드 2로 종료아니오-

4.11 query

전체 머신 상태를 표시합니다 (인프라, 시스템, 이름/guid 포함 저장소, repository/repository_guid/domain/autoRoute 포함 컨테이너, repository/repository_guid 포함 서비스)

rdc machine query [options]
플래그설명필수기본값
--name <name>리소스 이름-
--debug디버그 출력 활성화아니오-
--system시스템 정보만 포함아니오-
--repositories저장소만 포함아니오-
--containers컨테이너만 포함아니오-
--services서비스만 포함아니오-
--network네트워크 인터페이스만 포함아니오-
--block-devices블록 장치만 포함아니오-
--licenses저장소 라이선스 상태 포함아니오-
--storage-health저장소별 BTRFS 단편화 및 reflink 절감량 표시아니오-
--sync-certs쿼리 후 머신에서 ACME 인증서 캐시도 가져오기아니오-
--strict컨테이너가 상태 드리프트 임계값을 초과한 경우 비정상 종료 (코드 2)아니오-

4.12 vault-status

머신의 파싱된 볼트 상태를 표시합니다

rdc machine vault-status [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-

4.13 repos

머신에 배포된 저장소를 나열합니다 (이름, GUID, 크기, 마운트 상태, Docker 상태, 컨테이너 수, 디스크 사용량, 수정 날짜, Rediaccfile 존재 여부). JSON은 각 저장소 아래에 컨테이너와 서비스를 중첩합니다. --search로 이름 또는 GUID로 필터링할 수 있습니다

rdc machine repos [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-
--search <text>이름으로 저장소 필터링아니오-

4.14 test-connection

머신에 대한 SSH 연결을 테스트하고 호스트 키를 캡처합니다

rdc machine test-connection [options]
플래그설명필수기본값
--ip <address>머신 IP 주소 또는 호스트명-
--user <name>SSH 사용자 이름-
-t, --team <name>팀 이름아니오-
-b, --bridge <name>브리지 이름아니오-
--port <number>SSH 포트아니오22
--password <pwd>초기 인증을 위한 SSH 비밀번호아니오-
--datastore <path>머신의 데이터스토어 경로아니오/mnt/rediacc
-m, --machine <name>머신 이름 (테스트 후 볼트 업데이트용)아니오-
--save성공적인 테스트 후 known_hosts를 머신 볼트에 저장아니오-

: 성공적인 테스트 후 호스트 키를 머신 볼트에 자동으로 저장하려면 `--save-known-hosts`를 사용하세요.

4.15 provision

OpenTofu를 사용하여 클라우드 제공자에서 새 머신을 프로비저닝합니다

rdc machine provision [options]
플래그설명필수기본값
--name <name>리소스 이름-
--provider <name>클라우드 제공자 이름 (config provider add에서 설정)-
--region <region>기본 지역 재정의아니오-
--type <type>기본 인스턴스 유형 재정의아니오-
--image <image>기본 OS 이미지 재정의아니오-
--ssh-user <user>새 VM의 SSH 사용자 이름 (기본값: root)아니오-
--base-domain <domain>인프라를 위한 기본 도메인 (예: example.com). --infra를 내포합니다아니오-
--no-infra인프라 설정 건너뜀 (프록시 + DNS)아니오-
--debug디버그 출력 활성화아니오-

4.16 deprovision

클라우드 프로비저닝된 머신을 삭제하고 설정에서 제거합니다

rdc machine deprovision [options]
플래그설명필수기본값
--name <name>리소스 이름-
--force확인 프롬프트 건너뜀아니오-
--debug디버그 출력 활성화아니오-

4.17 backup

머신 백업 관리 (예약, 실행, 상태)

list

모든 머신에 바인딩된 백업 전략을 나열합니다

rdc machine backup list

schedule

원격 머신에 백업 일정을 배포합니다 (systemd 타이머)

rdc machine backup schedule [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--dry-run배포하지 않고 생성된 유닛을 미리 봅니다아니오-
--force현재 백업이 실행 중이어도 진행합니다 (새 유닛은 다음 틱에 적용됩니다; 실행 중인 호출은 이전 유닛을 유지합니다)아니오-
--reset-failed성공적인 배포 후 수정된 서비스의 실패 상태를 지웁니다 (기본적으로 꺼져 있으며, 실패 신호를 보존합니다)아니오-
--debug디버그 출력 활성화아니오-

now

원격 머신에서 즉시 백업을 실행합니다

rdc machine backup now [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--strategy <name>전략 이름 (생략 시 모두 실행)아니오-
--debug디버그 출력 활성화아니오-

status

원격 머신의 백업 상태 및 타이머 상태를 표시합니다

rdc machine backup status [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--strategy <name>특정 전략의 세부 정보를 표시합니다아니오-
--debug디버그 출력 활성화아니오-

cancel

원격 머신에서 실행 중인 백업을 취소합니다

rdc machine backup cancel [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-
--strategy <name>전략 이름 (생략 시 모두 취소)아니오-
--debug디버그 출력 활성화아니오-

4.18 prune

머신에서 고아 데이터스토어 리소스와 오래된 스냅샷을 제거합니다. 기본 실행은 renet 내부 데이터스토어 아티팩트(BTRFS 서브볼륨, 잠금 파일, 임시 파일)를 정리합니다. 아래의 선택적 플래그는 점진적으로 더 좁은 저장소 정리를 활성화합니다: --orphaned-repos는 로컬 CLI 설정만을 신호로 사용하고, --prune-unknown은 추가로 renet .interim/state 미러를 참조하여 다른 도구로 생성된 합법적인 포크가 로컬 설정에 없더라도 살아남을 수 있습니다. 두 삭제 경로 모두 마운트 안전 사전 확인을 실행합니다; --force-delete-mounted로 재정의할 수 있습니다.

rdc machine prune [options]
플래그설명필수기본값
--name <name>리소스 이름-
--dry-run변경 없이 제거될 항목을 표시합니다아니오-
--orphaned-repos로컬 CLI 설정에 없는 머신의 모든 저장소 이미지를 삭제합니다. 광범위함 - renet 미러가 올바르게 포크로 식별하더라도 로컬 설정 항목이 없는 다른 도구로 생성된 포크도 제거합니다. 미러를 존중하는 더 좁은 동작에는 --prune-unknown을 사용하세요.아니오-
--prune-unknownrenet .interim/state 미러가 분류할 수 없는 저장소만 삭제합니다 (로컬 설정에 없고 포크 표시 미러도 없는 경우). --orphaned-repos보다 엄격하게 더 좁음: 미러가 식별한 포크 없음 설정은 미러가 식별할 때 보존됩니다. 이전 미러 레거시 고아 및 설정 항목이 삭제된 오래된 grand 모두 이 버킷에 해당합니다.아니오-
--force-delete-mounted마운트 안전 사전 확인을 재정의하고 현재 마운트되어 있거나 실행 중인 Docker 컨테이너가 있는 저장소도 삭제합니다. --force(아카이브 유예 기간만 재정의)와는 별개입니다. --orphaned-repos와 --prune-unknown 모두에 적용됩니다.아니오-
--force확인 프롬프트 건너뜀아니오-
--grace-days <days>최근 보관된 저장소의 유예 기간 (일 단위, 기본값: 7)아니오-
--debug디버그 출력 활성화아니오-

5. MCP 서버

AI 에이전트와의 통합을 위해 CLI를 Model Context Protocol (MCP) 서버로 노출합니다. 서버는 CLI 명령어를 구조화된 JSON 입출력을 갖는 MCP 도구로 래핑합니다. 주요 하위 명령어: serve (stdio 기반 MCP 서버 시작).

5.1 serve

MCP 서버 시작 (stdio 전송)

rdc mcp serve [options]
플래그설명필수기본값
--config <name>모든 명령어에 사용할 설정 이름아니오-
--timeout <ms>기본 명령어 타임아웃 (밀리초)아니오120000
--allow-grandgrand (포크가 아닌) 저장소에 대한 파괴적 작업을 허용합니다. 기본값: 포크 전용 모드아니오-

6. 저장소 라이프사이클

머신에서 암호화된 저장소를 배포하고 관리합니다. 주요 하위 명령어: create, up (배포), down (중지), fork (즉시 CoW 클론), delete, push/pull (백업), sync (파일 전송). 수명 주기: repo create → repo up --mount → repo down. 아키텍처, 라우팅, 환경 변수 세부 정보는 rdc --help의 핵심 개념을 참조하십시오.

6.1 mount

저장소를 마운트합니다 (LUKS 컨테이너를 복호화하고 열어 파일 시스템에 접근할 수 있게 합니다). 최초 배포 시, 새 머신으로 'repo push' 후, 또는 'repo unmount' 후에 필요합니다. 'repo up --mount'를 통해서도 수행할 수 있습니다. 볼륨은 명시적으로 마운트 해제될 때까지 마운트된 상태를 유지합니다. 이름을 생략하면 머신의 모든 저장소를 마운트합니다

rdc repo mount [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-m, --machine <name>대상 머신 이름-
--checkpoint마운트 후 CRIU 컨테이너 체크포인트를 복원합니다 (저장된 메모리 상태에서 프로세스를 재개합니다). 라이브 마이그레이션을 위해 'repo push --checkpoint' 후 사용합니다아니오-
--no-docker마운트 후 Docker 데몬 시작을 건너뜁니다아니오-
--parallel저장소를 동시에 시작합니다아니오-
--concurrency <n>최대 동시 저장소 수 (기본값: 3)아니오3
-y, --yes일괄 작업에 대한 확인을 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.2 unmount

저장소를 마운트 해제합니다 (LUKS 컨테이너를 닫아 암호화된 파일 시스템을 분리합니다). 서비스를 먼저 중지해야 합니다 ('repo down'). 마운트 해제 후에는 다시 마운트될 때까지 저장소 데이터에 접근할 수 없습니다. 'repo resize' 전에 필요합니다. 이름을 생략하면 머신의 모든 저장소를 마운트 해제합니다

rdc repo unmount [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-m, --machine <name>대상 머신 이름-
--checkpoint마운트 해제 전에 CRIU 컨테이너 체크포인트를 생성합니다 (나중에 복원을 위해 실행 중인 프로세스 메모리 상태를 캡처합니다)아니오-
--parallel저장소를 동시에 시작합니다아니오-
--concurrency <n>최대 동시 저장소 수 (기본값: 3)아니오3
-y, --yes일괄 작업에 대한 확인을 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.3 up

저장소를 배포하거나 업데이트합니다 (마운트, renet compose를 호출하는 Rediaccfile up 실행). 프록시 경로는 배포 후 약 3초 후에 활성화됩니다. 완료 시 HTTP 노출 서비스 (rediacc.service_port 레이블)의 URL 패턴을 출력합니다. 최초 배포 또는 포크된 저장소에는 --mount를 사용하십시오. CRIU 체크포인트 복원은 자동으로 감지됩니다. 새로 시작을 강제하려면 --skip-checkpoint를 사용하십시오. 이름을 생략하면 머신의 모든 저장소를 배포합니다

rdc repo up [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-m, --machine <name>대상 머신 이름-
--skip-checkpoint체크포인트 데이터가 있더라도 CRIU 체크포인트 복원을 건너뜁니다 (새로 시작 강제)아니오-
--tls이 저장소에 대한 전용 TLS 인증서를 요청합니다 (포크는 기본적으로 공유 머신 인증서를 사용)아니오-
--include-forks포크된 저장소도 마운트 및 시작합니다아니오-
--mount-only서비스를 시작하지 않고 마운트만 합니다아니오-
--parallel저장소를 동시에 시작합니다아니오-
--concurrency <n>최대 동시 저장소 수 (기본값: 3)아니오3
-y, --yes일괄 작업에 대한 확인을 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

6.4 up-all

머신의 모든 저장소를 배포합니다

rdc repo up-all

6.5 down

저장소 Docker 컨테이너를 중지합니다 (renet compose를 통해 Rediaccfile down 실행). 암호화 볼륨은 마운트 해제하지 않습니다. 저장소는 마운트된 상태를 유지하며 'repo up'으로 재시작할 수 있습니다. 중지 후 LUKS 컨테이너도 닫으려면 --unmount를 사용하십시오. 중지 전에 CRIU 프로세스 상태를 저장하려면 --checkpoint를 사용하십시오 (다음 'repo up' 시 자동 복원). 이름을 생략하면 머신의 모든 저장소를 중지합니다

rdc repo down [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-m, --machine <name>대상 머신 이름-
--unmount중지 후 마운트도 해제합니다 (LUKS 컨테이너 닫기). 'repo down' 후 'repo unmount'와 동일합니다. 'repo resize' 전 또는 볼륨을 완전히 보호하려면 필요합니다아니오-
--checkpoint중지 전에 CRIU 체크포인트를 생성합니다 ('repo up'을 통해 나중에 복원하기 위해 프로세스 메모리 상태를 저장합니다)아니오-
-y, --yes일괄 작업에 대한 확인을 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

6.6 status

저장소 상태를 가져옵니다 (마운트 상태, Docker 데몬 실행 여부, 컨테이너 수, 디스크 사용량)

rdc repo status [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.7 list

머신의 저장소를 나열합니다

rdc repo list [options]
플래그설명필수기본값
-m, --machine <name>대상 머신 이름-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.8 create

새 암호화된 저장소를 생성합니다

rdc repo create [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--size <size>저장소 크기 (예: 10G, 100G, 1T)-
--no-docker생성 후 Docker 데몬 시작을 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.9 delete

저장소를 삭제합니다 (컨테이너, 볼륨, 암호화 이미지를 제거합니다). 설정 항목은 유지됩니다. 'config restore-archived'를 통한 복구를 위해 자격증명을 deletedRepositories로 이동하려면 --archive-config를 사용하십시오

rdc repo delete [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--archive-config설정 항목을 나중에 복구할 수 있도록 deletedRepositories로 이동합니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

6.10 fork

저장소의 CoW (Copy-on-Write) 포크를 생성합니다. 포크는 저장소 크기에 관계없이 즉시 완료되며 일정한 시간이 소요됩니다. BTRFS reflink이 기반 이미지를 복제하므로 100 GB 저장소와 1 GB 저장소의 포크가 동일한 시간(약 몇 초)이 걸립니다. 포크는 새 GUID, networkId, IP 범위, 자동 경로 도메인 ({service}-fork-{tag}.{repo}.{machine}.{baseDomain})을 갖으며 완전히 독립적인 복사본입니다. 온라인 포크가 지원되므로 상위 저장소는 계속 실행될 수 있습니다. 포크는 상위의 암호화 자격증명을 자동으로 상속합니다. --checkpoint를 사용하면 포크 전에 CRIU 프로세스 상태를 캡처하며, 포크는 첫 번째 'repo up' 시 자동으로 복원됩니다 (메모리 내 상태가 보존됩니다). 다른 머신으로 포크: (1) repo fork --parent <parent> -m <source> --tag <name>, (2) backup push <name> -m <source> --to-machine <target>, (3) repo up <name> -m <target> --mount. 경고: 포크를 위해 'backup push'만 단독으로 사용하지 마십시오. 동일한 GUID를 가진 원시 복사본이 생성됩니다 (독립적인 포크가 아닙니다). 항상 먼저 포크하여 새 식별자를 얻으십시오. 자동 경로는 저장소 이름을 사용하므로 각 포크는 고유한 도메인을 자동으로 얻습니다.

rdc repo fork [options]
플래그설명필수기본값
--parent <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--tag <name>포크의 태그 (name:tag 형태로 생성)-
--checkpoint포크 전 소스에서 CRIU 체크포인트를 생성합니다 (포크에서 복원을 위해 프로세스 메모리 상태를 캡처합니다)아니오-
--up포크 후 서비스를 마운트하고 시작합니다 (fork + mount + up을 하나의 명령으로)아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.11 takeover

grand 저장소의 데이터를 포크의 데이터로 교체합니다. grand는 자신의 식별자 (GUID, networkId, 도메인, 자동 시작, 백업 체인)를 유지하지만 포크의 업그레이드된 데이터를 갖게 됩니다. 이전 프로덕션 데이터는 백업 포크로 보존됩니다. 사용 사례: 포크에서 업그레이드 테스트 → 검증 → 프로덕션으로 takeover.

rdc repo takeover [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--force변경 경고를 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.12 resize

저장소를 오프라인으로 크기를 조정합니다 (확장 및 축소 모두 지원). 저장소를 먼저 마운트 해제해야 합니다 ('repo down --unmount'). 서비스를 중지하지 않고 무중단으로 확장하려면 'repo expand'를 사용하십시오

rdc repo resize [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--size <size>새 저장소 크기 (예: 10G, 100G, 1T)-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.13 expand

마운트된 저장소를 온라인으로 확장합니다 (무중단, 확장만 가능). 컨테이너가 실행 중인 상태에서 LUKS 컨테이너와 파일 시스템을 확장합니다. 축소는 불가합니다. 축소하려면 'repo resize'를 사용하십시오 (마운트 해제 필요)

rdc repo expand [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--size <size>새 저장소 크기 (예: 10G, 100G, 1T)-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.14 validate

저장소 무결성을 검사합니다 (LUKS 컨테이너, 파일 시스템 일관성, 설정). 예상치 못한 종료 후 또는 백업 상태를 확인하는 데 사용하십시오

rdc repo validate [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.15 autostart

부팅 시 저장소 자동 시작을 관리합니다

enable

저장소의 자동 시작을 활성화합니다 (이름을 생략하면 모두 활성화)

rdc repo autostart enable [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-m, --machine <name>대상 머신 이름-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

disable

저장소의 자동 시작을 비활성화합니다 (이름을 생략하면 모두 비활성화)

rdc repo autostart disable [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
-m, --machine <name>대상 머신 이름-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

list

자동 시작이 활성화된 저장소를 나열합니다

rdc repo autostart list [options]
플래그설명필수기본값
-m, --machine <name>대상 머신 이름-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.16 ownership

마운트된 볼륨에서 저장소 디렉터리 소유권 UID를 변경합니다 (기본값: 7111). 컨테이너가 저장소 파일에 접근하기 위해 특정 UID가 필요한 경우 사용하십시오

rdc repo ownership [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
--uid <uid>소유자 UID (기본값: 7111)아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.17 template

배포 템플릿을 관리하고 적용합니다 (docker-compose.yml, Rediaccfile 및 추가 파일을 작성합니다). Rediaccfile은 'docker compose'가 아닌 'renet compose'를 사용해야 합니다. 재시작 정책은 안전합니다 (renet watchdog에 의해 자동 관리). Renet은 network_mode:host, CRIU 기능, rediacc 레이블을 자동으로 주입합니다. 위험한 설정 (privileged, pid:host)은 --unsafe 없이는 차단됩니다. 사용 가능한 내장 템플릿을 보려면 'list'를, 저장소에 배포하려면 'apply'를 사용하십시오

list

CLI에 내장된 모든 배포 템플릿을 나열합니다

rdc repo template list

apply

저장소에 템플릿을 적용합니다. 내장 템플릿 이름 (예: app-postgres)을 사용하거나 커스텀 JSON 템플릿에는 --file을 사용하십시오. Rediaccfile 수명 주기: up()은 컨테이너를 시작하고 (이미지 풀, 설정 생성은 여기서), down()은 중지합니다. 최소 Rediaccfile: up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }. 중요: Rediaccfile은 반드시 'renet compose'를 사용해야 합니다. 'docker compose'는 허용되지 않습니다. 환경 변수는 두 가지 수준: (a) Rediaccfile 셸: ${SVCNAME_IP} (예: APP_IP), ${REDIACC_WORKING_DIR}, ${REDIACC_NETWORK_ID}. (b) 컨테이너 내부: renet이 SERVICE_IP와 REDIACC_NETWORK_ID 환경 변수를 자동으로 주입합니다. eBPF 바인드 재작성이 IP 격리를 투명하게 처리하므로 앱은 0.0.0.0에 바인드하고 커널이 올바른 루프백 IP로 재작성합니다. 상태 확인은 localhost를 사용할 수 있습니다. network_mode:host가 주입되며 ports:는 무시됩니다. 스토리지: ${REDIACC_WORKING_DIR}/... 바인드 마운트와 Docker 명명 볼륨 모두 안전합니다. Docker data-root는 암호화된 LUKS 마운트 내부에 있습니다. 재시작 정책: 재시작 정책은 안전합니다. renet이 CRIU 호환성을 위해 자동으로 제거하며 watchdog이 복구를 처리합니다. Compose: network_mode 또는 rediacc.* 레이블을 추가하지 마십시오 (renet이 주입합니다). 멀티 프로젝트: 각 하위 프로젝트를 자체 Rediaccfile이 있는 별도 하위 디렉터리에 배치하십시오. renet이 자동으로 순서대로 검색하고 실행합니다. HTTPS 라우팅: (A) 자동 경로 (fork 친화적, 권장): traefik.enable을 추가하지 마십시오. Renet이 https://{serviceName}.{repoName}.{machineName}.{baseDomain}을 자동 생성합니다. 80이 아닌 포트에는 rediacc.service_port=<port> 레이블을 추가하십시오. 각 포크는 고유한 도메인을 갖습니다. (B) Traefik 레이블 (커스텀 도메인, fork 비친화적): traefik.enable=true, traefik.http.routers.<n>.rule=Host(`domain`), traefik.http.routers.<n>.entrypoints=websecure,websecure-v6, traefik.http.routers.<n>.tls.certresolver=letsencrypt, traefik.http.services.<n>.loadbalancer.server.port=<port>. TCP/UDP의 경우: rediacc.tcp_ports=3306 / rediacc.udp_ports=53

rdc repo template apply [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>대상 머신 이름-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)-
--file <path>커스텀 템플릿 JSON 파일 경로 ({"version":"2","files":{"Rediaccfile":"...","docker-compose.yml":"..."}}) -- 내장 템플릿 이름을 대체합니다아니오-
--grand <name>상위 자격증명 저장소 (이름을 GUID로 자동 확인). 상위와 시크릿을 공유하는 저장소에만 해당아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.18 push

저장소를 원격 (머신 또는 스토리지)으로 푸시합니다. 이름을 생략하면 모든 저장소를 푸시합니다. 대상 유형은 설정에서 자동으로 감지됩니다. 머신 간 전송 시 암호화된 저장소 이미지가 동일한 GUID로 복사됩니다. 이는 백업/마이그레이션이며 포크가 아닙니다. 독립적인 포크를 생성하려면 먼저 'repo fork'를 사용한 후 푸시하십시오. 푸시 후 배포하려면 --up을 사용하십시오

rdc repo push [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
--to <remote>대상 머신 또는 스토리지 이름 (설정에서 자동 감지)아니오-
--to-machine <machine>아니오-
--provision <provider>대상이 존재하지 않는 경우 클라우드 공급자를 통해 자동으로 대상 머신을 프로비저닝합니다아니오-
--checkpoint백업 전에 CRIU 체크포인트를 생성합니다 (라이브 마이그레이션을 위해 프로세스 메모리 상태를 캡처합니다)아니오-
--force기존 백업을 강제로 덮어씁니다아니오-
--up푸시 후 대상 머신에서 저장소를 마운트하고 배포합니다아니오-
--tag <tag>버전 관리를 위한 배포 태그아니오-
-m, --machine <name>머신 이름-
-w, --watch변경 사항 감시아니오-
--parallel저장소를 동시에 시작합니다아니오-
--concurrency <n>최대 동시 저장소 수 (기본값: 3)아니오3
-y, --yes일괄 작업에 대한 확인을 건너뜁니다아니오-
--bwlimit <limit>rsync 전송의 대역폭 제한 (예: "6M", "10M")아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.19 pull

원격 (머신 또는 스토리지)에서 저장소를 가져옵니다. 이름을 생략하면 모든 저장소를 가져옵니다. 소스 유형은 설정에서 자동으로 감지됩니다. 가져온 후 배포하려면 --up을 사용하십시오

rdc repo pull [options]
플래그설명필수기본값
--name <name>리소스 이름아니오-
--from <remote>소스 머신 또는 스토리지 이름 (설정에서 자동 감지)아니오-
--from-machine <machine>아니오-
--force기존 저장소를 강제로 덮어씁니다아니오-
--up가져온 후 이 머신에서 저장소를 마운트하고 배포합니다아니오-
-m, --machine <name>머신 이름-
-w, --watch변경 사항 감시아니오-
--parallel저장소를 동시에 시작합니다아니오-
--concurrency <n>최대 동시 저장소 수 (기본값: 3)아니오3
-y, --yes일괄 작업에 대한 확인을 건너뜁니다아니오-
--bwlimit <limit>rsync 전송의 대역폭 제한 (예: "6M", "10M")아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.20 migrate

최소 다운타임으로 저장소를 한 머신에서 다른 머신으로 라이브 마이그레이션합니다. 두 단계 rsync: 실행 중에 대량 전송 후 델타 동기화를 위해 잠시 중지합니다. 프로세스 메모리 마이그레이션을 위한 CRIU 체크포인트와 대상 머신 자동 프로비저닝을 지원합니다

rdc repo migrate [options]
플래그설명필수기본값
--name <name>리소스 이름-
--from <machine>소스 머신 이름-
--to <machine>대상 머신 이름-
--provision <provider>클라우드 공급자를 통해 대상을 자동 프로비저닝합니다 (예: hetzner, linode)아니오-
--bwlimit <limit>rsync 전송의 대역폭 제한 (예: 10M)아니오-
--checkpointCRIU 라이브 마이그레이션: 프로세스 메모리 상태를 캡처하고 복원합니다아니오-
--skip-dns마이그레이션 후 DNS 레코드 전환을 건너뜁니다아니오-
--debug디버그 출력 활성화아니오-

6.21 backup

저장소 백업을 관리합니다

list

원격 (머신 또는 스토리지)에서 사용 가능한 백업을 나열합니다. --path를 생략하면 hot/ 및 cold/ 하위 폴더가 Mode 열과 함께 하나의 표로 병합됩니다.

rdc repo backup list [options]
플래그설명필수기본값
--from <remote>소스 머신 또는 스토리지 이름 (설정에서 자동 감지)아니오-
--from-machine <machine>아니오-
-m, --machine <name>머신 이름-
--path <subdir>스토리지 루트 내의 하위 디렉터리. 생략 시 hot/ 및 cold/ 모두 나열하고 병합합니다.아니오-
-w, --watch변경 사항 감시아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

6.22 sync

저장소와 파일을 동기화합니다 (일괄 push/pull, 파일 전송)

push

저장소를 클라우드 스토리지로 푸시합니다 (이름을 생략하면 모두 푸시)

rdc repo sync push

pull

클라우드 스토리지에서 저장소를 가져옵니다 (이름을 생략하면 모두 가져옴)

rdc repo sync pull

upload

SSH를 통한 rsync로 저장소에 파일을 업로드합니다 (델타 전송). 원격 추가 파일을 삭제하려면 --mirror, 미리 보기는 --dry-run, 패턴을 건너뛰려면 --exclude를 사용하십시오

rdc repo sync upload [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
-m, --machine <name>머신 이름-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
--local <paths...>하나 이상의 로컬 파일 또는 디렉터리 경로 (기본값: 현재 디렉터리)아니오-
--remote <path>저장소 내 원격 하위 디렉터리 경로아니오-
--remote-file <path>업로드할 단일 원격 파일 경로 (저장소 루트 기준 상대 경로). --remote와 상호 배타적.아니오-
--mirror미러 모드 -- 로컬에 없는 원격 파일 삭제아니오-
--verify동기화 후 체크섬으로 파일 검증아니오-
--confirm동기화 전 변경 사항 미리 보기 및 확인 요청아니오-
--exclude <patterns...>동기화에서 제외할 패턴아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

download

SSH를 통한 rsync로 저장소에서 파일을 다운로드합니다 (델타 전송). 로컬 추가 파일을 삭제하려면 --mirror, 미리 보기는 --dry-run, 패턴을 건너뛰려면 --exclude를 사용하십시오

rdc repo sync download [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
-m, --machine <name>머신 이름-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
--local <path>로컬 디렉터리 경로 (기본값: 현재 디렉터리)아니오-
--remote <path>저장소 내 원격 하위 디렉터리 경로아니오-
--remote-file <path>저장소 내 원격 파일 경로 (단일 파일 전송 시 --remote의 대안)아니오-
--mirror미러 모드 -- 원격에 없는 로컬 파일 삭제아니오-
--verify동기화 후 체크섬으로 파일 검증아니오-
--confirm동기화 전 변경 사항 미리 보기 및 확인 요청아니오-
--exclude <patterns...>동기화에서 제외할 패턴아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

status

로컬과 원격 파일을 드라이런으로 비교합니다 (실제 전송 없이 전송될 내용을 표시합니다)

rdc repo sync status [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
-m, --machine <name>머신 이름-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
--local <path>로컬 디렉터리 경로 (기본값: 현재 디렉터리)아니오-
--remote <path>저장소 내 원격 하위 디렉터리 경로아니오-
--remote-file <path>저장소 내 원격 파일 경로 (단일 파일 전송 시 --remote의 대안)아니오-

6.23 snapshot

원격 머신에서 BTRFS 스냅샷을 관리합니다

create

저장소의 특정 시점 BTRFS 스냅샷을 생성합니다 (즉각적, 무중단). 커스텀 이름에는 --snapshot-name을 사용하십시오

rdc repo snapshot create

list

원격 머신에서 이름, 생성 날짜, 크기와 함께 BTRFS 스냅샷을 나열합니다

rdc repo snapshot list

delete

원격 머신에서 스냅샷을 삭제합니다

rdc repo snapshot delete

6.24 tunnel

원격 머신에서 컨테이너 포트로 SSH 포트 포워드 터널을 생성합니다. 모호하지 않은 경우 컨테이너와 포트를 자동으로 감지합니다. Ctrl+C를 누를 때까지 터널이 유지됩니다

rdc repo tunnel [options]
플래그설명필수기본값
-m, --machine <name>머신 이름아니오-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
-c, --container <name>컨테이너 이름 (실행 중인 컨테이너가 하나뿐이면 자동 감지)아니오-
--port <port>포워드할 원격 컨테이너 포트아니오-
--local <port>로컬 포트 (기본값: 원격 포트와 동일)아니오-

6.25 secret

배포 시 주입되는 저장소별 시크릿을 관리합니다. 쓰기 전용: get은 다이제스트만 반환합니다 (평문 없음). set/unset은 --current 다이제스트 일치 또는 --rotate-secret이 필요합니다. 두 가지 전달 모드: env (REDIACC_SECRET_<KEY>) 및 file (compose `secrets:`를 통해 /var/run/rediacc/secrets/<networkId>/<KEY>의 tmpfs). 시크릿은 암호화된 LUKS 이미지에 저장되지 않으며, 포크는 시크릿을 상속하지 않습니다.

get

시크릿의 SHA-256 다이제스트를 표시합니다. 평문 값은 설계상 반환되지 않습니다 (쓰기 전용). 이미 알고 있는 값을 확인하려면 후속 set/unset에서 --current를 사용하거나 `set --rotate-secret`으로 교체하십시오.

rdc repo secret get [options]
플래그설명필수기본값
--name <repository>저장소 이름 (예: mail, mail:staging). 태그가 없으면 :latest가 기본값입니다.-
--key <KEY>UPPER_SNAKE_CASE의 시크릿 키 (최대 64자). env 모드에서는 REDIACC_SECRET_<KEY>로, file 모드에서는 컨테이너의 /run/secrets/<key>로 노출됩니다.-

list

시크릿 키와 모드를 나열합니다 (값 및 다이제스트는 표시되지 않습니다).

rdc repo secret list [options]
플래그설명필수기본값
--name <repository>저장소 이름 (예: mail, mail:staging). 태그가 없으면 :latest가 기본값입니다.-

set

시크릿을 설정하거나 덮어씁니다. 포크는 상속하지 않으므로 포크에 명시적으로 설정하십시오. 에이전트 컨텍스트에서는 --current 다이제스트 일치가 필요합니다 (passwd 방식).

rdc repo secret set [options]
플래그설명필수기본값
--name <repository>저장소 이름 (예: mail, mail:staging). 태그가 없으면 :latest가 기본값입니다.-
--key <KEY>UPPER_SNAKE_CASE의 시크릿 키 (최대 64자). env 모드에서는 REDIACC_SECRET_<KEY>로, file 모드에서는 컨테이너의 /run/secrets/<key>로 노출됩니다.-
--value <value>시크릿 값. 셸 이력 노출을 피하려면 `-`를 전달하여 stdin에서 읽으십시오.-
--mode <mode>전달 모드: 'env' (컨테이너 env 및 docker inspect에서 표시) 또는 'file' (tmpfs 파일, env에 없음). 기본값: file.아니오file
--current <value>이전 평문 값 (passwd 방식 사전 조건). 덮어쓰기/삭제 시 필요하며 --rotate-secret과 함께 사용할 수 없습니다.아니오-
--rotate-secret교체를 인정합니다. --current 사전 조건을 건너뜁니다 (교체로 감사 기록). 이전 값을 확인하지 않고 의도적으로 교체할 때 사용하십시오.아니오-

unset

시크릿을 삭제합니다. 에이전트 컨텍스트에서는 --current 다이제스트 일치가 필요합니다.

rdc repo secret unset [options]
플래그설명필수기본값
--name <repository>저장소 이름 (예: mail, mail:staging). 태그가 없으면 :latest가 기본값입니다.-
--key <KEY>UPPER_SNAKE_CASE의 시크릿 키 (최대 64자). env 모드에서는 REDIACC_SECRET_<KEY>로, file 모드에서는 컨테이너의 /run/secrets/<key>로 노출됩니다.-
--current <value>이전 평문 값 (passwd 방식 사전 조건). 덮어쓰기/삭제 시 필요하며 --rotate-secret과 함께 사용할 수 없습니다.아니오-
--rotate-secret교체를 인정합니다. --current 사전 조건을 건너뜁니다 (교체로 감사 기록). 이전 값을 확인하지 않고 의도적으로 교체할 때 사용하십시오.아니오-

7. 스토리지 관리

원격 백업 스토리지 제공자 관리 (S3, rclone 호환). CRUD 작업 (목록, 생성, 이름 변경, 삭제), 볼트 설정, 원격 파일 탐색, 고아 백업 정리.

7.1 list

스토리지 제공자 목록을 나열합니다

rdc storage list [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
--search <text>{{field}}에서 검색아니오-
--sort <field>필드로 정렬아니오-
--desc내림차순 정렬아니오-

7.2 create

새 스토리지 제공자를 생성합니다

rdc storage create [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-

7.3 rename

스토리지 제공자 이름을 변경합니다

rdc storage rename [options]
플래그설명필수기본값
--current-name <name>현재 리소스 이름-
--new-name <name>새 리소스 이름-
-t, --team <name>팀 이름아니오-

7.4 delete

스토리지 제공자를 삭제합니다

rdc storage delete [options]
플래그설명필수기본값
--name <name>리소스 이름-
-t, --team <name>팀 이름아니오-
-f, --force확인 프롬프트 건너뜀아니오-
--dry-run변경 없이 수행될 작업 표시아니오-

7.5 vault

스토리지 볼트 관리 (클라우드 어댑터 전용)

rdc storage vault

7.6 browse

스토리지 시스템의 파일을 탐색합니다

rdc storage browse [options]
플래그설명필수기본값
--name <name>리소스 이름-
--path <subpath>나열할 하위 디렉터리 경로아니오

7.7 prune

더 이상 어떤 설정에도 없는 스토리지의 고아 백업을 삭제합니다. 유예 기간 보호가 있는 다중 설정 안전. rclone 호출은 --machine (실행자)에서 실행되며, 노트북에서 실행되지 않으므로 클라이언트에 rclone을 로컬에 설치할 필요가 없습니다; --machine은 소스가 아닌 실행자입니다.

rdc storage prune [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>실행자 머신 - 스토리지에 대해 rclone 목록/삭제 호출을 실행합니다. 클라이언트에 rclone이 로컬에 설치되어 있지 않아도 되므로 필수입니다; 스토리지 자격 증명은 여전히 로컬 설정에서 가져옵니다.-
--dry-run변경 없이 수행될 작업 표시아니오-
--force확인 프롬프트 건너뜀아니오-
--force-delete-mounted마운트 안전 확인을 재정의하고 소스 GUID가 현재 마운트되어 있거나 실행자 머신에서 실행 중인 컨테이너가 있는 경우에도 클라우드 백업을 삭제합니다. --force(아카이브 저장소의 유예 기간만 재정의)와는 별개입니다.아니오-
--grace-days <days>최근 보관된 저장소의 유예 기간 (일 단위, 기본값: 7)아니오-
--debug디버그 출력 활성화아니오-
--skip-router-restart바이너리 업데이트 후 라우트 서버 재시작 건너뜀아니오-

7.8 pull

클라우드 스토리지에서 머신으로 백업을 가져옵니다

rdc storage pull

8. VS Code 통합

샌드박스 처리된 저장소별 환경을 사용하여 머신 또는 저장소에 VS Code Remote SSH를 엽니다. `term`과 동일한 SSH 연결을 사용하지만 VS Code를 실행합니다. 주요 하위 명령어: connect (또는 위치 축약어), list (설정된 연결 표시), cleanup (SSH 설정 항목 제거), check (VS Code 설치 확인).

8.1 connect

VS Code에서 머신 또는 저장소에 연결합니다

rdc vscode connect [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
-m, --machine <name>머신 이름아니오-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
-f, --folder <path>열 원격 폴더 경로아니오-
--url-only실행 대신 VS Code URI 출력아니오-
-n, --new-window새 VS Code 창에서 열기아니오-
--skip-env-setup원격 환경 설정 건너뜀아니오-
--insidersVS Code Insiders 설정 사용아니오-

8.2 list

설정된 VS Code SSH 연결을 나열합니다

rdc vscode list

8.3 cleanup

VS Code SSH 설정을 제거합니다

rdc vscode cleanup [options]
플래그설명필수기본값
--all모든 rediacc SSH 구성 제거아니오-
-c, --connection <name>특정 연결 제거아니오-

8.4 check

VS Code 설치 및 설정을 확인합니다

rdc vscode check [options]
플래그설명필수기본값
--insidersVS Code Insiders 설정 사용아니오-

9. SSH 터미널 접속

머신 또는 저장소 컨텍스트에 SSH 터미널을 엽니다. DOCKER_HOST, 작업 디렉터리, 환경을 자동으로 설정합니다. --container를 통해 컨테이너 작업 지원: logs, exec, stats, terminal. 단일 명령어를 비대화형으로 실행하려면 `-c`를 사용하세요. VS Code의 경우 `vscode`를 사용하세요.

9.1 connect

SSH를 통해 머신 또는 저장소에 연결합니다

rdc term connect [options]
플래그설명필수기본값
-t, --team <name>팀 이름아니오-
-m, --machine <name>머신 이름아니오-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
-c, --command <cmd>대화형 셸 대신 명령 실행아니오-
--container <id>특정 Docker 컨테이너에 연결아니오-
--container-action <action>컨테이너 작업: terminal, logs, stats, exec아니오-
--log-lines <lines>표시할 로그 줄 수 (기본값: 50)아니오-
--follow로그 출력 팔로우아니오-
--external외부 터미널 창에서 강제 실행아니오-
--reset-home새로 시작을 위해 저장소별 홈 오버레이 초기화아니오-

10. 프로토콜 핸들러

{{scheme}}:// 프로토콜 URL을 등록하고 처리합니다

10.1 register

시스템에 프로토콜 핸들러를 등록합니다

rdc protocol register [options]
플래그설명필수기본값
--system시스템 전체에 등록 (관리자 권한 필요)아니오-
--force이미 등록된 경우에도 강제 재등록아니오-

10.2 unregister

시스템에서 프로토콜 핸들러를 등록 취소합니다

rdc protocol unregister [options]
플래그설명필수기본값
--system시스템 전체 등록 해제 (관리자 권한 필요)아니오-

10.3 status

프로토콜 핸들러 등록 상태를 표시합니다

rdc protocol status

10.4 open

{{scheme}}:// URL을 열고 작업을 실행합니다

rdc protocol open <url>

10.5 build

컴포넌트로부터 {{scheme}}:// URL을 생성합니다

rdc protocol build [options]
플래그설명필수기본값
--token <token>인증 토큰-
-t, --team <name>팀 이름-
-m, --machine <name>머신 이름-
-r, --repository <name>저장소 이름 (저장소 환경에 연결)아니오-
-a, --action <action>작업 ({{actions}})아니오desktop
-p, --params <key=value...>추가 매개변수아니오-

10.6 parse

{{scheme}}:// URL을 파싱하고 컴포넌트를 표시합니다

rdc protocol parse <url>

11. 빠른 명령 (단축키)

11.1 run

경고: 디버깅 및 실험 전용 저수준 명령어입니다. 프로덕션 환경에서는 사용하지 마세요. 더 높은 수준의 명령어(repo up, repo down 등)를 사용하세요. 머신에서 원시 브릿지 함수를 실행합니다.

rdc run

11.2 trace

작업 추적 (단축키: queue trace)

rdc trace

11.3 cancel

작업 취소 (단축키: queue cancel)

rdc cancel

11.4 retry

실패한 작업 재시도 (단축키: queue retry)

rdc retry

12. 구독 관리

라이선스 및 구독 토큰을 관리합니다. 주요 하위 명령어: login (구독 포털로 인증), status (현재 라이선스 상태 표시), activation (머신 슬롯 상태), repo (저장소별 라이선스 관리).

12.1 login

브라우저 또는 API 토큰으로 인증합니다

rdc subscription login [options]
플래그설명필수기본값
-t, --token <token>API 토큰 (rdt_...)아니오-
--server <url>계정 서버 URL아니오-

12.2 logout

저장된 구독 토큰을 지웁니다

rdc subscription logout

12.3 status

구독, 머신 슬롯, 저장소 라이선스 상태를 표시합니다

rdc subscription status

12.4 activation

머신 슬롯 관리

status

하나의 머신에 대한 머신 슬롯 상태를 표시합니다

rdc subscription activation status [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-

12.5 repo

저장소 라이선스 관리

status

머신에 설치된 저장소 라이선스를 표시합니다

rdc subscription repo status [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-

12.6 refresh

원격 머신의 저장소 라이선스를 갱신합니다

activation

원격 머신의 저장소 라이선스를 갱신합니다

rdc subscription refresh activation [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-

repos

원격 머신의 저장소 라이선스를 일괄 갱신합니다

rdc subscription refresh repos [options]
플래그설명필수기본값
-m, --machine <name>머신 이름-

repo

특정 저장소의 저장소 라이선스를 갱신합니다

rdc subscription refresh repo [options]
플래그설명필수기본값
--name <name>리소스 이름-
-m, --machine <name>머신 이름-

13. CLI 업데이트

새 CLI 버전을 확인하고 업데이트를 적용합니다. 설치 없이 확인만 하려면 --check-only를, 이미 최신 버전이어도 업데이트하려면 --force를 사용합니다.

rdc update [options]
플래그설명필수기본값
--force이미 최신 버전이어도 강제 업데이트아니오-
--check-only다운로드 없이 업데이트만 확인아니오-
--rollback이전 버전으로 롤백아니오-
--status자동 업데이트 상태 및 진단 정보 표시아니오-
--channel <channel>릴리즈 채널 설정 (stable 또는 edge)아니오-

14. 시스템 진단

CLI 환경에 대한 진단 검사를 실행합니다: Node.js 버전, renet 바이너리 가용성, 설정 파일 유효성, SSH 키 상태, 네트워크 연결. 통과/실패 지표와 함께 구조화된 상태 보고서를 출력합니다.

rdc doctor

15. 실험적 VM 작업

KVM/QEMU/Hyper-V를 사용한 로컬 VM 프로비저닝 및 관리 (플랫폼 자동 감지). 원격 머신용이 아닙니다. 원격 머신에는 `machine`을 사용하세요. 주요 하위 명령어: up (VM 시작), down (중지), status (실행 중인 VM 나열), ssh (VM에 연결), setup (필수 조건 설치), check (호스트 준비 상태 확인).

15.1 up

로컬에서 VM 클러스터를 프로비저닝합니다

rdc ops up [options]
플래그설명필수기본값
--force모든 VM 강제 재시작아니오-
--parallelVM 병렬 생성아니오-
--basic최소 클러스터 (브리지 + 워커 1개)아니오-
--liteVM 프로비저닝 건너뜀 (상태 확인만)아니오-
--skip-orchestration클러스터 오케스트레이션 건너뜀아니오-
--backend <backend>가상화 백엔드 (kvm|qemu, 자동 감지)아니오-
--os <name>VM 운영 체제 (예: ubuntu-24.04, debian-13)아니오-
--debug디버그 출력 활성화아니오-

15.2 down

VM 클러스터를 삭제합니다

rdc ops down [options]
플래그설명필수기본값
--backend <backend>가상화 백엔드 (kvm|qemu, 자동 감지)아니오-
--debug디버그 출력 활성화아니오-

15.3 status

VM 클러스터 상태를 표시합니다

rdc ops status [options]
플래그설명필수기본값
--backend <backend>가상화 백엔드 (kvm|qemu, 자동 감지)아니오-

15.4 ssh

VM에 SSH로 접속합니다

rdc ops ssh [options]
플래그설명필수기본값
--vm-id <id>가상 머신 ID-
-c, --command <cmd>대화형 셸 대신 명령 실행아니오-
--backend <backend>가상화 백엔드 (kvm|qemu, 자동 감지)아니오-
--user <user>VM 연결을 위한 SSH 사용자 이름아니오-

15.5 setup

가상화 필수 조건을 설치합니다

rdc ops setup [options]
플래그설명필수기본값
--debug디버그 출력 활성화아니오-

15.6 check

가상화 필수 조건을 확인합니다

rdc ops check

일반적인 오류 메시지

문제가 발생하면 CLI가 명확한 오류 메시지를 제공합니다:

오류의미
인증이 필요합니다. 실행: rdc auth login먼저 로그인해야 합니다
활성 설정이 없습니다. 다음 명령으로 생성하세요: rdc config init --name <name>활성 구성이 없습니다 -- `rdc config init`으로 생성하세요
권한이 거부되었습니다계정에 필요한 권한이 없습니다
머신 이름이 필요합니다. --machine <name>을 사용하세요`--machine`으로 머신을 지정하거나 구성 기본값을 설정하세요
팀 이름이 필요합니다. --team을 사용하거나 다음 명령으로 기본값을 설정하세요: rdc config set --key team --value <name>`--team`으로 팀을 지정하거나 구성 기본값을 설정하세요
리전 이름이 필요합니다. --region을 사용하거나 다음 명령으로 기본값을 설정하세요: rdc config set --key region --value <name>`--region`으로 리전을 지정하거나 구성 기본값을 설정하세요

출력 형식

모든 목록/조회 명령은 `--output`을 통해 다양한 출력 형식을 지원합니다:

rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table   # default

이를 통해 Rediacc CLI를 스크립트, CI/CD 파이프라인, 자동화 워크플로에 쉽게 통합할 수 있습니다.