# This is Brooklyn's .properties file. # It should be located at "~/.brooklyn/brooklyn.properties" ################################## Welcome! ############################################ # It's great to have you here. # Getting Started options have been pulled to the top. They are repeated further down. # When you are happy with what Brooklyn does, and how to use it, you can delete the # Getting Started Section completely, and use the full options below to setup your # configuration. # (There's a formatting guide at the very bottom.) ############################ Getting Started Options #################################### # By default we have AWS and Rackspace (non-UK) set up (but with invalid credentials!) # For each of those, either set the credentials immediately below # or remove the corresponding "location.named" lines far below # (i.e. look for brooklyn.location.named...=..... or =...... ) # For other clouds, ADD corresponding identity and credential lines # and enable the "brooklyn.location.named" line(s) setup far below ## Amazon EC2 Credentials # These should be an "Access Key ID" and "Secret Access Key" for your account. # This is configured at https://console.aws.amazon.com/iam/home?#security_credential . brooklyn.location.jclouds.aws-ec2.identity = AKA_YOUR_ACCESS_KEY_ID brooklyn.location.jclouds.aws-ec2.credential = YourSecretKeyWhichIsABase64EncodedString ## Rackspace Credentials brooklyn.location.jclouds.rackspace-cloudservers-us.identity = ACCOUNT_USERNAME brooklyn.location.jclouds.rackspace-cloudservers-us.credential = 0xApiKeyFromAccountSettingsAsHexString # For UK you need a *different* account, at rackspace.co.uk account (disabled by default) #brooklyn.location.jclouds.rackspace-cloudservers-uk.identity = ACCOUNT_USERNAME #brooklyn.location.jclouds.rackspace-cloudservers-uk.credential = 0xApiKeyFromAccountSettingAsHexString ## Geoscaling Service (Used for global web fabric demo) https://www.geoscaling.com/dns2/ brooklyn.geoscaling.username = USERNAME brooklyn.geoscaling.password = PASSWORD brooklyn.geoscaling.primaryDomain = DOMAIN ## SSH key for localhost ## ~/.ssh/id_rsa is Brooklyn's default location ## Passphrases are supported, but not required # brooklyn.location.localhost.privateKeyFile = ~/.ssh/id_rsa # brooklyn.location.localhost.privateKeyPassphrase = s3cr3tpassphrase # Beware of trailing spaces in your cloud credentials. This will cause unexpected # 401: unauthorized responses. ########################## Getting Started Complete! ################################### # That's it, although you may want to read through these options... ################################ Brooklyn Options ######################################## ## Brooklyn Mgmt Base Directory: specify where mgmt data should be stored on this server; ## ~/.brooklyn/ is the default but you could use something like /opt/brooklyn/state/ ## (provided this process has write permissions) # brooklyn.base.dir=~/.brooklyn/ ## Brooklyn On-Box Directory: specify where data should be stored on managed hosts; ## for most locations a directory off home is the default (but using /tmp/brooklyn-user/ on localhost), ## however you could specify something like /opt/brooklyn-managed-process/ (creation and permissions are handled) # onbox.base.dir=~/brooklyn-managed-process/ ## GUI Security ## NOTE: in production it is highly recommended to set this, as otherwise it will not require login, ## not will it be encrypted (though for safety if security is not set it will only bind to loopback) # brooklyn.webconsole.security.https.required=true # brooklyn.webconsole.security.users=admin,bob # brooklyn.webconsole.security.user.admin.password=password # brooklyn.webconsole.security.user.bob.password=bobsword ## GUI Security: Allow all - if you know what you are doing! (You can also plug in e.g. LDAP security.) # brooklyn.webconsole.security.provider = brooklyn.rest.security.provider.AnyoneSecurityProvider ## Optionally disallow deployment to localhost (or any other location) # brooklyn.location.localhost.enabled=false ## SSH key for localhost ## ~/.ssh/id_rsa is Brooklyn's default location ## Passphrases are supported, but not required # brooklyn.location.localhost.private-key-file = ~/.ssh/id_rsa # brooklyn.location.localhost.private-key-passphrase = s3cr3tpassphrase ## Scripting Behaviour ## keep scripts around after running them (usually in /tmp) # brooklyn.ssh.config.noDeleteAfterExec = true ## Misc Cloud Settings ## brooklyn will fail a node if the cloud machine doesn't come up, but you can tell it to retry: # brooklyn.location.jclouds.machineCreateAttempts = 3 ## many cloud machines don't have sufficient entropy for lots of encrypted networking, so fake it: # brooklyn.location.jclouds.installDevUrandom=true #################################### Locations ########################################### # Named locations appear in the web console. If using the command line, it may be as easy # to use the jclouds: locations. ## Example: AWS Virginia using Rightscale 6.3 64bit Centos AMI and Large Instances # brooklyn.location.named.AWS\ Virginia\ Large\ Centos = jclouds:aws-ec2:us-east-1 # brooklyn.location.named.AWS\ Virginia\ Large\ Centos.imageId=us-east-1/ami-7d7bfc14 # brooklyn.location.named.AWS\ Virginia\ Large\ Centos.user=root # brooklyn.location.named.AWS\ Virginia\ Large\ Centos.minRam=4096 ## Example: Rackspace US using Debian # brooklyn.location.named.Rackspace\ US\ -\ Debian = jclouds:cloudservers-us # brooklyn.location.named.Rackspace\ US\ -\ Debian.image-name-regex = Debian ## Example: AWS Oregon with Meta Data # brooklyn.location.named.AWS\ EC2\ Oregon = jclouds:aws-ec2:us-west-2 # brooklyn.location.named.AWS\ EC2\ Oregon.userMetadata = application=my-oregon-app,owner="Awesome Brooklyn User" ## Example: AWS Ireland using Alternative Keys # brooklyn.location.named.AWS\ EC2\ Ireland\ Alt \Keys = jclouds:aws-ec2:eu-west-1 # brooklyn.location.named.AWS\ EC2\ Ireland.private-key-file = ~/.ssh/alternative_rsa # brooklyn.location.named.AWS\ EC2\ Ireland.public-key-file = ~/.ssh/alternative_rsa.pub ## List of jclouds Compute Locations ## jclouds is a multi-cloud library that Brooklyn uses to access many clouds. ## Supported clouds: http://www.jclouds.org/documentation/reference/supported-providers/ ## ## Comment out those that you don't need. ## Remember to define your identity and credential for each provider ## e.g: brooklyn.location.jclouds.aws-ec2.identity = ? ## brooklyn.location.jclouds.aws-ec2.credential = ? ## brooklyn.location.jclouds.cloudservers-us.identity = ? ## brooklyn.location.jclouds.cloudservers-us.credential = ? ## # Note: For the convenience of new users, we have specified Ubuntu 12.04 LTS AMIs within # AWS, deploying to m1.smalls, minimum. Ubuntu requires user = ubuntu. # Please change these to better suit your requirements. # (Note: If no parameters are set jclouds will pick AMIs at random, user=root, t1.micros.) #brooklyn.location.jclouds.aws-ec2.identity = YOURAPIKEY #brooklyn.location.jclouds.aws-ec2.credential = YOURSECRETKEY brooklyn.location.jclouds.aws-ec2.minRam = 1600 brooklyn.location.jclouds.aws-ec2.user=brooklyn brooklyn.location.named.AWS\ Virginia\ (us-east-1) = jclouds:aws-ec2:us-east-1 brooklyn.location.named.AWS\ Virginia\ (us-east-1).imageId = us-east-1/ami-d0f89fb9 brooklyn.location.named.AWS\ Virginia\ (us-east-1).user = ubuntu brooklyn.location.named.AWS\ Oregon\ (us-west-2) = jclouds:aws-ec2:us-west-2 brooklyn.location.named.AWS\ Oregon\ (us-west-2).imageId = us-west-2/ami-70f96e40 brooklyn.location.named.AWS\ Oregon\ (us-west-2).user = ubuntu brooklyn.location.named.AWS\ California\ (us-west-1) = jclouds:aws-ec2:us-west-1 brooklyn.location.named.AWS\ California\ (us-west-1).imageId = us-west-1/ami-fe002cbb brooklyn.location.named.AWS\ California\ (us-west-1).user = ubuntu brooklyn.location.named.AWS\ Ireland\ (eu-west-1) = jclouds:aws-ec2:eu-west-1 brooklyn.location.named.AWS\ Ireland\ (eu-west-1).imageId = eu-west-1/ami-ce7b6fba brooklyn.location.named.AWS\ Ireland\ (eu-west-1).user = ubuntu brooklyn.location.named.AWS\ Singapore\ (ap-southeast-1) = jclouds:aws-ec2:ap-southeast-1 brooklyn.location.named.AWS\ Singapore\ (ap-southeast-1).imageId = ap-southeast-1/ami-64084736 brooklyn.location.named.AWS\ Singapore\ (ap-southeast-1).user = ubuntu brooklyn.location.named.AWS\ Tokyo\ (ap-northeast-1) = jclouds:aws-ec2:ap-northeast-1 brooklyn.location.named.AWS\ Tokyo\ (ap-northeast-1).imageId = ap-northeast-1/ami-fe6ceeff brooklyn.location.named.AWS\ Tokyo\ (ap-northeast-1).user = ubuntu brooklyn.location.named.AWS\ Sydney\ (ap-southeast-2) = jclouds:aws-ec2:ap-southeast-2 brooklyn.location.named.AWS\ Sydney\ (ap-southeast-2).imageId = ap-southeast-2/ami-04ea7a3e brooklyn.location.named.AWS\ Sydney\ (ap-southeast-2).user = ubuntu brooklyn.location.named.AWS\ Sao\ Paulo\ (sa-east-1) = jclouds:aws-ec2:sa-east-1 brooklyn.location.named.AWS\ Sao\ Paulo\ (sa-east-1).imageId = sa-east-1/ami-a3da00be brooklyn.location.named.AWS\ Sao\ Paulo\ (sa-east-1).user = ubuntu # Similarly, here are definitions for HP Cloud - also Ubuntu 12.04 LTS # You specify your HP Credentials like this: # brooklyn.location.jclouds.hpcloud-compute.identity = projectname:username # brooklyn.location.jclouds.hpcloud-compute.credential = password # where username and password are the same as logging in to the web console, and # projectname can be found here: https://account.hpcloud.com/projects brooklyn.location.named.HP\ Cloud\ Arizona-1 = jclouds:hpcloud-compute:az-1.region-a.geo-1 brooklyn.location.named.HP\ Cloud\ Arizona-1.imageId = az-1.region-a.geo-1/75845 brooklyn.location.named.HP\ Cloud\ Arizona-1.user = ubuntu brooklyn.location.named.HP\ Cloud\ Arizona-2 = jclouds:hpcloud-compute:az-2.region-a.geo-1 brooklyn.location.named.HP\ Cloud\ Arizona-2.imageId = az-2.region-a.geo-1/67074 brooklyn.location.named.HP\ Cloud\ Arizona-2.user = ubuntu brooklyn.location.named.HP\ Cloud\ Arizona-3 = jclouds:hpcloud-compute:az-3.region-a.geo-1 brooklyn.location.named.HP\ Cloud\ Arizona-3.imageId = az-3.region-a.geo-1/48335 brooklyn.location.named.HP\ Cloud\ Arizona-3.user = ubuntu # brooklyn.location.named.Bluelock = jclouds:bluelock-vcloud-zone01 # brooklyn.location.named.CloudSigma\ Nevada = jclouds:cloudsigma-lvs # brooklyn.location.named.CloudSigma\ Zurich = jclouds:cloudsigma-zrh # brooklyn.location.named.ElasticHosts\ London = jclouds:elastichosts-lon-p # brooklyn.location.named.ElasticHosts\ Texas = jclouds:elastichosts-sat-p # brooklyn.location.named.GleSYS = jclouds:glesys # brooklyn.location.named.Go2Cloud = jclouds:go2cloud-jhb1 # brooklyn.location.named.GoGrid = jclouds:gogrid ## Google Compute: at present you have to create and download the P12 key from the Google "APIs & auth -> Registered Apps" interface, ## then convert to PEM private key format using `openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes` ## then embed that on one line as the 'credential, replacing new lines with \n as below ## (hopefully this will be improved in jclouds in the future) # brooklyn.location.jclouds.google-compute-engine.identity=1234567890-somet1mesArand0mU1Dhere@developer.gserviceaccount.com # brooklyn.location.jclouds.google-compute-engine.credential=-----BEGIN PRIVATE KEY----- \nMIIblahablahblah \nblahblahblah \n-----END PRIVATE KEY----- # brooklyn.location.named.Google\ US = jclouds:google-compute-engine # brooklyn.location.named.Google\ US.region=us-central1-a # brooklyn.location.named.Google\ EU = jclouds:google-compute-engine # brooklyn.location.named.Google\ EU.region=europe-west1-a ## the following flags for GCE are recommended ## specify the network to use - otherwise it creates new networks each time and you hit quotas pretty quickly ## you may have to manually create this network AND enable a firewall rule EG tcp:1-65535;udp:1-65535;icmp ## (fix for this is in progress) # brooklyn.location.jclouds.google-compute-engine.networkName=brooklyn-default-network ## gce images have bad entropy, this ensures they have noisy /dev/random (even if the "randomness" is not quite as random) # brooklyn.location.jclouds.google-compute-engine.installDevUrandom=true ## gce images often start with iptables turned on; turn it off # brooklyn.location.jclouds.google-compute-engine.stopIptables=true # brooklyn.location.named.Green\ House\ Data = jclouds:greenhousedata-element-vcloud # brooklyn.location.named.Ninefold = jclouds:ninefold-compute # brooklyn.location.named.OpenHosting = jclouds:openhosting-east1 brooklyn.location.named.Rackspace\ Chicago\ (ord) = jclouds:rackspace-cloudservers-us:ORD brooklyn.location.named.Rackspace\ Dallas\ (dfw) = jclouds:rackspace-cloudservers-us:DFW brooklyn.location.named.Rackspace\ Hong\ Kong\ (hkg) = jclouds:rackspace-cloudservers-us:HKG brooklyn.location.named.Rackspace\ Northern\ Virginia\ (iad) = jclouds:rackspace-cloudservers-us:IAD brooklyn.location.named.Rackspace\ Sydney\ (syd) = jclouds:rackspace-cloudservers-us:SYD # for UK you will need a separate account with rackspace.co.uk # brooklyn.location.named.Rackspace\ London\ (lon) = jclouds:rackspace-cloudservers-uk ## if you need to use Rackspace "first gen" API ## (note the "next gen" api configured above seems to be faster) # brooklyn.location.jclouds.cloudservers-us.identity = YOURAPIKEY # brooklyn.location.jclouds.cloudservers-us.credential = YOURSECRETKEY # brooklyn.location.named.Rackspace\ US\ (First Gen) = jclouds:cloudservers-us ## and as with next gen, first gen requires a separate acct for the UK: # brooklyn.location.jclouds.cloudservers-uk.identity = YOURAPIKEY # brooklyn.location.jclouds.cloudservers-uk.credential = YOURSECRETKEY # brooklyn.location.named.Rackspace\ UK\ (First Gen) = jclouds:cloudservers-uk # brooklyn.location.named.SeverLove = jclouds:serverlove-z1-man # brooklyn.location.named.SkaliCloud = jclouds:skalicloud-sdg-my ## softlayer # brooklyn.location.jclouds.softlayer.identity=first.last # brooklyn.location.jclouds.softlayer.credential= ## known good image, available in all regions # brooklyn.location.jclouds.softlayer.imageId=13945 ## locations # brooklyn.location.named.Softlayer\ Seattle=jclouds:softlayer:18171 # brooklyn.location.named.Softlayer\ Washington=jclouds:softlayer:37473 # brooklyn.location.named.Softlayer\ Dallas\ 5=jclouds:softlayer:138124 # brooklyn.location.named.Softlayer\ Dallas\ 6=jclouds:softlayer:154820 # brooklyn.location.named.Softlayer\ San\ Jose\ 1=jclouds:softlayer:168642 # brooklyn.location.named.Softlayer\ Singapore\ 1=jclouds:softlayer:224092 # brooklyn.location.named.Softlayer\ Amsterdam\ 1=jclouds:softlayer:265592 # brooklyn.location.named.Stratogen = jclouds:stratogen-vcloud-mycloud # brooklyn.location.named.TryStack\ (Openstack) = jclouds:trystack-nova ## Production pool of machines for my application (deploy to named:On-Prem\ Iron\ Example) #brooklyn.location.named.On-Prem\ Iron\ Example=byon:(hosts="10.9.1.1,10.9.1.2,produser2@10.9.2.{10,11,20-29}") #brooklyn.location.named.On-Prem\ Iron\ Example.user=produser1 #brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyFile=~/.ssh/produser_id_rsa #brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyPassphrase=s3cr3tpassphrase ## Various private clouds ## openstack identity and credential are random strings of letters and numbers (TBC - still the case?) #brooklyn.location.named.My\ Openstack=jclouds:openstack-nova:https://9.9.9.9:9999/v2.0/ ## cloudstack identity and credential are rather long random strings of letters and numbers ## you generate this in the cloudstack gui, under accounts, then "view users", then "generate key" ## use the "api key" as the identity and "secret key" as the credential #brooklyn.location.named.My\ Cloudstack=jclouds:cloudstack:http://9.9.9.9:9999/client/api/ ## abiquo identity and credential are your login username/passed #brooklyn.location.named.My\ Abiquo=jclouds:abiquo:http://demonstration.abiquo.com/api/ ############################### Formatting Guide ####################################### ! Both # and ! mark lines as comments # The follow syntax are ALL valid. # example_key example_value # example_key : example_value # example_key = example_value # example_key=example_value # The backslash below tells Brooklyn to continue reading the value onto the next line. # example_key = A very \ # long string! # Note all white space before 'long...' is ignored. Also '!' is kept as part of the string # Keys with spaces should be escaped with backslashes. # This is useful for named locations, as the name displayed in Brooklyn's web # interface is derived from the key name. # key\ with\ spaces = some\ value # Encoding for .properties must be ISO-8859-1, aka Latin-1. # All non-latin1 characters must be entered using unicode escape characters # polish_pangram = P\u00F3jd\u017A\u017Ce, ki\u0144 \ # t\u0119 chmurno\u015B\u0107 w g\u0142\u0105b flaszy!