-
Task
-
Resolution: Done
-
Blocker
-
1.3
-
5
-
False
-
-
False
-
RHIDP-834 - Increase RHDH adoption with bulk import
-
-
-
RHDH Docs Team 3261, RHDH Documentation 3263
Document how to bulk import from GitHub in RHDH
General Flow
- Prompt user for an organization or user (support for multiple can be added in the future)
- List all repositories in the given organization or user that the github apps have access to.
- Allow the user to select a subset of the repositories
- Generate a catalog-info.yaml for each repository based on provided information and open a PR to add it into the repository
- We will want the admin user to be able to customize this catalog-info.yaml with things like annotations, owners, etc.
- We should have a default catalog-info.yaml if no additional configurations were provided
- A dryrun catalog ingestion should occur to determine if any entity name collisions occur.
- Import shouldn't fail, so something like a -(number) may need to be appended to the end of the entity name to ensure uniqueness
- Sanitation of inputs will also be required to follow the backstage naming schemas.
- Initial implementation won't do tracking of import status (ex: Waiting for PR Approval) and will operate on a Fire and Forget basis
- We will still want to track whether the PR was created properly and if the generated catalog-info.yaml was valid and track those failures if they occur
Acceptance Criteria
- As a platform engineer, I want to give permission to specific users/groups to use the bulk import plugin using RBAC
- As a platform engineer, I want to provide a template of the `catalog-info.yaml` that will be used by the bulk import plugin
- As a developer, I want to be able to bulk import my existing applications available in Git (GitHub, GitLab, etc.).
- As a developer, I should import only the repositories I have access to. I cannot import someone else repo.
- As a developer, when I import a Git repo, it should create a PR with the catalog-info.yaml and add the component to the catalog.
- It would be great that the process is using a software template. The platform engineer will be able to provide the catalog-info file and define the various steps. Create the PR, submit a ServiceNow ticket, send a notification, add to the catalog, or anything else.
See more details in feature request: RHIDP-834
For reference, see: https://docs.google.com/document/d/1lXAO7NshemNd21EMpUWtDPNMrm5uEhqBLr-rLWen1eM/edit?usp=sharing
There are no Sub-Tasks for this issue.