Commit Graph

12 Commits

Author SHA1 Message Date
Hugh Hackman 2e2cbe3414 feat: extend Renovate config from org-level preset
Replaces the duplicated Renovate config with a simple extend from the
org-level preset (privilegedescalation/.github:renovate-config). All
rules (schedule, pinDigests, npm/github-actions minor+patch+major groups)
are now inherited from the org config, which was updated in PR #66 to add
major-version update rules for GitHub Actions.

This eliminates config drift between repos and reduces maintenance toil —
future rule changes only need to be made in one place.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 16:16:54 +00:00
privilegedescalation-ceo[bot] 1369cb047f Merge pull request #4 from privilegedescalation/chore/renovate-pin-digests
chore(renovate): add pinDigests to template so new repos start with SHA pinning
2026-03-22 11:06:35 +00:00
privilegedescalation-engineer[bot] bf9aab7957 chore(renovate): add pinDigests to template repo renovate.json
Ensures repos created from this template start with GitHub Actions SHA pinning
configured. Matches the pinDigests: true change being applied to all existing
plugin repos (PRI-757).

Without this, new repos created from the template would need a follow-up PR
to add pinDigests.
2026-03-22 07:18:36 +00:00
privilegedescalation-ceo[bot] 7cc3ea5459 Merge pull request #2 from privilegedescalation/feat/add-dual-approval-workflow
ci: add dual-approval status check (CTO + QA)
2026-03-22 05:35:57 +00:00
Hugh Hackman ade88e255f ci: add dual-approval status check (CTO + QA)
Adds the shared dual-approval caller workflow, mirroring all other
plugin repos. Enforces the CTO + QA dual approval policy as a GitHub
required status check.

Resolves the gap identified in PRI backlog (dd33f62f).
2026-03-22 05:23:52 +00:00
privilegedescalation-ceo[bot] d9b0df2784 Merge pull request #1 from privilegedescalation/feat/scaffold-template
feat: scaffold starter template with TypeScript, CRD list view, CI, ArtifactHub
2026-03-21 14:07:11 +00:00
Gandalf the Greybeard a62dbcac2d fix: add missing test devDependencies (vitest, @testing-library/*)
The test script runs vitest and imports from @testing-library/react and
@testing-library/jest-dom, but none of these were listed as devDependencies.
Adds vitest ^3.0.5 and all required @testing-library packages matching other
plugin repos in the org.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 12:53:39 +00:00
Gandalf the Greybeard 4da033d8d7 fix: add .eslintrc.js and .prettierrc.js to fix CI lint failure
The shared CI workflow runs `npm run lint` (ESLint) and `npm run format:check`
(Prettier) but neither config file was present in the template repo. ESLint
was failing with "ESLint couldn't find a configuration file."

Add both configs matching the pattern used in other plugins in the org:
- .eslintrc.js extends @headlamp-k8s/eslint-config (provided by @kinvolk/headlamp-plugin)
- .prettierrc.js uses @headlamp-k8s/eslint-config/prettier-config

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 08:08:16 +00:00
Hugh Hackman 3d272d3f6e fix: add package-lock.json to satisfy npm cache in CI
The shared plugin-ci.yaml workflow uses `cache: npm` in setup-node
and runs `npm ci`, both of which require a lock file. Without it,
CI fails with "Dependencies lock file is not found".

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 07:59:51 +00:00
Hugh Hackman f40ecbb899 fix(workflows): add pull-requests permission and secrets: inherit to release
The shared plugin-release.yaml reusable workflow declares pull-requests: write
and uses it to create/merge the release PR. Calling workflows must grant all
permissions declared by reusable workflows or the job fails at startup.

Also adds secrets: inherit so org-level RELEASE_APP_ID and RELEASE_APP_PRIVATE_KEY
are forwarded to the external reusable workflow — without this they arrive empty
and the release is silently skipped.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 07:58:50 +00:00
Gandalf the Greybeard 9da27f4186 feat: scaffold starter template with TypeScript, CRD list view, CI, ArtifactHub
Adds full plugin starter template including:
- package.json with @kinvolk/headlamp-plugin devDependency and standard scripts
- tsconfig.json extending headlamp plugin config
- vitest.config.mts + vitest.setup.ts (jsdom, NODE_ENV=test, localStorage shim)
- src/index.tsx: registers sidebar entry and route for ResourceListPage
- src/components/ResourceListPage.tsx: placeholder CRD list view with TODO guide
- src/components/ResourceListPage.test.tsx: example tests using vi.mock pattern
- .github/workflows/ci.yaml: delegates to shared plugin-ci.yaml
- .github/workflows/release.yaml: delegates to shared plugin-release.yaml
- artifacthub-pkg.yml + artifacthub-repo.yml: ArtifactHub metadata with TODO markers
- renovate.json: Mend Renovate config for weekly dependency updates
- README.md: complete getting-started guide
- CONTRIBUTING.md: local dev, code style, testing, PR process
- LICENSE: Apache-2.0

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 03:45:12 +00:00
Gandalf the Greybeard b741cfebc6 chore: initialize repository
Empty bootstrap commit to establish main branch before template scaffolding PR.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 03:40:50 +00:00