Support declarative ownership for bind-mounted host directories
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- docker, go
- 領域
- cli, devops, infrastructure
調査の方向性
まず、ob bootstrap から到達する bind-mount とサービスボリュームの処理を追跡し、次に既存の bootstrap テストを確認します。数値の所有者およびモードのメタデータがべき等に調整され、安全でないパスが拒否され、調整結果が報告され、その動作が bootstrap テストとドキュメントでカバーされていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
Services running as non-root users may require a bind-mounted host directory with specific ownership and permissions. Docker Compose creates a missing bind source automatically, but it is typically owned by root. For example, Qdrant runs as UID/GID 1000 and could not write to /data/qdrant until the application bootstrap script explicitly ran install, chown, and chmod.
This makes each consuming repository duplicate host-provisioning logic and creates an easy-to-miss deployment failure.
Proposed behavior
Allow a bind mount or service volume declaration to specify host-path provisioning metadata, for example:
host_path: /data/qdrant
uid: 1000
gid: 1000
mode: "0750"
During ob bootstrap, Onebox would idempotently:
- Create the exact declared directory when absent.
- Reconcile its owner, group, and mode.
- Refuse unsafe or overly broad paths.
- Report the reconciliation in bootstrap output.
Deployment should continue treating this as host bootstrap state rather than silently mutating host paths during every application rollout.
Acceptance criteria
- Numeric UID/GID values work even when no matching host account exists.
- Re-running bootstrap is idempotent.
- Existing correctly configured directories are left unchanged.
- Unsafe paths such as
/and unresolved variables are rejected. - The behavior is covered by bootstrap tests and documented.
- 主要言語
- Go
- スター
- 3
- フォーク
- 0
- 平均マージ
- 2時間 44分
- マージ済み PR(30日)
- 49
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
labstack/onebox のほかの issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
labstack/onebox の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
521xueweihan/HelloGitHub#3789 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 12 日以内に返信
-
stage-fail
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
siyuan-note/bazaar#2282 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
openshift/kube-compare#307 ·
メンテナーはふだん 1 日以内に返信