Jan Lehnardt [Wed, 20 Apr 2022 06:31:30 +0000 (08:31 +0200)]
Merge pull request #221 from apache/fix/3.2.2
fix: bump version
Jan Lehnardt [Wed, 20 Apr 2022 06:31:00 +0000 (08:31 +0200)]
fix: bump version
Jan Lehnardt [Tue, 19 Apr 2022 06:47:18 +0000 (08:47 +0200)]
Merge pull request #220 from apache/feat-3.2.2
feat: 3.2.2
Jan Lehnardt [Mon, 18 Apr 2022 15:30:48 +0000 (17:30 +0200)]
feat: 3.2.2
Adam Kocoloski [Fri, 25 Feb 2022 21:47:28 +0000 (16:47 -0500)]
Update Debian / Erlang / SpiderMonkey versions
Debian: 10 -> 11
Erlang: 20 -> 23
SpiderMonkey: 60 -> 78 (implicit in Debian upgrade)
Adam Kocoloski [Fri, 25 Feb 2022 20:53:16 +0000 (15:53 -0500)]
Revert "Drop ppc64le until suitable CI replacement identified (#199)"
This reverts commit
e3ca492, since ppc64le machines are back in the CI
matrix.
Adam Kocoloski [Tue, 8 Feb 2022 23:50:23 +0000 (18:50 -0500)]
Listen for COUCHDB_ERLANG_COOKIE and write it down
Tobias Gesellchen [Thu, 3 Feb 2022 22:49:42 +0000 (23:49 +0100)]
fix(entrypoint): move secret from [couch_httpd_auth] to [chttpd_auth] section for CouchDB 3.2.x
Nick Vatamaniuc [Sun, 14 Nov 2021 04:54:49 +0000 (23:54 -0500)]
Version 3.2.1
Docker images pushed as 3.2.1, 3.2, 3 and latest
```
./build.sh push 3.2.1
Created manifest list docker.io/apache/couchdb:3.2.1
sha256:
baa32c5386eb440b17df45abad6ec76322890cc8272a76f78fbd48e3a70f5618
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2617,
"digest": "sha256:
932d61826a5ce5502ebdcfc69f36480286af026bd5c3a136682562bc733ab18c",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2617,
"digest": "sha256:
41973db85158829fa9a7a56ce7660e7a10c74f813cf720e95e32169b60c46251",
"platform": {
"architecture": "arm64",
"os": "linux",
"variant": "v8"
}
}
]
}
```
Dr Doug Cowie [Tue, 19 Oct 2021 17:56:07 +0000 (18:56 +0100)]
Updated UBI + Clouseau for CouchDB 3.2.0 (#209)
Adds a new entry for CouchDB 3.2.0 built on UBI, with Clouseau. This is a direct copy of 3.1.2-ubi-clouseau with CouchDB version bumped to 3.2.0
Joan Touzet [Fri, 8 Oct 2021 23:07:37 +0000 (23:07 +0000)]
Version 3.2.0 (#208)
Joan Touzet [Fri, 1 Oct 2021 05:45:33 +0000 (05:45 +0000)]
v3.1.2 release (#207)
Joan Touzet [Wed, 7 Jul 2021 22:18:55 +0000 (22:18 +0000)]
Incorporate downstream Dockerfile feedback (#203)
Joan Touzet [Mon, 5 Jul 2021 23:03:51 +0000 (23:03 +0000)]
Update with jfrog artifactory repo (#202)
Joan Touzet [Tue, 23 Mar 2021 15:27:27 +0000 (11:27 -0400)]
Multiple build system improvements (#200)
Joan Touzet [Tue, 16 Mar 2021 22:29:54 +0000 (18:29 -0400)]
Drop ppc64le until suitable CI replacement identified (#199)
Glynn Bird [Tue, 16 Mar 2021 20:50:07 +0000 (20:50 +0000)]
protect main branch with .asf.yaml config (#193)
Amit Phulera [Mon, 11 Jan 2021 17:14:30 +0000 (22:44 +0530)]
Update dev to use `main` branch rather than master (#195)
Joan Touzet [Thu, 29 Oct 2020 18:17:23 +0000 (14:17 -0400)]
Move pull-all-couchdbdev-docker to couchdb-ci
Joan Touzet [Thu, 17 Sep 2020 22:10:29 +0000 (18:10 -0400)]
3.1.0 -> 3.1.1 (#190)
Joan Touzet [Tue, 1 Sep 2020 15:31:53 +0000 (11:31 -0400)]
Add script that keeps old couchdbdev docker images alive (#189)
Will Holley [Thu, 9 Jul 2020 19:08:39 +0000 (20:08 +0100)]
Combined CouchDB / Clouseau dockerfile (#187)
This adds a Dockerfile which contains both CouchDB and Clouseau
in a single container. This is useful because in most containerized
environments, EPMD runs in the CouchDB container; restarting the
CouchDB container can therefore lead to Clouseau becoming orphaned
because EPMD is also killed.
The container is based on the Red Hat UBI and uses runit to supervise
both CouchDB and Clouseau. UBI is used mostly for familiarity (this
is how we build a combined container at IBM), but it serves as a
reference for anybody looking to port to other base images.
The dockerfile entrypoint is modified to configure CouchDB and Clouseau
in an Erlang cluster. It's equally possible to run the container in
e.g. Kubernetes or Docker Compose without the dockerfile entrypoint;
the user would then need to write out the configuration files via their
configuration management system and call `/sbin/runsvdir-start` directly.
Both CouchDB and Clouseau will, by default, run under the UID 5984
(CouchDB) and GID 0. If the container is started as a non-root user,
that ambient UID/GID is used instead.
Refs #8
Steven Tang [Mon, 6 Jul 2020 13:32:06 +0000 (13:32 +0000)]
Add information about exposed cluster related ports (#185)
Joan Touzet [Thu, 11 Jun 2020 07:03:54 +0000 (07:03 +0000)]
Only check local.ini to fix #172 (#181)
brOOper [Tue, 2 Jun 2020 22:55:01 +0000 (00:55 +0200)]
Check /opt/couchdb/etc/*.ini files (#180)
Look for admin users and secret in /opt/couchdb/etc/*.ini
Fixes #172
Will Holley [Mon, 11 May 2020 19:21:48 +0000 (20:21 +0100)]
Merge pull request #179 from apache/ubi-3.1.0
Ubi 3.1.0
Will Holley [Mon, 11 May 2020 09:19:07 +0000 (10:19 +0100)]
3.1.0-ubi: add UBI 8 container definition
Adds a Dockerfile and supporting files to run CouchDB 3.1.0
on UBI 8. This is largely a clone of the 2.3.1-UBI assets, updated
where required, to support CouchDB 3.x.
Specifically, the default entrypoint now requires an admin username
and password to be supplied.
Since it installs the community-maintained rpm, the container
uses SpiderMonkey 60 as the JavaScript runtime for CouchDB.
Will Holley [Mon, 11 May 2020 09:17:54 +0000 (10:17 +0100)]
2.3.1-ubi: specify rpm version
Specify the RPM version to ensure we don't inadvertently install
3.x
Joan Touzet [Thu, 7 May 2020 18:43:01 +0000 (14:43 -0400)]
Freshen tag info (#177)
Joan Touzet [Tue, 5 May 2020 10:04:01 +0000 (06:04 -0400)]
3.0.0 -> 3.0.1, 3.1.0 (#174)
Joan Touzet [Tue, 25 Feb 2020 22:09:42 +0000 (22:09 +0000)]
3.0.0: move to buster, no admin party (#166)
Joan Touzet [Tue, 18 Feb 2020 16:04:45 +0000 (11:04 -0500)]
separately parametrize SM version (#171)
Will Holley [Fri, 31 Jan 2020 22:24:10 +0000 (22:24 +0000)]
Use UBI 8 (#158)
Updates the UBI Dockerfile to use UBI 8 / minimal. At the same time,
remove the version suffix from the UBI image folder.
Joan Touzet [Fri, 31 Jan 2020 22:01:46 +0000 (22:01 +0000)]
dev: debian-buster, node 10, SM60 (#165)
Joan Touzet [Sat, 7 Dec 2019 01:05:50 +0000 (01:05 +0000)]
Add scripts to simplify creation of multiarch images (#157)
Doug Cowie [Mon, 14 Oct 2019 08:54:47 +0000 (09:54 +0100)]
Dockerfile based on the RedHat UBI
Installs CouchDB 2.3.1 via the official rpm.
To build:
```
$ cd 2.3.1
$ docker build . -f ubi7/Dockerfile
```
Move the ubi-based Dockerfile into its own top level
folder, similar to the couchperuser variant. This makes integration
with existing build scripts/processes simpler though means a bit
of duplication of config files between the different base images.
Update UBI based image to use runit instead of gosu to launch CouchDB.
Also, includes changes necessary for Red Hat Certification:
- licenses folder
- Specific labels
- couchdb user moved to root group
- runit can be launched by any userid
Will Holley [Mon, 2 Sep 2019 08:14:17 +0000 (09:14 +0100)]
allow running as arbitrary uid (#151)
* Adds guards around entrypoints commands that require root
* Broaden permissions within the container filesystem to allow
access by non-couchdb users.
* Added an example to the documentation which specifies `--user`.
Fixes #147
Joan Touzet [Thu, 15 Aug 2019 01:49:53 +0000 (21:49 -0400)]
Merge pull request #152 from apache/setuptools
add setuptools to dev images
Will Holley [Wed, 14 Aug 2019 19:42:52 +0000 (20:42 +0100)]
add setuptools to dev images
Joan Touzet [Tue, 30 Apr 2019 22:27:33 +0000 (18:27 -0400)]
Merge pull request #145 from apache/fix-172
Fix broken 1.7.2 build process
Joan Touzet [Tue, 30 Apr 2019 21:50:48 +0000 (14:50 -0700)]
Fix broken 1.7.2 build process
Joan Touzet [Tue, 30 Apr 2019 21:31:11 +0000 (17:31 -0400)]
Merge pull request #144 from apache/speedup-startup
Speed up startup time, fixes #131
Joan Touzet [Tue, 30 Apr 2019 20:49:19 +0000 (13:49 -0700)]
Speed up startup time, fixes #131
Joan Touzet [Mon, 11 Mar 2019 23:55:42 +0000 (19:55 -0400)]
Bump for v2.3.1 (#140)
John Fitzpatrick [Tue, 15 Jan 2019 17:42:15 +0000 (04:42 +1100)]
Update README.md (#129)
Fixes #128.
John Fitzpatrick [Tue, 8 Jan 2019 04:06:35 +0000 (15:06 +1100)]
Update Dockerfile (#127)
According to the Dockerfile reference, MAINTAINER has been deprecated
in favour of using the LABEL instruction. This patch updates the file
to use that instruction instead.
Fixes #126.
Joan Touzet [Sat, 29 Dec 2018 22:11:30 +0000 (17:11 -0500)]
Documentation updates for 2.3.0 (#123)
Joan Touzet [Thu, 6 Dec 2018 23:12:53 +0000 (18:12 -0500)]
Feedback from Docker official images (#121)
Joan Touzet [Thu, 6 Dec 2018 08:25:23 +0000 (03:25 -0500)]
CouchDB 2.3.0 + admin README notes (#120)
Joan Touzet [Tue, 4 Dec 2018 01:26:02 +0000 (20:26 -0500)]
Switch main Dockerfile to use binary Debian packages (#118)
Joan Touzet [Tue, 4 Dec 2018 00:04:50 +0000 (19:04 -0500)]
Fix dev builds: gpg --batch, python3/pip3 (#119)
Adam Kocoloski [Sat, 20 Oct 2018 17:21:04 +0000 (13:21 -0400)]
Conditionally set ownership and permissions in entrypoint (#110)
* Chown files in /opt/couchdb only when necessary
Recursive modification of ownership and permissions in the entry point
has been implicated in slow container startup times. This change checks
the ownership first and only modifies it if necessary. It is modelled
after similar changes recently applied to a number of other projects
e.g. docker-library/redis#166.
* Chmod data files only if necessary
Previously we had been doing a blanket recursive chmod to 770 on
everything in the datadir. This had a few problems:
- The files themselves need not have the executable bit set
- CouchDB itself creates directories and files with 755/644
- Executing lots of chmod operations caused startup delays
This patch makes the execution of chmod conditional, and works to set
the permissions to what they would normally be when CouchDB creates the
the files and directories.
* Chmod config files only if necessary
This patch also drops the target permissions from 775/664 to 755/644,
as the latter permissions are the ones set by the CouchDB installation
itself.
Martin Barth [Tue, 18 Sep 2018 15:24:36 +0000 (17:24 +0200)]
Added information about cluster configuration. This Fixes #106 (#108)
Added information about cluster configuration. Closes #106
Joan Touzet [Wed, 29 Aug 2018 20:37:03 +0000 (16:37 -0400)]
Do not remove apt-transport-https
Joan Touzet [Wed, 8 Aug 2018 15:14:19 +0000 (08:14 -0700)]
Feedback from @tianon + deprecate 1.x images
Joan Touzet [Thu, 26 Jul 2018 03:05:26 +0000 (20:05 -0700)]
Prep 2.2.0 docker iamge
Joan Touzet [Tue, 24 Jul 2018 06:15:36 +0000 (23:15 -0700)]
Use debian stretch, closes #91
Thomas Prevet [Thu, 12 Jul 2018 14:11:35 +0000 (16:11 +0200)]
add end of line before inserting [admin] and [secret] in case of docker.ini already exists
Joan Touzet [Tue, 10 Jul 2018 21:51:42 +0000 (14:51 -0700)]
Upgrade 1.7.1, 2.1.1 -> 1.7.2, 2.1.2
Joan Touzet [Tue, 10 Jul 2018 20:21:32 +0000 (13:21 -0700)]
Backport fix for #81 and #82 to 2.1.x image
Le Mouellic Maxime [Thu, 17 May 2018 16:27:13 +0000 (18:27 +0200)]
Fix configuration save
On restart configuration saved in local.d/ was lost
Closes #78
Adam Kocoloski [Mon, 21 May 2018 12:31:36 +0000 (08:31 -0400)]
Persist custom config settings across restarts
This patch ensures that configuration properties set using the _config
endpoint survive container restarts. Previously these settings would be
erased by the code in the entrypoint that writes down the admin user
and cookie auth secret.
The patch also takes care to ensure that the admin user and secret are
not accidentally left on the disk in plaintext -- i.e., it ensures that
the entrypoint writes these settings into the last entry in the config
chain.
Finally, the patch ensures that local.d is always used to store custom
configuration. Backing local.d by a persistent volume should allow for
the config properties to survive a Pod being rescheduled onto another
node by Kubernetes.
Joan Touzet [Tue, 10 Jul 2018 06:24:13 +0000 (02:24 -0400)]
update docs deps and dev-cluster node to 8.x
Joan Touzet [Tue, 10 Jul 2018 06:08:18 +0000 (02:08 -0400)]
Update Node for dev image
Joan Touzet [Wed, 11 Apr 2018 17:44:55 +0000 (13:44 -0400)]
Update dev section
Joan Touzet [Wed, 11 Apr 2018 07:37:43 +0000 (03:37 -0400)]
Further fixes for dev and dev-cluster targets
Joan Touzet [Mon, 9 Apr 2018 15:50:43 +0000 (11:50 -0400)]
Add new targets to .travis.yml CI/CD
Adam Kocoloski [Wed, 17 Jan 2018 18:21:06 +0000 (13:21 -0500)]
Install newer RTD theme from pip
See #58
Adam Kocoloski [Tue, 16 Jan 2018 01:41:08 +0000 (20:41 -0500)]
Introduce developer-friendly Dockerfile
This dev image configuration is modeled after the 2.1.1 Dockerfile with
a few modifications useful for day-to-day development:
* The Dockerfile builds from git rather than the official source
releases. The build is configurable using the following build_args:
clone_url (default: https://gitbox.apache.org/repos/asf/couchdb.git)
checkout_branch (default: master)
configure_options (default: <blank>)
The configure_options are passed directly to ./configure and can be
used to e.g. --disable-docs or --disable-fauxton:
docker build --build-arg checkout_branch=my-cool-feature dev/
* We take advantage of multi-stage builds [1] to create a series of
layers that optimize build time without inflating the final image
size. In normal development the layers that install runtime and
build dependencies will be cached, and the build will start by
updating and configuring the existing git clone.
This work includes the changes proposed in #50 and #57.
Adam Kocoloski [Sun, 14 Jan 2018 03:28:45 +0000 (22:28 -0500)]
Rename dev to dev-cluster
This paves the way for a simpler dev image Dockerfile.
Joan Touzet [Wed, 31 Jan 2018 19:38:57 +0000 (14:38 -0500)]
Improve README for configuration changes, closes #47
Joan Touzet [Wed, 31 Jan 2018 19:14:23 +0000 (11:14 -0800)]
Use 5984:5984 as couchdb uid:gid, closes #53
Adam Kocoloski [Wed, 24 Jan 2018 19:30:22 +0000 (13:30 -0600)]
Use default.d for image-provided config in 2.x (#50)
This change moves the configuration overrides that are built into the
image into `etc/default.d` instead of `etc/local.d`, which allows
systems like Kubernetes to come in and own `default.d` as a config
volume mount point while still allowing for online overrides to take
highest precedence.
Adam Kocoloski [Sun, 14 Jan 2018 02:23:14 +0000 (21:23 -0500)]
Remove haproxy from production image
HAProxy is included in the "dev-cluster" image to proxy requests to the
three nodes deployed via that image. The production image runs a single
CouchDB instance in each image and does not need or want a proxy server
in the image.
Closes #56
Jan Lehnardt [Sat, 11 Nov 2017 16:17:09 +0000 (17:17 +0100)]
1.7.1 release
Joan Touzet [Tue, 7 Nov 2017 06:25:02 +0000 (01:25 -0500)]
Incorporate more feedback from @yosifkit
Joan Touzet [Mon, 6 Nov 2017 21:37:42 +0000 (16:37 -0500)]
Bump to 1.7.0, 2.1.1
Joan Touzet [Mon, 6 Nov 2017 21:14:53 +0000 (16:14 -0500)]
Incorporate more feedback from official Docker image maintainers
Joan Touzet [Mon, 25 Sep 2017 18:11:00 +0000 (11:11 -0700)]
Revert some changes for clustering
Port 5986 does not need to be exposed, can be accessed in other ways
as described in the README.
Port range for inet_dist_listen must be one port per erlang node.
Since Docker runs a single VM per container, a single value here is
sufficient.
Joan Touzet [Sun, 24 Sep 2017 08:26:53 +0000 (04:26 -0400)]
Merge pull request #29 from apache/fix-clustering
Bind node-local port to all container interfaces
Joan Touzet [Sun, 24 Sep 2017 08:16:42 +0000 (01:16 -0700)]
Bind node-local port to all container interfaces
Joan Touzet [Sun, 24 Sep 2017 08:05:54 +0000 (04:05 -0400)]
Update with feedback from @yosifkit (#28)
Includes the following feedback from @yosifkit :
* Permission/ownership changes occur as often as possible in the layer in which the files are created to aid some Docker graph drivers
* Allow for simplified invocation. Any of the following work to specify additional CLI arguments:
* `docker run couchdb:2.1.0 /opt/couchdb/bin/couchdb +A 16`
* `docker run couchdb:2.1.0 couchdb +A 16`
* `docker run couchdb:2.1.0 +A 16`
* `docker run couchdb:2.1.0 -couch_ini /path/to/my/couch.ini ....`
* `gpg --verify` replaced with `gpg --batch --verify` everywhere.
Joan Touzet [Wed, 20 Sep 2017 06:52:14 +0000 (23:52 -0700)]
Update readme for 2.1.0, new Docker Hub location
Joan Touzet [Wed, 20 Sep 2017 06:26:56 +0000 (23:26 -0700)]
Remove deprecated 2.0.0 image
Dominik Burgdörfer [Tue, 19 Sep 2017 16:17:22 +0000 (18:17 +0200)]
Make secret configurable via environment (#25)
Fixes #9 issues raised for running a cluster with the 2.1.0 image
Joan Touzet [Tue, 19 Sep 2017 08:26:05 +0000 (04:26 -0400)]
Allow Erlang distribution over 9100-9200 (2.1.0 only) (#26)
Raphael Randschau [Thu, 24 Aug 2017 16:06:48 +0000 (18:06 +0200)]
Add couchdb 2.1.0 docker image (#24)
* Add couchdb 2.1.0
* Add new port to Dockerfile
* Remove node from Dockerfile
Joan Touzet [Tue, 22 Aug 2017 19:03:56 +0000 (15:03 -0400)]
Remove link to dev image with explanation
Joan Touzet [Thu, 18 May 2017 12:56:30 +0000 (08:56 -0400)]
Add/update contribution guidelines, issue/PR templates for GH Issues (#15)
garren smith [Wed, 26 Apr 2017 12:50:05 +0000 (14:50 +0200)]
(#11) Fix docker image naming
`1`, `1.6`, `1.6.1`: CouchDB 1.6.1
- `1-couchperuser`, `1.6-couchperuser`, `1.6.1-couchperuser`: CouchDB
1.6.1 with couchperuser plugin
- `latest`, `2.0.0`: CouchDB 2.0 single node
- `dev`: CouchDB 2.0 master (development version) with preconfigured dev
cluster and documentation
garren smith [Wed, 26 Apr 2017 07:42:00 +0000 (09:42 +0200)]
update 2.0-dev-docs to use new repo (#12)
klaemo [Wed, 8 Feb 2017 17:51:30 +0000 (18:51 +0100)]
2.0.0: update tini and add gpg verification
klaemo [Wed, 8 Feb 2017 17:51:01 +0000 (18:51 +0100)]
1.6.1: update tini
Duncan Kolba [Fri, 3 Feb 2017 16:12:41 +0000 (17:12 +0100)]
Update README.md with info about the creation of system tables in 2.0 (#103)
Victor Heng [Fri, 27 Jan 2017 21:28:56 +0000 (13:28 -0800)]
Dockerfile puts local.ini in /opt/couchdb/etc/, not local.d. (#99)
Jean-Christophe Hoelt [Sun, 13 Nov 2016 11:28:06 +0000 (13:28 +0200)]
Add COUCHDB_HTTP_PORT/BIND_ADDRESS to 1.6.1 (#92)
klaemo [Sun, 13 Nov 2016 11:13:10 +0000 (12:13 +0100)]
point travis to correct images
Romain Brucker [Tue, 4 Oct 2016 20:08:31 +0000 (15:08 -0500)]
Adding the option to set a nodename using an environment variable.
closes #82
klaemo [Sun, 13 Nov 2016 11:04:26 +0000 (12:04 +0100)]
fix 2.0-dev
klaemo [Sun, 13 Nov 2016 09:20:43 +0000 (10:20 +0100)]
remove old images