Skip to content

Commit

Permalink
[WIP] Introduce repo creation on push (docker#273)
Browse files Browse the repository at this point in the history
Introduce repo creation on push
  • Loading branch information
joaofnfernandes authored and Jim Galasyn committed Apr 16, 2018
1 parent a7bb1ea commit 19fad1e
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,11 @@ dtr_versions:
tablabels:
ucp-3.0: Universal Control Plane 3.0
ucp-2.2: Universal Control Plane 2.2
dtr-2.5: Docker Trusted Registry 2.5
docker-cli-linux: Docker CLI on Mac/Linux
docker-cli-win: Docker CLI on Windows
kubectl: Kubernetes CLI
cli: CLI

collections:
samples:
Expand Down
43 changes: 43 additions & 0 deletions deploy/allow-creation-on-push.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: Allow users to create repositories when pushing
description: By default Docker Trusted Registry only allows pushing images to
existing repositories. Learn how to change that.
keywords: dtr, repository
ui_tabs:
- version: dtr-2.5
orhigher: true
cli_tabs:
- version: cli
---

{% if include.ui %}
{% if include.version=="dtr-2.5" %}
By default DTR 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 `dtr.example.org/library/java:9`, and the
`library/java` repository doesn't exist yet, your push fails.

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

![DTR settings page](images/create-on-push-1.png){: .with-border}

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>`), DTR will create a repository if it doesn't
exist yet. In that case, the repository is created as private.
{% endif %}
{% endif %}


{% if include.cli %}
```bash
curl --user <admin-user>:<password> \
--request POST "<dtr-url>/api/v0/meta/settings" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data "{ \"createRepositoryOnPush\": true}"
```
{% endif %}
Binary file added deploy/images/create-on-push-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 19fad1e

Please sign in to comment.