Skip to content

feat: Update Dockerfiles to download New Relic Java agent dynamically…#143

Merged
rostilos merged 1 commit intomainfrom
1.5.1-rc
Feb 27, 2026
Merged

feat: Update Dockerfiles to download New Relic Java agent dynamically…#143
rostilos merged 1 commit intomainfrom
1.5.1-rc

Conversation

@rostilos
Copy link
Owner

@rostilos rostilos commented Feb 27, 2026

… and include unzip utility

Summary by CodeRabbit

Release Notes

  • Chores
    • Strengthened container security by running services as non-root users instead of root.
    • Enhanced observability configuration flexibility with runtime environment variable overrides for monitoring settings.
    • Optimized deployment workflow with dynamic initialization of monitoring agents during container startup.

@rostilos rostilos merged commit d51c758 into main Feb 27, 2026
1 check was pending
@coderabbitai
Copy link

coderabbitai bot commented Feb 27, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4636825 and 421d05f.

📒 Files selected for processing (2)
  • java-ecosystem/services/pipeline-agent/Dockerfile.observable
  • java-ecosystem/services/web-server/Dockerfile.observable

📝 Walkthrough

Walkthrough

Both Dockerfiles are refactored to download and configure the New Relic Java agent dynamically at build time instead of copying pre-built artifacts. Changes include installing unzip, creating non-root user (appuser/appgroup), managing directory permissions, adding explicit environment variables for New Relic configuration, and defining explicit CMD instructions to run Java applications.

Changes

Cohort / File(s) Summary
New Relic Runtime Configuration
java-ecosystem/services/pipeline-agent/Dockerfile.observable, java-ecosystem/services/web-server/Dockerfile.observable
Replaced static New Relic artifact copying with dynamic download and unpacking of New Relic Java agent at build time. Added unzip utility installation, created non-root user (appuser/appgroup) with proper ownership assignments, introduced runtime-configurable environment variables (NEW_RELIC_LOG_FILE_NAME, NEW_RELIC_APP_NAME, NEW_RELIC_LICENSE_KEY), updated JAVA_OPTS to reference new agent path, and added explicit CMD directives for Java application execution.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A rabbit's rhyme for Docker's way,
New Relic downloads, fresh each day,
No root user here to play,
AppUser guards the logs and say,
Build it right, run it right, hooray! 🐇

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 1.5.1-rc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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