Add programmatic configuration
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- docker, node.js, typescript
- Lĩnh vực
- tooling
Hướng nghiên cứu
Start with packages/testcontainers/src/test-containers.ts and packages/testcontainers/src/testcontainers-runtime/strategies/utils/config.ts, then trace the listed process.env reads in the reaper, port forwarder, image name, generic container and auth paths. Define how configuration is resolved alongside environment variables and the properties file, including precedence and changes after runtime initialization. Done means TestContainers.configure() and getConfiguration() provide typed effective settings while existing configuration sources continue to work.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happens
Configuration comes only from environment variables and .testcontainers.properties, and each setting is read where it is used. Fourteen variables are read through process.env across packages/testcontainers/src (Ryuk image, port, privileged, verbose and disabled flags, the SSHD image and port, the hub image prefix, reuse, Docker auth config and others), plus the Docker host settings in the strategy config.
- Changing a setting from code means assigning to
process.envbefore the first container starts. - Nothing is typed or validated. A misspelt variable is silently ignored.
- There is no way to read the effective configuration.
Expected
A typed configuration object with one place that resolves it:
TestContainers.configure({
ryuk: { disabled: false, privileged: true },
hubImageNamePrefix: "registry.example.com/mirror",
reuse: { enabled: true },
});
- Environment variables and the properties file keep working, with a documented precedence.
TestContainers.getConfiguration()returns what is in effect.
Where
packages/testcontainers/src/container-runtime/strategies/utils/config.ts- the
process.envreads inreaper/reaper.ts,port-forwarder/port-forwarder.ts,container-runtime/image-name.ts,generic-container/generic-container.tsandcontainer-runtime/auth/ packages/testcontainers/src/test-containers.ts
Notes
- Java centralises this in
TestcontainersConfiguration. - Configuration must be set before the runtime client and Ryuk are created. Decide what happens when it is changed afterwards.
Dependencies
- Nothing blocks this. It can start now.
- Coordinate with #1568: the logger is a natural configuration setting.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.6k
- Fork
- 274
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 44
Chuẩn bị môi trường
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
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của testcontainers/testcontainers-node
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
testcontainers/testcontainers-node#1539 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
testcontainers/testcontainers-node#1533 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
testcontainers/testcontainers-node#1531 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
testcontainers/testcontainers-node#1529 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
testcontainers/testcontainers-node#1528 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của testcontainers/testcontainers-node
Issue tương tự
-
priority:high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
immich-app/immich#32426 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue hacktoberfest help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
libredb/libredb-studio#1756 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
state:triage-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày