Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.

chore(deps): pin dependencies#24

Open
EpochBoy wants to merge 6 commits into
mainfrom
renovate/pin-dependencies
Open

chore(deps): pin dependencies#24
EpochBoy wants to merge 6 commits into
mainfrom
renovate/pin-dependencies

Conversation

@EpochBoy
Copy link
Copy Markdown
Owner

@EpochBoy EpochBoy commented Feb 3, 2026

This PR contains the following updates:

Package Type Update Change
docker.io/library/alpine final pinDigest c3f8e73
docker.io/library/golang stage pinDigest 6b597b1

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Added:
- github.com/rabbitmq/amqp091-go client library
- /rabbitmq/status endpoint - connection status + consumed messages
- /rabbitmq/publish endpoint - publish messages (GET or POST)
- Background consumer goroutine for demo queue
- Prometheus metrics: epochcloud_rabbitmq_{messages_published,messages_consumed,publish_errors,connected}_total
- HTML template: RabbitMQ Demo section

Features:
- Graceful handling when RabbitMQ not configured (optional)
- Auto-ack consumer with last 10 messages stored
- Trace ID correlation in messages
- OpenTelemetry spans for all RabbitMQ operations

Env vars (optional):
- RABBITMQ_HOST, RABBITMQ_PORT, RABBITMQ_USERNAME
- RABBITMQ_PASSWORD, RABBITMQ_VHOST, RABBITMQ_URI, RABBITMQ_QUEUE
The app now runs a background connection manager that:
- Retries connection with exponential backoff (1s to 30s)
- Automatically reconnects when connection is lost
- Uses NotifyClose to detect connection drops
- Non-blocking startup (app starts immediately, connects when RabbitMQ is ready)

This makes the app resilient to RabbitMQ being unavailable at startup.
When CONSUMER_MODE=true:
- Only consumes messages from RabbitMQ queue
- HTTP server runs minimal endpoints (/health, /metrics only)
- No /rabbitmq/publish or other producer endpoints

This enables:
- Separate consumer pods scaled by KEDA based on queue depth
- Producer pods that only publish (don't consume own messages)
- True microservices pub/sub pattern demonstration
Valkey may not be ready immediately during pod startup, especially with
Linkerd mTLS. Added retry logic (5 attempts, exponential backoff 1s→16s)
to handle transient connection failures.
Copilot AI review requested due to automatic review settings February 3, 2026 15:35
@EpochBoy EpochBoy force-pushed the renovate/pin-dependencies branch from ed9e41b to b878932 Compare February 3, 2026 15:35
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR pins Docker base image dependencies by adding SHA256 digests to ensure reproducible builds and enhance supply chain security. Renovate bot has automatically generated this change to lock the golang:1.24-alpine and alpine:3.21 images to specific versions.

Changes:

  • Added SHA256 digest pinning to the golang:1.24-alpine builder image
  • Added SHA256 digest pinning to the alpine:3.21 runtime image

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants