smebberson / docker-alpine

Docker containers running Alpine Linux and s6 for process management. Solid, reliable containers.
MIT License
596 stars 186 forks source link

Project stagnated (we're getting back on track) #36

Closed matthewvalimaki closed 8 years ago

matthewvalimaki commented 8 years ago

@smebberson I'm concerned that this project has come to a halt. We have outdated base images, old ca-certificates, PRs etc. I do not want to fork either.

I propose creation of an organization or something which allows myself to merge, tag and release (I assume Docker Hub is updated automatically with releases). You would still be the owner.

To further improve common goals and communication I would:

smebberson commented 8 years ago

@matthewvalimaki, I hear your concern and it's fair enough. The state of this repository and its images could be better.

I'm not quite yet ready to create an organisation for them, although, I see that as being best fit for the project in the not too distant future. I'm not ready for that just yet though.

Here is what I'm proposing:

(Give me a week to get through this, there is quite a bit there.)

In the meantime, could you please submit an issue on each of the above goals you've listed so that we can collaborate more closely on it (in particular I've been searching and thinking of ways to test these images appropriate but haven't found much at all yet, any insight you have would be great to hear). Let's aim towards this becoming an organisation and you a core member.

@matthewvalimaki, what do you think? Is this an okay first step in the direction you're wanting?

matthewvalimaki commented 8 years ago

@smebberson I think your feedback is good :) You've done well with maintaining this repository, the images and fixed issues I've introduced in my PRs. Even with the current state of the images they're the best :)

Really my goal is to get up-to-date images and while I do not expect immediate reaction to issues or PRs I would prefer some response within a week or so. This is to set expectations. So whether or not there is just you or an organization does not matter in the end. Only reason why I recommended shared responsibilities was to alleviate pressure from you.

I'll do as you suggested and create issues for the goals I mentioned.

smebberson commented 8 years ago

@matthewvalimaki, thanks for getting back to me. I have the same goal as you, I would like to be more responsive too and will aim to be.

I think it would be great if we form an organisation together for the future of this repository. Let's work a little more closely on the next round of issues you'll open and post that, we'll aim for an organisation. I think that would be great.

smebberson commented 8 years ago

alpine-consul-redis is now at v1.0.0.

smebberson commented 8 years ago

alpine-consul-ui is now at v1.0.0.

smebberson commented 8 years ago

alpine-redis is now at v1.0.0.

This marks the first dot-point as one. Onto the next task, updating the base images. Then onto the remaining PRs.

matthewvalimaki commented 8 years ago

Awesome! On Mar 31, 2016 6:14 PM, "Scott Mebberson" notifications@github.com wrote:

alpine-redis https://github.com/smebberson/docker-alpine/tree/master/alpine-redis is now at v1.0.0 https://hub.docker.com/r/smebberson/alpine-redis/tags/.

This marks the first dot-point as one. Onto the next task, updating the base images. Then onto the remaining PRs.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/smebberson/docker-alpine/issues/36#issuecomment-204197498

matthewvalimaki commented 8 years ago

@smebberson #37 added for "Have a road map and change log".

smebberson commented 8 years ago

alpine-base is now at v2.0.0

smebberson commented 8 years ago

alpine-apache is now at v2.0.0

smebberson commented 8 years ago

alpine-consul is now at v2.0.0

smebberson commented 8 years ago

alpine-consul-base is now at v3.0.0

smebberson commented 8 years ago

alpine-confd is now at v2.0.0

smebberson commented 8 years ago

alpine-rabbitmq is now at v2.1.1, but I also created v2.0.0, v2.1.0. See https://github.com/smebberson/docker-alpine/blob/master/alpine-rabbitmq/VERSIONS.md

smebberson commented 8 years ago

@matthewvalimaki could you please take a look at this new branch I've been working on? Specifically the CHANGELOG.

While upgrading alpine-consul-ui I discovered that as a result of the Consul upgrade, Consul-related images were not leaving the cluster correctly (when the container was stopped via CTRL+C). There has also always been a few little annoying issues with the way containers were brought down causing various error messages to appear. I decided to jump right in and fix those.

