Allow users to create repositories when pushing

Allow users to create repositories when pushing

By default MSR only allows pushing images if the repository exists, and you have write access to the repository.

As an example, if you try to push to msr.example.org/library/java:9, and the library/java repository doesn’t exist yet, your push fails.

You can configure MSR to allow pushing to repositories that don’t exist yet. As an administrator, log into the MSR web UI, navigate to the Settings page, and enable Create repository on push.

../../../_images/create-on-push-1.png

From now on, when a user pushes to their personal sandbox (<user-name>/<repository>), or if the user is an administrator for the organization (<org>/<repository>), MSR will create a repository if it doesn’t exist yet. In that case, the repository is created as private.

Use the CLI to enable pushing to repositories that don’t exist yet

curl --user <admin-user>:<password> \
--request POST "<msr-url>/api/v0/meta/settings" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data "{ \"createRepositoryOnPush\": true}"