expand_volume `::" shorthand missing SELinux label

Open Beginner friendly
#63 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
shell
Domain
devops

Research direction

Inspect expand_volume() and print_config_template() in bin/yolo, then compare the ::ro path with the plain shorthand and documented output. Verify that the shorthand produces the expected SELinux label suffix and that the template comment matches the chosen option format.

Written by the indexing model from the issue text.

Description

[!NOTE]
This issue was identified and drafted by Claude Code during a SPEC.md review. Waiting for @asmacdo to confirm before acting on it.

Problem

expand_volume("~/data::ro") produces $HOME/data:$HOME/data:ro with no SELinux label suffix. On SELinux-enforcing systems (Fedora, RHEL), this causes EACCES when the container tries to access the mount.

The hardcoded gitconfig mount correctly uses ro,z, and the plain shorthand form (~/data) correctly appends :Z — but the :: form does not append any label.

Reproduce

On a Fedora host with SELinux enforcing:

# In .git/yolo/config:
YOLO_PODMAN_VOLUMES=("~/data::ro")

# Run yolo — the ~/data mount will fail with permission denied

Expected

~/data::ro should produce $HOME/data:$HOME/data:ro,Z (or ro,z), matching the behavior of other shorthand forms.

Notes

The config template comment in bin/yolo print_config_template() already documents the expected output as ro,Z:

#   "~/projects::ro"          -> ~/projects:~/projects:ro,Z (1-to-1 with options)

So the comment describes the intended behavior but expand_volume() doesn't implement it. The fix should append ,Z (or ,z to match the default mount convention) and the comment should be updated to match whichever is chosen.

Dominant language
Shell
Stars
14
Forks
7
Avg merge
3h 7m
Merged PRs (30d)
3

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from con/yolo

All issues in con/yolo

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.