Skip to content

Instantly share code, notes, and snippets.

@tamirko
Last active September 30, 2015 10:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tamirko/1770098 to your computer and use it in GitHub Desktop.
Save tamirko/1770098 to your computer and use it in GitHub Desktop.
Cloud Driver Config
cloud {
// Mandatory. The name of the cloud, as it will appear in the Cloudify UI.
name = "ec2"
/********
* General configuration information about the cloud driver implementation.
*/
configuration {
// Optional. The cloud implementation class. Defaults to the built in jclouds-based provisioning driver.
className "org.cloudifysource.esc.driver.provisioning.jclouds.DefaultProvisioningDriver"
// Optional. The template name for the management machines. Defaults to the first template in the templates section below.
managementMachineTemplate "SMALL_LINUX_32"
// Optional. Indicates whether internal cluster communications should use the machine private IP. Defaults to true.
connectToPrivateIp true
}
/*************
* Provider specific information.
*/
provider {
// Mandatory. The name of the cloud provider.
// When using the default cloud driver, maps to the Compute Service Context provider name.
provider "aws-ec2"
// Mandatory. All files from this LOCAL directory will be copied to the remote machine directory.
localDirectory "tools/cli/plugins/esc/ec2/upload"
// Mandatory. Files from the local directory will be copied to this directory on the remote machine.
remoteDirectory "/home/ec2-user/gs-files"
// Mandatory. The HTTP/S URL where cloudify can be downloaded from by newly started machines.
// Mandatory. The prefix for new machines started for services.
machineNamePrefix "cloudify_agent_"
// Optional. Defaults to true. Specifies whether cloudify should try to deploy services on the management machine.
// Do not change this unless you know EXACTLY what you are doing.
dedicatedManagementMachines true
//
managementOnlyFiles ([])
// Optional. Logging level for the internal cloud provider logger. Defaults to INFO.
sshLoggingLevel "WARNING"
// Mandatory. Name of the new machine/s started as cloudify management machines.
managementGroup "cloudify_manager"
// Mandatory. Number of management machines to start on bootstrap-cloud. In production, should be 2. Can be 1 for dev.
numberOfManagementMachines 1
zones (["agent"])
/* The estimated amount of RAM used
by the operating system and the GSA running on the machine */
reservedMemoryCapacityPerMachineInMB 1024
}
/*************
* Cloud authentication information
*/
user {
// Optional. Identity used to access cloud.
// When used with the default driver, maps to the identity used to create the ComputeServiceContext.
user "ENTER_USER"
// Optional. Key used to access cloud.
// When used with the default driver, maps to the credential used to create the ComputeServiceContext.
apiKey "ENTER_API_KEY"
}
/***********
* Cloud machine templates available with this cloud.
*/
templates ([
// Mandatory. Template Name.
SMALL_LINUX_32 : template{
// Mandatory. Image ID.
imageId "us-east-1/ami-76f0061f"
// Mandatory. Amount of RAM available to a machine.
machineMemoryMB 1600
// Mandatory. Hardware ID.
hardwareId "m1.small"
// Optional. Location ID.
locationId "us-east-1"
localDirectory "upload"
remoteDirectory "/home/ec2-user/gs-files"
username "REPLACE_WITH_THE_SSH_USER_NAME"
password "REPLACE_WITH_THE_SSH_USER_PASSWORD"
// Additional template options.
// When used with the default driver, the options names are considered
// method names invoked on the TemplateOptions object with the value as the parameter.
keyFile "cloud-demo.pem"
options ([
"securityGroups" : ["default"] as String[],
"keyPair" : "cloud-demo"
])
// Optional. Overrides to default cloud driver behavior.
// When used with the default driver, maps to the overriding properties passed to the ComputeServiceContext a
overrides ([:])
privileged true
/*
The following optional attribute contains the path from which the JDK will be downloaded.
Default Linux values are :
32 bit
http://repository.cloudifysource.org/com/oracle/java/1.6.0_32/jdk-6u32-linux-i586.bin
64 bit
http://repository.cloudifysource.org/com/oracle/java/1.6.0_32/jdk-6u32-linux-x64.bin
But you can set it manually as follows :
(If you want to rely on the pre-installed JDK, set javaUrl to "NO_INSTALL")
*/
javaUrl "http://my-pc:8080/java.bin"
}
])
/*****************
* Optional. Custom properties used to extend existing drivers or create new ones.
*/
custom ([:])
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment