28.3. Managing Repositories

A repository is essentially a mapping between the data in a content source and specific resources in the JBoss ON inventory.

28.3.1. Creating a Repository

  1. In the top menu, click the Administration tab.
  2. In the Content menu table on the left, select the Repositories item.
  3. Below the list of current repositories, click the CREATE NEW button.
  4. Fill in the name and a description. Additionally, set the authorization restrictions for the repository by setting an owner for the repo and whether it is public or private.
    Only users with the repositories permission can set an owner. All repositories created by users without the repositories permission automatically belong to that user.
  5. Click Save.
  6. On the Repositories page, click the name of the new repository in the list.
  7. Optional. To change the default synchronization schedule, click the Edit button and enter a new schedule, in a cron format, in the Sync Schedule field.
  8. Add content sources to supply content to the repository, as in Section 28.3.2.1, “Associating Content Sources with a Repository”.
    More than one content source can supply content to a repository.
  9. Associate resources with the repository, as in Section 28.3.3, “Associating Resources with the Repository”. A resource can only receive packages from a repository if it is associated with the repository.

    Note

    You can search for specific resources or types of resources and subscribe multiple resources at once.

28.3.2. Linking Content Sources to Repositories

There are a couple of ways to map the repositories to the right content sources. A repository can be subscribed to multiple content sources by editing the repository configuration. A content source can be added to multiple repositories simultaneously by importing the content source.

28.3.2.1. Associating Content Sources with a Repository

  1. In the top menu, click the Administration tab.
  2. In the Content menu table on the left, select the Repositories item.
  3. On the Repositories page, click the name of the repository in the list.
  4. In the Content Sources section of the repository's details page, click the Associate button to add existing content sources to the repository.
  5. Select checkboxes next to the content sources to associate with the repository.
  6. Click the ASSOCIATE SELECTED button.

28.3.2.2. Importing a Content Source into Repositories

If the same content source will be associated with multiple repositories, the content source can be imported into all of them simultaneously.
  1. In the top menu, click the Administration tab.
  2. In the Content menu table on the left, select the Repositories item.
  3. On the Repositories page, click the IMPORT button.
  4. Select the radio button by the name of the content source to import.
  5. When the content source is selected, then a list of available repositories for that content source automatically opens. In the Available repositories.... area, select the checkbox by the name of each repository to associate with the content source.
  6. Click the IMPORT SELECTED button.

Note

As described in Section 28.1.2, “Where Content Comes From: Providers and Repositories”, a repository is a user-defined view of a subset of packages stored in the JBoss ON database. A repository is not a separate container.
When adding a package to one repository through the UI, it may fail with an error claiming that the package already exists, even if the package isn't in the specified repository. This is because a package with the same name exists in another repository and it causes a collision in the database.
It is currently not possible to have the same package in two repositories or to move or share a package between repositories.
It is possible to work around this issue by using CLI scripts. The JBoss ON CLI scripts store the username of the person uploading the package in the package version data automatically. If a person has access to all of the packages one has uploaded, then it is possible to extrapolate which repository contains the package and then manage the package there.

28.3.3. Associating Resources with the Repository

Content can only be sent to a resource if that resource is first associated with a repository. A resource-repository association can be made by editing the resource entry or by editing the repository entry.

28.3.3.1. Adding Resources to a Repository

  1. In the top menu, click the Administration tab.
  2. In the Content menu table on the left, select the Repositories item.
  3. On the Repositories page, click the name of the repository to edit.
  4. In the Resources section, click the SUBSCRIBE button to add resources to the repository.
  5. Select checkboxes next to the resources to associate with the repository. It is possible to filter the list of resources by name or by type.
  6. Click the SUBSCRIBE SELECTED button.

28.3.3.2. Managing the Repositories for a Resource

A few resource types, like platforms, have content tabs in their configuration which allows them to control their content subscriptions.
  1. Select the resource type in the Resources menu table on the left, and then browse or search for the resource.
  2. Click the Content tab of the resource.
  3. Open the Subscriptions subtab.
  4. The Available Repositories section has a list of repositories that the resource isn't subscribed to. Click the checkboxes by all of the repositories to subscribe the resource to.
  5. Click ADD SUBSCRIPTIONS.
The same process can be used to unsubscribe a resource from content repositories.