Problem
When multiple developers use bob build <name> --local on the same cluster, they all share the default PVC source-code in the bob-builds namespace. This means one developer's sync overwrites another's source, and concurrent local builds can read partially-overwritten content.
Proposed Solution
Auto-derive a per-user PVC name so each developer gets their own PVC without needing to manually pass --pvc. For example:
- Use
oc whoami / kube client identity to get the username
- Default PVC name becomes
source-code-<username> instead of source-code
The --pvc flag would remain as an explicit override.
Alternatives Considered
- Per-user namespace (
bob-builds-<user>): full isolation of PVCs, BuildJobs, and PipelineRuns, but heavier to set up and requires namespace provisioning.
- Keep as-is: works fine for single-developer clusters; the
--pvc flag provides manual isolation.
Acceptance Criteria
Problem
When multiple developers use
bob build <name> --localon the same cluster, they all share the default PVCsource-codein thebob-buildsnamespace. This means one developer's sync overwrites another's source, and concurrent local builds can read partially-overwritten content.Proposed Solution
Auto-derive a per-user PVC name so each developer gets their own PVC without needing to manually pass
--pvc. For example:oc whoami/ kube client identity to get the usernamesource-code-<username>instead ofsource-codeThe
--pvcflag would remain as an explicit override.Alternatives Considered
bob-builds-<user>): full isolation of PVCs, BuildJobs, and PipelineRuns, but heavier to set up and requires namespace provisioning.--pvcflag provides manual isolation.Acceptance Criteria
bob build --localandbob syncdefault to a user-specific PVC name--pvcflag needed for multi-developer isolation--pvcflag still works as an explicit overrideensurePVC) works with the derived name