Woodpecker
Description
The woodpecker crawler looks for Woodpecker CI workflow files and updates the container images used by their steps and services.
The following file patterns are scanned by default:
.woodpecker.ymland.woodpecker.yaml.woodpecker/.ymland.woodpecker/.yaml.woodpecker//.ymland.woodpecker//.yaml
Override them with the filematch parameter.
This crawler is enabled by default, so it can be used either automatically by running updatecli diff from a directory containing the files to update, or by providing a manifest.
The automatic discovery behavior can be tuned by providing a YAML manifest with a woodpecker crawler in top-level directive autodiscovery as explained in the "Autodiscovery" page.
Important | Only the list form of steps and services is understood. A workflow using the map form is skipped, and the reason is only visible with --debug. |
# Supported
steps:
- name: build
image: golang:1.21
# Not supported, this file yields no manifest
steps:
build:
image: golang:1.21Generated manifests
Each image produces a dockerimage source for the latest tag and a yaml target that rewrites the image reference in place. When digest pinning is enabled, a dockerdigest source is added and the digest is written alongside the tag.
digest defaults to true. Set digest: false to track the tag only.
Authentication
Use auths to reach private registries, keyed by registry URL without a scheme, accepting either a token or a username/password pair. When it is empty Updatecli falls back to the ambient OCI credentials, such as those written by docker login.
Manifest
Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| auths | object | “auths” defines the registry credentials, keyed by registry host without scheme. remark:
example: | |
| password | string | “password” defines the container registry password used for authentication. default:
credentials are retrieved from the local environment, such as remark:
| |
| token | string | “token” defines the container registry bearer token used for authentication. default:
credentials are retrieved from the local environment, such as remark:
| |
| username | string | “username” defines the container registry username used for authentication. default:
credentials are retrieved from the local environment, such as remark:
| |
| digest | boolean | “digest” defines whether the generated manifests pin the image digest in addition to the tag. default: true | |
| filematch | array | “filematch” defines the file path patterns the crawler searches for. default: remark:
| |
| ignore | array | “ignore” defines rules to exclude matching container images from the autodiscovery. remark:
| |
| images | array | “images” defines the container images to match. remark:
| |
| path | string | “path” defines a Woodpecker workflow file path pattern. remark:
| |
| only | array | “only” defines rules to restrict the autodiscovery to matching container images. remark:
| |
| images | array | “images” defines the container images to match. remark:
| |
| path | string | “path” defines a Woodpecker workflow file path pattern. remark:
| |
| rootdir | string | “rootdir” defines the directory where the crawler starts searching for Woodpecker workflow files. default: the scm directory when “scmid” is set, otherwise the directory relative paths resolve from, by default the working directory. remark:
| |
| versionfilter | object | “versionfilter” defines the version filter used by the generated manifests. default:
kind “semver” with pattern “>= remark:
example: | |
| kind | string | “kind” defines the versioning scheme used to select a version. default: latest remark:
example:
| |
| pattern | string | “pattern” defines the version pattern, according to “kind”. default:
remark:
example:
| |
| regex | string | “regex” defines the regular expression extracting the version from each entry. remark:
example:
| |
| replaceall | object | “replaceall” applies a regular expression replacement to each version before filtering. remark:
example: turns “curl-8_15_0” into “curl-8.15.0”. | |
| pattern | string | “pattern” defines the regular expression matching the text to replace. example:
| |
| replacement | string | “replacement” defines the text replacing each match of “pattern”. remark:
example:
| |
| strict | boolean | “strict” enforces strict semantic versioning rules when parsing versions. default: false remark:
|
Example
autodiscovery:
crawlers:
woodpecker: {}