The strongbox.yaml
File¶
This resource file describes the configuration of the server.
The property controlling this file is strongbox.config.file
. The default location for this resource is etc/conf/strongbox.yaml
.
The cases in which this file is required are: * During the server launch * For a configuration import from another server * For a configuration export of the server
Example strongbox.yaml
File¶
The following is an example of a strongbox.yaml
configuration file:
configuration:
instanceName: strongbox
version: ${project.version}
revision: ${strongbox.revision}
baseUrl: http://localhost:48080/
port: 48080
sessionConfiguration:
timeoutSeconds: 3600
remoteRepositoriesConfiguration:
checkIntervalSeconds: 60
heartbeatThreadsNumber: 5
retryArtifactDownloadConfiguration:
timeoutSeconds: 60
maxNumberOfAttempts: 5
minAttemptsIntervalSeconds: 5
corsConfiguration:
allowedCredentials: true
maxAge: 600
allowedOrigins:
- "*"
allowedMethods:
- GET
- PUT
- POST
- DELETE
- OPTIONS
allowedHeaders:
- Accept
- Accepts
- Authorization
- Access-Control-Allow-Headers
- Access-Control-Request-Headers
- Access-Control-Request-Method
- DNT
- Keep-Alive
- User-Agent
- X-Requested-With
- If-Modified-Since
- Cache-Control
- Content-Type
- Content-Range,Range
storages:
storage0:
id: storage0
repositories:
releases:
id: releases
policy: release
dataStore: file-system
layout: Maven 2
type: hosted
allowsForceDeletion: true
checksumHeadersEnabled: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
snapshots:
id: snapshots
policy: snapshot
dataStore: file-system
layout: Maven 2
type: hosted
secured: true
checksumHeadersEnabled: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
storage-common-proxies:
id: storage-common-proxies
repositories:
maven-central:
id: maven-central
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://repo.maven.apache.org/maven2/
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
carlspring:
id: carlspring
policy: mixed
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://repo.carlspring.org/content/groups/carlspring
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
apache-snapshots:
id: apache-snapshots
policy: snapshot
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://repository.apache.org/snapshots/
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
jboss-public-releases:
id: jboss-public-releases
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: http://repository.jboss.org/nexus/content/groups/public-jboss/
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
maven-oracle:
id: maven-oracle
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://maven.oracle.com
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
allowsDirectoryBrowsing: false
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
group-common-proxies:
id: group-common-proxies
policy: release
dataStore: file-system
layout: Maven 2
type: group
secured: true
groupRepositories:
- carlspring
- maven-central
- apache-snapshots
- jboss-public-releases
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
nuget.org:
id: nuget.org
policy: release
dataStore: file-system
layout: NuGet
type: proxy
remoteRepository:
url: https://www.nuget.org/api/v2
repositoryConfiguration:
type: NuGet
remoteFeedPageSize: 1000
storage-springsource-proxies:
id: storage-springsource-proxies
repositories:
springsource-snapshots:
id: springsource-snapshots
policy: snapshot
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: http://repo.spring.io/snapshot
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
springsource-releases:
id: springsource-releases
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: http://repo.spring.io/libs-release
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
springsource-milestones:
id: springsource-milestones
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: http://repo.spring.io/milestone
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
springsource-proxies:
id: springsource-proxies
policy: mixed
dataStore: file-system
layout: Maven 2
type: group
secured: true
groupRepositories:
- springsource-snapshots
- springsource-releases
- springsource-milestones
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
storage-ivy-proxies:
id: storage-ivy-proxies
repositories:
typesafe-releases:
id: typesafe-releases
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://repo.typesafe.com/typesafe/releases
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
typesafe-ivy-releases:
id: typesafe-ivy-releases
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://repo.typesafe.com/typesafe/ivy-releases
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
group-ivy-proxies:
id: group-ivy-proxies
policy: release
dataStore: file-system
layout: Maven 2
type: group
secured: true
groupRepositories:
- typesafe-releases
- typesafe-ivy-releases
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
storage-sbt-proxies:
id: storage-sbt-proxies
repositories:
sbt-plugin-releases:
id: sbt-plugin-releases
policy: release
dataStore: file-system
layout: Maven 2
type: proxy
remoteRepository:
url: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases
downloadRemoteIndexes: true
autoBlocking: true
checksumValidation: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
group-sbt-proxies:
id: group-sbt-proxies
policy: release
dataStore: file-system
layout: Maven 2
type: group
secured: true
groupRepositories:
- sbt-plugin-releases
- storage-ivy-proxies:group-ivy-proxies
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
storage-third-party:
id: storage-third-party
repositories:
third-party:
id: third-party
policy: release
dataStore: file-system
layout: Maven 2
type: hosted
allowsForceDeletion: true
checksumHeadersEnabled: true
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
nuget-third-party:
id: nuget-third-party
policy: release
dataStore: file-system
layout: NuGet
type: hosted
allowsForceDeletion: true
checksumHeadersEnabled: true
storage-npm:
id: storage-npm
repositories:
npm-releases:
id: npm-releases
policy: release
dataStore: file-system
layout: npm
type: hosted
allowsForceDeletion: true
checksumHeadersEnabled: true
npmjs:
id: npmjs
policy: release
dataStore: file-system
layout: npm
type: proxy
remoteRepository:
url: https://registry.npmjs.org/
customConfiguration:
type: npm
lastChangeId: 0
replicateUrl: https://replicate.npmjs.com/
storage-nuget:
id: storage-nuget
repositories:
nuget-releases:
id: nuget-releases
policy: release
dataStore: file-system
layout: NuGet
type: hosted
allowsForceDeletion: true
checksumHeadersEnabled: true
storage-raw:
id: storage-raw
repositories:
raw-releases:
id: raw-releases
policy: release
dataStore: file-system
layout: Raw
type: hosted
allowsForceDeletion: true
checksumHeadersEnabled: true
public:
id: public
repositories:
maven-group:
id: maven-group
policy: mixed
dataStore: file-system
layout: Maven 2
type: group
secured: true
groupRepositories:
- storage0:releases
- storage0:snapshots
- storage-common-proxies:group-common-proxies
- storage-springsource-proxies:springsource-proxies
- storage-ivy-proxies:group-ivy-proxies
- storage-sbt-proxies:group-sbt-proxies
- storage-third-party:third-party
repositoryConfiguration:
type: Maven 2
indexingEnabled: true
cronExpression: "0 0 2 * * ?"
metadataExpirationStrategy: checksum
nuget-group:
id: nuget-group
policy: mixed
dataStore: file-system
layout: NuGet
type: group
secured: true
groupRepositories:
- storage-common-proxies:nuget.org
- storage-third-party:nuget-third-party
npm-group:
id: npm-group
policy: mixed
dataStore: file-system
layout: npm
type: group
secured: true
groupRepositories:
- storage-npm:npmjs
routingRules:
rules:
- uuid: 0f84a9a7-b2ce-47ed-8a01-085e235a1946
storageId: storage-common-proxies
repositoryId: group-common-proxies
pattern: ".*(com|org)/carlspring.*"
type: deny
repositories:
- storageId: storage-common-proxies
repositoryId: jboss-public-releases
Information For Developers¶
The following classes are related to various aspects of the configuration:
Class Name | Description |
---|---|
org.carlspring.strongbox.configuration.MutableConfiguration |
Represents a configuration in a deserialized form. |
org.carlspring.strongbox.configuration.ConfigurationFileManager |
Class to serialize / deserialize the configuration. |
The strongbox.yaml, which is packaged in the distribution, is located under the strongbox-storage-api-resources's src/main/resources/etc/conf
directory.
See Also¶
Last update: 2020-12-07