Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
josegonzalez opened this issue Sep 12, 2021 · 2 comments
Open

Comments

@josegonzalez
Copy link

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
josegonzalez added a commit to dokku/dokku-couchdb that referenced this issue Sep 12, 2021
josegonzalez added a commit to dokku/dokku-couchdb that referenced this issue Sep 12, 2021
josegonzalez added a commit to dokku/dokku-couchdb that referenced this issue Sep 12, 2021
@wohali
Copy link
Member

wohali commented Sep 12, 2021

That line has had \w+ in it for quite some time, at least since 3.1.0:

https://github.com/apache/couchdb-docker/pull/181/files retained it

\w+ should match on 1 or more characters. Setting it to \w* will mean matching 0 or more characters that aren't prefixed with ;, which is not what we want.

What was the last version that you used that worked?

@josegonzalez
Copy link
Author

The last image that worked was 2.3.1, which I don't think had this check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants