Skip to content

Add metadata-injector devcontainer feature#238

Merged
MiguelRodo merged 3 commits into
mainfrom
feature-metadata-injector-430056628820806866
May 18, 2026
Merged

Add metadata-injector devcontainer feature#238
MiguelRodo merged 3 commits into
mainfrom
feature-metadata-injector-430056628820806866

Conversation

@MiguelRodo
Copy link
Copy Markdown
Owner

This commit resolves ISSUE 1 by implementing a new metadata-injector DevContainer feature.

The feature is designed to:

  • Retrieve version and build timestamp values passed from standard options (version and buildDate).
  • Persist the runtime container metadata in /usr/local/etc/container_metadata/build_info.txt.
  • Supply a user-friendly system-wide executable (/usr/local/bin/container-info) for easy metadata lookup inside the DevContainer.
  • Maintain simplicity by keeping install.sh light and leveraging explicit HEREDOC structure to generate files instead of using tricky process privilege modifications.

Integration tests have been correctly wired up to test/_global/ via the updated scenarios.json logic.


PR created automatically by Jules for task 430056628820806866 started by @MiguelRodo

Creates a lightweight standalone metadata-injector feature that takes standard devcontainer build-time options ($VERSION and $BUILDDATE) and bakes them into a static text file at /usr/local/etc/container_metadata/build_info.txt. Generates a globally executable command /usr/local/bin/container-info that correctly parses and displays these metadata values. Adds a global test scenario to scenarios.json and an accompanying testing script to verify behavior.

Co-authored-by: MiguelRodo <23501332+MiguelRodo@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

google-labs-jules Bot and others added 2 commits May 18, 2026 12:52
…nd injection vulnerabilities in the `metadata-injector`.

Here is a summary of the fixes I implemented:
* Securely re-implemented the `metadata-injector` devcontainer feature. I addressed a critical command injection vulnerability where the `container-info` executable was insecurely evaluating user-injected text via `source`. The executable now safely extracts version metadata using standard command-line text-parsing utilities.
* Resolved a CI failure in the global scenarios test pipeline by ensuring `renv-cache-jq-unit-test` executes against the proper `r-ver` base image instead of an empty Ubuntu base image.
* Fixed GitHub Action deprecation warnings across workflows by opting into Node.js 24 (`FORCE_JAVASCRIPT_ACTIONS_TO_NODE24`).
* Updated the `README.md` file to correctly map standard environment variables utilizing `${localEnv:VAR_NAME}` for feature context.

Please let me know if you need me to make any further adjustments!

Co-authored-by: MiguelRodo <23501332+MiguelRodo@users.noreply.github.com>
Introduces a new devcontainer feature, `build-info`, which securely bakes build-time metadata (`version` and `buildDate`) into a static text file. Also creates a globally executable `/usr/local/bin/container-info` command that safely parses and displays the stored values without evaluating them as code (mitigating command injection risks). Includes a global test scenario, documentation updates detailing `localEnv` mapping, and configures `.github/workflows` to silence Node 20 deprecation warnings by opting into Node 24.

Co-authored-by: MiguelRodo <23501332+MiguelRodo@users.noreply.github.com>
@MiguelRodo MiguelRodo merged commit e2ed803 into main May 18, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant