Skip to content

docs(skills/olares-chart): clarify userspace mount paths to prevent broken volumes#3436

Closed
pengpeng wants to merge 2 commits into
mainfrom
docs/olares-chart-userspace-mount-clarify
Closed

docs(skills/olares-chart): clarify userspace mount paths to prevent broken volumes#3436
pengpeng wants to merge 2 commits into
mainfrom
docs/olares-chart-userspace-mount-clarify

Conversation

@pengpeng

Copy link
Copy Markdown
Member

Summary

  • The olares-chart-manifest.md §2 storage example mounted {{ .Values.userspace.appData }}/myapp, re-appending the app name. This contradicts olares-chart-system-values.md and the platform storage model, which state appData/appCache values already end in /<appName> (created and owned by uid 1000). Agents copying the example produced double-suffixed (.../Data/<app>/<app>) mounts.
  • Fix the example to mount the bare value, and add two callouts: (1) the value already includes /<appName> — don't re-append; appCommon is the bare cross-app exception (append the reserved cache name, e.g. /huggingface); (2) an appended subdir or subPath is created root-owned, so a uid-1000 process (spec.runAsUser: true) hits Permission denied → CrashLoop — mount bare, create the subdir at runtime, or chown via initContainer; avoid subPath for userspace mounts.
  • Add the matching symptom row to olares-chart-run-as-user.md "Symptoms → fix".

Why

Doc-only consistency fix. The contradictory example was a recurring foot-gun for agents authoring charts.

Test plan

  • Render review of olares-chart-manifest.md §2 and olares-chart-run-as-user.md symptom table.

Made with Cursor

…roken volumes

The manifest §2 storage example mounted `{{ .Values.userspace.appData }}/myapp`,
re-appending the app name and contradicting system-values.md / platform.md, which
state appData/appCache values already end in `/<appName>` (owned by uid 1000).
Agents copying it produced double-suffixed (`.../Data/<app>/<app>`) mounts.

- Mount the bare value; document that appCommon is the bare cross-app exception.
- Warn that an appended subdir or `subPath` is created root-owned, so a uid-1000
  process hits Permission denied -> CrashLoop; mount bare, create at runtime, or
  chown via initContainer; avoid subPath for userspace mounts.
- Add the matching symptom row to run-as-user.md "Symptoms -> fix".

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Jun 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
olares Ready Ready Preview, Comment Jun 21, 2026 9:39am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
olares-docs Ignored Ignored Preview Jun 21, 2026 9:39am

…ission issue

The run-as-user "Symptoms -> fix" table was entirely permission-centric,
which biases diagnosis toward chown/runAsUser even when the container
exits cleanly. Add the missing non-permission class.

- run-as-user.md: note that not every CrashLoop is a permission problem
  (read terminated.exitCode/reason first) and add a row for
  exitCode 0 / Completed / empty logs -> explicit command/args, pin by digest.
- deploy.md §3: add an empty-logs triage block. cluster pod get -o json
  trims lastState, so restart the workload and poll state to catch the
  terminated snapshot, then split exit 0/Completed vs exit!=0 vs
  CreateContainerConfigError. Add the matching row to the §4 log table.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant