Commit Graph

980 Commits

Author SHA1 Message Date
Gerhard Lazu 631d8f5d2b
Keep the Docker community as maintainer for now
Thanks @michaelklishin!
2019-01-15 09:45:48 +00:00
Gerhard Lazu 1d70488e33
Compile OpenSSL & Erlang/OTP from source, use Ubuntu as the base image
This is a first commit, the feature as a whole is WIP. The next steps
are captured in a TODO at the tail of the Dockerfile. Sharing this
early so that we can discuss the direction that this is going in.
Various decisions made in the Dockerfile have been captured inline in
comments, should make for a good PR discussion.

The primary goal is to upgrade the Erlang/OTP version to latest stable,
which is v21.2.2 at the time of this commit. RabbitMQ v3.7.x will stop
supporting Erlang v20.x in September 2019 (~8 months from now). RabbitMQ
v3.8.x will only support Erlang v21.x. RabbitMQ Erlang/OTP release
support policy was announced on the rabbitmq-users mailing list in
October 2018:
https://groups.google.com/forum/#!msg/rabbitmq-users/G4UJ9zbIYHs/tyt_kDoFBgAJ

The secondary goal is to only ship the required artefacts in the final
image. For example, all Erlang/OTP applications & features which are not
required by RabbitMQ are disabled. I suspect that the final Erlang/OTP
release can be shrunk further (it currently stands 130MB), but this is a
minor concern right now.

Related to the secondary goal, we enable certain features in Erlang/OTP
which are useful when debugging:
* extra microstate accounting is not known to negatively affect
  performance, this feature is exposed via the `rabbitmq-diagnostics
  runtime_thread_stats` command added in v3.7.10
* lock counting is only enabled if the Erlang VM is started in a
  specific mode, this feature doesn't impact the default beam.smp runtime

The final goal is to be explicit about the OpenSSL version that
Erlang/OTP uses. Using a shared OpenSSL might be convenient, but it
has the following drawbacks:

* depending on the base image for OpenSSL updates
* not knowing which OpenSSL version we compile against
* not knowing how OpenSSL was configured
* not being able to change OpenSSL configuration

Compiling OpenSSL adds an extra concern and definitely complicates this
Dockerfile, but one possible mitigation would be to automate version
bumps when a new OpenSSL version gets published. I am also expecting
that images will be automatically built & published from this
Dockerfile. Since OpenSSL is compiled with all defaults, I do not expect
things to stop working and become a maintenance overhead - we are not
using any advanced compilation flags.

I am including the full docker build log, I always find the information
captured in build logs to be helpful.

Resources which I found helpful while putting this Dockerfile together:

