# overlay
> Manage RHDH plugins in the overlay repository (rhdh-plugin-export-overlays). Onboard, update, maintain, and triage plugins in the Extensions Catalog.
- Author: Marcel Hild
- Repository: durandom/rhdh-skill
- Version: 20260205125152
- Stars: 0
- Forks: 0
- Last Updated: 2026-02-06
- Source: https://github.com/durandom/rhdh-skill
- Web: https://mule.run/skillshub/@@durandom/rhdh-skill~overlay:20260205125152
---
---
name: overlay
description: Manage RHDH plugins in the overlay repository (rhdh-plugin-export-overlays). Onboard, update, maintain, and triage plugins in the Extensions Catalog.
---
This skill uses the orchestrator CLI. **Set up first:**
```bash
RHDH=../rhdh/scripts/rhdh
```
**Verify environment:**
```bash
$RHDH
```
If `needs_setup: true`, run `$RHDH doctor` before proceeding.
All plugin exports go through [rhdh-plugin-export-overlays](https://github.com/redhat-developer/rhdh-plugin-export-overlays).
Each plugin lives in a workspace folder with `source.json` + `plugins-list.yaml`.
CI handles the actual export - we define the configuration.
Two Backstage version fields serve different purposes:
- `source.json` → `repo-backstage-version` = upstream's **actual** version
- `backstage.json` → `version` = our **override** for RHDH compatibility
Never confuse these. CI validates the source.json value matches upstream.
Always test with PR artifacts before merge using rhdh-local.
OCI format: `oci:///:pr___!`
Success = plugin loads and attempts API calls (auth errors are expected without real credentials).
When stuck, find a similar workspace and copy its patterns.
AWS plugins → copy from `aws-ecs/` or `aws-codebuild/`
Community plugins → copy from `backstage/`
Check existing PRs for structure examples.
## Identify Task
What overlay task would you like to do?
### Plugin Owner Tasks
*For contributors managing their own plugin(s)*
1. **Onboard a new plugin** — Add upstream plugin to Extensions Catalog
2. **Update plugin version** — Bump to newer upstream commit/tag
3. **Check plugin status** — Verify health and compatibility
4. **Fix build failure** — Debug CI/publish issues
### Core Team Tasks
*For COPE/Plugins team managing the overlay repository*
5. **Triage overlay PRs** — Prioritize open PRs by criticality
6. **Analyze specific PR** — Check assignment, compatibility, merge readiness
7. **Trigger publish** — Add /publish comment to PR(s)
**Wait for response before proceeding.**
### Plugin Owner Routes
| Response | Workflow |
|----------|----------|
| 1, "onboard", "add", "new plugin", "import" | `workflows/onboard-plugin.md` |
| 2, "update", "bump", "upgrade", "version" | `workflows/update-plugin.md` |
| 3, "status", "check", "health" | Run inline status checks |
| 4, "fix", "debug", "failure", "error" | `workflows/fix-build.md` |
### Core Team Routes
| Response | Workflow |
|----------|----------|
| 5, "triage", "prioritize", "backlog" | `workflows/triage-prs.md` |
| 6, "analyze", "check PR", "PR #" | `workflows/analyze-pr.md` |
| 7, "publish", "trigger" | Run inline publish trigger |
**After reading the workflow, follow it exactly.**
For status checks, use the CLI:
```bash
$RHDH workspace list # List all workspaces
$RHDH workspace status # Check specific workspace
```
Or run direct commands:
```bash
# Recent CI runs
gh run list --repo redhat-developer/rhdh-plugin-export-overlays --limit 5
# Open PRs for workspace
gh pr list --repo redhat-developer/rhdh-plugin-export-overlays --search ""
```
For triggering publish on one or more PRs:
```bash
REPO="redhat-developer/rhdh-plugin-export-overlays"
# Single PR
gh pr comment --repo $REPO --body "/publish"
# Check if publish already ran
gh pr view --repo $REPO --json statusCheckRollup \
--jq '.statusCheckRollup[] | select(.name | contains("publish"))'
```
**Guards before triggering:**
1. PR is open (not closed/merged)
2. No `do-not-merge` label
3. Publish check not already successful
See `references/github-reference.md` (in rhdh skill) for full patterns.
**Overlay repo patterns:** references/overlay-repo.md
**CI feedback interpretation:** references/ci-feedback.md
**Metadata format:** references/metadata-format.md
**PR label priorities:** references/label-priority.md
**RHDH Local testing:** references/rhdh-local.md
**For GitHub/JIRA patterns:** See `../rhdh/references/`
### Plugin Owner Workflows
| Workflow | Purpose |
|----------|---------|
| onboard-plugin.md | Full 6-phase process to add new plugin |
| update-plugin.md | Bump to newer upstream version |
| fix-build.md | Debug and resolve CI failures |
### Core Team Workflows
| Workflow | Purpose |
|----------|---------|
| triage-prs.md | Prioritize open PRs by criticality |
| analyze-pr.md | Deep-dive on single PR (assignment, compat, readiness) |
| doctor.md | Environment setup guidance |
| Template | Purpose |
|----------|---------|
| workspace-files.md | source.json, plugins-list.yaml, backstage.json |
### Plugin Owner Success
- Plugin workspace created with correct structure
- CODEOWNERS entry added for the workspace
- CI passes (`/publish` succeeds)
- Plugin tested locally with rhdh-local
- PR merged to overlay repo
- *(Recommended)* Activity logged via `$RHDH log add`
### Core Team Success
- PR backlog prioritized with actionable next steps
- Stale PRs identified with suggested owners
- Publish triggered on PRs needing it
- Compatibility issues flagged before merge
- *(Recommended)* Triage session logged, follow-ups tracked via `$RHDH todo`