Skip to content

3.x docker image requires usernames longer than a single character #206

@josegonzalez

Description

@josegonzalez

Expected Behavior

I expect to be able to set a username via the COUCHDB_USER environment variable with a length of 1 character.

Current Behavior

Previous versions of the docker image did not have any validation on service start. The current versions fails if the specified COUCHDB_USER is a single character.

You'll see the following message on container start with a single-character username:

*************************************************************
ERROR: CouchDB 3.0+ will no longer run in "Admin Party"
       mode. You *MUST* specify an admin user and
       password, either via your own .ini file mapped
       into the container at /opt/couchdb/etc/local.ini
       or inside /opt/couchdb/etc/local.d, or with
       "-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password"
       to set it via "docker run".
*************************************************************

I believe the cause is the \w+ in the regex check here

Possible Solution

I think changing the \w+ to \w* will allow the previous behavior.

Steps to Reproduce (for bugs)

docker run -e COUCHDB_USER=l -e COUCHDB_PASSWORD=password -d couchdb

Here is an example of downstream usage of the image where it just constantly restarts the container (though the error message isn't surfaced as I don't surface that in the tests):

https://github.com/dokku/dokku-couchdb/runs/3578023307?check_suite_focus=true

Context

This breaks my tests, which I try to sync between all datastore plugins. Fixing it just means increasing the username length, but its annoying since now I can't easily copy the files over as tests change.

That said, its not a super-critical bug, just an annoying one.

Your Environment

  • Version used: 3.1.1
  • Browser Name and version: Safari Version 14.1.2 (16611.3.10.1.3)
  • Operating System and version (desktop or mobile): macOS Big Sur 11.5
  • Link to your project: https://github.com/dokku/dokku-couchdb

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions