Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Run containerbase on a read-only root file system

Đang mở
#7,843 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
53/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, typescript
Lĩnh vực
devops, infrastructure

Hướng nghiên cứu

Start with test/readonly/test.sh and the ensureWritable and IpcServer.start() paths named in the issue; review #2078, #7424, #7828, and #7842 for related changes. Check how the configured tmp folder behaves when it is unwritable, including EROFS, and extend the read-only tests after #7828 merges. Done means read-only commands work, write commands fail clearly, and the configured tmp folder is covered.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

What would you like containerbase to do?

Track everything containerbase needs to run on a read-only root file system (docker run --read-only --tmpfs /tmp), or with /opt/containerbase mounted as a volume, like Renovate uses it.

Earlier work: #2078 (read-only root file system support), #7424 (database writes on a read-only file system). test/readonly/test.sh covers the current state.

Rules

  • /tmp (and so the containerbase tmp folder /tmp/containerbase, or the configured CONTAINERBASE_TMP_DIR from #3883) must stay writable; it holds the init state, caches and the IPC socket.
  • Read-only commands (list tools, wrappers of initialized tools, install-tool --dry-run) must work.
  • Commands that need to write (install-tool) fail early with a clear error instead of hanging or half-installing.
  • Tools installed at image build time must keep working when /opt/containerbase is a volume mount.

Required changes

  • install-tool hangs when the containerbase tmp folder isn't writable: IpcServer.start() waits for a start event that never fires when the socket can't be created. Check the tmp folder in ensureWritable before starting the server (#7842).
  • The configurable tmp folder (#7828) falls back to /tmp/containerbase when the configured folder isn't writable, also on EROFS. Not planned: the tmp folder must always be writable, there's no fallback on EROFS (#7828).
  • Extend test/readonly/test.sh for the configured tmp folder (#7885).
  • Installing git from the prebuild (#7813) broke Renovate's read-only usage with /opt/containerbase as a volume mount and was reverted (#7944). #7778 (v15) has to keep git working in that setup, and test/readonly/test.sh should cover it.
  • Make /opt/containerbase usable as a volume mount: build-time installs in a separate base location, restored on init (#7956, v15).

Drafted by Claude Opus 5.5 (Claude Code) for @viceice.

Ngôn ngữ chính
TypeScript
Star
58
Fork
65
Merge trung bình
10 giờ 37 phút
Pull request đã merge (30 ngày)
462

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của containerbase/base

Tất cả issue của containerbase/base

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.