{"id":27017710,"url":"https://github.com/cryptorodeo/rhtap-dev-get-started","last_synced_at":"2026-01-19T04:02:22.522Z","repository":{"id":285819892,"uuid":"959440831","full_name":"CryptoRodeo/rhtap-dev-get-started","owner":"CryptoRodeo","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-02T20:53:33.000Z","size":6,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T21:25:40.073Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CryptoRodeo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-02T19:37:28.000Z","updated_at":"2025-04-02T20:19:49.000Z","dependencies_parsed_at":"2025-04-02T21:25:41.961Z","dependency_job_id":"e3902b89-86df-4013-99fb-ff132f0c2830","html_url":"https://github.com/CryptoRodeo/rhtap-dev-get-started","commit_stats":null,"previous_names":["cryptorodeo/rhtap-dev-get-started"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CryptoRodeo/rhtap-dev-get-started","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoRodeo%2Frhtap-dev-get-started","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoRodeo%2Frhtap-dev-get-started/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoRodeo%2Frhtap-dev-get-started/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoRodeo%2Frhtap-dev-get-started/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CryptoRodeo","download_url":"https://codeload.github.com/CryptoRodeo/rhtap-dev-get-started/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoRodeo%2Frhtap-dev-get-started/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28561627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-04T16:30:19.304Z","updated_at":"2026-01-19T04:02:22.516Z","avatar_url":"https://github.com/CryptoRodeo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# RHTAP Developer Onboarding\n\n## Table of Contents\n- [Basic Information](#basic-information)\n  - [Our Plugins](#our-plugins)\n  - [Plugin Distribution](#plugin-distribution)\n  - [Community Collaboration](#community-collaboration)\n  - [Communication Channels](#communication-channels)\n- [Learning Resources](#learning-resources)\n  - [Basic Concepts](#basic-concepts)\n  - [Hands-on Exercises](#hands-on-exercises)\n- [Getting Access](#getting-access)\n  - [Becoming a Plugin Maintainer](#becoming-a-plugin-maintainer)\n- [Your Responsibilities](#your-responsibilities)\n- [Creating Pull Requests](#creating-pull-requests)\n- [Testing](#testing)\n  - [RHDH-local](#rhdh-local)\n  - [Running Services Locally](#running-services-locally)\n- [Helpful Links](#helpful-links)\n  - [Languages and Libraries](#languages-and-libraries)\n  - [Service Documentation](#service-documentation)\n\n## Basic Information\n\n### Our Plugins\nWe maintain these plugins in the Backstage community:\n- [Multi Source Security Viewer](https://github.com/backstage/community-plugins/tree/main/workspaces/multi-source-security-viewer)\n- [Quay](https://github.com/backstage/community-plugins/tree/main/workspaces/quay)\n- [Red Hat ArgoCD](https://github.com/backstage/community-plugins/tree/main/workspaces/redhat-argocd)\n- [Tekton](https://github.com/backstage/community-plugins/tree/main/workspaces/tekton)\n\nWe don't maintain these plugins, but we do add features when needed:\n- [Jenkins](https://github.com/backstage/community-plugins/tree/main/workspaces/jenkins)\n- [Azure Devops](https://github.com/backstage/community-plugins/tree/main/workspaces/azure-devops)\n\n### Plugin Distribution\nWe distribute our plugins as [OCI artifacts](./Docs/OCI-Artifacts.md) that get loaded into RHDH.\n\nThe system that generates and distributes these plugins is currently being developed.\n\n### Community Collaboration\nThe Backstage repository is open source and not owned by Red Hat. This means:\n- You'll work with Spotify developers and other external contributors\n- PR reviews may depend on external developers' schedules\n  - Some reviewers have set \"office hours\" that are not in-line with our plans(e.g., only reviewing PRs on Fridays)\n- You'll need to monitor open Github issues related to our plugins\n\t- Create Jira issues for these Github issues to track the work\n\n### Communication Channels\nYou can join the Backstage community channels listed here: https://github.com/backstage/community?tab=readme-ov-file#backstage-community\nThey use Discord as their main communication channel.\n\nYou can also add their community meetings to your Google calender, but there's no expectation to join these meetings.\n\n## Learning Resources\n\n### Basic Concepts\nBefore diving into development, understand:\n- [What is Backstage and its purpose](https://backstage.spotify.com/learn/backstage-for-all/)\n- [What is RHDH (Red Hat Developer Hub)](https://github.com/redhat-developer/rhdh?tab=readme-ov-file#purpose)\n- [What is RHTAP?](./docs/rhtap/README.md)\n\n### Hands-on Exercises\nGet practical experience with:\n- [Backstage prerequisites](https://backstage.io/docs/getting-started/#prerequisites)\n- [Running Backstage locally](https://backstage.spotify.com/learn/standing-up-backstage/)\n- [Introduction to Plugins](https://backstage.io/docs/plugins/)\n- [Adding a plugin to your Backstage instance](https://github.com/backstage/community-plugins/tree/main/workspaces/quay/plugins/quay#installation)\n\n## Getting Access\n\n### Becoming a Plugin Maintainer\nFollow these steps to become a plugin maintainer:\n1. Get added to the `CODEOWNERS` file for our specific plugins\n   - Example: [See this PR](https://github.com/backstage/community-plugins/pull/2094)\n2. Request permission to be added as a plugin maintainer\n   - Create an issue using [this template](https://github.com/backstage/community/issues/206)\n   - Select Option 3 (plugin maintainer)\n   - Include a link to your `CODEOWNERS` PR\n   - Be patient - the review process can take some time\n\n## Your Responsibilities\nAs a plugin maintainer, you'll need to follow the guidelines outlined here:\nhttps://github.com/backstage/community-plugins/blob/main/docs/plugin-maintainers-guide.md\n\n## Creating Pull Requests\nWhen submitting changes:\n1. [Generate a changeset](https://github.com/backstage/community-plugins/blob/main/CONTRIBUTING.md#creating-changesets)\n   - Refer to [semantic versioning](https://semver.org/) to determine the correct bump-type\n2. Complete as much of the [PR checklist](https://github.com/backstage/community-plugins/blob/main/CONTRIBUTING.md#submitting-a-pull-request) as possible\n\n## Testing\n\n### RHDH-local\nFor testing your plugins in RHDH you can use [RHDH-local](https://github.com/redhat-developer/rhdh-local) with our [configs](./development/configuration/rhdh/).\n\nYour plugins should be loaded from [OCI artifacts](./docs/OCI-Artifacts.md). \n\nSee [these docs](https://github.com/redhat-developer/rhdh/blob/main/docs/dynamic-plugins/index.md#installing-external-backstage-plugins-into-rhdh\n) for more info on dynamic plugins and how to create and load OCI artifacts in RHDH.\n\n### Running services locally\n\nInstead of provisioning a cluster you can follow these instructions for running services locally:\n- [ArgoCD](./development/configuration/argocd/README.md)\n- [Jenkins](./development/configuration/jenkins/README.md)\n- [Tekton](./development/configuration/tekton/README.md)\n\n## Helpful Links\n### Languages and Libraries\n- [TypeScript Documentation](https://www.typescriptlang.org/docs/)\n- [PatternFly Component Library](https://www.patternfly.org/)\n- [Material-UI (MUI) Component Library](https://mui.com/)\n\n### Service documentation\n- [Tekton](https://tekton.dev/docs/)\n- [ArgoCD](https://argo-cd.readthedocs.io/en/stable/)\n- [Quay](https://docs.redhat.com/en/documentation/red_hat_quay)\n- Azure\n  - [Using Self-Hosted Linux Agents for Pipelines](http://learn.microsoft.com/en-us/azure/devops/pipelines/agents/linux-agent?view=azure-devops\u0026tabs=IP-V4)\n  - [Using Personal Access Tokens](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops\u0026tabs=Windows)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptorodeo%2Frhtap-dev-get-started","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptorodeo%2Frhtap-dev-get-started","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptorodeo%2Frhtap-dev-get-started/lists"}