Skip to content

Commit f523621

Browse files
committed
Rename CLI binary to ccvm
1 parent e6c220c commit f523621

5 files changed

Lines changed: 56 additions & 53 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ jobs:
1818
uses: softprops/action-gh-release@v2
1919
with:
2020
files: |
21-
cc
21+
ccvm
2222
install.sh
2323
generate_release_notes: true

README.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,23 @@ curl -fsSL https://github.com/lunal-dev/confidential-cvm-cli/releases/latest/dow
1414

1515
This installs two binaries to `/usr/local/bin/`:
1616

17-
- `cc` - the CLI shell script (this repo)
17+
- `ccvm` - the CLI shell script (this repo)
1818
- `attestation-cli` - pre-built binary from [lunal-dev/attestation-rs](https://github.com/lunal-dev/attestation-rs) that performs the cryptographic SEV-SNP and TPM attestation
1919

2020
## Commands
2121

2222
```bash
23-
cc vm <command> [flags]
23+
ccvm <command> [flags]
2424
```
2525

2626
| Command | Description |
2727
|---|---|
28-
| `cc vm verify [-v\|--verbose]` | Run the full 5-check TEE verification |
29-
| `cc vm info` | Print component versions, hostname, gateway IP, install date |
30-
| `cc vm attest` | Generate attestation evidence (boot-time; run by cloud-init) |
31-
| `cc vm assign` | Apply user configuration from IMDS (internal; run by systemd) |
28+
| `ccvm verify [-v\|--verbose]` | Run the full 5-check TEE verification |
29+
| `ccvm info` | Print component versions, hostname, gateway IP, install date |
30+
| `ccvm attest` | Generate attestation evidence (boot-time; run by cloud-init) |
31+
| `ccvm assign` | Apply user configuration from IMDS (internal; run by systemd) |
3232

33-
The legacy single-level command shape is still accepted when cheap, so `cc verify` currently maps to `cc vm verify`.
34-
35-
### `cc vm verify`
33+
### `ccvm verify`
3634

3735
User-facing command. Runs five checks and prints a pass/fail summary:
3836

@@ -44,24 +42,24 @@ User-facing command. Runs five checks and prints a pass/fail summary:
4442

4543
Add `-v` / `--verbose` for full cert-chain, VCEK, and endpoint diagnostics.
4644

47-
### `cc vm info`
45+
### `ccvm info`
4846

4947
Prints a compact status block useful for bug reports and quick sanity checks:
5048

5149
```text
52-
cc: v1.5.8
50+
ccvm: v1.5.8
5351
attestation-cli: v0.4.1
5452
openclaw: <version>
5553
Hostname: <fqdn>
5654
Gateway IP: <gateway>
5755
Installed: <date>
5856
```
5957

60-
### `cc vm attest`
58+
### `ccvm attest`
6159

6260
Boot-time command invoked by cloud-init. Generates SEV-SNP + TPM attestation evidence binding the SSH host key to the TEE hardware and writes it to `/etc/privateclaw/evidence.json` for current compatibility.
6361

64-
### `cc vm assign`
62+
### `ccvm assign`
6563

6664
Internal command invoked by a systemd timer. Polls Azure IMDS for user configuration and applies it to the CVM.
6765

@@ -85,11 +83,11 @@ Confidential Agents cloud-init has not been changed yet. Once this repo has a pu
8583
https://github.com/lunal-dev/confidential-cvm-cli/releases/latest/download/install.sh
8684
```
8785

88-
Then update boot/runtime invocations from `privateclaw attest`, `privateclaw assign`, and `privateclaw verify` to `cc vm attest`, `cc vm assign`, and `cc vm verify`.
86+
Then update boot/runtime invocations from `privateclaw attest`, `privateclaw assign`, and `privateclaw verify` to `ccvm attest`, `ccvm assign`, and `ccvm verify`.
8987

9088
## Auditing
9189

92-
Everything that runs on your CVM lives in this repo. `cc` is a single bash script. The only binary dependency is [`attestation-cli`](https://github.com/lunal-dev/attestation-rs), which is also open source.
90+
Everything that runs on your CVM lives in this repo. `ccvm` is a single bash script. The only binary dependency is [`attestation-cli`](https://github.com/lunal-dev/attestation-rs), which is also open source.
9391

9492
## License
9593

cc renamed to ccvm

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ fi
3131
HCL_REPORT_NV="0x01400001"
3232

3333
# ---------------------------------------------------------------------------
34-
# cc vm attest
34+
# ccvm attest
3535
# Called at boot by cloud-init. Generates attestation evidence binding the
3636
# SSH host key to the TEE.
3737
#
@@ -98,7 +98,7 @@ EOFEVIDENCE
9898
}
9999

100100
# ---------------------------------------------------------------------------
101-
# cc vm verify
101+
# ccvm verify
102102
# User-facing command. Verifies TEE attestation, inference provider, and
103103
# SSH access lockout. Handles everything automatically — no manual steps.
104104
#
@@ -759,7 +759,7 @@ PYEOF
759759
}
760760

761761
# ---------------------------------------------------------------------------
762-
# cc vm assign
762+
# ccvm assign
763763
# Called by systemd timer. Polls IMDS userData and applies user-specific
764764
# configuration (SSH key, OpenClaw, MOTD, Caddy TLS).
765765
# ---------------------------------------------------------------------------
@@ -881,7 +881,7 @@ OCEOF
881881
| with end-to-end private inference |
882882
| |
883883
| Verify your TEE: |
884-
| $ cc vm verify |
884+
| $ ccvm verify |
885885
| |
886886
| Connect a messaging provider: |
887887
| $ openclaw configure --section channels |
@@ -921,7 +921,7 @@ MOTDEOF
921921
}
922922

923923
# ---------------------------------------------------------------------------
924-
# cc vm info
924+
# ccvm info
925925
# Print environment info for user debugging: component versions, hostname,
926926
# gateway IP, and install date.
927927
# ---------------------------------------------------------------------------
@@ -966,13 +966,13 @@ cmd_info() {
966966

967967
# Install date
968968
local installed="not found"
969-
if [ -f /usr/local/bin/cc ]; then
970-
installed=$(stat -c %y /usr/local/bin/cc 2>/dev/null | cut -d' ' -f1)
969+
if [ -f /usr/local/bin/ccvm ]; then
970+
installed=$(stat -c %y /usr/local/bin/ccvm 2>/dev/null | cut -d' ' -f1)
971971
[ -z "$installed" ] && installed="not found"
972972
fi
973973

974974
# Aligned output (labels padded to 18 chars)
975-
printf '%-18s %s\n' "cc:" "$VERSION"
975+
printf '%-18s %s\n' "ccvm:" "$VERSION"
976976
printf '%-18s %s\n' "attestation-cli:" "$att_version"
977977
printf '%-18s %s\n' "openclaw:" "$openclaw_version"
978978
printf '%-18s %s\n' "Hostname:" "$host"
@@ -984,17 +984,22 @@ cmd_info() {
984984
# Main dispatch
985985
# ---------------------------------------------------------------------------
986986
print_usage() {
987-
echo "Usage: cc vm <command> [flags]"
987+
echo "Usage: ccvm <command> [flags]"
988988
echo ""
989989
echo "Commands:"
990-
echo " vm verify [-v|--verbose] Verify SEV-SNP hardware, TPM, host key, inference, and access lockout"
991-
echo " -v/--verbose shows full cert chain and diagnostic details"
992-
echo " vm attest Generate attestation evidence (run at boot)"
993-
echo " vm assign Apply user configuration from IMDS (run by systemd)"
994-
echo " vm info Print component versions, hostname, gateway IP, and install date"
990+
echo " verify [-v|--verbose] Verify SEV-SNP hardware, TPM, host key, inference, and access lockout"
991+
echo " -v/--verbose shows full cert chain and diagnostic details"
992+
echo " attest Generate attestation evidence (run at boot)"
993+
echo " assign Apply user configuration from IMDS (run by systemd)"
994+
echo " info Print component versions, hostname, gateway IP, and install date"
995995
}
996996

997997
case "${1:-}" in
998+
attest) shift; cmd_attest "$@" ;;
999+
verify) shift; cmd_verify "$@" ;;
1000+
assign) shift; cmd_assign "$@" ;;
1001+
info) shift; cmd_info "$@" ;;
1002+
# Cheap compatibility for the prior two-level command shape.
9981003
vm)
9991004
shift
10001005
case "${1:-}" in
@@ -1005,11 +1010,6 @@ case "${1:-}" in
10051010
*) print_usage ;;
10061011
esac
10071012
;;
1008-
# Cheap compatibility for the original single-level command shape.
1009-
attest) shift; cmd_attest "$@" ;;
1010-
verify) shift; cmd_verify "$@" ;;
1011-
assign) shift; cmd_assign "$@" ;;
1012-
info) shift; cmd_info "$@" ;;
10131013
*)
10141014
print_usage
10151015
;;

install.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
set -e
33

44
# Confidential CVM CLI installer
5-
# Downloads cc CLI and attestation-cli to /usr/local/bin/
5+
# Downloads ccvm CLI and attestation-cli to /usr/local/bin/
66

7-
VERSION="${CC_VERSION:-${CONFIDENTIAL_CVM_CLI_VERSION:-v1.5.8}}"
7+
VERSION="${CCVM_VERSION:-${CC_VERSION:-${CONFIDENTIAL_CVM_CLI_VERSION:-v1.5.8}}}"
88
ATTEST_VERSION="${ATTESTATION_CLI_VERSION:-v0.4.1}"
99

1010
echo "Installing Confidential CVM CLI ${VERSION}..."
1111

12-
curl -fsSL "https://github.com/lunal-dev/confidential-cvm-cli/releases/download/${VERSION}/cc" \
13-
-o /usr/local/bin/cc
12+
curl -fsSL "https://github.com/lunal-dev/confidential-cvm-cli/releases/download/${VERSION}/ccvm" \
13+
-o /usr/local/bin/ccvm
1414

1515
curl -fsSL "https://github.com/lunal-dev/attestation-rs/releases/download/${ATTEST_VERSION}/attestation-cli" \
1616
-o /usr/local/bin/attestation-cli
1717

18-
chmod +x /usr/local/bin/cc /usr/local/bin/attestation-cli
18+
chmod +x /usr/local/bin/ccvm /usr/local/bin/attestation-cli
1919

2020
echo "Installed:"
21-
echo " /usr/local/bin/cc (${VERSION})"
21+
echo " /usr/local/bin/ccvm (${VERSION})"
2222
echo " /usr/local/bin/attestation-cli (${ATTEST_VERSION})"

tests/smoke.sh

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,36 @@
22
set -euo pipefail
33

44
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5-
cli="$repo_root/cc"
5+
cli="$repo_root/ccvm"
66

77
bash -n "$cli"
8+
bash -n "$repo_root/install.sh"
89

910
usage_output="$("$cli")"
10-
if ! grep -q "Usage: cc vm <command> \[flags\]" <<<"$usage_output"; then
11-
echo "Expected default usage to advertise cc vm command shape" >&2
11+
if ! grep -q "Usage: ccvm <command> \[flags\]" <<<"$usage_output"; then
12+
echo "Expected default usage to advertise ccvm command shape" >&2
13+
exit 1
14+
fi
15+
if grep -q "cc vm" <<<"$usage_output"; then
16+
echo "Expected default usage not to advertise cc vm command shape" >&2
1217
exit 1
1318
fi
1419

15-
vm_usage_output="$("$cli" vm)"
16-
if ! grep -q "vm verify \[-v|--verbose\]" <<<"$vm_usage_output"; then
17-
echo "Expected cc vm usage to include vm verify" >&2
20+
compat_usage_output="$("$cli" vm)"
21+
if ! grep -q "verify \[-v|--verbose\]" <<<"$compat_usage_output"; then
22+
echo "Expected compat vm usage to include verify" >&2
1823
exit 1
1924
fi
2025

21-
info_output="$("$cli" vm info)"
22-
if ! grep -q "^cc:" <<<"$info_output"; then
23-
echo "Expected cc vm info to print cc version label" >&2
26+
info_output="$("$cli" info)"
27+
if ! grep -q "^ccvm:" <<<"$info_output"; then
28+
echo "Expected ccvm info to print ccvm version label" >&2
2429
exit 1
2530
fi
2631

27-
compat_info_output="$("$cli" info)"
28-
if ! grep -q "^cc:" <<<"$compat_info_output"; then
29-
echo "Expected legacy single-level info command to remain available" >&2
32+
compat_info_output="$("$cli" vm info)"
33+
if ! grep -q "^ccvm:" <<<"$compat_info_output"; then
34+
echo "Expected legacy vm info command to remain available" >&2
3035
exit 1
3136
fi
3237

0 commit comments

Comments
 (0)