Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,9 @@ Implemented:
- region-scoped remote ti fs inventory, profile-scoped ID-keyed credentials,
and legacy credential migration from
`docs/spec/done/0028-remote-fs-resource-inventory.md`
- direct TiDB Cloud Filesystem tenant create/list/describe/delete control plane,
authoritative display metadata, quota output, and inventory filters from
`docs/spec/done/0031-fs-tenant-metadata-control-plane.md`
- ti fs/fs-git/fs-journal/fs-vault commands routed through the bundled
`ti-drive9` companion, with ti-owned profile loading, credential storage,
region resolution, and output/error handling
Expand Down
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,10 @@ The following example uses `jq` to extract the server-assigned ID and one-time t
```shell
mkdir ~/my-workspace
umask 077
ti fs create-file-system --wait > ./filesystem.json
ti fs create-file-system \
--display-name my-workspace \
--label environment=development \
--wait > ./filesystem.json
export FILE_SYSTEM_ID="$(jq -r '.file_system_id' ./filesystem.json)"
export TI_FS_TOKEN="$(jq -r '.fs_token' ./filesystem.json)"
rm ./filesystem.json
Expand All @@ -179,7 +182,15 @@ export TI_FS_FILE_SYSTEM_ID="$FILE_SYSTEM_ID"
ti fs list-files
```

`create-file-system` does not accept a user-defined name. Drive9 assigns the stable `file_system_id`, and the command returns the owner credential as `fs_token` once in its JSON result. Treat it as a secret. The example above captures both fields from one provisioning request and removes the temporary owner-only JSON file immediately.
`--display-name` and repeatable `--label key=value` flags add organization-visible metadata to the remote inventory. They do not identify a resource for later operations: Drive9 still assigns the stable `file_system_id`, and describe, delete, data-plane, mount, and token commands select by that ID. Do not store passwords, tokens, connection strings, private paths, or personal data in labels. The create response returns the owner credential as `fs_token` once; treat it as a secret. The example above captures the ID and token from one provisioning request and removes the temporary owner-only JSON file immediately.

List results include authoritative display names, labels, status, region, quota and usage, plus the non-secret `has_local_token` hint. Filter the remote inventory by a display-name substring and one exact label without exposing token values:

```shell
ti fs list-file-systems \
--display-name workspace \
--label environment=development
```

One Filesystem can have multiple independently managed tokens for different machines, CI jobs, and sandboxes. Owner tokens authorize the complete Filesystem and can issue path-and-operation-limited `fs_scoped` tokens. The remote service is the source of truth for token inventory, while each local profile stores at most one selected token for each Filesystem. Generate an additional owner token and capture its one-time plaintext response:

Expand Down
4 changes: 2 additions & 2 deletions docs/spec/done/0012-install-and-update-distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Goal

Make `tdc` installable and updatable through deterministic GitHub Releases artifacts. The MVP channel is GoReleaser plus GitHub Releases, with shell and PowerShell installers. Homebrew and Scoop are intentionally deferred to `docs/spec/0031-homebrew-and-scoop-distribution.md`.
Make `tdc` installable and updatable through deterministic GitHub Releases artifacts. The MVP channel is GoReleaser plus GitHub Releases, with shell and PowerShell installers. Homebrew and Scoop are intentionally deferred to `docs/spec/0032-homebrew-and-scoop-distribution.md`.

## User-facing Commands

Expand Down Expand Up @@ -266,7 +266,7 @@ Installer scripts:
- Silent auto-update.
- Updating TiDB Cloud credentials or DB SQL credentials.
- Config migrations that modify user config during update.
- Homebrew tap and Scoop bucket publishing. See `0031-homebrew-and-scoop-distribution.md`.
- Homebrew tap and Scoop bucket publishing. See `0032-homebrew-and-scoop-distribution.md`.
- Linux apt/yum repositories.
- Winget publishing.
- Notarization or binary signing beyond SHA-256 checksums for MVP.
2 changes: 2 additions & 0 deletions docs/spec/done/0028-remote-fs-resource-inventory.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Remote File System Resource Inventory

> **Superseding note:** `docs/spec/done/0031-fs-tenant-metadata-control-plane.md` later moved create, list, describe, and delete from companion commands to the typed admin tenant HTTP API and added organization-visible display names and labels. This document remains authoritative for ID-based selection, remote inventory ownership, local credential migration, and configuration-free access; its no-name and companion control-plane statements are historical.

## Goal

Make the Drive9 backend the source of truth for TiDB Cloud Filesystem resource inventory. Replace locally assigned file system names with one stable public identifier, `file_system_id`, whose value is the Drive9 tenant ID returned by provisioning.
Expand Down
Loading