Okay great!
I've pushed the code.

Also, I made a not-so-big-refactor that introduces a lot of diff (moving 
code from one file to another).
If you want, we can use that pull 
request<https://github.com/capistrano/postgresql/pull/1> for 
comments and other updates.

Also, please let me know if you think we need to enforce some special git 
workflow, versioning or other rules..

Bruno

On Thursday, March 20, 2014 8:34:22 AM UTC+1, Lee Hambley wrote:
>
> Hi Bruno,
>
> All done, it's private for now, I'll help you review it before we make it 
> public.
>
> - Lee
>
> Lee Hambley
> --
> http://lee.hambley.name/
> +49 (0) 170 298 5667
>
>
> On 19 March 2014 17:18, Bruno Sutic <[email protected] <javascript:>>wrote:
>
>> 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 <[email protected]> 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 [email protected].
>>>>>> 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 [email protected].
>>>> 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 [email protected] <javascript:>.
>> To view this discussion on the web, visit 
>> https://groups.google.com/d/msgid/capistrano/2ad34a72-0c6d-41d3-b890-18eba1188a71%40googlegroups.com<https://groups.google.com/d/msgid/capistrano/2ad34a72-0c6d-41d3-b890-18eba1188a71%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 [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/capistrano/e4ff6247-47f4-49b7-8ca0-7e3e4562ffe3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to