* 816bb377a5/packages/erlang-21.1/packaging
* e2e804aeeb/21/Dockerfile
* https://github.com/erlang/docker-erlang-example#2-build-stage-1-create-a-minimal-docker-image
* https://bugs.erlang.org/browse/ERL-823
* http://erlang.org/pipermail/erlang-questions/2019-January/097012.html
* https://github.com/lrascao/erlang-ec2-build
* https://github.com/kerl/kerl/blob/master/kerl
2019-01-15 09:45:48 +00:00
Tianon Gravi b3faf3d1e1
Merge pull request #299 from rabbitmq/rabbitmq-36-eol
Stop building RabbitMQ 3.6 minor, it has been EOL since May 2018
2019-01-14 16:22:38 -08:00
Tianon Gravi 6aeca1a45d Update .travis.yml too 2019-01-14 16:21:50 -08:00
Gerhard Lazu f9791ecb44
Stop building RabbitMQ 3.6 minor, it has been EOL since May 2018
For more info, see:
https://groups.google.com/forum/#!msg/rabbitmq-users/kXkI-f3pgEw/UFowJIK4BQAJ
2019-01-14 14:44:33 +00:00
yosifkit 3740043813
Merge pull request #289 from infosiftr/gpg-batch
Update "gpg" invocations to use "--batch"
2018-11-14 15:51:59 -08:00
Tianon Gravi 2f5341aa50 Update "gpg" invocations to use "--batch"
See https://bugs.debian.org/913614
2018-11-14 12:46:25 -08:00
yosifkit 5223e50ac4
Merge pull request #285 from infosiftr/copy-ssl
Copy SSL certificate files when run as root (while they're most likely to be readable by our user)
2018-10-26 13:17:52 -07:00
Tianon Gravi 1a8fd1c6ee Copy SSL certificate files when run as root (while they're most likely to be readable by our user) 2018-10-25 17:14:03 -07:00
Tianon Gravi c60adc9a44
Merge pull request #281 from infosiftr/chown
Only chown things in the entrypoint that are not already owned by rabbitmq
2018-09-28 10:57:25 -07:00
Joe Ferguson fa42cf263e Only chown things in the entrypoint that are not already owned by rabbitmq 2018-09-24 15:52:13 -07:00
Tianon Gravi 406d5ee14a Update comment to be consistent between 3.6 and 3.7 2018-09-21 13:07:13 -07:00
Docker Library Bot ba3f7f3135 Update to 3.7.8-rc.4 2018-09-21 05:05:09 +00:00
Docker Library Bot 1ee6f13f40 Update to 3.7.8-rc.4, debian 3.7.8.rc.4-1 2018-09-21 05:05:09 +00:00
Docker Library Bot 6a57996987 Update to 3.7.8 2018-09-20 23:05:22 +00:00
Docker Library Bot d566a9b72e Update to 3.7.8, debian 3.7.8-1 2018-09-20 23:05:22 +00:00
Tianon Gravi 7a26bf5bcc
Merge pull request #270 from infosiftr/pgp-happy-eyeballs
Add "pgp-happy-eyeballs" in Travis to help cut down on gpg-related issues
2018-07-30 15:17:17 -07:00
Tianon Gravi 13c512c025 Add "pgp-happy-eyeballs" in Travis to help cut down on gpg-related issues 2018-07-30 10:25:23 -07:00
Tianon Gravi 10ad9d8534 Remove ending year from LICENSE
See https://github.com/docker-library/golang/pull/212
2018-07-30 09:16:34 -07:00
Tianon Gravi 81f98fc2db
Merge pull request #268 from michael-k/alpine-3.8
Bump alpine to 3.8
2018-07-10 13:58:57 -06:00
Michael Käufl 32c80d4ef9 Bump alpine to 3.8 2018-07-10 09:36:15 +02:00
Docker Library Bot 92c53e854f Update to 3.7.7-rc.2, debian 3.7.7.rc.2-1 2018-07-05 23:05:11 +00:00
Docker Library Bot 52714c8036 Update to 3.7.7-rc.2 2018-07-05 23:05:11 +00:00
Docker Library Bot 80f900f149 Update to 3.7.7 2018-07-05 17:05:11 +00:00
Docker Library Bot d5b3f8a8f4 Update to 3.7.7, debian 3.7.7-1 2018-07-05 17:05:11 +00:00
Docker Library Bot 910a215f0a Update to 3.7.6-rc.2, debian 3.7.6.rc.2-1 2018-06-13 23:05:11 +00:00
Docker Library Bot 5388a74cfb Update to 3.7.6-rc.2 2018-06-13 23:05:11 +00:00
Docker Library Bot 46319b5426 Update to 3.6.16 2018-06-13 17:05:14 +00:00
Docker Library Bot fec4ea1359 Update to 3.7.6, debian 3.7.6-1 2018-06-13 17:05:14 +00:00
Docker Library Bot fa1276bb52 Update to 3.7.6 2018-06-13 17:05:14 +00:00
Docker Library Bot 17eebc8b38 Update to 3.6.16, debian 3.6.16-1 2018-06-13 17:05:14 +00:00
Tianon Gravi d7096266df Install GNU wget in Alpine (overcome wget: error getting response: Connection reset by peer) 2018-05-29 14:20:50 -07:00
Tianon Gravi 736a3b3e4d Add simple logic to skip RCs in "library/rabbitmq" after GA 2018-05-29 09:41:59 -07:00
Tianon Gravi 087a9cf605 Add 3.6.16-rc.1 2018-05-29 09:37:43 -07:00
Docker Library Bot 1d60d6f431 Update to 3.7.5 2018-05-10 16:38:01 +00:00
Docker Library Bot 75bbd3f7ae Update to 3.7.5, debian 3.7.5-1 2018-05-10 16:38:01 +00:00
Tianon Gravi 0480b1954a Adjust "Pin-Priority" of buster so Erlang's dependencies can install from Buster if they don't exist at all in Stretch 2018-05-10 09:37:25 -07:00
Docker Library Bot d38cebd5e7 Update to 3.7.5-rc.1, debian 3.7.5.rc.1-1 2018-05-03 05:05:09 +00:00
Docker Library Bot d018942c63 Update to 3.7.5-rc.1 2018-05-03 05:05:09 +00:00
Docker Library Bot 0977d2ac49 Update to 3.7.5-beta.3, debian 3.7.5.beta.3-1 2018-04-26 23:05:09 +00:00
Docker Library Bot 771280a145 Update to 3.7.5-beta.3 2018-04-26 23:05:09 +00:00
Tianon Gravi 9a847d7134 Update generated README
https://github.com/docker-library/docs/pull/1193

https://github.com/docker-library/docs/pull/1195
2018-04-19 11:04:03 -07:00
Docker Library Bot 1a37166704 Update to 3.7.4, debian 3.7.4-1 2018-03-08 12:05:09 +00:00
Docker Library Bot 94de3d0908 Update to 3.7.4 2018-03-08 12:05:09 +00:00
Docker Library Bot ef175ca799 Update to 3.7.4-rc.4 2018-02-27 21:25:18 +00:00
Docker Library Bot 828d5ed824 Update to 3.7.4-rc.4, debian 3.7.4.rc.4-1 2018-02-27 21:25:18 +00:00
Docker Library Bot 3777da3ba1 Update to 3.7.4-rc.3 2018-02-26 18:39:12 +00:00
Docker Library Bot 5c01b8ad08 Update to 3.7.4-rc.3, debian 3.7.4.rc.3-1 2018-02-26 18:39:12 +00:00
Docker Library Bot dd0e886c7e Update to 3.7.4-rc.2 2018-02-24 06:05:08 +00:00
Docker Library Bot 00dd7d1da1 Update to 3.7.4-rc.2, debian 3.7.4.rc.2-1 2018-02-24 06:05:08 +00:00