docker icon indicating copy to clipboard operation
docker copied to clipboard

Include Citus compatible extensions in published container

Open thanodnl opened this issue 6 years ago • 7 comments

Today there was a question in slack to include pg_partman in the container we publish. There are apparently multiple users[1] creating containers based on our containers to have pg_partman available.

We might want to include common plugins used together with Citus. Extensions that come to mind are:

  • pg_partman
  • ~~hll~~ (is already included)

Lets collect common used extensions here and discuss whether we should include some and which.

[1]: tstm, sfriquet

thanodnl avatar Nov 05 '18 14:11 thanodnl

We'd love for Citus to include pg_partman in the official Docker image. We immediately ran into this blocker trying to run experiments locally.

invisiblefunnel avatar Feb 22 '19 22:02 invisiblefunnel

We'd also like to have pg_partman and pg_cron in the official image. Any plans to have this done?

LucianoGandini avatar Apr 16 '19 19:04 LucianoGandini

There are apparently multiple users creating containers based on our containers to have pg_partman available

Good! The intent here is this image demonstrates a minimum base on top of which others can build a better production-ready image, etc. I don't think it really makes sense to bloat it up with other extensions most users will not need.

OTOH, maybe we should consider doing what e.g. debian does, which is to have a slim variant that is the bare minimum and put extra things in the other variant (though I'd prefer the unqualified citus image be the slim version and the install everything! version have some other name (I'm unclear on what wording I'd use there)).

jasonmp85 avatar Jun 13 '19 23:06 jasonmp85

I don't think it really makes sense to bloat it up with other extensions most users will not need.

Citus Cloud comes with those extensions (partman, cron) though, so if you want to replicate your cloud environment for testing purposes you have to build your own image.

We’ve got one at algolia/citus for this purpose.

sfriquet avatar Jun 14 '19 08:06 sfriquet

Citus Cloud comes with those extensions (partman, cron) though, so if you want to replicate your cloud environment for testing purposes you have to build your own image.

That's a pretty compelling argument, actually, and gives us a good answer to "where do we stop including extensions, if we're going to include things other than Citus". I just wanted to avoid having to make the choices about what to include in the image.

OK, I think I'm convinced to have the main image match Cloud and the other image be called slim and have only Citus.

jasonmp85 avatar Jun 14 '19 20:06 jasonmp85

related to https://github.com/citusdata/docker/issues/207 we will track from that issue

gurkanindibay avatar Oct 27 '21 10:10 gurkanindibay

I agree there is 'where do we stop' argument, but I also feel like there's a middle ground where the documentation itself show's very easy steps to install the extensions onto the container yourself.

Not everyone uses every extension, but I would say most people are using some extension.

Let's just 'invert control' to people to allow them to easily install their own.

ShanonJackson avatar May 17 '22 23:05 ShanonJackson