Repositories store package metadata and host package .zip files. Repositores can be local or remote, were local means backed by Skipper’s relational database and remote means a filesystem exposed over HTTP.
When registering a remote registry (for example, the experimental one that is currently defined by default in addition to one named local`), use the following format:
spring
cloud:
skipper:
server:
packageRepositories:
-
name: experimental
url: http://skipper-repository.cfapps.io/repository/experimental
description: Experimental Skipper Repository
repoOrder: 0
-
name: local
url: http://${spring.cloud.client.hostname}:7577
local: true
description: Default local database backed repository
repoOrder: 1The repoOrder determines which repository serves up a package if one with the same name is registered in two or more repositories.
The directory structure assumed for a remote repository is the registered url value followed by the package name and then the zip file name (for example, skipper-repository.cfapps.io/repository/experimental/helloworld/helloworld-1.0.0.zip for the package helloworld with a version of 1.0.0).
A file named index.yml is expected to be directly under the registered url — for example, skipper-repository.cfapps.io/repository/experimental/index.yml.
This file contains the package metadata for all the packages hosted by the repository.
It is up to you to update the index.yml file "'by hand'" for remote repositories.
'Local' repositories are backed by Skipper’s database. In the Skipper 1.0 release, they do not expose the index.yml or the .zip files under a filesystem-like URL structure as with remote repositories. This feature will be provided in the next version. However, you can upload packages to a local repository and do not need to maintain an index file. See the “Part VIII, “Skipper Commands”” section for information on creating local repositories.
A good example that shows using a Spring Boot web application with static resources to host a Repository can be found here. This application is currently running under skipper-repository.cfapps.io/repository/experimental.