The branch I linked to is the first step. But it has come a long way. Everything works a little more cleanly now and everything exits more cleanly too (there is still some work to be done). The CHANGELOG documents everything (I don't intend to keep this around, but move them into the VERSIONS file for each image).

I've also added a complete example, which shows how to use all of these images for a complete setup using Docker with microservices and service discovery via Consul. Take a look at https://github.com/smebberson/docker-alpine/tree/alpine-consul-ui-upgrades/examples/complete. This was essentially needed for testing, but I always felt a complete example was missing.

@matthewvalimaki, I'm hoping you can test everything out to make sure it is working for you too. And for your general feedback on the changes. And specifically, referring to https://github.com/smebberson/docker-alpine/blob/alpine-consul-ui-upgrades/examples/complete/docker-compose.yml and the conductor, consul and consul2 containers - is that how you bootstrap a Consul cluster?

smebberson commented 8 years ago

@matthewvalimaki, @sandytrinh, that branch has now been updated to allow zero-conf Consul bootstrapping! Checkout the CHANGELOG and updated README.

matthewvalimaki commented 8 years ago

@smebberson apologies for delayed response. But man do the changes look good. I'll be testing tonight. I love the CHANGELOG - it is awesome. While it is a lot of work to write it all out as consumer I appreciate the fact that changes with explanations and effects are there. With Dockerfile I've taken the habit of reading changelogs more than ever before. Probably because with containers maintainers, such as you, are now responsible for dependencies and not some packaging system.

There has also always been a few little annoying issues with the way containers were brought down causing various error messages to appear. I decided to jump right in and fix those.

Did it take care of #21 as well?

I'm hoping you can test everything out to make sure it is working for you too. And for your general feedback on the changes.

I will test tonight.

is that how you bootstrap a Consul cluster?

I do not have a cluster setup anywhere right now, been going with single instance. I'll have to play around with clustering but that'll take more time.

smebberson commented 8 years ago

@matthewvalimaki, yep, it resolved #21. Well, bootstrapping a Consul cluster (on the same host machine) is SUPER simple now. Super simple. Make sure you read https://github.com/smebberson/docker-alpine/tree/alpine-consul-ui-upgrades/examples/complete it details the new 'complete' example (although not finished yet, I want to put Node.js and redis in there too) showing how they all hang together. @sandytrinh has reviewed the new zero-conf setup and likes it. So if you do too (@matthewvalimaki), I'll update all Consul-related containers to use this new method by default. The new method does bring a requirement for Docker 1.10+ though, so I was thinking of enabling backward compatibility by supporting usage of links to link other Consul containers to form a cluster.

smebberson commented 8 years ago

@matthewvalimaki, made some more changes to better support the embedded DNS server in Docker 1.10+ (https://github.com/smebberson/docker-alpine/blob/alpine-consul-ui-upgrades/CHANGELOG.md).

To test all of these changes, you'll now need to build the following, before building the containers in examples/complete:

smebberson commented 8 years ago

@matthewvalimaki, just wanted to let you know that tomorrow I'm going to go and forge ahead with the release of the consul based containers with these updates. I would have liked to get your opinion, but I understand you're busy. I really want to get them out so that people can see these images are still a viable and worthwhile option. Please there are some critical updates I want to release such as Nginx (HTTP/2) and Node.js 6. If you could squeeze in a quick check and opinion, that'd be great, otherwise I'll release anyway and hopefully have done it all justice.

ncornag commented 8 years ago

+1

sandytrinh commented 8 years ago

@smebberson Really looking forward to these new images tomorrow! Perfect timing for my new project :)

matthewvalimaki commented 8 years ago

@smebberson looks good to me! I'm exclusively using your images (many of them) and do appreciate the work.

matthewvalimaki commented 8 years ago

@smebberson if you can throw in latest go-dnsmasq as the version you're currently using is one release old ;)

smebberson commented 8 years ago

@matthewvalimaki I think I've already got the latest version in there? https://github.com/smebberson/docker-alpine/blob/alpine-consul-ui-upgrades/alpine-base/Dockerfile

matthewvalimaki commented 8 years ago

@smebberson you are correct. I was looking at some other repository with 1.0.4. Good stuff.

smebberson commented 8 years ago

@ncornag and @matthewvalimaki I've just made a few more changes. @ncornag all of your suggestions have been included - hopefully this makes these images work better with Rancher. Could you two please test and report back? All of the changes that I'm wanting to make have been made and it's just a matter of testing to make sure everything is all good and then I can release. If you could spare some time to test and report back, that'd be very much appreciated. Thanks!

smebberson commented 8 years ago

To make sure everything is clean before testing, run ./alpine-base/build && ./alpine-consul/build && ./alpine-consul-base/build && ./alpine-consul-nginx/build && ./alpine-consul-ui/build && ./alpine-consul-nodejs/build to rebuild all of the images and then dc build to rebuild the example images inheriting from the local updates. Good luck ;)

ncornag commented 8 years ago

I ran the "complete" example via the provided docker-compose.yml and all is going ok. I also test it successfully in a rancher.io environment, changing only the container-ip to meet my requirements. I will copy here the script for future reference:

#!/usr/bin/with-contenv sh

if getent hosts rancher-metadata > /dev/null; then
  if test -z $1; then
    curl -s http://rancher-metadata/latest/self/container/primary_ip
  else
    dig +short $1
  fi
else
  dig +short ${1:-$HOSTNAME}
fi
matthewvalimaki commented 8 years ago

As a note error dns: error starting tcp server: accept tcp 127.0.0.1:8600: use of closed network connection is reported here: https://github.com/hashicorp/consul/issues/1320

smebberson commented 8 years ago

Closing this as I've released a bunch of major changes.