Skip to content

Commit

Permalink
docs: add an article for "immutable image tags" (#161)
Browse files Browse the repository at this point in the history
Fixes #160

Signed-off-by: Ramkumar Chinchani <[email protected]>
  • Loading branch information
rchincha authored Mar 13, 2024
1 parent 9d8c6e5 commit e7a6ca7
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions docs/articles/immutable-tags.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Immutable Image Tags

> :point_right: Immutable image tag support is achieved by leveraging authorization policies.
It is considered best practice to avoid changing the content once a software
version has been released. While `zot` does not have an explicit configuration
flag to make image tags immutable, the same effect can be achieved with
[authorization](../articles/authn-authz.md) as follows.

## Immutable For All Users

By setting the `defaultPolicy` to "read" and "create" for a particular
repository, images can be pushed (once) and pulled but further updates are
rejected.

```json
{
...
"repositories": {
"**": {
"defaultPolicy": ["read", "create"]
}
}
...
}
```

## Immutable With Overrides

As in the example above, with `defaultPolicy` set to "read" and "create" for a
particular repository, images can be pushed (once) and pulled, but further
updates are rejected. Exceptions can be made for some users, and user-specific
policies can be added to allow "update" operations as shown below.

```json
{
...
"repositories": {
"**": {
"policies": [{
"users": ["alice", "bob"],
"actions": ["read", "create", "update"]
}],
"defaultPolicy": ["read", "create"]
}
}
...
}
```

0 comments on commit e7a6ca7

Please sign in to comment.