aled's comments addressed
diff --git a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java
index e7cb590..c152882 100644
--- a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java
+++ b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxController.java
@@ -12,6 +12,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import brooklyn.config.ConfigKey;
import brooklyn.entity.Entity;
import brooklyn.entity.Group;
import brooklyn.entity.basic.Description;
@@ -76,6 +77,15 @@
public static final BasicConfigKey<Boolean> STICKY =
new BasicConfigKey<Boolean>(Boolean.class, "nginx.sticky", "whether to use sticky sessions", true);
+ @SetFromFlag("stickyVersion")
+ public static final ConfigKey<String> STICKY_VERSION =
+ new BasicConfigKey<String>(String.class, "nginx.sticky.version",
+ "Version of ngnix-sticky-module to be installed, if required", "1.0");
+
+ @SetFromFlag("pcreVersion")
+ public static final ConfigKey<String> PCRE_VERSION =
+ new BasicConfigKey<String>(String.class, "pcre.version", "Version of PCRE to be installed, if required", "8.32");
+
@SetFromFlag("httpPollPeriod")
public static final BasicConfigKey<Long> HTTP_POLL_PERIOD =
new BasicConfigKey<Long>(Long.class, "nginx.sensorpoll.http", "poll period (in milliseconds)", 1000L);
diff --git a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java
index 8baf0b3..b31d8e8 100644
--- a/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java
+++ b/software/webapp/src/main/java/brooklyn/entity/proxy/nginx/NginxSshDriver.java
@@ -63,8 +63,9 @@
String nginxUrl = format("http://nginx.org/download/nginx-%s.tar.gz", getVersion());
String nginxSaveAs = format("nginx-%s.tar.gz", getVersion());
- String stickyModuleUrl = "http://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-1.0.tar.gz";
- String stickyModuleSaveAs = "nginx-sticky-module-1.0.tar.gz";
+ String stickyVersion = entity.getConfig(NginxController.STICKY_VERSION);
+ String stickyModuleUrl = format("http://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-%s.tar.gz", stickyVersion);
+ String stickyModuleSaveAs = format("nginx-sticky-module-%s.tar.gz", stickyVersion);
boolean sticky = ((NginxController) entity).isSticky();
boolean isMac = getMachine().getOsDetails().isMac();
ScriptHelper script = newScript(INSTALLING);
@@ -76,9 +77,9 @@
script.body.append(CommonCommands.installPackage(installPackageFlags, "nginx-prerequisites"));
script.body.append(CommonCommands.downloadUrlAs(nginxUrl, getEntityVersionLabel("/"), nginxSaveAs));
if (isMac) {
- String pcreVersion = "8.32";
+ String pcreVersion = entity.getConfig(NginxController.PCRE_VERSION);
String pcreUrl = format("ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-%s.tar.gz", pcreVersion);
- String pcreSaveAs = format("pcre-8.32.tar.gz", pcreVersion);
+ String pcreSaveAs = format("pcre-%s.tar.gz", pcreVersion);
script.body.append(CommonCommands.downloadUrlAs(pcreUrl, getEntityVersionLabel("/"), pcreSaveAs));
// Install PCRE
script.body.append(format("mkdir -p %s/pcre-dist", getInstallDir()));
@@ -106,7 +107,7 @@
format(" --prefix=%s/nginx-%s/dist", getInstallDir(), getVersion()) +
" --with-http_ssl_module" +
(sticky ? format(" --add-module=%s/nginx-%s/src/nginx-sticky-module-1.0 ", getInstallDir(), getVersion()) : "") +
- (isMac ? format(" --with-ld-opt=\"-L %s/pcre-dist/lib\"", getInstallDir(), getVersion()) : "") ,
+ (isMac ? format(" --with-ld-opt=\"-L %s/pcre-dist/lib\"", getInstallDir()) : "") ,
"make install");
script.header.prepend("set -x");