As part of our work on simplifying the Resin configuration to make 
dynamic/cloud servers easier to deploy, 4.0.24 now has

   rpm support
   two new configuration tags <resin:properties> and <server-multi>
   a new EL function rvar()
   two new CLI commands "start-all" and "generate-password"
   and a new command-line script resinctl

all to help make the cluster/cloud deployment easier (and also help 
simplify /resin-admin setup).

Our goal is to make a new dynamic server require very little in specific 
configuration to attach to the triad and start working. If the small 
specific configuration can fit in an Amazon-style user-data, that would 
be perfect (we're not quite there yet, but 4.0.24 is a good step forward.)

The start-all is used in the updated /etc/init.d/resin to start all 
servers that are configured on the local IP addresses of the current 
machine, avoiding the earlier requirement of specifying the -server. 
With 4.0.24, the /etc/init.d/resin can be left as-is.

If you look at the new default resin.xml, it has a

<resin:properties path="${__DIR__}/">

and several uses of rvar like <http port="${rvar('http')}"/>. The 
<resin:properties> is similar to the resin:import, but loads a 
properties file and saves the values in EL expressions which are then 
available to the resin.xml. Basically, this means that many sites will 
only need to change the and may never need to touch the 

The new <server-multi> works with the to make it easier 
to define the triad or the entire cluster. Instead of creating on 
<server> entry for each server, you can use the <server-multi> and set 
its address-list attribute to list all of the servers in the like:

   app_tier :


<server-multi id-prefix="app-" address-list="${rvar('app_tier')}" 

Together with the CLI start-all, this lets you configure the app-tier 
cluster without modifying either the resin.xml or the /etc/init.d/resin.

The resin.xml also includes a

<resin:import fileset="${__DIR__}/local.d/*.xml"/>

which will let you add configuration such as <database> tags in a 
separate *.xml without needing to modify the standard one.

resinctl is now placed in /usr/bin for the make install, the rpm, and 
the deb. So it's always available. It's similar to bin/, but has 
the default installed locations build-in. In other words, on a Linux 
system, it already knows about /etc/resin, /var/log/resin, /var/www, and 

-- Scott

resin-interest mailing list

Reply via email to