---
layout: docs
page_title: registry - waypoint.hcl
description: |-
  The `registry` stanza configures the result of a build to be pushed to a registry such as a Docker Registry, Artifactory, etc. A registry is used to make the result of a build available to the deployment platform.
---

# `registry` Stanza

<Placement groups={[['app', 'build', 'registry']]} />

The `registry` stanza configures the result of a build to be pushed
to a registry such as a Docker Registry, Amazon ECR, Artifactory, etc. A registry
is used to make the result of a build available to the deployment platform.

A `registry` is required when using a [remote runner](/docs/runner#remote-runner)
with GitOps. The remote runner will build your image and push the artifact to
this registery.

For local Waypoint runs, registries are **optional.** Please see the documentation on the
[registry phase of the Waypoint lifecycle](/docs/lifecycle/build#registry)
for examples of when a registry is necessary and the behavior of Waypoint
without a registry specified.

```hcl
app "frontend" {
  build {
    use "docker" {}

    registry {
      use "docker" {
        image = "example.com/my-app"
        tag   = gitrefpretty()
      }

      hook {
        # ...
      }
    }
  }
}
```

## `registry` Parameters

### Required

- `use` <code>([use][use])</code> - The plugin to use for pushing an artifact
  to a registry.

### Optional

- `hook` <code>([hook][hook]: nil)</code> - [Hooks](/docs/lifecycle/hooks)
  to execute before and/or after the artifact is pushed to the registry.

[hook]: /docs/waypoint-hcl/hook 'Hook Stanza'
[use]: /docs/waypoint-hcl/use 'Use Stanza'
