PageRenderTime 49ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/generators/vulcanize/templates/base/config/rubber/rubber.yml

https://github.com/icblenke/rubber
YAML | 241 lines | 50 code | 32 blank | 159 comment | 0 complexity | 661196fda4856a216b11a4a40a68090d MD5 | raw file
Possible License(s): GPL-2.0
  1. # All variables can also be overridden on the role and/or host level by creating
  2. # a sub level to the config under roles and hosts
  3. # e.g. to install mysql only on db role, and awstats only on web01:
  4. #
  5. # packages: [ruby]
  6. # roles:
  7. # db:
  8. # packages: [mysql]
  9. # hosts:
  10. # web01:
  11. # packages: [awstats]
  12. # REQUIRED: The name of your application
  13. app_name: your_app_name
  14. # REQUIRED: The system user to run your app servers as
  15. app_user: app
  16. # REQUIRED: Notification emails (e.g. monit) get sent to this address
  17. #
  18. admin_email: root@localhost
  19. # OPTIONAL: If not set, you won't be able to access web_tools
  20. # server (munin stats, monit status, etc)
  21. # web_tools_user: admin
  22. # web_tools_password: sekret
  23. # REQUIRED: The timezone the server should be in
  24. timezone: US/Eastern
  25. # REQUIRED: the domain all the instances should be associated with
  26. #
  27. domain: foo.com
  28. # OPTIONAL: The configuration for each dns provider (nettica|zerigo|dyndns)
  29. # This lets rubber updatea dynamic dns service with the instance alias and ip
  30. #
  31. dns_providers:
  32. nettica:
  33. user: joe
  34. password: sekret
  35. record_type: A
  36. ttl: 300
  37. zerigo:
  38. customer_id: 1234
  39. email: foo@bar.com
  40. token: hexxy
  41. record_type: A
  42. ttl: 300
  43. dyndns:
  44. user: joe
  45. password: sekret
  46. update_url: https://members.dyndns.org/nic/update?hostname=%host%&myip=%ip%'
  47. # OPTIONAL: The dns provider to use
  48. # dns_provider: nettica
  49. # OPTIONAL: Additional rubber file to pull config from if it exists. This file will
  50. # also be pushed to remote host at RUBBER_ROOT/config/rubber/rubber-secret.yml
  51. #
  52. # rubber_secret: "#{File.expand_path('~') + '/.ec2' + (RUBBER_ENV == 'production' ? '' : '_dev') + '/rubber-secret.yml' rescue ''}"
  53. # REQUIRED All known cloud providers with the settings needed to configure them
  54. # There's only one coud provider right now - Amazon Web Services
  55. # To implement another, clone lib/rubber/cloud/aws.rb
  56. #
  57. cloud_providers:
  58. aws:
  59. # REQUIRED The amazon keys and account ID (digits only, no dashes) used to access the AWS API
  60. #
  61. access_key: XXX
  62. secret_access_key: YYY
  63. account: ZZZ
  64. # REQUIRED: The name of the amazon keypair and location of its private key
  65. #
  66. # NOTE: for some reason Capistrano requires you to have both the public and
  67. # the private key in the same folder, the public key should have the
  68. # extension ".pub". The easiest (only?) way to get your hand on this is to
  69. # create an instance, ssh into it, and copy the file /mnt/openssh_id.pub
  70. #
  71. key_name: gsg-keypair
  72. key_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*' + cloud_providers.aws.key_name].first}"
  73. # OPTIONAL: Needed for bundling a running instance using rubber:bundle
  74. #
  75. # pk_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/pk-*'].first}"
  76. # cert_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/cert-*'].first}"
  77. # image_bucket: "#{app_name}_images"
  78. # OPTIONAL: Needed for backing up database to s3
  79. # backup_bucket: "#{app_name}_backups"
  80. # REQUIRED: the ami and instance type for creating instances
  81. # The Ubuntu images at http://alestic.com/ work well
  82. # Ubuntu 9.04 Jaunty base install 32-bit 2.6.21.7-2.fc8xen ami-ed46a784
  83. # Ubuntu 9.04 Jaunty base install 64-bit 2.6.21.7-2.fc8xen ami-5b46a732
  84. #
  85. image_id: ami-ed46a784
  86. # m1.small or m1.large or m1.xlarge
  87. image_type: m1.small
  88. # REQUIRED the cloud provider to use
  89. #
  90. cloud_provider: aws
  91. # OPTIONAL: Define security groups
  92. # Each security group is a name associated with a sequence of maps where the
  93. # keys are the parameters to the ec2 AuthorizeSecurityGroupIngress API
  94. # source_security_group_name, source_security_group_owner_id
  95. # ip_protocol, from_port, to_port, cidr_ip
  96. #
  97. security_groups:
  98. default:
  99. description: The default security group
  100. rules:
  101. - source_group_name: default
  102. source_group_account: "#{cloud_providers.aws.account}"
  103. - protocol: tcp
  104. from_port: 22
  105. to_port: 22
  106. source_ips: [0.0.0.0/0]
  107. # OPTIONAL: The default security groups to create instances with
  108. assigned_security_groups: [default]
  109. # OPTIONAL: Automatically create security groups for each host and role
  110. # EC2 doesn't allow one to change what groups an instance belongs to after
  111. # creation, so its good to have some empty ones predefined.
  112. auto_security_groups: true
  113. # OPTIONAL: Automatically isolate security groups for each appname/environment
  114. # by mangling their names to be appname_env_groupname
  115. # This makes it safer to have staging and production coexist on the same EC2
  116. # account, or even multiple apps
  117. isolate_security_groups: true
  118. # OPTIONAL: Set if you want to use Ruby Enterprise Edition instead of the standard ubuntu one
  119. use_enterprise_ruby: false
  120. # OPTIONAL: The packages to install on all instances
  121. # You can install a specific version of a package by using a sub-array of pkg, version
  122. # For example, packages: [[rake, 0.7.1], irb]
  123. packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb]
  124. # OPTIONAL: gem sources to setup for rubygems
  125. gemsources: ["http://gems.rubyforge.org/", "http://gems.github.com"]
  126. # OPTIONAL: The gems to install on all instances
  127. # You can install a specific version of a gem by using a sub-array of gem, version
  128. # For example, gem: [[rails, 2.2.2], open4, aws-s3]
  129. gems: [wr0ngway-rubber, rails, open4, aws-s3]
  130. # OPTIONAL: A string prepended to shell command strings that cause multi
  131. # statement shell commands to fail fast. You may need to comment this out
  132. # on some platforms, but it works for me on linux/osx with a bash shell
  133. #
  134. stop_on_error_cmd: "function error_exit { exit 99; }; trap error_exit ERR"
  135. # OPTIONAL: The default set of roles to use when creating a staging instance
  136. # with "cap rubber:create_staging". By default this uses all the known roles,
  137. # but this is not always desired for staging, so you can specify a different
  138. # set here
  139. #
  140. staging_roles: "web,app,db:primary=true"
  141. # OPTIONAL: Lets one assign amazon elastic IPs (static IPs) to your instances
  142. # You should typically set this on the role/host level rather than
  143. # globally , unless you really do want all instances to have a
  144. # static IP
  145. #
  146. # use_static_ip: true
  147. # OPTIONAL: Specifies an instance to be created in the given availability zone
  148. # Availability zones are sepcified by amazon to be somewhat isolated
  149. # from each other so that hardware failures in one zone shouldn't
  150. # affect instances in another. As such, it is good to specify these
  151. # for instances that need to be redundant to reduce your chance of
  152. # downtime. You should typically set this on the role/host level
  153. # rather than globally. Use rubber describe:zones to see the list
  154. # of zones
  155. # availability_zone: us-east-1a
  156. # OPTIONAL: If you want t use Elastic Block Store (EBS) persistent
  157. # volumes, add them to host specific overrides and they will get created
  158. # and assigned to the instance. On initial creation, the volume will get
  159. # attached _and_ formatted, but if your host disapears and you recreate
  160. # it, the volume will only get remounted thereby preserving your data
  161. #
  162. # hosts:
  163. # my_host:
  164. # availability_zone: us-east-1a
  165. # volumes:
  166. # - size: 100 # size of vol in GBs
  167. # zone: us-east-1a # zone to create volume in, needs to match host's zone
  168. # device: /dev/sdh # OS device to attach volume to
  169. # mount: /mnt/mysql # The directory to mount this volume to
  170. # filesystem: ext3 # the filesystem to create on volume
  171. # - size: 10 # size of vol in GBs
  172. # zone: us-east-1a # zone to create volume in, needs to match host's zone
  173. # device: /dev/sdi # OS device to attach volume to
  174. # mount: /mnt/logs # The directory to mount this volume to
  175. # filesystem: ext3 # the filesystem to create on volume
  176. #
  177. # # volumes without mount/filesystem can be used in raid arrays
  178. #
  179. # - size: 50 # size of vol in GBs
  180. # zone: us-east-1a # zone to create volume in, needs to match host's zone
  181. # device: /dev/sdx # OS device to attach volume to
  182. # - size: 50 # size of vol in GBs
  183. # zone: us-east-1a # zone to create volume in, needs to match host's zone
  184. # device: /dev/sdy # OS device to attach volume to
  185. #
  186. # # for raid array, you'll need to add mdadm to packages. Likewise,
  187. # # xfsprogs is needed for xfs filesystem support
  188. # packages: [xfsprogs, mdadm]
  189. # raid_volumes:
  190. # - device: /dev/md0 # OS device to to create raid array on
  191. # mount: /mnt/fast # The directory to mount this array to
  192. # filesystem: xfs # the filesystem to create on array
  193. # raid_level: 0 # the raid level to use for the array
  194. # source_devices: [/dev/sdx, /dev/sdy] # the source EBS devices we are creating raid array from
  195. # OPTIONAL: You can also define your own variables here for use when
  196. # transforming config files, and they will be available in your config
  197. # templates as <%= rubber_env.var_name %>
  198. #
  199. # var_name: var_value
  200. # OPTIONAL: Role specific overrides
  201. # roles:
  202. # somerole:
  203. # packages: []
  204. # somerole2:
  205. # myconfig: someval
  206. # OPTIONAL: Host specific overrides
  207. # hosts:
  208. # somehost:
  209. # packages: []