문서 · 레퍼런스
CLI (oneend)
터미널과 CI에서 프로젝트를 다뤄요. 명령 164개를 CLI 코드(packages/cli/src/commands)에서 읽어 이 목록을 만들어요. 이 목록은 서버 코드에서 만들어져요. 새 기능이 생기면 여기에도 바로 나타나요.
명령줄 도구 (oneend)
Supabase CLI·Vercel CLI처럼 터미널과 CI에서 이 플랫폼을 다루는 도구예요. 같은 토큰으로 /api/v1을 불러요.
npm install -g oneend 또는 npx oneend <명령>
oneend login 콘솔의 계정 → API · MCP 토큰에서 만든 토큰을 넣어요
oneend link 이 폴더를 프로젝트에 연결 (.oneend/project.json)oneend projects list|create oneend status
oneend env ls|pull|push|set|rm oneend deploy [--branch --commit | --dir --prod --prebuilt]
oneend deployments ls|inspect oneend logs [--follow] oneend rollback <id>
oneend functions ls|deploy|rm|invoke|download
oneend migration new|list|repair oneend db push|pull
oneend gen types typescript
oneend branches list|create|merge|reset|delete- 토큰은
~/.config/oneend/config.json에 본인만 읽을 수 있게(0600) 저장해요. CI에서는ONEEND_TOKEN환경 변수를 쓰세요. - 마이그레이션 파일은
oneend/migrations/<버전>_<이름>.sql이고,db push가 blackwall://migrations의apply_migrations를 불러요. --json을 붙이면 모든 명령이 JSON 한 덩어리로 답해요. 실패하면 0이 아닌 종료 코드를 돌려줘요.deploy는 빌드가 끝날 때까지 로그를 보여 주고, 실패하면 종료 코드 1이에요.- 저장소가 없거나
--dir또는--upload를 주면deploy는 폴더를 압축해 올리고 같은 빌드를 거쳐요(.gitignore와.oneendignore를 따르고node_modules와.git은 빼요).--prebuilt는 빌드 없이 그대로,--prod는 프로덕션으로 배포해요.
명령 레퍼런스
설치
Node 22 이상에서 동작하고 의존성이 없어요.
npm install -g oneend
oneend login --token bwk_… --api-url https://end.blackall.ai
oneend link --project abcdefghijklmnopqrst
공통 옵션
모든 명령에서 쓸 수 있어요.
| 옵션 | 값 | 설명 |
|---|---|---|
--json | 결과를 JSON으로 출력해요 (스크립트용) | |
--help, -h | 도움말 | |
--project, --project-ref | <ref> | 연결된 프로젝트 대신 이 프로젝트에 (ONEEND_PROJECT_REF) |
--api-url | <url> | API 주소 (ONEEND_API_URL, 기본 https://end.blackall.ai) |
--token | <토큰> | 저장된 토큰 대신 이 토큰으로 (ONEEND_TOKEN) |
계정
| 사용법 | 설명 |
|---|---|
oneend login | 토큰을 확인하고 저장해요 |
oneend logout | 저장된 토큰을 지워요 |
oneend whoami | 지금 토큰의 주인과 권한을 봐요 |
oneend login
토큰을 확인하고 저장해요
사용법
oneend login [--token <토큰>] [--api-url <url>]
토큰은 콘솔의 계정 → API · MCP 토큰(/account/tokens)에서 만들어요.
--token이 없으면 터미널에서 묻고, 터미널이 아니면 표준 입력에서 읽어요:
echo "$TOKEN" | oneend login
토큰은 ~/.config/oneend/config.json에 본인만 읽을 수 있게(0600) 저장해요.
옵션
이 명령만의 옵션은 없어요.
oneend logout
저장된 토큰을 지워요
사용법
oneend logout
토큰을 폐기하지는 않아요. 폐기는 콘솔의 /account/tokens에서 해요.
옵션
이 명령만의 옵션은 없어요.
oneend whoami
지금 토큰의 주인과 권한을 봐요
사용법
oneend whoami
옵션
이 명령만의 옵션은 없어요.
프로젝트
| 사용법 | 설명 |
|---|---|
oneend projects list | 프로젝트 목록 |
oneend projects create | 프로젝트를 새로 만들어요 |
oneend projects transfer | 프로젝트를 다른 조직으로 옮겨요 (--to 없이는 옮길 수 있는 조직을 보여 줘요) |
oneend projects pause | 프로젝트를 일시정지해요 (데이터는 그대로) |
oneend projects resume | 일시정지한 프로젝트를 다시 시작해요 |
oneend link | 이 폴더를 프로젝트에 연결해요 |
oneend unlink | 이 폴더의 프로젝트 연결을 끊어요 |
oneend status | 로그인, 연결된 프로젝트, 마지막 배포, 마이그레이션을 한눈에 |
oneend billing | 한 달의 청구서: 항목별 금액과 정가, 청구액 |
oneend server-sizes | 서버 크기와 지역별 월 금액 |
oneend projects archive | 데이터베이스 보관 상태 (옮기는 날, 지우는 날) |
oneend projects archive restore | 보관한 데이터베이스를 복원해요 |
oneend projects archive download | 보관 파일을 내려받을 주소를 만들어요 (1시간) |
oneend projects list
프로젝트 목록
사용법
oneend projects list
옵션
이 명령만의 옵션은 없어요.
oneend projects create
프로젝트를 새로 만들어요
사용법
oneend projects create <이름> [--region <코드>] [--org <조직>] [--tier <크기>] [--repo <owner/name>] [--root <폴더>] [--branch <브랜치>] [--link] [--no-wait]
콘솔의 새 프로젝트 화면과 같아요(MCP create_project). 지역, 전용 서버 크기, GitHub 저장소를 한 번에 정해요.
--tier 는 oneend server-sizes 가 보여 주는 크기 코드(예: 4gb)이거나 default(요금제의 기본 크기)예요. 비우면 공용 서버에서 시작하고, 서버 요청이 거절돼도 프로젝트는 만들어져요.
--repo 는 GitHub App이 볼 수 있는 저장소예요. 프로젝트를 만든 뒤 바로 연결하고 첫 배포를 시작해서, --no-wait 가 아니면 빌드가 끝날 때까지 로그를 보여 줘요.
모노레포는 --root 로 앱 폴더를, --env-file 로 환경 변수를 같이 줘요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--region | <코드> | 리전. 만든 뒤에는 바꿀 수 없어요 (비우면 기본 리전) |
--org | <조직> | 만들 조직의 이름이나 id (비우면 만들 수 있는 첫 조직) |
--tier | <크기> | 이 프로젝트만의 서버 크기 (예: 4gb, 또는 default). 비우면 공용 서버 |
--repo | <owner/name> | 만들면서 연결하고 배포할 GitHub 저장소 |
--root | <폴더> | 앱 폴더 (예: apps/web). 없으면 저장소 맨 위 |
--branch, -b | <브랜치> | 프로덕션 브랜치. 없으면 저장소의 기본 브랜치 |
--app | <앱 이름> | 앱 이름. 없으면 폴더 이름, 없으면 저장소 이름 |
--framework | <이름> | 프레임워크. 없으면 자동으로 찾아요 |
--build-command | <명령> | 빌드 명령 덮어쓰기 |
--install-command | <명령> | 설치 명령 덮어쓰기 |
--output-directory | <폴더> | 출력 폴더 덮어쓰기 |
--env-file | <경로> | 저장소를 연결할 때 같이 저장할 .env 파일 |
--sensitive | .env 의 값을 저장한 뒤 다시 보여 주지 않아요 | |
--link | 만든 프로젝트를 이 폴더에 연결해요 | |
--wait | 저장소를 연결했다면 빌드가 끝날 때까지 로그를 보여 줘요 (기본 켬, --no-wait로 끔) | |
--timeout | <초> | 기다리는 최대 시간 (기본 1800초) |
oneend projects transfer
프로젝트를 다른 조직으로 옮겨요 (--to 없이는 옮길 수 있는 조직을 보여 줘요)
사용법
oneend projects transfer [<ref>] [--to <조직 id 또는 이름>] [--yes]
지금 조직의 소유자이면서 받는 조직의 소유자나 관리자여야 하고, 받는 조직의 요금제에 프로젝트 자리가 있어야 해요. 옮긴 뒤 사용량은 받는 조직에 청구되고 이번 달 청구는 옮긴 시점에서 나뉘어요. 원래 조직 구성원에게 따로 준 접근은 사라져요. 주소, 키, 데이터, 배포는 그대로예요(콘솔의 프로젝트 옮기기, MCP transfer_project와 같아요).
인자 0~1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--to | <조직 id 또는 이름> | 받을 조직. 비우면 옮길 수 있는 조직을 보여 줘요 |
--yes, -y | 묻지 않고 바로 해요 |
oneend projects pause
프로젝트를 일시정지해요 (데이터는 그대로)
사용법
oneend projects pause [--project <ref>]
사이트·API·함수가 503으로 응답하고 예약 작업과 새 배포가 멈춰요. oneend projects resume으로 바로 다시 켜요.
옵션
이 명령만의 옵션은 없어요.
oneend projects resume
일시정지한 프로젝트를 다시 시작해요
사용법
oneend projects resume [--project <ref>]
무료 요금제에서 3일 동안 쓰지 않아 멈춘 프로젝트도 이 명령(또는 새 배포)으로 다시 켜요.
옵션
이 명령만의 옵션은 없어요.
oneend link
이 폴더를 프로젝트에 연결해요
사용법
oneend link [--project <ref>] [--app <저장소>]
.oneend/project.json을 만들어요. 비밀이 들어 있지 않아 커밋해도 돼요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--app | <이름> | 프로젝트에 저장소가 여럿일 때 deploy가 빌드할 저장소 |
oneend unlink
이 폴더의 프로젝트 연결을 끊어요
사용법
oneend unlink
옵션
이 명령만의 옵션은 없어요.
oneend status
로그인, 연결된 프로젝트, 마지막 배포, 마이그레이션을 한눈에
사용법
oneend status
옵션
이 명령만의 옵션은 없어요.
oneend billing
한 달의 청구서: 항목별 금액과 정가, 청구액
사용법
oneend billing [--period <YYYY-MM>]
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--period | <YYYY-MM> | 청구 기간 (비우면 이번 달, UTC) |
oneend server-sizes
서버 크기와 지역별 월 금액
사용법
oneend server-sizes [--region <코드>] [--currency KRW|USD]
통화를 비우면 조직의 결제 통화예요. 원화는 부가세 포함, 달러는 결제할 때 세금이 더해져요.
준비 중인 지역은 아직 고를 수 없어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--region | <코드> | 이 지역만 봐요 (비우면 모든 지역) |
--currency | KRW|USD | 통화 (비우면 조직의 결제 통화) |
oneend projects archive
데이터베이스 보관 상태 (옮기는 날, 지우는 날)
사용법
oneend projects archive [--project <ref>]
데이터베이스를 90일 동안 쓸 수 없으면 보관 저장소로 옮기고, 1년 동안 복원할 수 있어요. oneend projects archive restore로 복원해요.
옵션
이 명령만의 옵션은 없어요.
oneend projects archive restore
보관한 데이터베이스를 복원해요
사용법
oneend projects archive restore [--project <ref>]
보관할 때 그대로 다시 만들어요. 보통 몇 분 걸리고, 일시정지한 프로젝트는 복원하면서 다시 시작해요. 결제가 안 됐거나 무료 요금제면 복원할 수 없어요.
옵션
이 명령만의 옵션은 없어요.
oneend projects archive download
보관 파일을 내려받을 주소를 만들어요 (1시간)
사용법
oneend projects archive download --reason <이유> [--project <ref>]
pg_dump 형식이에요. pg_restore로 어느 PostgreSQL에든 복원할 수 있어요. 이유는 개인정보 접속기록에 남아요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--reason | <이유> | 내려받는 이유 (접속기록에 남아요) |
환경 변수
| 사용법 | 설명 |
|---|---|
oneend env ls | 환경 변수 목록 |
oneend env pull | 환경 변수를 .env 파일로 내려받아요 |
oneend env push | .env 파일의 변수를 저장해요 |
oneend env set | 변수 하나를 저장해요 |
oneend env rm | 변수를 지워요 |
oneend env ls
환경 변수 목록
사용법
oneend env ls [--target <production|preview>] [--app <앱 이름>]
민감한 값은 다시 볼 수 없고 뒤 네 자리만 보여요.
자동으로 들어가는 변수(SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY 등)도 들어가는 곳과 함께 보여요. SUPABASE_SERVICE_ROLE_KEY는 실행 중(서버·미들웨어·함수)에만 들어가요. DATABASE_URL·POSTGRES_URL·DIRECT_URL은 데이터베이스 비밀번호를 운영 배포에 넘길 때만 들어가요. MYSQL_*·WORDPRESS_DB_*는 MySQL 데이터베이스가 있을 때 들어가요. 같은 이름으로 저장하면 저장한 값을 써요.
--json에서는 자동으로 들어가는 변수가 "automatic": true로 끝에 붙어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--target, -t, --environment | <production|preview|development> | 어느 환경의 변수인지. 여러 번 쓰거나 쉼표로 여럿 (기본 preview). development는 oneend dev와 env pull용 |
--app | <앱 이름> | 이 앱에만 넣는 변수 (같은 이름의 프로젝트 변수보다 먼저). 없으면 프로젝트의 모든 앱 |
oneend env pull
환경 변수를 .env 파일로 내려받아요
사용법
oneend env pull [파일] [--target <production|preview>]
기본 파일은 .env.local, 기본 환경은 preview예요. 파일은 본인만 읽을 수 있게(0600) 써요.
민감한 값은 내려받을 수 없어 이름만 주석으로 남겨요.
자동으로 들어가는 변수(SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY 등)도 써요. 서비스 역할 키는 이름만 남겨요.
인자 0~1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--target, -t, --environment | <production|preview|development> | 어느 환경의 변수인지. 여러 번 쓰거나 쉼표로 여럿 (기본 preview). development는 oneend dev와 env pull용 |
--yes, -y | 묻지 않고 바로 해요 |
oneend env push
.env 파일의 변수를 저장해요
사용법
oneend env push [파일] [--target <production|preview>] [--app <앱 이름>] [--branch <git 브랜치>] [--sensitive]
기본 파일은 .env, 기본 환경은 preview예요. 같은 이름은 덮어써요. 플랫폼이 정하는 이름(PORT, HOST, HOSTNAME, HOME, BLACKWALL_…)의 줄은 건너뛰고 알려 줘요. 그 밖에는 전부 저장되거나 하나도 저장되지 않아요.
인자 0~1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--target, -t, --environment | <production|preview|development> | 어느 환경의 변수인지. 여러 번 쓰거나 쉼표로 여럿 (기본 preview). development는 oneend dev와 env pull용 |
--app | <앱 이름> | 이 앱에만 넣는 변수 (같은 이름의 프로젝트 변수보다 먼저). 없으면 프로젝트의 모든 앱 |
--branch | <git 브랜치> | 이 브랜치의 미리보기에만 넣는 변수 (--target preview와 함께). --app과 함께 쓰면 그 앱의 그 브랜치에만 |
--sensitive | 민감한 값으로 저장해요 (다시 읽을 수 없음) | |
--dry-run | 보내지 않고 무엇을 보낼지만 보여 줘요 |
oneend env set
변수 하나를 저장해요
사용법
oneend env set <이름> [값] [--target <production|preview>] [--app <앱 이름>] [--branch <git 브랜치>] [--sensitive]
값을 비우면 터미널에서 묻거나 표준 입력에서 읽어요: printf %s "$SECRET" | oneend env set API_KEY --sensitive
인자 1~2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--target, -t, --environment | <production|preview|development> | 어느 환경의 변수인지. 여러 번 쓰거나 쉼표로 여럿 (기본 preview). development는 oneend dev와 env pull용 |
--app | <앱 이름> | 이 앱에만 넣는 변수 (같은 이름의 프로젝트 변수보다 먼저). 없으면 프로젝트의 모든 앱 |
--branch | <git 브랜치> | 이 브랜치의 미리보기에만 넣는 변수 (--target preview와 함께). --app과 함께 쓰면 그 앱의 그 브랜치에만 |
--sensitive | 민감한 값으로 저장해요 (다시 읽을 수 없음) |
oneend env rm
변수를 지워요
사용법
oneend env rm <이름> [--target <production|preview>] [--app <앱 이름>] [--branch <git 브랜치>] [--yes]
--target이 없으면 그 이름이 있는 모든 환경에서 지워요. --app이 있으면 그 앱에만, --branch가 있으면 그 브랜치에만 넣은 변수를 지워요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--target, -t, --environment | <production|preview|development> | 어느 환경의 변수인지. 여러 번 쓰거나 쉼표로 여럿 (기본 preview). development는 oneend dev와 env pull용 |
--app | <앱 이름> | 이 앱에만 넣는 변수 (같은 이름의 프로젝트 변수보다 먼저). 없으면 프로젝트의 모든 앱 |
--branch | <git 브랜치> | 이 브랜치의 미리보기에만 넣는 변수 (--target preview와 함께). --app과 함께 쓰면 그 앱의 그 브랜치에만 |
--yes, -y | 묻지 않고 바로 해요 |
배포
| 사용법 | 설명 |
|---|---|
oneend deploy | 커밋이나 이 폴더를 빌드해 배포하고, 끝날 때까지 로그를 보여 줘요 |
oneend deployments ls | 최근 배포 |
oneend deployments inspect | 배포 하나와 빌드 로그 |
oneend deployments redeploy | 같은 커밋을 다시 빌드해요 |
oneend deployments promote | 프리뷰를 프로덕션으로 다시 빌드하거나, 프로덕션 배포를 바로 올려요 |
oneend rollback | 프로덕션을 예전 배포로 되돌려요 (다시 빌드하지 않음) |
oneend logs | 프로젝트 로그 (요청, 서버 출력, 함수, 빌드) |
oneend deployments retention | 배포 보관 기간을 보거나 바꿔요 |
oneend deployments deleted | 최근 삭제한 배포 (30일 동안 되돌릴 수 있어요) |
oneend deployments rm | 배포를 삭제해요 (30일 동안 되돌릴 수 있어요) |
oneend deployments restore | 삭제한 배포를 되돌려요 |
oneend deployments branch-previews | 브랜치 미리보기를 보거나 켜고 꺼요 |
oneend server-memory | 서버 메모리를 보거나 바꿔요 (512·1024·2048·4096MB) |
oneend concurrent-builds | 동시 빌드 수를 보거나 바꿔요 (1~20, none은 한도 없음) |
oneend dev | 개발 명령을 개발 환경 변수와 함께 실행해요 |
oneend domains ls | 연결한 도메인 목록 |
oneend domains redirect | 도메인을 같은 프로젝트의 다른 도메인으로 넘겨요 |
oneend deploy
커밋이나 이 폴더를 빌드해 배포하고, 끝날 때까지 로그를 보여 줘요
사용법
oneend deploy [--branch <브랜치>] [--commit <해시>] [--app <저장소>] [--dir <폴더>] [--upload] [--prebuilt] [--prod] [--block-on-advisors] [--no-wait]
저장소에 push된 커밋을 빌드해요. --branch와 --commit이 없으면 이 폴더의 git에서 지금 브랜치와 HEAD를 써요.
프로덕션 브랜치면 프로덕션, 아니면 프리뷰로 배포돼요. 빌드가 실패하면 종료 코드 1.
저장소가 없거나 --dir·--upload·--prebuilt를 주면 폴더를 압축해 올려서 빌드해요.
.gitignore·.oneendignore를 따르고 node_modules와 .git은 빼요. --prod가 없으면 업로드는 프리뷰(--branch가 이름)예요.
--prebuilt는 이미 빌드한 폴더(예: --dir dist)를 빌드 없이 그대로 올려요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--branch, -b | <브랜치> | 빌드할 브랜치 (업로드면 프리뷰의 이름) |
--commit, -c | <해시> | 빌드할 커밋 (40자리, 또는 이 폴더의 git이 아는 짧은 해시) |
--app | <이름> | 프로젝트에 저장소가 여럿일 때 |
--dir, -d | <폴더> | 이 폴더를 올려 배포해요 (기본: 지금 폴더) |
--upload | 저장소가 있어도 커밋 대신 이 폴더를 올려 배포해요 | |
--prebuilt | 빌드하지 않고 올린 파일을 그대로 써요 | |
--prod | 업로드를 프로덕션으로 배포해요 (소유자·관리자) | |
--message, -m | <메모> | 업로드 배포에 남길 메모 |
--block-on-advisors | 데이터베이스 점검에 심각한 보안 문제가 있으면 프로덕션 배포를 하지 않아요 | |
--wait | 빌드가 끝날 때까지 로그를 보여 줘요 (기본 켬, --no-wait로 끔) | |
--timeout | <초> | 기다리는 최대 시간 (기본 1800초) |
oneend deployments ls
최근 배포
사용법
oneend deployments ls [--limit <수>] [--before <dpl-id>]
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--limit, -n | <수> | 몇 개 (기본 20, 최대 100) |
--before | <dpl-id> | 이 배포 다음부터 (더 오래된 쪽, 앞 쪽 끝에 나온 id) |
oneend deployments inspect
배포 하나와 빌드 로그
사용법
oneend deployments inspect <id> [--wait] [--tail <줄>]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--wait | 끝날 때까지 기다리며 로그를 보여 줘요 | |
--timeout | <초> | 기다리는 최대 시간 (기본 1800초) |
--tail | <줄> | 빌드 로그 끝 몇 줄 (기본 200) |
oneend deployments redeploy
같은 커밋을 다시 빌드해요
사용법
oneend deployments redeploy <id> [--no-wait]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--wait | 빌드가 끝날 때까지 로그를 보여 줘요 (기본 켬, --no-wait로 끔) | |
--timeout | <초> | 기다리는 최대 시간 (기본 1800초) |
oneend deployments promote
프리뷰를 프로덕션으로 다시 빌드하거나, 프로덕션 배포를 바로 올려요
사용법
oneend deployments promote <id> [--no-wait]
빌드가 끝난 프로덕션 배포를 주면 다시 빌드하지 않고 바로 올리고, 되돌리기로 생긴 프로덕션 보류를 풀어요. 지금 배포를 주면 보류만 풀려요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--wait | 빌드가 끝날 때까지 로그를 보여 줘요 (기본 켬, --no-wait로 끔) | |
--timeout | <초> | 기다리는 최대 시간 (기본 1800초) |
oneend rollback
프로덕션을 예전 배포로 되돌려요 (다시 빌드하지 않음)
사용법
oneend rollback <id> [--yes]
완료된 프로덕션 배포로만 되돌릴 수 있어요. 소유자·관리자만 할 수 있어요. 그 뒤 프로덕션은 보류돼요: 새 프로덕션 빌드는 oneend deployments promote <id>로 올리기 전까지 나가지 않아요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend logs
프로젝트 로그 (요청, 서버 출력, 함수, 빌드)
사용법
oneend logs [--source <출처>] [--level <수준>] [--search <말>] [--follow]
출처: site, server, api, auth, functions, build. 수준: info, warn, error. 오래된 줄이 위에 와요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--source, -s | <출처> | site | server | api | auth | functions | build |
--level, -l | <수준> | info | warn | error |
--search, -q | <말> | 내용 검색 |
--deployment | <id> | 배포 하나의 로그만 |
--limit, -n | <수> | 몇 줄 (기본 100, 최대 500) |
--follow, -f | 새 줄을 계속 보여 줘요 (Ctrl-C로 멈춤) |
oneend deployments retention
배포 보관 기간을 보거나 바꿔요
사용법
oneend deployments retention [--canceled <일>|plan] [--error <일>|plan] [--preview <일>|plan] [--production <일>|plan]
기간이 지난 배포는 삭제되고, 30일 동안 oneend deployments restore로 되돌릴 수 있어요. 최근 배포 10개, 완료된 프로덕션 20개, 그 밖의 완료된 배포 20개, 서비스 중인 배포는 늘 남아요.
바꾸기는 프로젝트 관리자만 할 수 있어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--canceled | <일>|plan | 취소·건너뛴 배포를 남기는 날 수 (1~3650, plan이면 요금제 기본값) |
--error | <일>|plan | 실패한 배포를 남기는 날 수 (1~3650, plan이면 요금제 기본값) |
--preview | <일>|plan | 프리뷰 배포를 남기는 날 수 (1~3650, plan이면 요금제 기본값) |
--production | <일>|plan | 프로덕션 배포를 남기는 날 수 (1~3650, plan이면 요금제 기본값) |
oneend deployments deleted
최근 삭제한 배포 (30일 동안 되돌릴 수 있어요)
사용법
oneend deployments deleted
옵션
이 명령만의 옵션은 없어요.
oneend deployments rm
배포를 삭제해요 (30일 동안 되돌릴 수 있어요)
사용법
oneend deployments rm <id> [--yes]
서비스 중이거나 빌드 중인 배포는 삭제할 수 없어요. 삭제한 배포 주소는 410으로 답하고, 30일 뒤 파일과 빌드 로그를 지워요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend deployments restore
삭제한 배포를 되돌려요
사용법
oneend deployments restore <id>
삭제한 지 30일이 지나지 않은 배포만 되돌릴 수 있어요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend deployments branch-previews
브랜치 미리보기를 보거나 켜고 꺼요
사용법
oneend deployments branch-previews [on|off]
off면 프로덕션 브랜치(보통 main)에 들어온 것만 빌드하고, 브랜치 푸시는 배포 기록에 건너뜀으로 남아요. redeploy, 직접 올린 배포, 배포 훅은 그대로 빌드해요.
조직 전체에 적용되고, 바꾸기는 소유자·관리자만 할 수 있어요.
인자 0~1개
옵션
이 명령만의 옵션은 없어요.
oneend server-memory
서버 메모리를 보거나 바꿔요 (512·1024·2048·4096MB)
사용법
oneend server-memory [512|1024|2048|4096]
1024MB보다 크면 CPU가 2개예요. 프로덕션과 브랜치 주소의 서버는 늘 켜져 있어서, 서버마다 한 달 요금이 나가요.
바꾸면 1분 안에 서버가 새 크기로 다시 시작해요. 소유자·관리자만 바꿀 수 있어요.
인자 0~1개
옵션
이 명령만의 옵션은 없어요.
oneend concurrent-builds
동시 빌드 수를 보거나 바꿔요 (1~20, none은 한도 없음)
사용법
oneend concurrent-builds [<수>|none]
넘는 빌드는 앞 빌드가 끝날 때까지 기다려요. 기다리는 시간은 청구하지 않아요. 소유자·관리자만 바꿀 수 있어요.
인자 0~1개
옵션
이 명령만의 옵션은 없어요.
oneend dev
개발 명령을 개발 환경 변수와 함께 실행해요
사용법
oneend dev [--app <이름>] [--dry-run]
명령은 콘솔의 빌드 · 개발 설정에 정한 개발 명령이고, 없으면 npm run dev예요.
루트 디렉터리를 정했으면 그 폴더에서 실행해요. 민감한 값은 내려받을 수 없어서 빠져요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--app | <이름> | 저장소가 여럿일 때 어느 것인지 (list_apps의 name) |
--dry-run | 실행하지 않고 무엇을 실행할지만 보여 줘요 |
oneend domains ls
연결한 도메인 목록
사용법
oneend domains ls
옵션
이 명령만의 옵션은 없어요.
oneend domains redirect
도메인을 같은 프로젝트의 다른 도메인으로 넘겨요
사용법
oneend domains redirect <도메인> <주소> [--status <코드>] | oneend domains redirect <도메인> --off
주소는 도메인이나 도메인/경로예요. 경로를 붙이면 방문한 경로가 그 뒤에 붙고 질의 문자열은 그대로 따라가요: oneend domains redirect vision.example.com example.com/vision 이면 vision.example.com/x?y=1 → example.com/vision/x?y=1, 첫 화면은 example.com/vision. 넘길 도메인은 이 프로젝트에 연결한, 리디렉트가 아닌 도메인이어야 해요.
인자 1~2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--status | <코드> | 응답 코드: 308 (기본, 영구) · 307 · 301 · 302 |
--off | 리디렉트를 끄고 이 도메인에서 다시 사이트를 열어요 |
Git·앱
| 사용법 | 설명 |
|---|---|
oneend git import | 저장소를 연결하고 첫 배포를 시작해요 |
oneend git checks | 검사를 One Server에서 실행 (켜기·끄기) |
oneend apps ls | 이 프로젝트의 앱과 주소 |
oneend apps set | 앱 하나의 설정을 바꿔요 (--run-as) |
oneend apps delete | 앱 하나를 지워요 (주소와 배포까지) |
oneend apps settings | 앱 설정: 서버가 듣는 포트 |
oneend git import
저장소를 연결하고 첫 배포를 시작해요
사용법
oneend git import <owner/name> [--root <폴더>] [--app <앱 이름>] [--branch <브랜치>] [--no-wait]
GitHub App이 볼 수 있는 저장소를 이 프로젝트에 연결하고, 프로덕션 브랜치의 최신 커밋을 빌드해요(콘솔의 [연결하고 배포], MCP import_repository와 같아요).
모노레포는 앱 폴더마다 한 번씩 가져와요: oneend git import acme/mono --root apps/web, 그다음 --root apps/admin.
연결한 저장소에서 다른 폴더를 고르면 새 앱이 되고, 주소도 따로 받아요(oneend apps ls). 데이터베이스·키·프로젝트 환경 변수는 함께 써요.
설치는 저장소 맨 위(잠금 파일이 있는 곳)에서, 빌드는 앱 폴더에서 해요. 소유자·관리자만 할 수 있어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--root | <폴더> | 앱 폴더 (예: apps/web). 없으면 저장소 맨 위 |
--app | <앱 이름> | 앱 이름. 없으면 폴더 이름, 없으면 저장소 이름 |
--branch, -b | <브랜치> | 프로덕션 브랜치. 없으면 저장소의 기본 브랜치 |
--wait | 빌드가 끝날 때까지 로그를 보여 줘요 (기본 켬, --no-wait로 끔) | |
--timeout | <초> | 기다리는 최대 시간 (기본 1800초) |
oneend git checks
검사를 One Server에서 실행 (켜기·끄기)
사용법
oneend git checks [<owner/name> on|off]
연결한 GitHub 저장소의 GitHub Actions 검사를 One Server의 머신에서 실행해요(콘솔의 Git 연결 → 검사를 One Server에서 실행, MCP set_checks_on_server와 같아요).
인자 없이 부르면 저장소마다 상태를 보여 줘요. 켜면 저장소 변수 POOL_RUNNER를 저장하고, 작업이 아래 줄을 쓰면 One Server에서 돌아요:
runs-on: ${{ vars.POOL_RUNNER || 'ubuntu-latest' }}
끄면 변수를 지워 다음 작업부터 GitHub의 머신에서 돌아요. 바꾸는 건 소유자·관리자만 할 수 있어요.
인자 0~2개
옵션
이 명령만의 옵션은 없어요.
oneend apps ls
이 프로젝트의 앱과 주소
사용법
oneend apps ls
앱마다 저장소, 폴더(루트 디렉터리), 프로덕션 브랜치, 프로덕션 주소를 보여 줘요. 프로젝트의 사이트는 <ref>--site, 다른 앱은 <ref>--<앱> 주소를 받아요.
옵션
이 명령만의 옵션은 없어요.
oneend apps set
앱 하나의 설정을 바꿔요 (--run-as)
사용법
oneend apps set <앱 이름> --run-as <platform|image>
--run-as image: 이미지에 적힌 사용자(root 포함)로 gVisor 격리 환경에서 실행해요. WordPress 공식 이미지처럼 root로 시작해야 하는 Dockerfile 앱에만 쓰세요. root여도 다른 프로젝트에는 닿지 못해요. --run-as platform(기본): 일반 사용자(10001)로 실행해요.
바꾸면 다시 빌드하지 않고 1분 안에 서버가 다시 시작해요(콘솔의 빌드 설정, MCP update_app의 run_as와 같아요). 소유자·관리자만 바꿀 수 있어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--run-as | <platform|image> | 서버를 누구로 실행할지: platform(일반 사용자 10001) 또는 image(이미지의 사용자, gVisor) |
oneend apps delete
앱 하나를 지워요 (주소와 배포까지)
사용법
oneend apps delete <앱 이름> [--yes]
주소는 바로 내려가고, 진행 중인 빌드는 취소되고, 배포는 복원 없이 지워져요. 저장소에 폴더가 남아 있어도 다시 빌드하지 않아요. 프로젝트의 기본 사이트, 도메인이 연결된 앱, 디스크가 있는 앱은 지우지 않고 먼저 할 일을 알려줘요(콘솔의 앱 설정, MCP delete_app과 같아요). 소유자·관리자만 지울 수 있어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend apps settings
앱 설정: 서버가 듣는 포트
사용법
oneend apps settings <앱> --port <포트|auto>
auto면 이미지의 EXPOSE, 없으면 3000이에요. 바꾸면 1분 안에 서버가 다시 시작해요. 소유자·관리자만 바꿀 수 있어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--port | <포트|auto> | 1~65535, 또는 auto |
볼륨
| 사용법 | 설명 |
|---|---|
oneend volumes ls | 앱의 볼륨과 백업, 앱마다 서버가 듣는 포트 |
oneend volumes create | 앱의 프로덕션 서버에 볼륨을 붙여요 |
oneend volumes resize | 볼륨을 더 크게 해요 (줄일 수는 없어요) |
oneend volumes rm | 볼륨과 그 파일·백업을 지워요 (되돌릴 수 없어요) |
oneend volumes backup | 볼륨의 파일을 지금 백업해요 (30일 보관) |
oneend volumes restore | 볼륨을 백업으로 되돌려요 (지금 파일은 먼저 7일 백업) |
oneend volumes ls
앱의 볼륨과 백업, 앱마다 서버가 듣는 포트
사용법
oneend volumes ls
볼륨은 서버를 다시 시작하거나 새로 배포해도 남는 디스크예요. 프로덕션 서버에만 붙어요.
옵션
이 명령만의 옵션은 없어요.
oneend volumes create
앱의 프로덕션 서버에 볼륨을 붙여요
사용법
oneend volumes create <앱> <경로> [--size <GB>]
WordPress라면 경로는 /var/www/html이에요. 1분 안에 준비되고 서버가 다시 시작해요. 소유자·관리자만 할 수 있어요.
인자 2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--size | <GB> | 크기 GB (기본 1, 1~500) |
oneend volumes resize
볼륨을 더 크게 해요 (줄일 수는 없어요)
사용법
oneend volumes resize <id> <GB>
인자 2개
옵션
이 명령만의 옵션은 없어요.
oneend volumes rm
볼륨과 그 파일·백업을 지워요 (되돌릴 수 없어요)
사용법
oneend volumes rm <id> --confirm <경로>
되돌릴 수 없어서 --confirm에 볼륨 경로를 그대로 넣어야 해요(oneend volumes ls의 경로).
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--confirm | <경로> | 볼륨 경로, 예: /var/www/html |
oneend volumes backup
볼륨의 파일을 지금 백업해요 (30일 보관)
사용법
oneend volumes backup <id>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend volumes restore
볼륨을 백업으로 되돌려요 (지금 파일은 먼저 7일 백업)
사용법
oneend volumes restore <id> <백업 id>
인자 2개
옵션
이 명령만의 옵션은 없어요.
파일 저장소
| 사용법 | 설명 |
|---|---|
oneend storage ls | 버킷, 또는 버킷 안의 파일을 보여줘요 |
oneend storage upload | 내 컴퓨터의 파일을 버킷에 올려요 |
oneend storage download | 버킷의 파일을 내 컴퓨터로 받아요 |
oneend storage rm | 버킷의 파일을 지워요 (되돌릴 수 없어요) |
oneend storage ls
버킷, 또는 버킷 안의 파일을 보여줘요
사용법
oneend storage ls [<버킷>[/<폴더>]]
버킷을 빼면 버킷 목록이에요. 폴더는 한 단계씩 보여줘요: oneend storage ls photos/2026
인자 0~1개
옵션
이 명령만의 옵션은 없어요.
oneend storage upload
내 컴퓨터의 파일을 버킷에 올려요
사용법
oneend storage upload <파일> <버킷>/<이름> [--replace]
같은 이름의 파일이 있으면 멈춰요. 바꾸려면 --replace를 붙이세요. 2MB보다 큰 파일도 올릴 수 있어요(플랜의 파일 한도까지).
인자 2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--replace | 같은 이름의 파일이 있으면 바꿔요 | |
--content-type | <종류> | 파일 종류, 예: image/png (기본은 확장자로 정해요) |
oneend storage download
버킷의 파일을 내 컴퓨터로 받아요
사용법
oneend storage download <버킷>/<이름> [<파일>]
저장할 파일을 빼면 이름의 마지막 부분으로 현재 폴더에 저장해요. 같은 이름의 파일이 있으면 멈춰요. 바꾸려면 --replace를 붙이세요.
인자 1~2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--replace | 내 컴퓨터에 같은 이름의 파일이 있으면 바꿔요 |
oneend storage rm
버킷의 파일을 지워요 (되돌릴 수 없어요)
사용법
oneend storage rm <버킷>/<이름> --yes
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
전용 서버
| 사용법 | 설명 |
|---|---|
oneend server | 전용 서버를 봐요 (크기, 위치, 대기 서버, 작업) |
oneend server request | 전용 서버를 빌려요 |
oneend server resize | 전용 서버 크기를 바꿔요 (지금 또는 오늘 새벽) |
oneend server standby | 대기 서버를 켜거나 꺼요 (auto면 자동 전환) |
oneend server move | 전용 서버를 다른 위치로 옮겨요 (한 달에 한 번, 무료) |
oneend server release | 전용 서버를 반납해요 |
oneend server restore-days | 되돌리기 기간을 7일 또는 28일로 정해요 |
oneend server
전용 서버를 봐요 (크기, 위치, 대기 서버, 작업)
사용법
oneend server [--project <ref>]
크기와 위치별 월 금액은 oneend server-sizes(MCP list_server_sizes)로 봐요.
옵션
이 명령만의 옵션은 없어요.
oneend server request
전용 서버를 빌려요
사용법
oneend server request <크기> [<위치>]
보통 10분 안에 준비되고, 데이터베이스와 앱을 옮긴 뒤 주소를 바꿔요. Pro부터, 소유자·관리자만 할 수 있어요.
인자 1~2개
옵션
이 명령만의 옵션은 없어요.
oneend server resize
전용 서버 크기를 바꿔요 (지금 또는 오늘 새벽)
사용법
oneend server resize <크기> [now|tonight]
tonight는 서버 위치 시간 새벽 3~5시예요. 대기 서버가 없으면 3~5분 동안 응답하지 않아요. 소유자·관리자만 할 수 있어요.
인자 1~2개
옵션
이 명령만의 옵션은 없어요.
oneend server standby
대기 서버를 켜거나 꺼요 (auto면 자동 전환)
사용법
oneend server standby on|off [auto]
대기 서버는 같은 위치·같은 크기이고, 데이터베이스를 계속 복제해요. auto면 주 서버가 60초 응답하지 않을 때 저절로 바꿔요. 소유자·관리자만 할 수 있어요.
인자 1~2개
옵션
이 명령만의 옵션은 없어요.
oneend server move
전용 서버를 다른 위치로 옮겨요 (한 달에 한 번, 무료)
사용법
oneend server move <위치>
주소를 바꾸는 순간 쓰기가 몇 초 멈춰요. 옛 서버는 7일 동안 남겨요. 소유자·관리자만 할 수 있어요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend server release
전용 서버를 반납해요
사용법
oneend server release <프로젝트>
마지막 백업을 받고 데이터베이스와 앱을 공용 서버로 옮긴 뒤 서버를 지워요. 옮기는 동안 쓰기가 멈춰요. 확인으로 프로젝트 ID(ref)를 그대로 주세요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend server restore-days
되돌리기 기간을 7일 또는 28일로 정해요
사용법
oneend server restore-days 7|28
28일은 전용 서버에서만 되고 월 추가 요금이 있어요. 소유자·관리자만 할 수 있어요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
다른 서버에서 가져오기
| 사용법 | 설명 |
|---|---|
oneend import sources | 연결한 원본 계정과 그 프로젝트, 지금까지의 가져오기 |
oneend import start | 가져오기를 시작해요 |
oneend import get | 가져오기 진행 상황 |
oneend import auth | Supabase 프로젝트의 로그인 설정을 이 프로젝트로 복사해요 |
oneend import storage | Supabase 프로젝트의 버킷과 파일을 이 프로젝트로 복사해요 |
oneend import sources
연결한 원본 계정과 그 프로젝트, 지금까지의 가져오기
사용법
oneend import sources [--org <이름>]
다른 서버에서 가져오기(콘솔의 조직 메뉴, MCP import_sources와 같아요). 원본 계정(Supabase, Vercel, PostgreSQL)은 콘솔에서 한 번 연결해요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--org | <이름> | 조직의 id나 이름. 없으면 첫 조직 |
oneend import start
가져오기를 시작해요
사용법
oneend import start (<가져오기 id> | --connection <id> --project <id>) [--org <이름>]
콘솔에서 나눈 가져오기, 또는 원본 계정의 프로젝트를 묶음마다 새 프로젝트로 가져와요(콘솔의 [가져오기 시작], MCP start_import와 같아요).
Supabase 원본은 세션 풀러 연결 문자열을 환경 변수 ONEEND_SOURCE_DB_URL로 넘겨요. 이번 실행에만 쓰고 지워요.
멈춘 가져오기를 다시 시작하면 끝난 곳은 건너뛰고 바뀐 것만 옮겨요. 상태는 oneend import get <id>로 봐요.
인자 0~1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--connection | <id> | 원본 계정 (oneend import sources의 connection) |
--project | <id> | 원본 프로젝트 |
--org | <이름> | 조직의 id나 이름. 없으면 첫 조직 |
oneend import get
가져오기 진행 상황
사용법
oneend import get <가져오기 id> [--org <이름>]
옮길 곳마다 단계별 상태를 보여 줘요(MCP get_import와 같아요).
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--org | <이름> | 조직의 id나 이름. 없으면 첫 조직 |
oneend import auth
Supabase 프로젝트의 로그인 설정을 이 프로젝트로 복사해요
사용법
oneend import auth --connection <id> --from <ref> [--providers <이름>] [--dry-run] [--org <이름>]
연결한 Supabase 계정으로 켜 둔 소셜 제공자, 돌아갈 주소 목록, 비어 있으면 사이트 주소를 연결된 프로젝트로 복사해요(MCP copy_auth_from_import와 같아요).
시크릿은 Supabase에서 바로 읽어 저장하고 화면에 보이지 않아요. 먼저 --dry-run으로 확인하세요.
끝나면 콜백 주소를 각 제공자 콘솔에 등록하세요. 등록 전에는 로그인이 실패해요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--connection | <id> | 원본 계정 (oneend import sources의 connection) |
--from | <ref> | Supabase 프로젝트 ref (MCP의 project) |
--providers | <이름> | 복사할 제공자. 여러 번 쓰거나 쉼표로 여럿 (기본: 켜 둔 것 모두) |
--dry-run | 바꾸지 않고 무엇을 복사할지만 보여 줘요 | |
--org | <이름> | 조직의 id나 이름. 없으면 첫 조직 |
oneend import storage
Supabase 프로젝트의 버킷과 파일을 이 프로젝트로 복사해요
사용법
oneend import storage --connection <id> --from <ref> [--buckets <이름>] [--rename <원래=새>] [--dry-run] [--org <이름>]
연결한 Supabase 계정으로 버킷과 파일을 연결된 프로젝트로 복사해요(MCP copy_storage_from_import와 같아요).
없는 버킷은 Supabase와 같은 공개 여부·한도로 만들고, 크기가 같은 파일이 이미 있으면 건너뛰어요. 끝날 때까지 이어서 불러요.
Supabase 키는 서버 안에서만 써요. 버킷의 접근 규칙은 옮기지 않아요. 먼저 --dry-run으로 확인하세요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--connection | <id> | 원본 계정 (oneend import sources의 connection) |
--from | <ref> | Supabase 프로젝트 ref (MCP의 project) |
--buckets | <이름> | 복사할 Supabase 버킷. 여러 번 쓰거나 쉼표로 여럿 (기본: 모두) |
--rename | <원래=새> | 버킷 이름 바꾸기. 없으면 소문자로, 공백은 -로 |
--dry-run | 바꾸지 않고 만들 버킷과 옮길 파일 수만 보여 줘요 | |
--org | <이름> | 조직의 id나 이름. 없으면 첫 조직 |
함수
| 사용법 | 설명 |
|---|---|
oneend functions ls | 배포한 함수 |
oneend functions deploy | 함수를 배포해요 (파일 하나 또는 폴더, 같은 이름이면 통째로 교체) |
oneend functions rm | 함수를 지워요 |
oneend functions download | 배포된 함수의 코드를 내려받아요 |
oneend functions invoke | 함수를 불러 봐요 (프로젝트의 비밀 키로) |
oneend functions limits | 함수의 시간 한도를 보거나 바꿔요 (호출 하나, SQL 한 문장) |
oneend functions egress | 함수의 외부 요청을 켜거나 꺼요 (fetch()로 공개 HTTPS 주소 부르기) |
oneend secrets list | 함수 시크릿 이름 (값은 보여 주지 않아요) |
oneend secrets set | 함수 시크릿을 저장해요 (같은 이름이면 덮어써요) |
oneend secrets copy | 다른 프로젝트의 함수 시크릿을 이름으로 복사해요 |
oneend secrets unset | 함수 시크릿을 지워요 |
oneend functions ls
배포한 함수
사용법
oneend functions ls
옵션
이 명령만의 옵션은 없어요.
oneend functions deploy
함수를 배포해요 (파일 하나 또는 폴더, 같은 이름이면 통째로 교체)
사용법
oneend functions deploy <이름> [파일 또는 폴더] [--public | --private]
파일이 없으면 oneend/functions/<이름>/ 폴더, supabase/functions/<이름>/ 폴더, oneend/functions/<이름>.ts 순서로 찾아요.
폴더면 index.ts(또는 index.js)에서 시작하고, 다른 모듈과 package.json, deno.json도 보내요(.gitignore를 따르고 node_modules는 빼요). ../_shared/처럼 옆 폴더를 import하면 그 폴더도 보내요.
npm:·jsr:·URL import와 deno.json의 imports는 배포할 때 받아서 함께 묶어요.
함수는 프로덕션 비밀을 읽을 수 있어 소유자·관리자만 배포할 수 있어요.
인자 1~2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--public | 키 없이 부를 수 있게 해요 (결제사 웹훅 등). --no-public은 비공개 | |
--private | 비공개로 둬요: 이 프로젝트의 키(공개 키·사용자 토큰·비밀 키)가 있어야 부를 수 있음 (새 함수의 기본) |
oneend functions rm
함수를 지워요
사용법
oneend functions rm <이름> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend functions download
배포된 함수의 코드를 내려받아요
사용법
oneend functions download <이름> [파일]
파일이 없으면 표준 출력으로 써요.
인자 1~2개
옵션
이 명령만의 옵션은 없어요.
oneend functions invoke
함수를 불러 봐요 (프로젝트의 비밀 키로)
사용법
oneend functions invoke <이름> [--data <JSON>] [--method <POST>] [--header <이름: 값>]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--data, -d | <본문> | 보낼 본문 (JSON이면 content-type도 JSON). @파일로 파일 내용 |
--method, -X | <메서드> | 기본 POST |
--header, -H | <이름: 값> | 더 보낼 헤더 (여러 번) |
oneend functions limits
함수의 시간 한도를 보거나 바꿔요 (호출 하나, SQL 한 문장)
사용법
oneend functions limits <이름> [--timeout <초>] [--sql-timeout <초>]
기본은 호출 하나에 150초(Supabase 엣지 함수와 같음), SQL 한 문장에 8초예요. 이 서버의 최대는 timeout_cap_seconds예요.
default를 주면 기본값으로 돌아가요. 플래그가 없으면 지금 한도를 보여 줘요. 다음 호출부터 적용되고, 한도를 넘긴 호출은 504로 끊겨요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--timeout | <초> | 호출 하나에 쓸 수 있는 초 (default면 기본 150초) |
--sql-timeout | <초> | SQL 한 문장에 쓸 수 있는 초 (default면 기본 8초) |
oneend functions egress
함수의 외부 요청을 켜거나 꺼요 (fetch()로 공개 HTTPS 주소 부르기)
사용법
oneend functions egress [on | off]
기본은 꺼져 있어요. 꺼져 있으면 함수는 이 프로젝트의 데이터베이스와 API에만 닿아요.
켜면 서버가 대신 요청하고 모두 함수 로그에 남아요. 내부 주소는 막아요. 함수 코드가 데이터를 밖으로 보낼 수 있게 되니 필요할 때만 켜세요.
인자가 없으면 지금 상태를 보여 줘요. 30초 안에 적용돼요. 소유자·관리자만 바꿀 수 있어요.
인자 0~1개
옵션
이 명령만의 옵션은 없어요.
oneend secrets list
함수 시크릿 이름 (값은 보여 주지 않아요)
사용법
oneend secrets list
옵션
이 명령만의 옵션은 없어요.
oneend secrets set
함수 시크릿을 저장해요 (같은 이름이면 덮어써요)
사용법
oneend secrets set <이름=값>... [--env-file <파일>]
함수만 보는 값이에요. 사이트 빌드에는 들어가지 않고, 함수는 다음 호출부터 process.env로 읽어요. 저장한 값은 다시 볼 수 없어요.
값 없이 이름 하나만 주면 표준 입력에서 읽어요(셸 기록에 남지 않게): printf %s "$KEY" | oneend secrets set RESEND_API_KEY
전부 저장되거나 하나도 저장되지 않아요. 소유자·관리자만 할 수 있어요.
인자 0~100개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--env-file | <파일> | .env 파일의 변수를 모두 시크릿으로 저장해요 |
oneend secrets copy
다른 프로젝트의 함수 시크릿을 이름으로 복사해요
사용법
oneend secrets copy --from <ref> <이름>... [--overwrite]
값은 서버 안에서만 옮겨지고 화면에는 이름만 나와요. 다른 프로젝트에 이미 넣은 키를 다시 붙여 넣지 않아도 돼요.
이 프로젝트에 이미 있는 이름은 건너뛰어요. 바꾸려면 --overwrite를 붙여요. 원본에 없는 이름은 따로 알려 주고 나머지는 복사해요.
한 번에 50개까지예요. 두 프로젝트 모두에서 소유자·관리자여야 해요.
인자 1~50개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--from | <ref> | 복사해 올 프로젝트 (oneend projects list의 ref) |
--overwrite | 이 프로젝트에 같은 이름이 있으면 바꿔요 |
oneend secrets unset
함수 시크릿을 지워요
사용법
oneend secrets unset <이름>... [--yes]
인자 1~100개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
GPU
| 사용법 | 설명 |
|---|---|
oneend gpu | GPU 요금과 이 프로젝트의 GPU 작업·서버 |
oneend gpu jobs create | GPU를 빌려 명령을 끝까지 실행해요 (유료) |
oneend gpu jobs get | GPU 작업 하나의 상태와 출력 끝부분 |
oneend gpu jobs cancel | GPU 작업을 멈춰요 |
oneend gpu servers create | 모델을 띄워 둘 GPU 서버를 만들어요 (유료) |
oneend gpu servers stop | GPU 서버를 지금 멈춰요 |
oneend gpu servers rm | GPU 서버를 지워요 |
oneend gpu volumes create | 모델과 데이터를 남겨 둘 GPU 저장소를 만들어요 (유료) |
oneend gpu volumes rm | GPU 저장소와 그 안의 파일을 지워요 |
oneend gpu
GPU 요금과 이 프로젝트의 GPU 작업·서버
사용법
oneend gpu
GPU는 초 단위로 빌려요. Pro 이상 요금제에서 쓸 수 있어요.
옵션
이 명령만의 옵션은 없어요.
oneend gpu jobs create
GPU를 빌려 명령을 끝까지 실행해요 (유료)
사용법
oneend gpu jobs create <이미지> "<명령>" [--gpu rtx4090] [--region auto] [--volume <이름>] [--name <이름>] [--env-file .env] [--max-minutes 60] [--yes]
명령이 끝나거나 --max-minutes가 지나면 GPU를 돌려줘요. 빌린 순간부터 돌려줄 때까지 초 단위로 청구돼요(이미지 받는 시간 포함).
결과는 GPU 저장소나 외부에 올려야 남아요. 이미지에 curl, wget, python3 중 하나가 있어야 시작과 끝을 알 수 있어요.
인자 2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 | |
--gpu | <rtx4090|l40s|a100|h100> | GPU 장비 (기본 rtx4090) |
--region | <auto|asia|us|eu> | 빌릴 지역 (기본 auto, asia는 일본·인도) |
--volume | <이름> | /workspace에 붙일 GPU 저장소. 그 저장소의 데이터센터에서 빌려요 |
--name | <이름> | 작업 이름 |
--env-file | <파일> | 환경 변수 파일 (.env 형식). 암호화해 저장해요 |
--max-minutes | <분> | 최대 실행 시간 (기본 60, 최대 10080) |
oneend gpu jobs get
GPU 작업 하나의 상태와 출력 끝부분
사용법
oneend gpu jobs get <작업 id>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend gpu jobs cancel
GPU 작업을 멈춰요
사용법
oneend gpu jobs cancel <작업 id>
시작 전이면 시작하지 않고, 실행 중이면 GPU를 돌려줘요. 돌려줄 때까지 쓴 시간은 청구돼요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend gpu servers create
모델을 띄워 둘 GPU 서버를 만들어요 (유료)
사용법
oneend gpu servers create <이름> <이미지> [--gpu l40s] [--region auto] [--volume <이름>] [--command "<명령>"] [--port 8000] [--idle-minutes 15] [--env-file .env] [--yes]
첫 요청 때 켜지고(켜지는 동안 503), --idle-minutes 동안 요청이 없으면 꺼져요. 0이면 계속 켜 둬요.
주소는 secret 키로 불러요. 켜기 시작한 순간부터 꺼질 때까지 초 단위로 청구돼요(이미지 받는 시간 포함).
인자 2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 | |
--gpu | <rtx4090|l40s|a100|h100> | GPU 장비 (기본 rtx4090) |
--region | <auto|asia|us|eu> | 빌릴 지역 (기본 auto, asia는 일본·인도) |
--volume | <이름> | /workspace에 붙일 GPU 저장소. 그 저장소의 데이터센터에서 빌려요 |
--command | <명령> | 비우면 이미지의 기본 명령 |
--port | <포트> | 서버가 듣는 포트 (기본 8000) |
--idle-minutes | <분> | 요청 없이 이만큼 지나면 꺼요 (기본 15, 0은 계속 켜 둠) |
--env-file | <파일> | 환경 변수 파일 (.env 형식). 암호화해 저장해요 |
oneend gpu servers stop
GPU 서버를 지금 멈춰요
사용법
oneend gpu servers stop <이름>
곧 꺼져요. 꺼질 때까지 쓴 시간은 청구돼요. 다음 요청 때 다시 켜져요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend gpu servers rm
GPU 서버를 지워요
사용법
oneend gpu servers rm <이름> [--yes]
켜져 있으면 먼저 끄고 지워요. 되돌릴 수 없어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend gpu volumes create
모델과 데이터를 남겨 둘 GPU 저장소를 만들어요 (유료)
사용법
oneend gpu volumes create <이름> --datacenter <데이터센터> [--size 50] [--yes]
작업이나 서버에 --volume으로 주면 /workspace에 붙어요. 그 작업과 서버는 이 데이터센터에서만 GPU를 빌려요.
쓰지 않아도 지울 때까지 1GB·월 요금이 청구돼요. 한국에서 가까운 곳은 AP-JP-1(일본)이에요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 | |
--datacenter | <데이터센터> | 데이터센터, 예: AP-JP-1 (목록은 oneend gpu --json) |
--size | <GB> | 크기 GB (기본 50, 10~4000) |
oneend gpu volumes rm
GPU 저장소와 그 안의 파일을 지워요
사용법
oneend gpu volumes rm <이름> [--yes]
쓰는 작업이나 서버가 있으면 지우지 않아요. 되돌릴 수 없어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
네트워크
| 사용법 | 설명 |
|---|---|
oneend network | 프로젝트의 받는 주소와 고정 아웃바운드 IP |
oneend network static-ip | 고정 아웃바운드 IP를 켜거나 꺼요 (유료) |
oneend network
프로젝트의 받는 주소와 고정 아웃바운드 IP
사용법
oneend network
받는 주소는 커스텀 도메인의 A 레코드에 써요.
나가는 주소는 고정 아웃바운드 IP(유료, Pro 이상)를 켜야 고정돼요. 켜지 않으면 공유 주소라 예고 없이 바뀔 수 있어요.
옵션
이 명령만의 옵션은 없어요.
oneend network static-ip
고정 아웃바운드 IP를 켜거나 꺼요 (유료)
사용법
oneend network static-ip <on|off> [--yes]
월 요금을 쓴 기간만큼 내요. Pro 이상 요금제에서 소유자·관리자·결제 담당자만 할 수 있어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
데이터베이스
| 사용법 | 설명 |
|---|---|
oneend migration new | 빈 마이그레이션 파일을 만들어요 |
oneend migration list | 로컬 마이그레이션과 원격 적용 기록을 나란히 |
oneend migration repair | 원격 적용 기록을 고쳐요 (실행하지 않음) |
oneend db push | 적용하지 않은 마이그레이션을 순서대로 적용해요 |
oneend db pull | 지금 스키마를 마이그레이션 파일로 내려받아요 |
oneend gen types typescript | supabase-js용 TypeScript 타입을 만들어요 |
oneend db schemas | 프로젝트가 만든 스키마와 노출 여부 |
oneend db schemas expose | 스키마를 데이터 API에 노출해요 |
oneend db schemas hide | 스키마를 데이터 API에서 숨겨요 |
oneend db move | 전용 데이터베이스로 옮기기 상태 |
oneend db move now | 전용 데이터베이스로 옮기기를 요청해요 |
oneend db disk | 전용 디스크 |
oneend db disk request | 전용 디스크로 옮기기를 요청해요 |
oneend db disk shrink | 전용 디스크를 줄여요 |
oneend branches list | 데이터베이스 브랜치 목록 |
oneend branches create | 프로젝트의 스키마로 데이터베이스 브랜치를 만들어요 |
oneend branches merge | 브랜치의 마이그레이션을 프로젝트에 적용해요 |
oneend branches reset | 브랜치를 프로젝트의 스키마로 다시 만들어요 |
oneend branches delete | 브랜치와 그 데이터베이스를 지워요 |
oneend migration new
빈 마이그레이션 파일을 만들어요
사용법
oneend migration new <이름>
oneend/migrations/<YYYYMMDDHHMMSS>_<이름>.sql을 만들어요. 표준 입력으로 내용을 넘길 수도 있어요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend migration list
로컬 마이그레이션과 원격 적용 기록을 나란히
사용법
oneend migration list
옵션
이 명령만의 옵션은 없어요.
oneend migration repair
원격 적용 기록을 고쳐요 (실행하지 않음)
사용법
oneend migration repair <버전...> --status <applied|reverted>
applied: 로컬 파일을 실행하지 않고 적용한 것으로 기록해요.
reverted: 기록만 지워요. 그 마이그레이션이 만든 것은 그대로예요.
인자 1개 이상
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--status | <applied|reverted> | 어느 쪽으로 고칠지 |
oneend db push
적용하지 않은 마이그레이션을 순서대로 적용해요
사용법
oneend db push [--dry-run] [--include-all] [--yes]
파일 하나가 트랜잭션 하나예요. 실패하면 그것만 되돌리고 멈춰요(종료 코드 1). 기록은 oneend_migrations 표에 남아요.
supabase/migrations의 파일을 oneend/migrations에 그대로 복사해도 돼요. public., auth.uid(), to authenticated 같은 Supabase 이름은 이 프로젝트의 이름으로 바꿔 실행해요(Supabase 이름 변환).
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--dry-run | 적용하지 않고 무엇이 적용될지만 보여 줘요 | |
--include-all | 원격의 마지막 버전보다 앞선 로컬 마이그레이션도 적용해요 | |
--yes, -y | 묻지 않고 바로 해요 |
oneend db pull
지금 스키마를 마이그레이션 파일로 내려받아요
사용법
oneend db pull [이름] [--no-record]
표·제약·인덱스·함수·뷰·트리거·RLS 규칙을 SQL로 받아 oneend/migrations/<버전>_<이름>.sql(기본 remote_schema)로 써요.
그 파일은 적용한 것으로 기록돼서 db push가 다시 실행하지 않아요(--no-record로 끔).
인자 0~1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--record | 적용한 것으로 기록해요 (기본 켬) |
oneend gen types typescript
supabase-js용 TypeScript 타입을 만들어요
사용법
oneend gen types typescript [--schema public] [--output <파일>]
표준 출력으로 써요: oneend gen types typescript > src/database.types.ts
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--schema, -s | <스키마> | 기본 public. 프로젝트가 만든 스키마(oneend db schemas)도 돼요 |
--output, -o | <파일> | 표준 출력 대신 이 파일에 |
oneend db schemas
프로젝트가 만든 스키마와 노출 여부
사용법
oneend db schemas
노출한 스키마는 데이터 API가 Accept-Profile·Content-Profile 헤더(supabase-js의 db: { schema })로 답해요. public은 늘 노출돼요.
옵션
이 명령만의 옵션은 없어요.
oneend db schemas expose
스키마를 데이터 API에 노출해요
사용법
oneend db schemas expose <이름...>
접근 규칙(RLS)과 권한은 public과 같게 적용돼요. 소유자·관리자만 할 수 있어요.
인자 1개 이상
옵션
이 명령만의 옵션은 없어요.
oneend db schemas hide
스키마를 데이터 API에서 숨겨요
사용법
oneend db schemas hide <이름...>
스키마와 데이터는 그대로예요. 데이터 API만 그 스키마에 PGRST106(406)으로 답해요.
인자 1개 이상
옵션
이 명령만의 옵션은 없어요.
oneend db move
전용 데이터베이스로 옮기기 상태
사용법
oneend db move
Vault와 큰 데이터베이스는 전용 데이터베이스에서만 쓸 수 있어요. 옮기려면 oneend db move now.
옵션
이 명령만의 옵션은 없어요.
oneend db move now
전용 데이터베이스로 옮기기를 요청해요
사용법
oneend db move now [--yes]
콘솔의 "지금 옮기기"와 같아요. 차례가 오면 옮기고, 옮기는 동안 쓰기는 멈추고 읽기는 돼요. 옮기기 직전 상태를 백업해 두고, 실패하면 원래 자리에 그대로 있어요. Pro 요금제부터, 소유자·관리자만 할 수 있어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend db disk
전용 디스크
사용법
oneend db disk
데이터베이스가 커진 프로젝트는 이 프로젝트만 쓰는 디스크와 Postgres로 옮겨요. 크기, 쓴 공간, 한 달 비용, 줄이기 제안을 보여 줘요.
옵션
이 명령만의 옵션은 없어요.
oneend db disk request
전용 디스크로 옮기기를 요청해요
사용법
oneend db disk request [--yes]
콘솔의 "전용 디스크로 옮기기"와 같아요. 디스크 크기만큼 청구되고, 옮기는 동안 쓰기는 실패하고 읽기는 돼요. Enterprise는 언제든, 다른 유료 요금제는 기준을 넘으면 요청할 수 있어요. 소유자·관리자만 할 수 있어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend db disk shrink
전용 디스크를 줄여요
사용법
oneend db disk shrink [--yes]
콘솔의 "디스크 줄이기"와 같아요. 더 작은 디스크를 만들어 옮기고 원래 디스크를 지워요. 7일 동안 25% 아래로 쓴 디스크만 줄일 수 있어요. 옮기는 동안 쓰기가 실패하고 읽기는 돼요. 소유자·관리자만 할 수 있어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend branches list
데이터베이스 브랜치 목록
사용법
oneend branches list
옵션
이 명령만의 옵션은 없어요.
oneend branches create
프로젝트의 스키마로 데이터베이스 브랜치를 만들어요
사용법
oneend branches create [이름] [--git-branch <브랜치>] [--no-seed] [--with-data]
프로젝트의 마이그레이션을 다시 실행하고 시드를 넣어요. --with-data를 주면 그 대신 프로젝트의 데이터를 512MB까지 복사해요(파일 제외). --git-branch를 주면 그 브랜치의 미리보기 배포가 이 데이터베이스를 써요.
인자 0~1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--git-branch | <브랜치> | 연결할 git 브랜치 |
--no-seed | 시드를 넣지 않아요 | |
--with-data | 프로젝트의 데이터도 복사해요 |
oneend branches merge
브랜치의 마이그레이션을 프로젝트에 적용해요
사용법
oneend branches merge <이름> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend branches reset
브랜치를 프로젝트의 스키마로 다시 만들어요
사용법
oneend branches reset <이름> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend branches delete
브랜치와 그 데이터베이스를 지워요
사용법
oneend branches delete <이름> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
엣지
| 사용법 | 설명 |
|---|---|
oneend edge-config ls | 엣지 설정 목록 |
oneend edge-config set | 엣지 설정에 값을 저장해요 |
oneend edge-config rm | 엣지 설정에서 키를 지워요 |
oneend edge-config history | 엣지 설정 변경 기록 |
oneend kv ls | KV 키 목록 |
oneend kv get | KV 값 하나 |
oneend kv set | KV에 값을 저장해요 |
oneend kv rm | KV 키를 지워요 |
oneend rollout status | 점진적 배포 상태 |
oneend rollout advance | 점진적 배포를 다음 단계로 |
oneend rollout promote | 점진적 배포를 모두에게 |
oneend rollout abort | 점진적 배포를 중단하고 되돌려요 |
oneend analytics | 웹 분석 요약 |
oneend edge-config ls
엣지 설정 목록
사용법
oneend edge-config ls
옵션
이 명령만의 옵션은 없어요.
oneend edge-config set
엣지 설정에 값을 저장해요
사용법
oneend edge-config set <키> <값>
값은 JSON으로 읽히면 JSON(true, 3, {"enabled": true, "percent": 20}), 아니면 글자로 저장해요. 몇 초 안에 모든 서버에 적용돼요.
인자 2개
옵션
이 명령만의 옵션은 없어요.
oneend edge-config rm
엣지 설정에서 키를 지워요
사용법
oneend edge-config rm <키>...
인자 1개 이상
옵션
이 명령만의 옵션은 없어요.
oneend edge-config history
엣지 설정 변경 기록
사용법
oneend edge-config history
옵션
이 명령만의 옵션은 없어요.
oneend kv ls
KV 키 목록
사용법
oneend kv ls [접두어]
인자 0~1개
옵션
이 명령만의 옵션은 없어요.
oneend kv get
KV 값 하나
사용법
oneend kv get <키>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend kv set
KV에 값을 저장해요
사용법
oneend kv set <키> <값> [--ttl <초>]
인자 2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--ttl | <초> | 만료까지 초 |
oneend kv rm
KV 키를 지워요
사용법
oneend kv rm <키>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend rollout status
점진적 배포 상태
사용법
oneend rollout status
옵션
이 명령만의 옵션은 없어요.
oneend rollout advance
점진적 배포를 다음 단계로
사용법
oneend rollout advance
옵션
이 명령만의 옵션은 없어요.
oneend rollout promote
점진적 배포를 모두에게
사용법
oneend rollout promote
옵션
이 명령만의 옵션은 없어요.
oneend rollout abort
점진적 배포를 중단하고 되돌려요
사용법
oneend rollout abort [--reason <이유>]
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--reason | <이유> | 기록에 남길 이유 |
oneend analytics
웹 분석 요약
사용법
oneend analytics [--days <1|7|30|90>]
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--days | <일> | 기간 (기본 7) |
알림 채널·로그인·인증 메일
| 사용법 | 설명 |
|---|---|
oneend auth providers ls | 로그인 제공자 목록 |
oneend auth providers set | 로그인 제공자를 설정하고 켜요 (custom:<이름>은 주소까지) |
oneend auth providers rm | 로그인 제공자 설정을 지워요 |
oneend channels | 알림 채널 목록 (Slack·카카오워크·웹훅·메일) |
oneend channels add | 알림 채널을 추가해요 |
oneend channels test | 채널 하나에 시험 메시지를 보내요 |
oneend channels rm | 알림 채널을 지워요 |
oneend auth smtp | SMTP 설정 (인증 메일을 보내는 서버) |
oneend auth smtp set | SMTP 설정을 저장해요 |
oneend auth smtp test | SMTP 서버로 시험 메일을 보내요 |
oneend auth smtp rm | SMTP 설정을 지워요 |
oneend auth templates | 이메일 템플릿 목록 |
oneend auth templates get | 이메일 템플릿 하나를 봐요 |
oneend auth templates set | 이메일 템플릿을 저장해요 |
oneend auth templates preview | 이메일 템플릿을 예시 값으로 미리 봐요 |
oneend auth templates reset | 이메일 템플릿을 기본 문구로 되돌려요 |
oneend auth providers ls
로그인 제공자 목록
사용법
oneend auth providers ls
옵션
이 명령만의 옵션은 없어요.
oneend auth providers set
로그인 제공자를 설정하고 켜요 (custom:<이름>은 주소까지)
사용법
oneend auth providers set <제공자> --client-id <값> [--client-secret <값>] [--provider-type <값>] [--issuer <주소>] [--authorize-url <주소>] [--token-url <주소>] [--userinfo-url <주소>] [--jwks-uri <주소>] [--scopes <값>] [--claim-map <값>]
기본 제공자(google, kakao 등)는 클라이언트 ID와 시크릿만 있으면 돼요.
custom:<이름>은 직접 등록하는 OAuth 2.0 / OpenID Connect 제공자예요(Supabase와 같은 이름). 인가·토큰 주소가 필요하고, OpenID Connect라면 --issuer만 줘도 돼요.
--provider-type oidc면 id_token을 issuer의 키(--jwks-uri, 비우면 issuer에서 찾아요)로 확인해서 읽어요. oauth2(기본)면 --claim-map으로 읽어요.
--claim-map(--claims)은 응답의 어느 필드가 id·email·email_verified·name·avatar·phone인지 JSON으로 적어요. 예: {"id":"id","email":"kakao_account.email"}
시크릿을 빼면 저장된 값을 그대로 둬요. 앱에서는 supabase.auth.signInWithOAuth({ provider: 'custom:<이름>' })로 로그인해요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--client-id | <값> | 제공자 앱의 클라이언트 ID |
--client-secret | <값> | 제공자 앱의 클라이언트 시크릿 (빼면 저장된 것을 그대로 둬요) |
--label | <이름> | 화면에 보일 이름 (custom:만) |
--issuer | <주소> | OpenID Connect issuer: 비운 주소를 채워요 (custom:만) |
--authorize-url | <주소> | 인가 주소 (custom:만) |
--token-url | <주소> | 토큰 주소 (custom:만) |
--userinfo-url | <주소> | 사용자 정보 주소, 없으면 id_token을 읽어요 (custom:만) |
--scopes | <값> | 로그인마다 요청할 scope (custom:만) |
--claim-map | <값> | 응답 필드 매핑, JSON (custom:만) |
--claims | <값> | --claim-map과 같아요 (custom:만) |
--provider-type | <값> | oidc 또는 oauth2: id_token을 확인할지, 매핑으로 읽을지 (custom:만) |
--discovery-url | <주소> | issuer의 설정 문서가 표준 경로에 없을 때 (custom:만) |
--jwks-uri | <주소> | id_token 서명 키 주소, 비우면 issuer에서 찾아요 (custom:만) |
--email-optional | 이메일 주소 없는 사용자도 로그인하게 해요 (custom:만) | |
--token-auth | <값> | body 또는 basic: 클라이언트 자격 증명을 보내는 방법 (custom:만) |
--no-pkce | PKCE를 보내지 않아요 (거부하는 제공자만, custom:만) | |
--disabled | 저장만 하고 켜지 않아요 |
oneend auth providers rm
로그인 제공자 설정을 지워요
사용법
oneend auth providers rm <제공자> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend channels
알림 채널 목록 (Slack·카카오워크·웹훅·메일)
사용법
oneend channels
옵션
이 명령만의 옵션은 없어요.
oneend channels add
알림 채널을 추가해요
사용법
oneend channels add --kind <slack|kakaowork|webhook|email> --name <이름> (--url <주소> | --email <주소>…) [--notices deployments,usage]
메일 채널은 --email을 여러 번(또는 쉼표로) 넣어 10개까지 받아요. 주소마다 확인 메일을 보내고, 확인한 주소에만 알림을 보내요.
usage에는 사용량 한도 경고와 트래픽 급증 알림이 들어 있어요. 소유자·관리자만 할 수 있어요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--kind | <kind> | slack, kakaowork, webhook, email |
--name | <이름> | 채널 이름 |
--url | <주소> | Slack·카카오워크·웹훅 주소 |
--email, --emails | <주소> | 메일 채널의 받는 주소 (여러 번) |
--notices | <종류> | deployments, domains, usage, billing (비우면 전부) |
oneend channels test
채널 하나에 시험 메시지를 보내요
사용법
oneend channels test <id>
메일 채널이면 확인된 주소에만 보내고, 확인을 기다리는 주소에는 확인 메일을 다시 보내요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend channels rm
알림 채널을 지워요
사용법
oneend channels rm <id> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend auth smtp
SMTP 설정 (인증 메일을 보내는 서버)
사용법
oneend auth smtp
옵션
이 명령만의 옵션은 없어요.
oneend auth smtp set
SMTP 설정을 저장해요
사용법
oneend auth smtp set --sender-email <주소> --host <서버> --username <이름> [--password <비밀번호>] [--port 587] [--sender-name <이름>]
비밀번호는 --password 대신 ONEEND_SMTP_PASSWORD 환경 변수로 줄 수 있어요(셸 기록에 남지 않아요). 비우면 저장된 비밀번호를 그대로 써요.
저장한 뒤 oneend auth smtp test로 확인하세요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--sender-email | <주소> | 보내는 메일 주소 (Sender email) |
--sender-name | <이름> | 보내는 사람 이름 (Sender name) |
--host | <서버> | SMTP 서버 주소 (Host) |
--port | <포트> | 25, 465, 587, 2465, 2525 (기본 587) |
--username | <이름> | SMTP 사용자 이름 (Username) |
--password | <비밀번호> | SMTP 비밀번호 (Password) |
--minimum-interval | <초> | 같은 주소로 다시 보내기까지 최소 간격 (기본 60) |
--rate-limit-per-hour | <수> | 한 시간에 보낼 수 있는 메일 수 (기본 100) |
--disable | 설정은 두고 플랫폼 주소로 보내요 | |
--enable | 다시 이 서버로 보내요 |
oneend auth smtp test
SMTP 서버로 시험 메일을 보내요
사용법
oneend auth smtp test [--to <주소>]
플랫폼 주소로 대신 보내지 않아서, 실패하면 그 서버의 오류가 그대로 나와요. --to를 빼면 내 주소로 보내요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--to | <주소> | 받을 주소 |
oneend auth smtp rm
SMTP 설정을 지워요
사용법
oneend auth smtp rm [--yes]
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend auth templates
이메일 템플릿 목록
사용법
oneend auth templates
옵션
이 명령만의 옵션은 없어요.
oneend auth templates get
이메일 템플릿 하나를 봐요
사용법
oneend auth templates get <type>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend auth templates set
이메일 템플릿을 저장해요
사용법
oneend auth templates set <type> --subject <제목> --body-file <파일.html>
Supabase에서 쓰던 템플릿을 그대로 쓸 수 있어요: {{ .ConfirmationURL }}, {{ .Token }}, {{ .TokenHash }}, {{ .SiteURL }}, {{ .Email }}, {{ .NewEmail }}, {{ .RedirectTo }}, {{ .Data.<key> }}.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--subject | <제목> | 제목 (한 줄) |
--body | <HTML> | 본문 HTML |
--body-file | <파일> | 본문 HTML을 읽을 파일 |
oneend auth templates preview
이메일 템플릿을 예시 값으로 미리 봐요
사용법
oneend auth templates preview <type> [--subject <제목> --body-file <파일.html>]
--subject나 --body를 주면 저장하지 않고 그 내용을, 빼면 저장된 템플릿이나 기본 문구를 보여 줘요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--subject | <제목> | 제목 (한 줄) |
--body | <HTML> | 본문 HTML |
--body-file | <파일> | 본문 HTML을 읽을 파일 |
oneend auth templates reset
이메일 템플릿을 기본 문구로 되돌려요
사용법
oneend auth templates reset <type> [--yes]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
플랫폼 서버 (운영자)
oneend platform overview
플랫폼 전체 상황과 손볼 것을 봐요 (운영자)
사용법
oneend platform overview
조직·프로젝트 수, 고객 서버와 그 작업, 전용 디스크·서버 요청, 최근 24시간 배포, 검사 기계를 한 번에 보여 줘요. 아무것도 바꾸지 않아요.
옵션
이 명령만의 옵션은 없어요.
oneend platform find
주소·id·ref·도메인·이름으로 고객을 찾아요 (운영자)
사용법
oneend platform find <검색어>
조직마다 소유자, 요금제, 상태와 프로젝트마다 상태, 마지막 배포, 도메인, 고객 서버, 진행 중인 전용 요청을 보여 줘요.
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend platform pricing
고객 서버 판매 스위치와 크기별 원가·가격을 봐요 (운영자)
사용법
oneend platform pricing
옵션
이 명령만의 옵션은 없어요.
oneend platform pricing set
고객 서버 판매 스위치를 바꿔요 (운영자)
사용법
oneend platform pricing set [--customer-hosts on|off] [--server-sizes-listed on|off] [--customer-host-regions <지역,...>] [--krw-per-usd <수>] ...
준 항목만 바뀌고 바로 적용돼요. 감사 기록에 무엇에서 무엇으로 바꿨는지 남아요. 예: oneend platform pricing set --customer-hosts on --server-sizes-listed on
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--customer-hosts | on|off | 고객이 자기 서버를 빌릴 수 있어요 |
--server-sizes-listed | on|off | 서버 크기와 가격을 고객에게 보여 줘요 |
--region-rates | on|off | 지역별 사용량 요금을 적용해요 |
--build-machine-plans | on|off | 향상·터보 빌드 기계를 Pro 이상에만 열어요 |
--customer-host-regions | <지역,...> | 서버를 빌려줄 지역 코드, 쉼표로 여럿 |
--krw-per-usd | <수> | 마진 검사와 원 가격에 쓰는 환율 (원/달러) |
--customer-host-grace-days | <수> | 결제가 끊긴 뒤 읽기 전용으로 두는 날 수 (1~30) |
--customer-host-create-minutes | <수> | 새 기계가 답하지 않으면 다시 만드는 분 (3~60) |
--customer-host-max-attempts | <수> | 만들기를 다시 해 보는 횟수 (1~10) |
--customer-host-disk-gb | <수> | 새 서버의 디스크 GB (10~2000) |
--customer-host-move-days | <수> | 지역 옮기기 사이의 날 수 (1~365) |
--customer-host-retired-days | <수> | 옮긴 뒤 옛 서버를 두는 날 수 (0~30) |
oneend platform sizes
고객 서버 크기 목록을 봐요 (운영자)
사용법
oneend platform sizes
옵션
이 명령만의 옵션은 없어요.
oneend platform sizes set
고객 서버 크기를 만들거나 바꿔요 (운영자)
사용법
oneend platform sizes set <크기> [--machine <기계>] [--listed on|off] [--plan <요금제>|none] [--margin-floor <비율>] [--allow-loss] [--region <지역>:cost=<달러>:usd=<달러>:krw=<원>] [--cost-source <출처>]
크기 이름은 메모리예요(1gb는 e2-micro). 새 크기는 --listed on을 주지 않으면 숨겨진 채로 만들어져요.
예: oneend platform sizes set 1gb --machine e2-micro --region kr-seoul-1:cost=7.6:usd=35
원가보다 싸게 팔려면 --allow-loss가 필요해요. krw를 비우면 usd × 환율을 1,000원 단위로 올려요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--machine | <기계> | 구글 기계 (새 크기에는 꼭) |
--listed | on|off | 고객에게 보이고 빌릴 수 있어요 |
--plan | <요금제> | 이 크기가 들어 있는 요금제 (none이면 빼요) |
--margin-floor | <비율> | 가격이 넘어야 하는 마진 (0.3은 30%) |
--allow-loss | 원가보다 싸게 파는 것을 허용해요 | |
--region | <지역>:cost=<달러>:usd=<달러>:krw=<원> | 지역마다 기계 원가와 가격 (여러 번) |
--cost-source | <출처> | 원가를 어디서 쟀는지 |
--yes, -y | 묻지 않고 바로 해요 |
oneend platform servers
우리 서버의 크기·사용률·월 원가를 봐요 (운영자)
사용법
oneend platform servers
옵션
이 명령만의 옵션은 없어요.
oneend platform servers cpu
서비스 서버의 CPU를 몇 번, 얼마나 오래 썼는지 봐요 (운영자)
사용법
oneend platform servers cpu [--hours <시간>] [--step <분>] [--all]
분 단위 기록에서 읽어요. 기본은 최근 24시간을 5분 단위로, 80% 이상이었던 구간만 보여요. --all이면 모든 구간을 보여요. 기록은 48시간만 남아요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--hours | <시간> | 몇 시간 전부터 (1~48, 기본 24) |
--step | <분> | 구간 길이 (1~60분, 기본 5) |
--all | 80% 미만인 구간도 모두 보기 |
oneend platform servers change
서버 하나의 변경을 요청해요 (운영자)
사용법
oneend platform servers change --server main|build|standby|backup|vm|runner|pool|network|build-image --action <동작> [--to <크기>] [--when now|tonight] [--instance <이름>] [--zone <zone>] [--repo <owner/name>] [--location <지역>] [--region <지역>] [--reason <이유>]
서비스 서버 크기: --server main --action resize --to e2-standard-4 (모든 사이트가 3~5분 멈춰서 확인을 받아요. 기본 시각은 오늘 새벽 03:00~05:00).
빌드 서버: --server build --action on|off|resize · 대기 서버: --server standby --action on|off · 백업 사본: --server backup --action replica [--location us-west1|none]
기계 하나: --server vm --action start|stop|resize --instance oneserver-runner · 상시 검사 기계 끄기: --server runner --action retire (다섯 저장소 RUNNER 변수를 먼저 지우고 확인한 뒤 끔)
검사 실행 묶음 정리: --server pool --action reset (켜져 있지만 검사를 돌리지 않는 기계를 모두 끔) · 검사 기계 이미지 굽기: --server pool --action bake · Cloud NAT: --server network --action nat [--region us-west1] (라우터와 NAT가 없으면 만듦)
빌드 기계 이미지 굽기: --server build-image --action bake (임시 기계에 설치해 이미지로 만들고 지움. 새 빌드 기계가 그 이미지로 빨리 켜져요)
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--server | <서버> | main, build, standby, backup, vm, runner, pool, network, build-image |
--action | <동작> | resize, on, off, replica, start, stop, retire, reset, nat, bake |
--region | <지역> | network nat의 지역 (기본 us-west1) |
--to | <크기> | resize의 새 크기 (e2-standard-2, e2-standard-4, e2-standard-8) |
--when | now|tonight | 지금, 또는 오늘 새벽 03:00~05:00 (한국 시간) |
--instance | <이름> | vm의 기계 이름 |
--zone | <zone> | vm의 zone (비우면 그 기계의 기본) |
--repo | <owner/name> | runner retire에서 RUNNER를 지울 저장소 (비우면 다섯 곳) |
--location | <지역> | backup replica의 지역 (기본 us-west1) |
--no-downtime | 멈춤 없이 (지금은 거절돼요: 사이트를 받는 두 번째 서버가 없어요) | |
--reason | <이유> | 감사 기록에 남길 이유 |
--yes, -y | 묻지 않고 바로 해요 |
oneend platform servers show
서버 변경 요청 하나의 상태와 기록을 봐요 (운영자)
사용법
oneend platform servers show <요청 id>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend platform servers cancel
시작하지 않은 서버 변경 요청을 취소해요 (운영자)
사용법
oneend platform servers cancel <요청 id>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend platform variables
GitHub 저장소의 Actions 변수를 봐요 (운영자)
사용법
oneend platform variables <owner/name>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend platform variables set
GitHub 저장소의 Actions 변수 하나를 저장해요 (운영자)
사용법
oneend platform variables set <owner/name> <이름> <값>
인자 3개
옵션
이 명령만의 옵션은 없어요.
oneend platform variables rm
GitHub 저장소의 Actions 변수 하나를 지워요 (운영자)
사용법
oneend platform variables rm <owner/name> <이름>
예: RUNNER를 지우면 그 저장소의 검사는 GitHub 기계(ubuntu-latest)에서 돌아요.
인자 2개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend platform operators
운영자 목록을 봐요 (운영자)
사용법
oneend platform operators
옵션
이 명령만의 옵션은 없어요.
oneend platform operators add
운영자를 넣어요 (운영자)
사용법
oneend platform operators add <주소>
인자 1개
옵션
이 명령만의 옵션은 없어요.
oneend platform operators rm
운영자를 빼요 (운영자)
사용법
oneend platform operators rm <주소>
서버 환경(BLACKWALL_OPERATOR_EMAILS)에 있는 주소와 자기 주소는 뺄 수 없어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend platform runs
우리 저장소의 최근 워크플로 실행을 봐요 (운영자)
사용법
oneend platform runs [--workflow checks.yml|deploy.yml|ops.yml|static-egress.yml] [--limit <n>]
15분 넘게 기계를 기다리는 실행은 "(멈춤)"으로 보여요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--workflow | <파일> | 한 워크플로만 (checks.yml, deploy.yml, ops.yml, static-egress.yml) |
--limit | <n> | 워크플로마다 몇 개 (1~20, 기본 5) |
oneend platform runs cancel
끝나지 않은 워크플로 실행을 취소해요 (운영자)
사용법
oneend platform runs cancel <id>
배포 중인 실행을 취소하면 그 배포가 반쯤 된 채로 남을 수 있어요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend platform runs rerun
끝난 워크플로 실행을 다시 돌려요 (운영자)
사용법
oneend platform runs rerun <id> [--failed-only]
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--failed-only | 실패한 작업만 다시 |
oneend platform checks
One Server가 직접 돌리는 저장소 검사를 봐요 (운영자)
사용법
oneend platform checks [--limit <n>]
GitHub Actions 없이 우리 기계에서 도는 검사예요(BLACKWALL_OWN_CI). 통과하면 병합 대기도 함께 보여요.
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--limit | <n> | 몇 개 (1~50, 기본 20) |
oneend platform merge-when-green
풀 리퀘스트를 통과하면 병합 대기에 넣거나 빼요 (운영자)
사용법
oneend platform merge-when-green <pr> on|off
대기 중인 풀 리퀘스트를 main 위에 함께 검사하고, 통과하면 넣은 순서대로 병합해요. main과 충돌하면 충돌한 파일 이름과 함께 돌려보내요.
인자 2개
옵션
이 명령만의 옵션은 없어요.
oneend platform ci-machines
검사와 배포를 돌리는 기계를 봐요 (운영자)
사용법
oneend platform ci-machines
상시 배포 기계(oneserver-runner), 검사 실행 묶음(oneserver-pool-N), 우리 검사의 도쿄 대기 컨트롤러(oneserver-ci-standby)예요.
옵션
이 명령만의 옵션은 없어요.
oneend platform ci-machines restart
검사 기계 하나를 다시 켜요 (운영자)
사용법
oneend platform ci-machines restart <name>
그 기계에서 돌던 작업은 끊겨요. oneserver-runner, oneserver-pool-<번호>, oneserver-ci-standby만 돼요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend platform ci-machines renew
검사 기계의 GitHub 러너를 다시 등록해요 (운영자)
사용법
oneend platform ci-machines renew <name>
플랫폼의 GitHub App 토큰으로 등록해요(개인 토큰 없이). 기계가 다시 켜져 돌던 작업은 끊겨요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--yes, -y | 묻지 않고 바로 해요 |
oneend platform support
열린 지원 세션을 봐요 (운영자)
사용법
oneend platform support [--all]
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--all | 끝난 세션도 최근 50개까지 |
oneend platform support start
고객 대신 일하려고 지원 세션을 열어요 (운영자)
사용법
oneend platform support start <프로젝트 ID|조직 id|고객 이메일> --reason <사유> [--minutes <분>]
고객 조직에 소유자로 들어가요. 연 동안 그 조직의 프로젝트에 다른 모든 명령을 고객과 같은 권한으로 쓸 수 있어요(--project <ref>).
사유와 시작·끝은 고객의 감사 기록에 남아요. 기본 60분, 최대 480분이고 시간이 되면 저절로 끝나요.
인자 1개
옵션
| 옵션 | 값 | 설명 |
|---|---|---|
--reason | <사유> | 왜 들어가는지 (필수, 고객의 감사 기록에 남아요) |
--minutes | <분> | 몇 분 동안 (5~480, 비우면 60) |
oneend platform support end
지원 세션을 끝내요 (운영자)
사용법
oneend platform support end <세션 id|프로젝트 ID|조직 id|고객 이메일>
인자 1개
옵션
이 명령만의 옵션은 없어요.
다른 이름
손에 익은 철자로 입력해도 같은 명령이 실행돼요.
| 입력 | 실행되는 명령 |
|---|---|
oneend projects ls | oneend projects list |
oneend env list | oneend env ls |
oneend env add | oneend env set |
oneend env remove | oneend env rm |
oneend deployments list | oneend deployments ls |
oneend deployments get | oneend deployments inspect |
oneend deployments delete | oneend deployments rm |
oneend deployments remove | oneend deployments rm |
oneend functions list | oneend functions ls |
oneend functions delete | oneend functions rm |
oneend secrets ls | oneend secrets list |
oneend secrets rm | oneend secrets unset |
oneend auth providers list | oneend auth providers ls |
oneend auth providers remove | oneend auth providers rm |
oneend migration ls | oneend migration list |
oneend migrations new | oneend migration new |
oneend migrations list | oneend migration list |
oneend migrations repair | oneend migration repair |
oneend gen types ts | oneend gen types typescript |
oneend edge-config list | oneend edge-config ls |
oneend kv list | oneend kv ls |
oneend domains list | oneend domains ls |
oneend kv del | oneend kv rm |
oneend branches ls | oneend branches list |
oneend branches rm | oneend branches delete |
oneend channels ls | oneend channels |
oneend channels list | oneend channels |
oneend channels remove | oneend channels rm |
oneend auth smtp remove | oneend auth smtp rm |
oneend gpu servers delete | oneend gpu servers rm |
oneend gpu servers remove | oneend gpu servers rm |
종료 코드
| 상태 코드 | 설명 |
|---|---|
0 | 성공 |
1 | 실패 (서버가 거절, 빌드 실패, 마이그레이션 실패, 연결 실패) |
2 | 명령을 잘못 씀 (모르는 옵션, 값이 모자람, --yes 필요) |
환경 변수
| 이름 | 설명 |
|---|---|
ONEEND_TOKEN | 저장된 토큰 대신 쓰는 토큰 (CI용) |
ONEEND_API_URL | API 주소 |
ONEEND_PROJECT_REF | 연결 파일 대신 쓰는 프로젝트 |
ONEEND_CONFIG_DIR | 설정 폴더 (기본 ~/.config/oneend) |