DirectorySecurity AdvisoriesPricing
Sign in
Directory
configmap-reload-iamguarded logo

configmap-reload-iamguarded

Last changed

Request a free trial

Contact our team to test out this image for free. Please also indicate any other images you would like to evaluate.

Tags
Overview
Comparison
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Chainguard Container for configmap-reload-iamguarded

configmap-reload is a simple binary to trigger a reload when Kubernetes ConfigMaps or Secrets, mounted into pods, are updated.

Chainguard Containers are regularly-updated, secure-by-default container images.

Download this Container Image

For those with access, this container image is available on cgr.dev:

docker pull cgr.dev/ORGANIZATION/configmap-reload-iamguarded:latest

Be sure to replace the ORGANIZATION placeholder with the name used for your organization's private repository within the Chainguard Registry.

Compatibility Notes

This is the IAMGuarded variant of configmap-reload, optimized for enhanced security with least-privilege access controls. Key differences from the standard configmap-reload image:

  • Custom Installation Path: Binary installed at /opt/iamguarded/configmap-reload/bin/configmap-reload
  • Non-Root User: Runs as UID/GID 1001 (non-root) by default for improved security
  • PATH Configuration: Custom PATH includes /opt/iamguarded/configmap-reload/bin as the first directory
  • Minimal Attack Surface: Built on minimal Chainguard base images with only essential dependencies

Getting Started

The configmap-reload-iamguarded image is a lightweight sidecar container that monitors Kubernetes ConfigMaps and Secrets for changes, automatically triggering application reloads when configuration updates are detected.

Basic Docker Usage

Run configmap-reload to watch a directory and trigger an HTTP webhook on changes:

docker run \
  -v /path/to/config:/config:ro \
  cgr.dev/ORGANIZATION/configmap-reload-iamguarded:latest \
    -webhook-url=http://localhost:8080/reload \
    -volume-dir=/config

Command-Line Options

Common configuration flags:

  • -webhook-url: URL to send reload notification (required)
  • -volume-dir: Directory to watch for changes (can be specified multiple times)
  • -webhook-method: HTTP method for webhook (default: POST)
  • -webhook-status-code: Expected successful status code (default: 200)
  • -webhook-retries: Number of retry attempts (default: 1)

Helm Chart

This image is designed to work with the IAMGuarded Grafana Alloy Helm chart as a sidecar container.

Configuration

The global.org value is required and specifies your Chainguard organization:

cat > values.yaml <<EOF
global:
  org: ORGANIZATION
EOF

To install the chart, use helm with the values.yaml:

helm upgrade --install grafana-alloy oci://cgr.dev/ORGANIZATION/iamguarded-charts/grafana-alloy \
  --namespace grafana-alloy \
  --create-namespace \
  --values values.yaml

The configmap-reload sidecar is automatically configured within the Grafana Alloy chart to watch for configuration changes and trigger Alloy reloads without requiring pod restarts.

Manual Sidecar Configuration

To use this image as a sidecar in your own deployments:

cat > pod.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: app-with-fips-reload
spec:
  containers:
  - name: app
    image: cgr.dev/ORGANIZATION/my-app-fips:latest
    volumeMounts:
    - name: config
      mountPath: /etc/app-config

  - name: configmap-reload
    image: cgr.dev/ORGANIZATION/configmap-reload-iamguarded-fips:latest
    args:
      - -webhook-url=http://localhost:8080/-/reload
      - -volume-dir=/etc/app-config
    volumeMounts:
    - name: config
      mountPath: /etc/app-config
      readOnly: true

  volumes:
  - name: config
    configMap:
      name: app-config
EOF

Use Cases

Grafana Alloy (Primary Use Case)

When deployed with Grafana Alloy, configmap-reload watches the Alloy configuration file and triggers a reload when changes are detected, enabling dynamic configuration updates without pod restarts.

Prometheus and Alerting

Can also be used with Prometheus, Alertmanager, and similar applications that support configuration reload endpoints:

# Prometheus
-webhook-url=http://localhost:9090/-/reload

# Alertmanager
-webhook-url=http://localhost:9093/-/reload

Custom Applications

Any application that exposes an HTTP reload endpoint can benefit from automatic configuration reloading.

Monitoring

The sidecar exposes Prometheus metrics on port 9533:

# Access metrics
curl http://localhost:9533/metrics

Metrics include:

  • configmap_reload_last_reload_successful: Whether the last reload succeeded
  • configmap_reload_last_reload_error_timestamp_seconds: Timestamp of last error
  • configmap_reload_success_total: Total successful reloads
  • configmap_reload_error_total: Total failed reloads

Documentation and Resources

  • configmap-reload GitHub Repository
  • Grafana Alloy IAMGuarded Helm Chart
  • Kubernetes ConfigMaps Documentation
  • Kubernetes Secrets Documentation

What are Chainguard Containers?

Chainguard's free tier of Starter container images are built with Wolfi, our minimal Linux undistro.

All other Chainguard Containers are built with Chainguard OS, Chainguard's minimal Linux operating system designed to produce container images that meet the requirements of a more secure software supply chain.

The main features of Chainguard Containers include:

For cases where you need container images with shells and package managers to build or debug, most Chainguard Containers come paired with a development, or -dev, variant.

In all other cases, including Chainguard Containers tagged as :latest or with a specific version number, the container images include only an open-source application and its runtime dependencies. These minimal container images typically do not contain a shell or package manager.

Although the -dev container image variants have similar security features as their more minimal versions, they include additional software that is typically not necessary in production environments. We recommend using multi-stage builds to copy artifacts from the -dev variant into a more minimal production image.

Need additional packages?

To improve security, Chainguard Containers include only essential dependencies. Need more packages? Chainguard customers can use Custom Assembly to add packages, either through the Console, chainctl, or API.

To use Custom Assembly in the Chainguard Console: navigate to the image you'd like to customize in your Organization's list of images, and click on the Customize image button at the top of the page.

Learn More

Refer to our Chainguard Containers documentation on Chainguard Academy. Chainguard also offers VMs and Librariescontact us for access.

Trademarks

This software listing is packaged by Chainguard. The trademarks set forth in this offering are owned by their respective companies, and use of them does not imply any affiliation, sponsorship, or endorsement by such companies.

Licenses

Chainguard's container images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" tag of this image:

  • Apache-2.0

  • LGPL-2.1-or-later

  • MIT

  • MPL-2.0

For a complete list of licenses, please refer to this Image's SBOM.

Software license agreement

Compliance

Chainguard Containers are SLSA Level 3 compliant with detailed metadata and documentation about how it was built. We generate build provenance and a Software Bill of Materials (SBOM) for each release, with complete visibility into the software supply chain.

SLSA compliance at Chainguard

This image helps reduce time and effort in establishing PCI DSS 4.0 compliance with low-to-no CVEs.

PCI DSS at Chainguard

A FIPS validated version of this image is available for FedRAMP compliance. STIG is included with FIPS image.


Related images
configmap-reload logo
configmap-reload

Category
Application

The trusted source for open source

Talk to an expert
© 2025 Chainguard. All Rights Reserved.
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsIntegrationsPricing