chore(deps): upgrade openyuanrong to 0.9.8 - #33
Open
mhsong1998-dot wants to merge 13 commits into
Open
Conversation
Add a backend-neutral direct-launch path for a deliberately strict Dockerfile subset. The FROM image supplies only the sandbox root filesystem; explicitly declared RUN, COPY, ADD, ENV, WORKDIR, USER, CMD, and ENTRYPOINT behavior is applied through the public sandbox facades without BuildKit, a Docker daemon, or a registry push. Validate Dockerfiles and build contexts before remote side effects. Unsupported syntax fails closed, remote ADD URLs are rejected, and a filtered manifest applies .dockerignore consistently to local and custom contexts. Local paths use no-follow directory-relative opens, all COPY and ADD inputs are materialized before sandbox operations, tar members are restricted to safe regular files and directories, and ownership changes are limited to outputs of the current instruction. Expose the background CMD or ENTRYPOINT CommandHandle while defining constructor success as sandbox readiness and successful dispatch rather than application health. Integrate cleanup with the backend-neutral BackendSession lifecycle and document the rootfs-only and no-snapshot contract. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Preserve the explicit root working directory and represent Docker build context entries with file type and permission metadata so COPY retains executable modes and empty directories. Run archive extraction with builder ownership and reject USER forms that cannot be represented faithfully by the current command facade. Add focused regressions for directory targets, modes, ownership, strict USER validation, and live-example coverage for the corrected behavior. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Match Docker source wildcards one path segment at a time and copy the contents of matched directories without retaining their root name. Fail closed when a local context traversal cannot descend into an entry, and keep context parity tests independent of the caller's umask. Add regressions for wildcard directory targets, filepath-style double-star matching, traversal failures, destination ownership, and the maintained live example. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Match Dockerfile source patterns with Go filepath-compatible character classes and reject malformed patterns before context files are read. Track top-level wildcard expansions so multi-source copies require a directory destination. Add regressions for class negation, malformed ranges, Unicode matching, ignored sources, and wildcard expansion counts. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Include the maintained Dockerfile direct-launch example in the all-in-one standalone job introduced on main. This makes the rebased pull request exercise parsing, context transfer, in-sandbox build instructions, startup command handling, ownership, archive extraction, and fail-closed prechecks in the same CI environment used for the other SDK examples. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Replace GitIgnoreSpec with a fail-closed matcher that follows Moby ignore-file preprocessing, ordered parent matching, embedded double-star behavior, path cleaning, and supported character classes. Reject RE2-only escapes instead of treating them as literals so excluded secrets cannot become visible. Keep directory ancestors as virtual sources when later negations re-include descendants, while retaining one top-level wildcard count. Reuse parent match results with a depth-bounded directory stack to avoid repeated matching and unbounded entry-by-pattern storage. Remove the pathspec runtime dependency, document the supported boundary and licensing, and add regressions for Moby parity, virtual literal and wildcard directories, unsupported escapes, prefix-sibling ordering, and bounded parent-result reuse. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Extend the maintained standalone example from five to nine sections. Exercise ignored-directory descendant re-inclusion through COPY dot, literal-directory, and wildcard sources, and verify excluded siblings remain absent. Add fresh-sandbox startup regressions for ENTRYPOINT without CMD, shell-form CMD, shell-form ENTRYPOINT overriding CMD, and auto_start_cmd=False. Each section asserts its result before the context manager destroys the sandbox, and the complete example remains within the CI timeout. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Honor an existing adjacent <Dockerfile>.dockerignore before falling back to the root ignore file, including an empty companion. Keep Dockerfile and ignore control files visible to COPY and ADD whenever the active matcher permits them, while preserving inline and external input boundaries and secure no-follow reads.\n\nUpdate the context contract, unit coverage, documentation, and standalone example to verify both behaviors. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Set the Dockerfile fixture modes explicitly so manifest-mode expectations do not depend on the process umask used by the test runner. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Encapsulate experimental Dockerfile launch settings in one DockerfileLaunch value, remove the meaningless top-level combination, and split the detailed Experimental guide from the SDK README. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Remove the Experimental status from Dockerfile direct launch now that the capability is supported and directly usable. The API will not be deprecated; the documented strict subset may grow only through backward-compatible additions, while unsupported inputs retain the existing fail-closed boundary. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Move DockerfileLaunch into a lightweight value module so public annotations resolve at runtime without loading the parser or a backend. Keep parser and backend imports lazy, and calibrate the supported-capability lifecycle wording to allow API evolution with migration guidance. Signed-off-by: Peng-YM <Peng-YM@users.noreply.github.com>
Pin the 0.9.8 core wheel, runtime, SDK packages, and source revision. Adopt explicit sandbox connection configuration and forward writable storage requests as both scheduling reservations and hard limits. Signed-off-by: mhsong1998-dot <258010372+mhsong1998-dot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ConnectionConfiginstead of mutating process-wideYR_*variablesstorage_mbto both the YuanRong scheduling reservation and writable-layer hard limitValidation
Local:
ruff checkandmypypassedCCE (
cn-north-4/akernel-cce, namespaceakernel-test):sha256:fe132c634f909f33f9c1c99ee2ffc3de088c883e20ca246d70edee96115925afbasic_usage.pypassed: create, command execution, file round trip, background process, state query, and deletestorage_sandbox.pypassed: the 256 MiB writable-rootfs limit was enforced/usr/bin/yrremains the Go CLI and currentmainstartup scripts are usedThe clean Docker build reached and verified the released 0.9.8 RRT checksum, then hit transient upstream Go/Cargo DNS/TLS failures. The CCE validation image was assembled locally from the current main deployment image plus the pinned 0.9.8 core/RRT and current main runtime binaries/scripts. Temporary download and assembly changes were not committed.