| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| brooklyn.catalog: |
| version: "0.11.0" # BROOKLYN_VERSION |
| itemType: entity |
| items: |
| - id: org.apache.brooklyn.entity.nosql.redis.RedisStore |
| item: |
| type: org.apache.brooklyn.entity.nosql.redis.RedisStore |
| name: Redis Server |
| description: Redis is an open-source, networked, in-memory, key-value data store with optional durability |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouterCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouterCluster |
| - id: org.apache.brooklyn.entity.nosql.cassandra.CassandraDatacenter |
| item: |
| type: org.apache.brooklyn.entity.nosql.cassandra.CassandraDatacenter |
| name: Apache Cassandra Datacenter Cluster |
| description: Cassandra is a highly scalable, eventually |
| - id: org.apache.brooklyn.entity.nosql.solr.SolrServer |
| item: |
| type: org.apache.brooklyn.entity.nosql.solr.SolrServer |
| name: Apache Solr Node |
| description: Solr is the popular, blazing fast open source enterprise search |
| - id: org.apache.brooklyn.entity.nosql.couchdb.CouchDBNode |
| item: |
| type: org.apache.brooklyn.entity.nosql.couchdb.CouchDBNode |
| name: CouchDB Node |
| - id: org.apache.brooklyn.entity.nosql.redis.RedisShard |
| item: |
| type: org.apache.brooklyn.entity.nosql.redis.RedisShard |
| - id: org.apache.brooklyn.entity.nosql.redis.RedisCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.redis.RedisCluster |
| name: Redis Cluster |
| description: Redis is an open-source, networked, in-memory, key-value data store with optional durability |
| - id: org.apache.brooklyn.entity.nosql.hazelcast.HazelcastCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.hazelcast.HazelcastCluster |
| name: Hazelcast Cluster |
| description: Hazelcast is a clustering and highly scalable data distribution platform for Java. |
| - id: org.apache.brooklyn.entity.nosql.couchdb.CouchDBCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.couchdb.CouchDBCluster |
| - id: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseNode |
| item: |
| type: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseNode |
| name: CouchBase Node |
| description: Couchbase Server is an open source, distributed (shared-nothing architecture) |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardedDeployment |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardedDeployment |
| name: MongoDB Sharded Deployment |
| - id: org.apache.brooklyn.entity.nosql.cassandra.CassandraNode |
| item: |
| type: org.apache.brooklyn.entity.nosql.cassandra.CassandraNode |
| name: Apache Cassandra Node |
| description: Cassandra is a highly scalable, eventually |
| - id: org.apache.brooklyn.entity.nosql.riak.RiakNode |
| item: |
| type: org.apache.brooklyn.entity.nosql.riak.RiakNode |
| name: Riak Node |
| description: Riak is a distributed NoSQL key-value data store that offers |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServerCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServerCluster |
| - id: org.apache.brooklyn.entity.nosql.mongodb.MongoDBServer |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.MongoDBServer |
| name: MongoDB Server |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouter |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouter |
| name: MongoDB Router |
| - id: org.apache.brooklyn.entity.nosql.mongodb.MongoDBReplicaSet |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.MongoDBReplicaSet |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardCluster |
| - id: org.apache.brooklyn.entity.nosql.mongodb.MongoDBClient |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.MongoDBClient |
| - id: org.apache.brooklyn.entity.nosql.elasticsearch.ElasticSearchNode |
| item: |
| type: org.apache.brooklyn.entity.nosql.elasticsearch.ElasticSearchNode |
| name: Elastic Search Node |
| description: Elasticsearch is an open-source search server based on Lucene. |
| - id: org.apache.brooklyn.entity.nosql.cassandra.CassandraFabric |
| item: |
| type: org.apache.brooklyn.entity.nosql.cassandra.CassandraFabric |
| name: Apache Cassandra Database Fabric |
| description: Cassandra is a highly scalable, eventually |
| - id: org.apache.brooklyn.entity.nosql.elasticsearch.ElasticSearchCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.elasticsearch.ElasticSearchCluster |
| name: Elastic Search Cluster |
| description: Elasticsearch is an open-source search server based on Lucene. |
| - id: org.apache.brooklyn.entity.nosql.cassandra.CassandraCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.cassandra.CassandraCluster |
| - id: org.apache.brooklyn.entity.nosql.redis.RedisSlave |
| item: |
| type: org.apache.brooklyn.entity.nosql.redis.RedisSlave |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServer |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServer |
| - id: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseCluster |
| name: CouchBase Cluster |
| description: Couchbase is an open source, distributed (shared-nothing architecture) |
| - id: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseSyncGateway |
| item: |
| type: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseSyncGateway |
| - id: org.apache.brooklyn.entity.nosql.hazelcast.HazelcastNode |
| item: |
| type: org.apache.brooklyn.entity.nosql.hazelcast.HazelcastNode |
| name: Hazelcast Node |
| description: Hazelcast is a clustering and highly scalable data distribution platform for Java. |
| - id: org.apache.brooklyn.entity.nosql.riak.RiakCluster |
| item: |
| type: org.apache.brooklyn.entity.nosql.riak.RiakCluster |
| name: Riak Cluster |
| description: Riak is a distributed NoSQL key-value data store that offers |
| - id: org.apache.brooklyn.entity.nosql.mongodb.sharding.CoLocatedMongoDBRouter |
| item: |
| type: org.apache.brooklyn.entity.nosql.mongodb.sharding.CoLocatedMongoDBRouter |
| |
| |
| - id: bash-web-and-riak-template |
| itemType: template |
| name: "Template: Bash Web Server and Scaling Riak Cluster" |
| description: | |
| Sample YAML building on Template bash-web-server-template, |
| composing that blueprint with a Riak cluster and injecting the URL |
| item: |
| name: Bash Web Server and Riak Cluster (Brooklyn Example) |
| |
| # this example *references* the previous one, |
| # combining it with a stock blueprint for a Riak cluster, |
| # and shows how a sensor from the latter can be injected |
| |
| services: |
| |
| # reference template bash-web-server-template, overriding message to point at riak |
| - type: bash-web-server-template |
| brooklyn.config: |
| my.message: $brooklyn:formatString("connected to Riak at %s", |
| $brooklyn:entity("riak-cluster").attributeWhenReady("main.uri")) |
| # and clear the location defined there so it is taken from this template |
| locations: [] |
| |
| # use the off-the-shelf Riak cluster |
| - type: org.apache.brooklyn.entity.nosql.riak.RiakCluster |
| id: riak-cluster |
| initialSize: 3 |
| # and add a policy to scale based on ops per minute |
| brooklyn.policies: |
| - type: org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy |
| brooklyn.config: |
| metric: riak.node.ops.1m.perNode |
| # more than 100 ops per second (6k/min) scales out, less than 50 scales back |
| # up to a max of 8 riak nodes here (can be changed in GUI / REST API afterwards) |
| metricLowerBound: 3000 |
| metricUpperBound: 6000 |
| minPoolSize: 3 |
| maxPoolSize: 8 |
| resizeUpStabilizationDelay: 30s |
| resizeDownStabilizationDelay: 5m |
| |
| location: |
| jclouds:aws-ec2: |
| region: eu-central-1 |
| # edit these (or delete if credentials specified in brooklyn.properties) |
| identity: <REPLACE> |
| credential: <REPLACE> |