diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9a9f473..fb6cb5c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -45,7 +45,7 @@ jobs: run: mise run lint - name: Validate Renovate presets - run: mise run validate default.json managers/*.json5 overrides/*.json5 versioning/*.json5 .renovaterc.json5 + run: mise run validate default.json apps/*.json5 managers/*.json5 overrides/*.json5 .renovaterc.json5 workflow-lint: if: >- diff --git a/README.md b/README.md index 4b9d6b3..05e7052 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Shareable [Renovate](https://docs.renovatebot.com) custom managers and package overrides for the Kubernetes / homelab ecosystem. -This repository ships **managers, overrides, and a small amount of update policy** (commit messages, zer0ver handling) — no opinionated `packageRules` for grouping, automerging, or scheduling. Extend what you need; keep your own policy local. +This repository ships **managers, overrides, and a small amount of update policy** (commit messages, zer0ver handling) — no opinionated `packageRules` for grouping, automerging, or scheduling. Application-specific presets live under [`apps/`](./apps) and are opt-in. Extend what you need; keep your own policy local. ## Usage @@ -23,7 +23,7 @@ Use Renovate's path-based preset syntax (include the `.json5` extension since Re ```jsonc { - "extends": ["github>home-operations/renovate-presets//managers/cnpg.json5"], + "extends": ["github>home-operations/renovate-presets//apps/cnpg.json5"], } ``` @@ -37,10 +37,10 @@ Use Renovate's path-based preset syntax (include the `.json5` extension since Re Presets are grouped by intent. Each file is self-documenting — open it for the `description` and any caveats. +- [`apps/`](./apps) — per-application presets (CNPG, Grafana dashboards, Talos factory, llama.cpp, Phanpy, SearXNG): custom managers and versioning schemes that only matter if you run the app. **Opt-in, not part of `default.json`.** - [`config/`](./config) — top-level Renovate config (registry aliases, built-in manager file-pattern extensions). - [`managers/`](./managers) — custom regex and datasource managers that pick up dependencies Renovate's built-in managers miss. - [`overrides/`](./overrides) — fixes to `depName`, `sourceUrl`, `packageName`, or `changelogUrl` for specific packages or managers. - [`policies/`](./policies) — opt-in `packageRules` for conventions: commit-message shaping and zer0ver (0.x minors treated as breaking). Extend only if you want the convention. -- [`versioning/`](./versioning) — custom `versioning` schemes for upstreams that ship non-semver tags. -[`default.json`](./default.json) lists every preset that ships in this repo. +[`default.json`](./default.json) lists every general-purpose preset; extend `apps/` presets explicitly. diff --git a/managers/cnpg.json5 b/apps/cnpg.json5 similarity index 100% rename from managers/cnpg.json5 rename to apps/cnpg.json5 diff --git a/managers/grafanaDashboards.json5 b/apps/grafanaDashboards.json5 similarity index 100% rename from managers/grafanaDashboards.json5 rename to apps/grafanaDashboards.json5 diff --git a/versioning/llamacpp.json5 b/apps/llamacpp.json5 similarity index 100% rename from versioning/llamacpp.json5 rename to apps/llamacpp.json5 diff --git a/versioning/phanpy.json5 b/apps/phanpy.json5 similarity index 100% rename from versioning/phanpy.json5 rename to apps/phanpy.json5 diff --git a/versioning/searxng.json5 b/apps/searxng.json5 similarity index 100% rename from versioning/searxng.json5 rename to apps/searxng.json5 diff --git a/managers/talosFactory.json5 b/apps/talosFactory.json5 similarity index 100% rename from managers/talosFactory.json5 rename to apps/talosFactory.json5 diff --git a/default.json b/default.json index a25688e..f1a730c 100644 --- a/default.json +++ b/default.json @@ -1,24 +1,18 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "description": "Extend every preset in this repo. Prefer extending individual presets when you only need some.", + "description": "Extend every general-purpose preset in this repo. App-specific presets under apps/ are opt-in.", "extends": [ "github>home-operations/renovate-presets//config/baseConfig.json5", "github>home-operations/renovate-presets//config/dependencyDashboard.json5", "github>home-operations/renovate-presets//config/managerFilePatterns.json5", "github>home-operations/renovate-presets//config/registryAliases.json5", "github>home-operations/renovate-presets//managers/annotated.json5", - "github>home-operations/renovate-presets//managers/cnpg.json5", - "github>home-operations/renovate-presets//managers/grafanaDashboards.json5", "github>home-operations/renovate-presets//managers/oci.json5", - "github>home-operations/renovate-presets//managers/talosFactory.json5", "github>home-operations/renovate-presets//overrides/changelogs.json5", "github>home-operations/renovate-presets//overrides/helmfile.json5", "github>home-operations/renovate-presets//overrides/mise.json5", "github>home-operations/renovate-presets//overrides/renovateOperator.json5", "github>home-operations/renovate-presets//policies/semanticCommits.json5", - "github>home-operations/renovate-presets//policies/zer0ver.json5", - "github>home-operations/renovate-presets//versioning/llamacpp.json5", - "github>home-operations/renovate-presets//versioning/phanpy.json5", - "github>home-operations/renovate-presets//versioning/searxng.json5" + "github>home-operations/renovate-presets//policies/zer0ver.json5" ] } diff --git a/scripts/gen-default.mjs b/scripts/gen-default.mjs index b2312c5..154c134 100644 --- a/scripts/gen-default.mjs +++ b/scripts/gen-default.mjs @@ -2,7 +2,8 @@ import { readdirSync, writeFileSync } from "node:fs"; const REPO = "home-operations/renovate-presets"; -const DIRS = ["config", "managers", "overrides", "policies", "versioning"]; +// apps/ is deliberately absent: app-specific presets are opt-in. +const DIRS = ["config", "managers", "overrides", "policies"]; const extendsList = DIRS.flatMap((dir) => readdirSync(dir) @@ -14,7 +15,7 @@ const extendsList = DIRS.flatMap((dir) => const out = { $schema: "https://docs.renovatebot.com/renovate-schema.json", description: - "Extend every preset in this repo. Prefer extending individual presets when you only need some.", + "Extend every general-purpose preset in this repo. App-specific presets under apps/ are opt-in.", extends: extendsList, };