-
-
Notifications
You must be signed in to change notification settings - Fork 279
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
Update app setup to use docker for postgres/redis #1720
Conversation
42b037c
to
4b0f15d
Compare
|
||
def system!(*args) | ||
system(*args) || abort("\n== Command #{args} failed ==") | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything after this in utils.rb is new
system(*args) || abort("\n== Command #{args} failed ==") | ||
end | ||
|
||
def overmind_quit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Helps recover from overmind dirty exiting and leaving the .sock file round. Should avoid getting that error message: overmind: listen unix /Users/joekur/dev/reverb/.overmind.sock: bind: address already in use
volumes: | ||
- postgres-data:/var/lib/postgresql/data | ||
environment: | ||
POSTGRES_HOST_AUTH_METHOD: trust |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we default to a basic password?
7cc31d8
to
de6e4f6
Compare
de6e4f6
to
7b4e96b
Compare
@Drew-Goddyn, thanks for the PR! Unfortunately this does way too much for us to be able to accept it as is. If you can split it into several smaller PRs then we'll be able to consider each logical change on their own merits. We try to stick with small focused PRs so that they're easier to review by members of the core team, and so that downstream developers have an easier time of seeing exactly what's changed from version to version. I hope you can see where we're coming from on that point. Other than the issue of the giant PR, a lot of these look like reasonable changes, but some of these we probably won't be able to accept at all. Rewriting Using a single shared But reorganizing All the stuff about running services in Docker is something that's less clear cut. There's been some discussion around this sort of thing in the past (as you noticed with the linked PRs) and we're not sure that this is something we're prepared to maintain and support. Speaking only for myself, I don't really like running those kinds of services in Docker because I find it to generally be slower and more "fiddly" than just running native services. If you can make a much smaller PR for only the Docker stuff then we'd be able to give your particular implementation of the idea a proper evaluation. I think we'd be more likely to accept it if it were something that people could opt into. Making a wholesale change that amounts to "this is how we do it now whether you like it or not" is going to be a much harder sell. I'm going to close this since we can't accept it in the current form, but please do open some smaller PRs for things that you'd like to see changed. |
related: #464
related: #1620
What are you doing?
Started playing around with bullet train
(🙌) and didn't like having to
install bare-metal postgres / redis.
Personally, I tend to avoid from running background services directly as I often forget about them, and also have conflicts across various repos using different versions. Also, lets promote developers dipping their toes into Docker as it's a critical tool to learn. To that end, I've updated the setup/dev scripts to expect and use docker for those services.
Specific changes:
utils.rb
script for configure/setup/devcheck_docker.rb
to script/setup to check the user has Docker installed and runningutils.rb
for interacting with docker containersWhat does all this actually do?
Generally configure/setup/dev remain mostly unchanged.
Testing
I tested on Mac os specifcally:
clone repo as normal