Shared Renovate configurations for MailerLite repositories.
| Config | Purpose |
|---|---|
base |
Common defaults inherited by all configs |
app |
Application/microservice repositories |
flux |
Kubernetes Flux cluster repositories |
Add a .github/renovate.json to your repository and extend the appropriate config:
Application repo:
{
"extends": ["github>mailerlite/renovate-config:app"]
}Flux cluster repo:
{
"extends": ["github>mailerlite/renovate-config:flux"]
}Applied automatically to all configs that extend app or flux. Sets organisation-wide defaults:
- Semantic commit messages
- Dependency dashboard with auto-close
- Digest pinning for all Docker images and GitHub Actions
- 1-day minimum release age before a PR is opened
- Security vulnerability PRs bypass the age gate and are opened immediately
- Major updates require manual approval via the dependency dashboard
- Digest-only pin updates are grouped into a single PR (no version change)
For application and microservice repositories. Enables:
dockerfile— external images inDockerfile*andMakefiledocker-compose— images in compose fileshelmv3— Helm chart dependenciesgithub-actions— actions in.github/workflows/regex— custom annotations (see below)
For Kubernetes Flux cluster repositories. Enables:
flux— HelmRelease, GitRepository, etc. in cluster YAML fileskubernetes— raw Kubernetes manifestsgithub-actions— actions in.github/workflows/regex— custom annotations (see below)
Updates run weekly on Monday at 5 AM UTC, except Groot which automerges immediately at any time.
Renovate can only update values it can detect. For cases where the version lives in a non-standard location, add a # renovate: comment on the line above.
Use when a tool version is stored in an ENV or ARG and installed manually (e.g. via curl).
# renovate: datasource=docker depName=gcr.io/google.com/cloudsdktool/cloud-sdk
ENV CLOUD_SDK_VERSION="555.0.0"Supported fields in the comment:
| Field | Required | Description |
|---|---|---|
datasource |
Yes | e.g. docker, github-releases, pypi |
depName |
Yes | Full package/image name |
versioning |
No | Override versioning scheme, e.g. loose |
extractVersion |
No | Regex to extract the version from the upstream tag |
currentDigest |
No | Written back by Renovate when pinning digests |
Internal images from europe-docker.pkg.dev/mailerlitehub/ are tracked automatically — no annotation needed.
FROM europe-docker.pkg.dev/mailerlitehub/octopus/octopus:1.2.3@sha256:abc123...
COPY --from=europe-docker.pkg.dev/mailerlitehub/swiss-army-knife/swiss-army-knife:1.0.0 /bin/tool /bin/toolBoth FROM and COPY --from are supported, with or without a digest.
Use in helmchart/values.(dev|prod|staging|production).yaml files when an image tag is defined inline.
# renovate: datasource=docker depName=europe-docker.pkg.dev/mailerlite-v2/landings/landings
image: europe-docker.pkg.dev/mailerlite-v2/landings/landings:1.5.0@sha256:abc123...Use for Helm charts served from an OCI container registry (datasource is docker, not helm).
# renovate: datasource=docker registryUrl=https://europe-docker.pkg.dev/mailerlitehub/charts chart=pgbouncer
version: 1.2.3HelmReleases using bjw-s/app-template are detected automatically — no annotation needed. Works for internal images, Docker Hub, and ghcr.io.
Renovate handles digest pinning in two ways depending on whether a digest: field is present:
With digest: field — digest is written to the dedicated field, tag stays clean:
image:
repository: europe-docker.pkg.dev/mailerlitehub/screenshoter/screenshoter
tag: v3.2.3
digest: sha256:abc123...Without digest: field — digest is appended inline to the tag:
image:
repository: europe-docker.pkg.dev/mailerlitehub/screenshoter/screenshoter
tag: v3.2.3@sha256:abc123...To switch a resource from inline to separate field, manually add digest: "" once — Renovate will populate and maintain it from that point on.
Detection uses JSONata queries, so no
# renovate:annotation is needed.
Use when the full image reference (including tag) appears on a single line.
# renovate: datasource=docker depName=europe-docker.pkg.dev/mailerlitehub/myapp/myapp
image: europe-docker.pkg.dev/mailerlitehub/myapp/myapp:2.0.1@sha256:abc123...# .pre-commit-config.yaml
repos:
- repo: https://github.com/some-org/some-hook
# renovate: datasource=github-releases depName=some-org/some-hook
rev: v1.2.3