guide/start/example_yaml/mycluster.camp.yaml (54 lines of code) (raw):
id: tomcatCluster
name: Tomcat Cluster
version: 0.1.0-SNAPSHOT
location:
byon:
user: vagrant
password: vagrant
hosts:
- 10.10.10.101
- 10.10.10.102
- 10.10.10.103
- 10.10.10.104
services:
- type: org.apache.brooklyn.entity.group.DynamicCluster
name: Cluster
id: cluster
brooklyn.config:
cluster.initial.size: 1
dynamiccluster.memberspec:
$brooklyn:entitySpec:
type: org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
name: Tomcat Server
brooklyn.config:
wars.root: https://search.maven.org/remotecontent?filepath=org/apache/brooklyn/example/brooklyn-example-hello-world-webapp/0.12.0/brooklyn-example-hello-world-webapp-0.12.0.war # BROOKLYN_VERSION
brooklyn.policies:
- type: org.apache.brooklyn.policy.ha.ServiceRestarter
brooklyn.config:
failOnRecurringFailuresInThisDuration: 5m
brooklyn.enrichers:
- type: org.apache.brooklyn.policy.ha.ServiceFailureDetector
brooklyn.config:
entityFailed.stabilizationDelay: 30s
brooklyn.policies:
- type: org.apache.brooklyn.policy.ha.ServiceReplacer
- type: org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy
brooklyn.config:
metric: webapp.reqs.perSec.perNode
metricUpperBound: 3
metricLowerBound: 1
resizeUpStabilizationDelay: 2s
resizeDownStabilizationDelay: 1m
maxPoolSize: 3
brooklyn.enrichers:
- type: org.apache.brooklyn.enricher.stock.Aggregator
brooklyn.config:
enricher.sourceSensor: $brooklyn:sensor("webapp.reqs.perSec.windowed")
enricher.targetSensor: $brooklyn:sensor("webapp.reqs.perSec.perNode")
enricher.aggregating.fromMembers: true
transformation: average
- type: org.apache.brooklyn.entity.proxy.nginx.NginxController
name: Load Balancer (nginx)
brooklyn.config:
loadbalancer.serverpool: $brooklyn:entity("cluster")
nginx.sticky: false