Skip to main content
Version: Next ๐Ÿšง

Kubernetes

We recommended to deploy Woodpecker using the Woodpecker helm chart. Have a look at the values.yaml config files for all available settings.

The chart contains two sub-charts, server and agent which are automatically configured as needed. The chart started off with two independent charts but was merged into one to simplify the deployment at start of 2023.

A couple of backend-specific config env vars exists which are described in the kubernetes backend docs.

Metricsโ€‹

Please see Prometheus for general information on configuration and usage.

For Kubernetes, you must set the following values when deploying via Helm chart to enable in-cluster metrics gathering:

metrics:
enabled: true
port: 9001

This activates the /metrics endpoint on port 9001 without authentication. This port is not exposed externally by default. Use the instructions at Prometheus if you want to enable authenticated external access to metrics.

To enable Prometheus pod monitoring discovery, you must also make the following settings:

prometheus:
podmonitor:
enabled: true
interval: 60s
labels: {}

Troubleshooting Metricsโ€‹

If you are not receiving metrics despite the steps above, ensure that in your Prometheus configuration either your namespace is explicitly configured in podMonitorNamespaceSelector or the selectors are disabled.

# Search all available namespaces
podMonitorNamespaceSelector:
matchLabels: {}
# Enable all available pod monitors
podMonitorSelector:
matchLabels: {}