|
Brooklyn | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbrooklyn.entity.basic.AbstractEntity
brooklyn.entity.basic.SoftwareProcessImpl
brooklyn.entity.proxy.AbstractControllerImpl
brooklyn.entity.proxy.nginx.NginxControllerImpl
public class NginxControllerImpl extends AbstractControllerImpl
An entity that represents an Nginx proxy (e.g. for routing requests to servers in a cluster).
The default driver *builds* nginx from source (because binaries are not reliably available, esp not with sticky sessions). This requires gcc and other build tools installed. The code attempts to install them but inevitably this entity may be more finicky about the OS/image where it runs than others.
Paritcularly on OS X we require Xcode and command-line gcc installed and on the path.
See http for useful info/examples of configuring nginx.
https configuration is supported, with the certificates providable on a per-UrlMapping basis or a global basis. (not supported to define in both places.) per-Url is useful if different certificates are used for different server names, or different ports if that is supported. see more info on Ssl in ProxySslConfig.
Field Summary |
---|
Fields inherited from class AbstractControllerImpl | |
---|---|
isActive, serverPoolAddresses, serverPoolMemberTrackerPolicy, serverPoolTargets, updateNeeded |
Fields inherited from class SoftwareProcessImpl | |
---|---|
connectedSensors |
Fields inherited from class AbstractEntity | |
---|---|
EFFECTOR_ADDED, EFFECTOR_CHANGED, EFFECTOR_REMOVED, LOG, POLICY_ADDED, POLICY_REMOVED, SENSOR_ADDED, SENSOR_REMOVED, _subscriptionTracker, managementSupport, tempWorkings |
Constructor Summary | |
NginxControllerImpl()
|
|
NginxControllerImpl(Entity parent)
|
|
NginxControllerImpl(java.util.Map properties)
|
|
NginxControllerImpl(java.util.Map properties, Entity parent)
|
Method Summary | |
---|---|
boolean
|
appendSslConfig(java.lang.String id, java.lang.StringBuilder out, java.lang.String prefix, ProxySslConfig ssl, boolean sslBlock, boolean certificateBlock)
|
void
|
connectSensors()
|
protected void
|
disconnectSensors()
|
void
|
doExtraConfigurationDuringStart()
|
protected void
|
doStop()
|
protected java.lang.Iterable
|
findUrlMappings()
|
protected java.lang.String
|
getCodeFor404()
|
protected java.lang.String
|
getCodeForServerConfig()
|
java.lang.String
|
getConfigFile()
|
java.lang.String
|
getCurrentConfiguration()
|
java.lang.Class
|
getDriverInterface()
|
java.lang.String
|
getShortName()
|
protected void
|
installSslKeys(java.lang.String id, ProxySslConfig ssl)
|
boolean
|
isSticky()
|
protected void
|
reconfigureService()
|
void
|
reload()
|
Constructor Detail |
---|
public NginxControllerImpl()
public NginxControllerImpl(Entity parent)
public NginxControllerImpl(java.util.Map properties)
public NginxControllerImpl(java.util.Map properties, Entity parent)
Method Detail |
---|
public boolean appendSslConfig(java.lang.String id, java.lang.StringBuilder out, java.lang.String prefix, ProxySslConfig ssl, boolean sslBlock, boolean certificateBlock)
@Override public void connectSensors()
return NginxDriver.class; protected void disconnectSensors()
public void doExtraConfigurationDuringStart()
protected void doStop()
protected java.lang.Iterable findUrlMappings()
protected java.lang.String getCodeFor404()
protected java.lang.String getCodeForServerConfig()
public java.lang.String getConfigFile()
if (cfg==null) return; public java.lang.String getCurrentConfiguration()
@Effector(description="Gets the current server configuration (by brooklyn recalculating what the config should be); does not affect the server") public java.lang.Class getDriverInterface()
public java.lang.String getShortName()
protected void installSslKeys(java.lang.String id, ProxySslConfig ssl)
public boolean isSticky()
NginxSshDriver driver = (NginxSshDriver)getDriver(); protected void reconfigureService()
@Override public void reload()
Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.