Hi Nathan,

We are working on a nodejs stack with pm2


So far we came up with writing a pm2 module for managing processes.
far from finished but working rudimentary: 
https://gist.github.com/aikomastboom/8859290

We are using nave to install node on our environments
https://github.com/isaacs/nave/blob/master/nave.sh

below tasks can probably be cleaned a lot, for us, at this time, it does what 
it needs to do:

  - name: install nave
    copy: src=nave.sh dest=/usr/bin/nave mode=0755
    sudo: yes

  - name: get and store the nave prefix path for future reference
    shell: nave use {{node_version}} npm config get prefix 2>/dev/null 
    register: raw_nave_prefix
    sudo: no

  - name: set string value for nave prefix
    set_fact: 
      nave_prefix: "{{raw_nave_prefix.stdout}}"
    sudo: no

  - name: get and store the node path for future reference
    shell: nave use {{node_version}} env 2>/dev/null |grep NODE_PATH |sed -e 
's/NODE_PATH=//'
    register: node_path
    sudo: no

  - name: set the various paths
    set_fact: 
      npm_binary:  "{{nave_prefix}}/bin/npm"
    sudo: no

  - name: ensure pm2 installed
    npm: executable={{npm_binary}} name=pm2 state=present global=yes
    sudo: no

  - name: ensure a dump exists before creating init script
    action: pm2.py command=dump persist=true use_nave=true 
node_version={{node_version}}

  - name: installing pm2 to init.d
    raw: HOME={{home}} 
PATH={{ansible_env.PATH}}:{{home}}/.nave/installed/{{node_version}}/bin pm2 
startup {{ansible_distribution}} -u {{user}}
    sudo: yes




-- 
Aiko Mastboom
On 7 februari 2014 at 04:56:59, Nathan Walls ([email protected]) wrote:

Hi all,

I'm responsible for prepping some node.js services for provisioning + 
orchestration. Along the way, the engineering team passed along a default of 
pm2.

Looking at how it'd be provisioned, it'd be more interesting than a coworker 
and I particularly care for. Our goal is to have an /etc/init.d script to allow 
us to start/stop/restart through the service module. pm2 seems to want a bit 
more handholding to do its magic, so it's not feeling like a particularly good 
fit.

I'm wondering if anyone on list has experience provisioning + orchestrating 
node.js services through Ansible and, if so, what particular node.js or 
agnostic process managers were used.

Thanks in advance,

Nathan L. Walls
--
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to