anchor.diff:  . link:#deploy-registry[Deploy the registry].
   
   . Edit the registry configuration file locally as needed. The initial YAML file
  -deployed on the registry is provided below:
  -+
  +deployed on the registry is provided below. See
  +link:#registry-configuration-reference[registry configuration reference] for
  +supported options.
  ++
  +.Registry configuration file
   ====
   ----
   version: 0.1
  
positive.code: 
  You can override the integrated registry's default configuration, found by
  default at *_/config.yml_* in a running registry's container, with your own
  custom configuration. See the upstream registry documentation's
  https://docs.docker.com/registry/configuration/[Registry Configuration
  Reference] for the full list of available options.
  
  To enable managing the registry configuration file directly, it
  is recommended that the configuration file be mounted as a
  
negative.code: It is recommended that configuration files be maintained in a source control
  repository.
  ====
  
  [[registry-configuration-reference]]
  === Registry Configuration Reference
  
  There are many configuration options available in the upstream
  link:https://github.com/docker/distribution[docker distribution]
  library. Not all link:https://docs.docker.com/registry/configuration/[configuration options]
  are supported or enabled. Use this section as a reference.
  
  [TIP]
  Upstream configuration options in this file may also be overridden using environment
  variables. However, the link:#middleware[middleware section] may **not** be
  overridden using environment variables. See upstream documentation on how to
  link:https://docs.docker.com/registry/configuration/#override-specific-configuration-options[override specific configuration options].
  
  ==== log
  
  link:https://docs.docker.com/registry/configuration/#log[Upstream options] supported.
  Example:
  
  ====
  ----
  log:
    level: debug
    formatter: text
    fields:
      service: registry
      environment: staging
  ----
  ====
  
  ==== hooks
  
  Mail hooks are not supported.
  
  ==== storage
  
  The following link:https://docs.docker.com/registry/configuration/#storage[storage drivers]
  are supported:
  
  - link:https://docs.docker.com/registry/storage-drivers/filesystem/[filesystem]
  - link:https://docs.docker.com/registry/storage-drivers/azure/[azure]
  - link:https://docs.docker.com/registry/storage-drivers/s3/[s3] See
  link:#middleware[Middleware] section below for CloudFront configuration
  - link:https://docs.docker.com/registry/storage-drivers/swift/[swift]
  
  General registry storage configuration options are supported. See
  link:https://docs.docker.com/registry/configuration/#maintenance[upstream options]
  for more details.
  
  .General storage configuration options
  ====
  ----
  storage:
    delete:
      enabled: true
    redirect:
      disable: false
    cache:
      blobdescriptor: inmemory
    maintenance:
      uploadpurging:
        enabled: true
        age: 168h
        interval: 24h
        dryrun: false
      readonly:
        enabled: false
  ----
  ====
  
  ==== auth
  
  Auth options should not be altered. The **openshift** extension is the only supported
  option.
  
  ----
  auth:
    openshift:
      realm: openshift
  ----
  
  ==== middleware
  
  The **repository** middleware extension should not be altered except for the
  **options** section to disable pull-through cache.
  
  [NOTE]
  The **middleware** section may not be overridden using environment variables.
  
  ====
  ----
  middleware:
    repository:
      - name: openshift
        options:
          pullthrough: true
  ----
  ====
  
  The **cloudfront** link:https://docs.docker.com/registry/configuration/#cloudfront[middleware extension]
  may be added to support AWS CloudFront CDN storage provider.
  
  ==== reporting
  
  Unsupported
  
  ==== http
  
  While link:https://docs.docker.com/registry/configuration/#http[Upstream options]
  are supported, see link:#securing-the-registry[securing the registry] for
  altering these settings via environment variables. Only the **tls** section
  should be altered, provided below for reference only:
  
  ====
  ----
  http:
    addr: :5000
    tls:
      certificate: /etc/secrets/registry.crt
      key: /etc/secrets/registry.key
  ----
  ====
  
  ==== notifications
  
  While link:https://docs.docker.com/registry/configuration/#notifications[Upstream options]
  are supported, see link:../../rest_api/index.html[rest API] for more comprehensive
  integration options. Example:
  
  ====
  ----
  notifications:
    endpoints:
      - name: registry
        disabled: false
        url: https://url:port/path
        headers:
          Accept:
            - text/plain
        timeout: 500
        threshold: 5
        backoff: 1000
  ----
  ====
  
  ==== redis
  
  Unsupported
  
  ==== health
  
  While link:https://docs.docker.com/registry/configuration/#health[Upstream options]
  are supported, the registry deployment config provides an integrated health check
  at **/healthz**.
  
  ==== proxy
  
  Proxy configuration should not be enabled. This functionality is provided by
  the link:#middleware[OpenShift repository middleware extension], **pullthrough: true**.
  
  [[whitelisting-docker-registries]]
  == Whitelisting Docker Registries
  