blob: c8622a0728f4efe8238c535bfa01715d40efbdd9 [file] [log] [blame]
# 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.12.0-SNAPSHOT" # BROOKLYN_VERSION
itemType: entity
items:
- id: org.apache.brooklyn.entity.nosql.redis.RedisStore
iconUrl: classpath:///redis-logo.png
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
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouterCluster
name: MongoDB Router Cluster
- id: org.apache.brooklyn.entity.nosql.cassandra.CassandraDatacenter
iconUrl: classpath:///cassandra-logo.png
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
iconUrl: classpath:///solr-logo.png
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
iconUrl: classpath:///couchdb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.couchdb.CouchDBNode
name: CouchDB Node
- id: org.apache.brooklyn.entity.nosql.redis.RedisShard
iconUrl: classpath:///redis-logo.png
item:
type: org.apache.brooklyn.entity.nosql.redis.RedisShard
name: Redis Shard
- id: org.apache.brooklyn.entity.nosql.redis.RedisCluster
iconUrl: classpath:///redis-logo.png
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
iconUrl: classpath:///hazelcast-logo.png
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
iconUrl: classpath:///couchdb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.couchdb.CouchDBCluster
name: CouchDB Cluster
- id: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseNode
iconUrl: classpath:///couchbase-logo.png
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
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardedDeployment
name: MongoDB Sharded Deployment
- id: org.apache.brooklyn.entity.nosql.cassandra.CassandraNode
iconUrl: classpath:///cassandra-logo.png
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
iconUrl: classpath:///org/apache/brooklyn/entity/nosql/riak/riak.png
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
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServerCluster
name: MongoDB Config Server Cluster
- id: org.apache.brooklyn.entity.nosql.mongodb.MongoDBServer
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.MongoDBServer
name: MongoDB Server
- id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouter
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBRouter
name: MongoDB Router
- id: org.apache.brooklyn.entity.nosql.mongodb.MongoDBReplicaSet
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.MongoDBReplicaSet
name: MongoDB Replica Set
- id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardCluster
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBShardCluster
name: MongoDB Shard Cluster
- id: org.apache.brooklyn.entity.nosql.mongodb.MongoDBClient
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.MongoDBClient
name: MongoDB Client
- 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
iconUrl: classpath:///cassandra-logo.png
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
iconUrl: classpath:///cassandra-logo.png
item:
type: org.apache.brooklyn.entity.nosql.cassandra.CassandraCluster
name: Cassandra Cluster
- id: org.apache.brooklyn.entity.nosql.redis.RedisSlave
iconUrl: classpath:///redis-logo.png
item:
type: org.apache.brooklyn.entity.nosql.redis.RedisSlave
name: Redis Slave
- id: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServer
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.MongoDBConfigServer
name: MongoDB Config Server
- id: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseCluster
iconUrl: classpath:///couchbase-logo.png
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
iconUrl: classpath:///couchbase-logo.png
item:
type: org.apache.brooklyn.entity.nosql.couchbase.CouchbaseSyncGateway
name: Couchbase Sync Gateway
- id: org.apache.brooklyn.entity.nosql.hazelcast.HazelcastNode
iconUrl: classpath:///hazelcast-logo.png
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
iconUrl: classpath:///org/apache/brooklyn/entity/nosql/riak/riak.png
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
iconUrl: classpath:///mongodb-logo.png
item:
type: org.apache.brooklyn.entity.nosql.mongodb.sharding.CoLocatedMongoDBRouter
name: Co-located MongoDB Router
- 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>