Add a new entity provider `BitbucketCloudEntityProvider`
as a new plugin `@backstage/plugin-catalog-backend-module-bitbucket-cloud`.
The new plugin utilizes `@backstage/plugin-bitbucket-cloud-common`
and it fully independent of `@backstage/plugin-catalog-backend-module-bitbucket`
which provides a catalog processors supporting Bitbucket Cloud and Bitbucket Server.
Relates-to: #9923
Relates-to: #10183
Signed-off-by: Patrick Jungermann <Patrick.Jungermann@gmail.com>
Allows to use e.g.
```
builder.addEntityProvider(getArrayOfProviders());
```
instead of
```
builder.addEntityProvider(...getArrayOfProviders());
```
Signed-off-by: Patrick Jungermann <Patrick.Jungermann@gmail.com>
"readTree" has been implemented for the "GerritUrlReader". Gerrit have
a REST API's to download repo contents but there are a number of
limitations that makes it unusable.
This implementation works as follows:
* The project and branch is parsed from the url.
* The current revision is fetched from the Gerrit REST API.
* The revision string is used as "etag".
* If the etag has changed a temporary directory is created.
* The project is cloned to the temporary directory.
* The cloned content is read into a "Readable Stream".
* The temporary directory is removed.
* "readTree" returns a response using "fromTarArchive" as read from the
temporary directory.
Also added an option to specify the base "cloneUrl" has been added to the
gerrit integration config.
Signed-off-by: Niklas Aronsson <niklasar@axis.com>
The "plugin-catalog-backend-module-gerrit" exports an entity
provider for discovering catalog entities from Gerrit
repositories. The provider uses the "List Projects" API in Gerrit
to get a list of repositories and will automatically ingest all
"catalog-info.yaml" files stored in the root of the matching
projects.
Also added the "getGerritProjectsApiUrl" function to the Gerrit
integration. This returns the url to the "List Projects" API for
a given integration.
Signed-off-by: Niklas Aronsson <niklasar@axis.com>
Split `integrations.bitbucket` into `integrations.bitbucketCloud`
and `integrations.bitbucketServer`
while staying backwards compatible for now
(== `BitbucketIntegration` loads from the new configs, too, if the old is not used).
Relates-to: #9923
Signed-off-by: Patrick Jungermann <Patrick.Jungermann@gmail.com>
Add a new provider `AwsS3EntityProvider` as a replacement for the now deprecated
`AwsS3DiscoveryProcessor`.
The new provider will scan configured S3 buckets (with optional) prefix and
add `Location` entities for all discovered catalog files.
These `Location` entities will then be processed as usual.
At each execution, the provider will apply a full mutation, replacing all previous
entities with the new entities/state.
Relates-to: #10183
Signed-off-by: Patrick Jungermann <Patrick.Jungermann@gmail.com>