docs(FR-3153): add VFolder mount subpath/alias config component spec#7931
Merged
graphite-app[bot] merged 1 commit intoJun 29, 2026
Conversation
Contributor
Author
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Jun 16, 2026
9ea409a to
5f9f5ab
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new feature specification under .specs/ describing a reusable “VFolder mount configuration” form component that supports per-folder subpath (mount source) and alias / mount destination (target path), intended to be shared by session creation and Deployment revision flows.
Changes:
- Add a spec document defining UX, requirements, and validation rules for subpath + alias per selected vfolder.
- Clarify terminology (source subpath vs target alias) and outline a schema-agnostic component API contract for consumers to map into GraphQL inputs.
8238fc4 to
5a9eb17
Compare
Merge activity
|
…7931) Part of **FR-3059** (#7756) · Resolves **FR-3153** ## Summary - Add the feature spec for a reusable VFolder mount configuration component supporting per-folder **subpath** (mount source) and **alias / mount destination**. - Clarifies the source (subpath) vs. target (alias) distinction and scopes the work to a reusable, schema-agnostic form component used by both session creation and Deployment revision. - Spec: `.specs/FR-3059-vfolder-mount-subpath-alias/spec.md` ## Stack 1. **#7931 — spec (this PR)** 2. #7932 — component (`BAIVFolderMountConfigInput`) 3. #7933 — Storybook story ## Test plan - [ ] Spec renders correctly - [ ] Acceptance criteria are verifiable
5a9eb17 to
413d8ff
Compare
graphite-app Bot
pushed a commit
that referenced
this pull request
Jun 29, 2026
Stacked on #7931 · Part of **FR-3059** (#7756) · Resolves **FR-3154** ## Summary - Add `BAIVFolderMountConfigInput`, a reusable, **schema-agnostic** controlled input for configuring vfolder mounts (`packages/backend.ai-ui/src/components/fragments/`). - Composes `BAIVFolderSelect` (multiple) to pick folders; each selected folder renders as a row below the select with: - a **mount destination (alias)** input — path inside the container (empty falls back to `/home/work/{name}`), - an optional **subpath** free-text input — which subfolder of the vfolder to mount as the source (empty = root), - a remove (✕) button. - Emits a single `VFolderMountConfigValue[]` value via `value` / `onChange`, so it wraps in one `Form.Item` and the consumer maps it to any mount mutation input. No GraphQL/schema coupling. - Inline validation: alias format (`^[a-zA-Z0-9_/.-]*$`), alias overlap between folders, and relative-subpath / no-`..` checks. - Adds BUI i18n keys (`comp:BAIVFolderMountConfigInput`) for `en` and `ko`. ## Notes - Standalone component only. Wiring it into session creation / Deployment revision pages is a follow-up (out of scope for this stack, per the spec). ## Verification (`scripts/verify.sh`) - Relay / Lint / Format: **PASS** - `backend.ai-ui` package `tsc --noEmit`: **0 errors** - The single TypeScript failure reported by `verify.sh` is **pre-existing on `main`** (unrelated Relay input-type mismatch in `react/src/pages/AdminDeploymentPresetSettingPage.tsx`, `service.port: number | null` vs `number`) and is not introduced by this PR. ## Test plan - [ ] Selecting multiple vfolders adds a row per folder with alias + subpath inputs - [ ] Remove (✕) clears the row and its alias/subpath values - [ ] Invalid alias format, overlapping mount paths, and invalid subpath show inline errors - [ ] Empty mount destination shows the effective default path as helper text
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Part of FR-3059 (#7756) · Resolves FR-3153
Summary
.specs/FR-3059-vfolder-mount-subpath-alias/spec.mdStack
BAIVFolderMountConfigInput)Test plan