This document describes all the configuration options available in the alert-manager ConfigMaps.
Alert Manager requires two ConfigMaps to function properly:
alert-manager-controller-manager-config- Used by the Kubernetes controller-runtime frameworkalert-manager-configmap- Used directly by the alert-manager application code
Important: Both ConfigMaps are required and serve different purposes. Missing either one will cause the controller to crash on startup.
The alert-manager controller uses two separate ConfigMaps for different purposes:
-
Controller Framework ConfigMap:
alert-manager-controller-manager-config- This ConfigMap is used by the underlying Kubernetes controller-runtime framework
- It configures system-level features like health probes, metrics, leader election
- It also contains important environment variable values for the controller deployment
-
Application ConfigMap:
alert-manager-configmap- This ConfigMap is explicitly loaded by the application code
- It's defined as a constant (
AlertManagerConfigMapName = "alert-manager-configmap") in the source code - It contains application-specific configuration like backend type and URL
This ConfigMap is used by controller-runtime and contains configuration for health probes, metrics, webhook, and leader election:
apiVersion: v1
kind: ConfigMap
metadata:
name: alert-manager-controller-manager-config
namespace: alert-manager-system
data:
controller_manager_config.yaml: |
apiVersion: controller-runtime.sigs.k8s.io/v1alpha1
kind: ControllerManagerConfig
health:
healthProbeBindAddress: :8081
metrics:
bindAddress: 127.0.0.1:8080
webhook:
port: 9443
leaderElection:
leaderElect: true
resourceName: 5eb85e31.keikoproj.io
MONITORING_BACKEND_URL: "https://YOUR_WAVEFRONT_INSTANCE.wavefront.com"
MONITORING_BACKEND_TYPE: "wavefront"This ConfigMap contains application-specific configuration and is required by the controller:
apiVersion: v1
kind: ConfigMap
metadata:
name: alert-manager-configmap
namespace: alert-manager-system
data:
app.mode: "dev"
base.url: "https://YOUR_WAVEFRONT_INSTANCE.wavefront.com"
backend.type: "wavefront"In addition to ConfigMaps, alert-manager requires a secret for API token authentication:
apiVersion: v1
kind: Secret
metadata:
name: wavefront-api-token
namespace: alert-manager-system
type: Opaque
stringData:
wavefront-api-token: "YOUR_API_TOKEN_HERE"IMPORTANT: The secret key name (
wavefront-api-token) must exactly match the secret name for the controller to correctly read the token.
| Property | Description | Example |
|---|---|---|
app.mode |
Application mode (dev/prod) | "dev" |
base.url |
URL of your Wavefront instance | "https://example.wavefront.com" |
backend.type |
Type of monitoring backend | "wavefront" |
| Property | Description | Example |
|---|---|---|
MONITORING_BACKEND_URL |
URL of your monitoring backend | "https://example.wavefront.com" |
MONITORING_BACKEND_TYPE |
Type of monitoring backend | "wavefront" |
If you encounter issues with ConfigMaps:
-
Check if both ConfigMaps exist:
kubectl get configmaps -n alert-manager-system
-
Verify the content of each ConfigMap:
kubectl get configmap alert-manager-configmap -n alert-manager-system -o yaml kubectl get configmap alert-manager-controller-manager-config -n alert-manager-system -o yaml
-
Check controller logs for ConfigMap-related errors:
kubectl logs -n alert-manager-system deployment/alert-manager-controller-manager -c manager | grep -i configmap -
Common Error:
configmaps "alert-manager-configmap" not foundindicates the application ConfigMap is missing.
For more detailed troubleshooting steps, see the Troubleshooting Guide.