[Glass] Is anyone using upstart to launch stones via tODE?

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Tue Nov 24 15:07:55 PST 2015



On 11/24/2015 02:21 PM, Jupiter Jones wrote:
> Hi Dale,
>
>> Sorry I can't help with upstart, but if you are interested in sharing your work, I will create a GsDevKit/GsDevKit_upstart project where the scripts/templates can be shared …
> Thanks Dale. Mariano is going to share his sysV and monit scripts as well, so it would be good to setup repos for these as well.
3 new projects created[1][2][3]. Only added a README at this point ... 
I'll add MIT license file and then we'll see how they pan out .... My 
thoughts are that projects like these will be cloned into the 
GsDevKit_home/etc directory ....

Let me know if/when we need additional GsDevKit modules.

[1] https://github.com/GsDevKit/GsDevKit_upstart
[2] https://github.com/GsDevKit/GsDevKit_monit
[3] https://github.com/GsDevKit/GsDevKit_sysV
>
>> I'm interested in isolating the scripts/templates for upstart/monit/daemontools/nginx/etc. because my sense is that there is utility to being able to manage the production scripts under git and the model would be that the master branch would have the standard scripts and templates and then for production a branch would be used to manage the production changes …
> Absolutely! It’s the last piece of the puzzle moving from dev to production. Additionally supporting gsApplicationTools / ServiceVM / Seaside / whatever would need to be included so that not only GemStone is covered, but templates for apps using those known entry points..
I did create a GsDevKit_seaside31[4] module  ... includes bash scripts, 
tode scripts, docs and tests ... I'm almost tempted to move the scripts 
and docs into the standard Seaside31 repo, but if we were to add 
monit/upstart/sysV/nginx/lighttpd/apache module support to 
GsDevKit_seaside31, itself,then perhaps a GsDevKit_seaside31/etc would 
be a better target for the clones...

I think this is an area for experimentation and exploration and we can 
use the GsDevKit_seaside31 project as a platform for this 
experimentation ...

I think it would be really good to have a turnkey Seaside module and 
this project[4] is as good a place as any to start building it ...

[4] https://github.com/GsDevKit/GsDevKit_seaside31
>
>> By having separate git repositories for each of the subsystems, then a developer can mix and match the subsystems being used and (perhaps more importantly) to be able pick and choose which subsystems get updated and which ones to leave as is ….
> Exactly :)
>
>> For ss3, I make changes to the "template" files in-place in a git repository and then use symbolic links to hook up the "templates" with the actual system locations for lighttpd, monit and daemonetools .... I don't know if this practice (symbolic liinks) makes sense for other systems like upstart, but it is comforting to know that if I mess up some script edits, I can restore the scripts to their previous state with a simple `git checkout` ...
> I do the same thing with dns and nginx, and based on my reading of upstart, it should work the same way too.
Good ...
>
> This is part of what I was hoping to achieve with the gsDeploymentTools project, however, the amazing devOps guy that was going to contribute to the bare-metal and AWS images took a month off to travel before starting and found himself a very lucrative position in Dubai and never returned :)
oops ... bad luck...
>
> Regardless, I’m keen to get this part done and dusted.
I'm in the process of integrating feedback about GsDevKit_home from the 
Smalltalks conference ... but this is pretty much just the tweaking of 
scripts ... no major structural changes ... yet:)

It will be interesting to see how things flow here ... part of the 
underlying technology is to use Pharo for the more complicated scripting 
tasks combined with the liberal use of .ston files (like the 
sessionDescriptions and info.ston files in the stone directories) can 
replace xml files for configuration purposes ...

a seaside_deployment.ston file that listed out the various GsDevKit_ 
modules needed for deploying a production Seaside instance would then 
drive the install/maintenance process ... custom seaside_deployment.ston 
files can be created for managing things not quite covered by the 
standard GsDevKit_ modules ...

I like the idea of being able toshare standard seaside_deployment 
modules like I'm sharing the project entries[5]...

Anyway ... food for thought...

Dale

[5] http://gsdevkit.github.io/GsDevKit_home/




More information about the Glass mailing list