Gitea Discovery
The Gitea integration has a special entity provider for discovering catalog entities
from Gitea repositories. The provider uses the "List Projects" API in Gitea to get
a list of repositories and will automatically ingest all catalog-info.yaml
files
stored in the root of the matching projects.
Installation
As this provider is not one of the default providers, you will first need to install the Gitea provider plugin:
From your Backstage root directory
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-gitea
Then update your backend by adding the following line:
packages/backend/src/index.ts
backend.add(import('@backstage/plugin-catalog-backend'));
backend.add(import('@backstage/plugin-catalog-backend-module-gitea'));
Configuration
To use the discovery provider, you'll need a Gitea integration set up. Then you can add any number of providers.
# app-config.yaml
catalog:
providers:
gitea:
yourProviderId: # identifies your dataset / provider independent of config changes
organization: 'your-company' # string
host: gitea-your-company.com
branch: 'main' # Optional, defaults to 'main'
catalogPath: 'catalog-info.yaml' # Optional, defaults to catalog-info.yaml
schedule:
# supports cron, ISO duration, "human duration" as used in code
frequency: { minutes: 30 }
# supports ISO duration, "human duration" as used in code
timeout: { minutes: 3 }
The provider configuration consists of the following parts:
organization
: Name of your organization account/workspace. If you want to add multiple organizations, you need to add one provider config each.host
: the host of the Gitea integration to use.branch
(optional): the branch where we will look for catalog entities (defaults to 'main').catalogPath
: path relative to the root of the repository where the Backstage manifests are stored.