chore: Enable local env vars for caddy tracing#37199
chore: Enable local env vars for caddy tracing#37199nidhi-nair wants to merge 1 commit intoreleasefrom
Conversation
WalkthroughThe changes introduce a new environment variable, Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
|
/build-deploy-preview skip-tests=true |
|
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/11660465265. |
|
Deploy-Preview-URL: https://ce-37199.dp.appsmith.com |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (3)
deploy/docker/fs/opt/appsmith/run-caddy.sh (1)
21-22: LGTM! Consider adding environment variable validation.The addition of OpenTelemetry service name is well-placed and follows the distributed tracing best practices.
Consider adding validation to ensure consistent tracing behavior:
+if [[ -z "${OTEL_SERVICE_NAME-}" ]]; then export OTEL_SERVICE_NAME=appsmith-caddy +fideploy/docker/fs/opt/appsmith/entrypoint.sh (2)
Line range hint
513-527: Add log rotation for auto-heal and monitoring logs.While the logging setup is good, continuous logging without rotation could lead to disk space issues. Consider implementing log rotation using logrotate.
function setup_auto_heal(){ if [[ ${APPSMITH_AUTO_HEAL-} = 1 ]]; then # By default APPSMITH_AUTO_HEAL=0 # To enable auto heal set APPSMITH_AUTO_HEAL=1 + # Setup log rotation + cat > /etc/logrotate.d/appsmith-auto-heal << EOF + $APPSMITH_LOG_DIR/cron/auto_heal.log { + daily + rotate 7 + compress + delaycompress + missingok + notifempty + } +EOF bash /opt/appsmith/auto_heal.sh $APPSMITH_AUTO_HEAL_CURL_TIMEOUT >> "$APPSMITH_LOG_DIR"/cron/auto_heal.log 2>&1 & fi }
Line range hint
279-307: Add retry mechanism for critical database operations.While the error handling is good, critical operations like MongoDB replica set initialization could benefit from a retry mechanism with exponential backoff.
init_replica_set() { + local max_retries=3 + local retry_count=0 + local backoff=5 if [[ $shouldPerformInitdb -gt 0 && $isUriLocal -eq 0 ]]; then tlog "Initializing Replica Set for local database" # Start installed MongoDB service - Dependencies Layer mongod --fork --port 27017 --dbpath "$MONGO_DB_PATH" --logpath "$MONGO_LOG_PATH" tlog "Waiting 10s for MongoDB to start" sleep 10 tlog "Creating MongoDB user" - mongosh "127.0.0.1/appsmith" --eval "db.createUser({ + while [[ $retry_count -lt $max_retries ]]; do + if mongosh "127.0.0.1/appsmith" --eval "db.createUser({ user: '$APPSMITH_MONGODB_USER', pwd: '$APPSMITH_MONGODB_PASSWORD', roles: [{ role: 'root', db: 'admin' }, 'readWrite'] } - )" + )"; then + break + fi + retry_count=$((retry_count + 1)) + sleep $((backoff * retry_count)) + done
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (2)
deploy/docker/fs/opt/appsmith/entrypoint.sh(1 hunks)deploy/docker/fs/opt/appsmith/run-caddy.sh(1 hunks)
🔇 Additional comments (1)
deploy/docker/fs/opt/appsmith/entrypoint.sh (1)
506-506: Consider validating OpenTelemetry endpoint configuration.
While setting OTEL_SERVICE_NAME is good, the script should validate that required OpenTelemetry endpoint configurations (OTEL_EXPORTER_OTLP_ENDPOINT) are properly set before enabling tracing.
Description
Tip
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.
Fixes #
Issue Numberor
Fixes
Issue URLWarning
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.
Automation
/ok-to-test tags=""
🔍 Cypress test results
Caution
If you modify the content in this section, you are likely to disrupt the CI result for your PR.
Communication
Should the DevRel and Marketing teams inform users about this change?
Summary by CodeRabbit
New Features
OTEL_SERVICE_NAME.Bug Fixes
Documentation