The following basic settings are common for all package types.
Setting | Description |
---|---|
Package Type | The package type must be specified when the repository is created, and once set, cannot be changed. |
Repository Key | The repository key is a mandatory, unique identifier for the repository. It cannot begin with a number or contain spaces or special characters. |
Environments | Defines the environment in which this repository will reside. Environments aggregate project resources (repositories, Pipeline sources, etc.) to simplify their management. For more information, see Environments. |
Repository Layout | Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested. |
Public Description | A free text field that describes the content and purpose of the repository. This description can be viewed by all users with access to the repository. |
Internal Description | A free text field to add additional notes about the repository. These notes are visible only to the administrator. |
Include and Exclude Patterns | The Include Patterns and Exclude Patterns fields provide a way to filter out specific repositories when resolving the location of different artifacts. In each field, you can specify a list of Ant-like patterns to filter in and filter out artifact queries. Filtering works by subtracting the excluded patterns (default is none) from the included patterns (default is all). Example: Consider that the Include Patterns and Exclude Patterns for a repository are as follows: Include Patterns: Exclude Patterns:
In this example, the repository is searched for |
Artifactory Requests Can Retrieve Remote Artifacts | Determines whether artifact requests coming from other instances of Artifactory can be fulfilled by accessing this virtual repository's remote repositories, or only by accessing its caches (default). Relevant for all package types except Swift, Terraform, Composer, and P2. |
Included Repositories | |
Default Deployment Repository | Defines the default repository when deploying artifacts to a virtual repository. For more information, see Deploy to a Virtual Repository. |
Important
For information about specific settings for particular package types, see Additional Virtual Repository Settings for Specific Package Types.
Using Include and Exclude Patterns
The ability to define an Include Pattern and an Exclude Pattern for virtual repositories (especially when nesting is used) provides a powerful tool you can use to manage artifact requests in your organization.
For example, your organization may have its own artifacts which are hosted both internally in a local repository and also in a remote repository. For optimal performance, you would want these artifacts to be accessed from the local repository rather than from the remote one. To enforce this policy, you can define a virtual repository called "remote-repos" which includes the full set of remote repositories accessed by your organization, and then specify an Excludes Pattern with your organization's groupID. in this way, any attempt to access your internal artifact from a remote repository would be rejected. To learn more, see this Knowledge Base article.
Consider another example in which you wish to define a virtual repository for your developers, however, you wish to keep certain artifacts hidden from them. This could be achieved by defining an Excludes Pattern based on groupId, source, or version.