Hi Lee, my github username is "bruno-". Here's the profile, so there's no mistakes link <https://github.com/bruno->
Also, thank you for letting me know about the potential issues with database user that can change schemas and grants. If an app needs so strict environment I guess this plugin is not appropriate. I'll make sure to outline that in the README. Thanks! On Wednesday, March 19, 2014 4:41:48 PM UTC+1, Lee Hambley wrote: > > Hey Bruno, replies inline: > > Just to make sure we're on the same track: capistrano-postgresql does not >> actually *install* postgres package. It presumes postgres is >> installed/provisioned and: >> > > Yeah, I got it, except that "provisioned" is a huge grey area, if it's > set up "properly' the user named in the application database.yml should > have limited read/write to data, but without being able to make schema > changes, or using GRANT. I know most people don't bother to set that up > correctly unless they're in a strongly security audited environment, but > the idea that the application user, can change schemas and grants scares > me. > > >> 1. creates db user and database for the app (is this database >> provisioning?) 2. creates appropriate database.yml >> > > Yeah, same as above, I don't know whether I expect database.yml to be > checked in, synched from somewhere else or manage by a provisioning tool, > it depends a lot > > >> But yea, creating a database (task 1.) is in the grey zone I guess. >> > > As are most things if we apply enough (too much?) analysis to them. > > >> About testing - no problem. I presume, you don't mean manual testing, >> right? >> > > No, we're a bit hung up because prior to the "omnibus" series of vagrant > installations (when it was still a Gem) we used vagrant to script tests > against virtual machines, vagrant has broken that use case now that it > doesn't ship as a Gem anymore. The idea > is to provide a "base box' against which plugins can write integration > tests, and we can be confident that nothing broke. > > >> If not manual, then what tool is used? >> Test-kitchen<https://github.com/test-kitchen/test-kitchen> >> ? >> > > https://github.com/capistrano/capistrano/blob/master/Gemfile#L7 > is what we use right now, but it's no good. Probably with the new > vagrant, we'll use the ssh kit project local ./.ssh/config and mount the > :deploy_to so that we can run operations, and natively assets on the > filesystem state. > > >> Let me know next steps for capistrano-postgresql. >> Also, I'll update you when we have capistrano-nginx-unicorn working. >> >> > Remind me, what's your GH username? > > > >> Thanks, >> Bruno >> >> On Wednesday, March 19, 2014 2:14:53 PM UTC+1, Lee Hambley wrote: >> >>> > - Lee, do you think it's a good idea we transfer capistrano-postgresql >>> gem to capistrano/postgresql? >>> >>> Actually, this is a tricky one, if you're prepared to deal with it, >>> absolutely. But the problem falls on the tricky line between infrastructure >>> provisioning, and application deployment. For example I think I would >>> resist officially supporting a capistrano plugin that installed apt >>> packages according to some magic formula, but we support bundler out of the >>> box. We support database migrations, but provisioning the database almost >>> rubs me the wrong way. >>> >>> I'll allow it, but please forgive me if there's something else you >>> write in the future, and my not-entirely-scientific method of deciding what >>> to embrace, and not rejects something else. >>> >>> - after capistrano-nginx-unicorn is working for capistrano 3, can we do >>> the same for that one? >>> >>> Yes, and in a perfect world, I might push you to test them when I get >>> the capistrano test VM to a working state. >>> >>> Lee Hambley >>> -- >>> http://lee.hambley.name/ >>> +49 (0) 170 298 5667 >>> >>> >>> On 19 March 2014 13:59, Bruno Sutic <bruno...@gmail.com> wrote: >>> >>>> Hi, >>>> I'd like to provide an update to this incentive. >>>> >>>> So, I've been investigating existing plugins for capistrano 2 (since my >>>> app was already working with it): >>>> - >>>> capistrano-nginx-unicorn<https://github.com/kalys/capistrano-nginx-unicorn>works >>>> great for nginx + unicorn >>>> - I wanted to abstract postgresql management as well. Didn't find an >>>> existing plugin so I wrote my own >>>> capistrano2-postgresql<https://github.com/bruno-/capistrano2-postgresql> >>>> . >>>> >>>> With the above 2 plugins, deploying basic rails apps is a breeze. >>>> deploy.rb stays in ~30 lines and a user does not have to bother writing >>>> custom tasks. Most important of all: ssh-ing to the server wasn't >>>> necessary >>>> at all! >>>> >>>> It would be great (and beneficial for others, especially newcommers) to >>>> have a similar setup for capistrano 3. Here's the progress on that: >>>> - I wrote >>>> capistrano-postgresql<https://github.com/bruno-/capistrano-postgresql> >>>> cap3 >>>> plugin/gem that deals with postgresql. I was banging on it today and it >>>> seems to work ok. >>>> - capistrano-nginx-unicorn support is on the >>>> way<https://github.com/kalys/capistrano-nginx-unicorn/pull/19> >>>> . >>>> >>>> Suggestions: >>>> - Lee, do you think it's a good idea we transfer capistrano-postgresql >>>> gem to capistrano/postgresql? >>>> - after capistrano-nginx-unicorn is working for capistrano 3, can we do >>>> the same for that one? >>>> >>>> I still have a couple of things to understand about cap 3, but after >>>> the above is done, I'd be glad to write an entry level tutorial for >>>> deploying rails apps with cap 3. >>>> >>>> Let me know your feedback! >>>> Bruno >>>> >>>> On Saturday, March 15, 2014 3:43:46 PM UTC+1, Bruno Sutic wrote: >>>>> >>>>> Hi Lee, >>>>> your reply is encouraging! >>>>> As I'll be working on this for my own needs, I'll try to contribute >>>>> back in some way mentioned in the post above. >>>>> >>>>> Thanks! >>>>> >>>>> On Friday, March 14, 2014 6:13:23 PM UTC+1, Lee Hambley wrote: >>>>>> >>>>>> I'd like to start a discussion about giving more exposure to >>>>>>> specific capistrano plugins and ways how I could get involved. >>>>>>> >>>>>> >>>>>> Great! >>>>>> >>>>>> >>>>>> >>>>>>> Here's a bit of the background which I think I share with a lot of >>>>>>> capistrano users: >>>>>>> I'd like to setup my rails app deployment using the standard stack >>>>>>> of postgres + unicorn + nginx. While at it, I'd like to do it with >>>>>>> minimum >>>>>>> config and boilerplate. And god forbid - I also do not want to ssh to >>>>>>> the >>>>>>> server for *any of the tasks*. >>>>>>> (premise here is that server if fully provisioned of course) >>>>>>> >>>>>> >>>>>> That's not too far off the mark! >>>>>> >>>>>> >>>>>> Now, I'm doing a research on capistrano unicorn plugins. I'm a "dumb >>>>>>> user" and I want a plugin to handle unicorn scripts and configs for me >>>>>>> - >>>>>>> pretty standard stuff. >>>>>>> It turns out there is a bunch of plugins and their forks our there. >>>>>>> It's totally messy, as you can see here: >>>>>>> https://github.com/sosedoff/capistrano-unicorn/issues/82 >>>>>>> I'm thinking we really do not need all these plugins that all try to >>>>>>> do one (simple?) thing. >>>>>>> >>>>>>> Questions / suggestions: >>>>>>> - is it a good idea to give more highlight to specific plugins on >>>>>>> the capistrano home page? Like for example here: >>>>>>> http://capistranorb.com/documentation/frameworks/ruby-on-rails/ >>>>>>> >>>>>> >>>>>> Absolutely, it's written as a Jekyll site so that plugin authors >>>>>> can send PRs to add themselves! >>>>>> >>>>>> >>>>>>> - or even make a step further and ask the plugin owners to move the >>>>>>> plugins to github.com/capistrano? >>>>>>> >>>>>> >>>>>> We already invited the plugin authors we came across (mostly due to >>>>>> v3 upgrade related questions and problems) to host their plugins with >>>>>> us, >>>>>> under the Capistrano name. >>>>>> >>>>>> >>>>>>> That way capistrano community is committed and focused on improving >>>>>>> small number of plugins. >>>>>>> >>>>>> Also, newcommers to capistrano are clearly pointed to what they >>>>>>> should use and they do not have to waste time on investigation and >>>>>>> trying >>>>>>> out various plugins (like I did) >>>>>>> . >>>>>>> >>>>>> >>>>>> That's a problem best solved by a plugin directory, or example videos >>>>>> or tutorials showing people how to get started with common stack >>>>>> http://roots.io/screencasts/ is a great example of that. >>>>>> >>>>>> >>>>>>> Involvement: >>>>>>> If the above suggestions are aligned with capistrano goals I would >>>>>>> like to offer time to make this happen. Here are the tasks I'd like to >>>>>>> do: >>>>>>> - do the work on investigating the best (working) capistrano plugins >>>>>>> for unicorn, nginx and postgres >>>>>>> - submit pull requests (or just communicate to maintainers) so that >>>>>>> chosen plugins are highlighted on this page: >>>>>>> https://github.com/sosedoff/capistrano-unicorn/issues/82 >>>>>>> >>>>>> >>>>>> Absolutely, please feel free to add anything you think it useful to >>>>>> the documentation site, we're not precious about some arbitrary measure >>>>>> of >>>>>> purity, or worthiness for improvements, all improvements are gladly >>>>>> received. Perversely as the authors, we're the worst people to write >>>>>> beginner documentation! >>>>>> >>>>>> >>>>>>> Let me know how you like the idea! >>>>>>> >>>>>> >>>>>> I do, it should be noted, that we'll be doing more around this area >>>>>> once we are launched with Harrow.io, as common plugins/integrations >>>>>> will be important, and Harrow should include autodiscovery for common >>>>>> things. >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Capistrano" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to capistrano+...@googlegroups.com. >>>> To view this discussion on the web, visit https://groups.google.com/d/ >>>> msgid/capistrano/7d51990a-1b0a-4c01-97fe-179cb7e08172% >>>> 40googlegroups.com<https://groups.google.com/d/msgid/capistrano/7d51990a-1b0a-4c01-97fe-179cb7e08172%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Capistrano" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to capistrano+...@googlegroups.com <javascript:>. >> To view this discussion on the web, visit >> https://groups.google.com/d/msgid/capistrano/4e14255c-4576-4b41-9d8a-caf6a1a4bd0c%40googlegroups.com<https://groups.google.com/d/msgid/capistrano/4e14255c-4576-4b41-9d8a-caf6a1a4bd0c%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Capistrano" group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/2ad34a72-0c6d-41d3-b890-18eba1188a71%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.