title: How do you provide access credentials for private docker registry in concourse?
body: <p>Until recently I was able to deploy docker images from Concourse to cloud foundry as shown in this concourse pipeline snippet:</p>
  
  <pre><code>resources:
  - name: cf-build-in
    type: cf
    source:
      api: ((cf-api-endpoint))
      username: ((cf-username-email))
      password: ((cf-password))
      organization: ((cf-organization))
      space: Development
      skip_cert_check: false
  
  jobs:
  - name: deploy-build-in-cf-private
    plan:
    - get: git
      passed: [build-private]
      trigger: false
    - put: cf-build-in
      params:
        manifest: git/manifest-private.yml
        docker_username: ((docker-registry-username))
        docker_password: ((docker-registry-password))
        environment_variables:
          CF_DOCKER_PASSWORD: ((docker-registry-password))
  </code></pre>
  
  <p>I have recently upgraded to Concourse 3.9.2 (latest as of writing), but am now experiencing issues, getting this error when running the pipeline above:</p>
  
  <pre><code>Incorrect Usage: '--docker-image, -o' and '--docker-username' must be used together.
  FAILED
  
  NAME:
     push - Push a new app or sync changes to an existing app
  
  USAGE:
     cf push APP_NAME [-b BUILDPACK_NAME] [-c COMMAND] [-f MANIFEST_PATH | --no-manifest] [--no-start]
     [-i NUM_INSTANCES] [-k DISK] [-m MEMORY] [-p PATH] [-s STACK] [-t HEALTH_TIMEOUT] [-u (process | port | http)]
     [--no-route | --random-route | --hostname HOST | --no-hostname] [-d DOMAIN] [--route-path ROUTE_PATH]
  
     cf push APP_NAME --docker-image [REGISTRY_HOST:PORT/]IMAGE[:TAG] [--docker-username USERNAME]
     [-c COMMAND] [-f MANIFEST_PATH | --no-manifest] [--no-start]
     [-i NUM_INSTANCES] [-k DISK] [-m MEMORY] [-t HEALTH_TIMEOUT] [-u (process | port | http)]
     [--no-route | --random-route | --hostname HOST | --no-hostname] [-d DOMAIN] [--route-path ROUTE_PATH]
  
     cf push -f MANIFEST_WITH_MULTIPLE_APPS_PATH [APP_NAME] [--no-start]
  
  ALIAS:
     p
  
  OPTIONS:
     -b                           Custom buildpack by name (e.g. my-buildpack) or Git URL (e.g. 'https://github.com/cloudfoundry/java-buildpack.git') or Git URL with a branch or tag (e.g. 'https://github.com/cloudfoundry/java-buildpack.git#v3.3.0' for 'v3.3.0' tag). To use built-in buildpacks only, specify 'default' or 'null'
     -c                           Startup command, set to null to reset to default start command
     -d                           Domain (e.g. example.com)
     --docker-image, -o           Docker-image to be used (e.g. user/docker-image-name)
     --docker-username            Repository username; used with password from environment variable CF_DOCKER_PASSWORD
     -f                           Path to manifest
     --health-check-type, -u      Application health check type (Default: 'port', 'none' accepted for 'process', 'http' implies endpoint '/')
     --hostname, -n               Hostname (e.g. my-subdomain)
     -i                           Number of instances
     -k                           Disk limit (e.g. 256M, 1024M, 1G)
     -m                           Memory limit (e.g. 256M, 1024M, 1G)
     --no-hostname                Map the root domain to this app
     --no-manifest                Ignore manifest file
     --no-route                   Do not map a route to this app and remove routes from previous pushes of this app
     --no-start                   Do not start an app after pushing
     -p                           Path to app directory or to a zip file of the contents of the app directory
     --random-route               Create a random route for this app
     --route-path                 Path for the route
     -s                           Stack to use (a stack is a pre-built file system, including an operating system, that can run apps)
     -t                           Time (in seconds) allowed to elapse between starting up an app and the first healthy response from the app
  
  ENVIRONMENT:
     CF_STAGING_TIMEOUT=15        Max wait time for buildpack staging, in minutes
     CF_STARTUP_TIMEOUT=5         Max wait time for app instance startup, in minutes
     CF_DOCKER_PASSWORD=          Password used for private docker repository
  
  SEE ALSO:
     apps, create-app-manifest, logs, ssh, start
  error running command: exit status 1
  </code></pre>
  
  <ol>
  <li><p>I can't seem to find a good way to enable more debug output for the <a href="https://github.com/concourse/cf-resource" rel="nofollow noreferrer"><code>cf-resource</code></a></p></li>
  <li><p>I have tested switching to this alternative <a href="https://github.com/patrickcrocker/cf-cli-resource" rel="nofollow noreferrer"><code>cf-cli-resource</code></a>, but am receiving a similar error + they don't actually have the explicit <code>docker_username</code>, <code>docker_password</code> arguments.</p></li>
  <li><p>I tried reverting to version 3.8.0 of concourse, but am actually getting some database error, so rolling back would mean dataloss apparently.</p></li>
  </ol>
  
  <p><strong>Is there anyone running Concourse 3.9.2 deploying to CloudFoundry from a private docker registry, who could test that this should be working?</strong></p>