No description
Find a file
Sander van Thillo 2c05622794
All checks were successful
Validate presets / validate (push) Successful in 5s
feat(ci): document the components and let Renovate update their tag
ci/README.md describes the inputs and the behaviour of the workflow and container-build components. A project refers to a tag, so a change to main does not change all pipelines at the same time. default.json gets a regex manager that proposes a new tag of this repository in a .gitlab-ci.yml, also for a patch release.
2026-10-13 16:41:46 +02:00
.forgejo/workflows feat: add the shared baseline presets and their ADRs 2026-10-13 12:22:01 +02:00
ci feat(ci): document the components and let Renovate update their tag 2026-10-13 16:41:46 +02:00
docs feat(ci): document the components and let Renovate update their tag 2026-10-13 16:41:46 +02:00
default.json feat(ci): document the components and let Renovate update their tag 2026-10-13 16:41:46 +02:00
opentofu.json feat: add the shared baseline presets and their ADRs 2026-10-13 12:22:01 +02:00
README.md docs: propose reusable CI components and record where they live 2026-10-13 16:07:15 +02:00
weekly.json feat: add the shared baseline presets and their ADRs 2026-10-13 12:22:01 +02:00

renovate-config

The shared Renovate configuration for Digilab. Each project that uses Renovate extends default.json from this repository. The project keeps only the rules that apply to it.

Use

Put this renovate.json in the root of the project:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "https://code.digitaledienst.overheid.nl/digilab/renovate-config/raw/branch/main/default.json"
  ]
}

Add the rules of the project after the extends list. A rule in the project wins over a rule in the preset.

Renovate runs against GitLab, so a project must use the raw URL. forgejo> reads from codeberg.org only. When Renovate runs against Forgejo, use local>digilab/renovate-config. See ADR 0002.

Presets

Preset Purpose Decision
default.json The baseline for every project ADR 0001
weekly.json Weekly updates for a project that gives Renovate little attention. Security fixes still arrive every day. ADR 0006
opentofu.json Terraform providers from the OpenTofu registry

default.json contains these rules:

Rule Decision
osvVulnerabilityAlerts, with the label security ADR 0003
No patch updates. Security fixes still arrive. ADR 0003
No digest-only updates for a versioned tag ADR 0004
npm releases wait 7 days ADR 0005

To use more than one preset, list them in order:

{
  "extends": [
    "https://code.digitaledienst.overheid.nl/digilab/renovate-config/raw/branch/main/default.json",
    "https://code.digitaledienst.overheid.nl/digilab/renovate-config/raw/branch/main/weekly.json"
  ]
}

Change a preset

A change to main reaches every project on the next Renovate run. An invalid preset stops Renovate in every project that extends it.

  1. Make the change in a branch.
  2. Make sure that the pipeline passes. It runs renovate-config-validator --strict on each preset.
  3. Write an ADR for a new decision. Put it in docs/adr.
  4. Tell the teams before you merge a change to a shared rule.

To test a change on one project first, refer that project to the branch: …/raw/branch/<branch>/default.json.

Keep the Renovate version in the pipeline the same as the version of the operator in platform/flux/core.

CI components

This repository will also hold the reusable CI components for the projects in the group. See docs/ci-components.md for the analysis and the proposal, and ADR 0007 for the decision.

Background

Issue #1368 describes the problem and the rollout.