bosh-cloudfoundry 0.6.1 → 0.7.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (351) hide show
  1. data/.gitignore +4 -1
  2. data/.rspec +1 -1
  3. data/.travis.yml +9 -3
  4. data/ChangeLog.md +12 -47
  5. data/Gemfile +11 -5
  6. data/Guardfile +4 -7
  7. data/LICENSE.txt +2 -2
  8. data/README.md +62 -178
  9. data/Rakefile +40 -16
  10. data/bosh-cloudfoundry.gemspec +19 -27
  11. data/bosh_release/.final_builds/.gitattributes +1 -0
  12. data/bosh_release/.final_builds/jobs/acm/index.yml +10 -0
  13. data/bosh_release/.final_builds/jobs/atmos_gateway/index.yml +58 -0
  14. data/bosh_release/.final_builds/jobs/backup_manager/index.yml +66 -0
  15. data/bosh_release/.final_builds/jobs/ccdb/index.yml +6 -0
  16. data/bosh_release/.final_builds/jobs/ccdb_postgres/index.yml +31 -0
  17. data/bosh_release/.final_builds/jobs/cloud_controller/index.yml +230 -0
  18. data/bosh_release/.final_builds/jobs/cloud_controller_ng/index.yml +31 -0
  19. data/bosh_release/.final_builds/jobs/collector/index.yml +27 -0
  20. data/bosh_release/.final_builds/jobs/dashboard/index.yml +43 -0
  21. data/bosh_release/.final_builds/jobs/dea/index.yml +86 -0
  22. data/bosh_release/.final_builds/jobs/dea_next/index.yml +51 -0
  23. data/bosh_release/.final_builds/jobs/debian_nfs_server/index.yml +30 -0
  24. data/bosh_release/.final_builds/jobs/filesystem_gateway/index.yml +54 -0
  25. data/bosh_release/.final_builds/jobs/gorouter/index.yml +11 -0
  26. data/bosh_release/.final_builds/jobs/hbase_master/index.yml +6 -0
  27. data/bosh_release/.final_builds/jobs/hbase_slave/index.yml +10 -0
  28. data/bosh_release/.final_builds/jobs/health_manager/index.yml +82 -0
  29. data/bosh_release/.final_builds/jobs/health_manager_next/index.yml +31 -0
  30. data/bosh_release/.final_builds/jobs/login/index.yml +47 -0
  31. data/bosh_release/.final_builds/jobs/marketplace_gateway/index.yml +38 -0
  32. data/bosh_release/.final_builds/jobs/memcached_gateway/index.yml +50 -0
  33. data/bosh_release/.final_builds/jobs/memcached_node/index.yml +22 -0
  34. data/bosh_release/.final_builds/jobs/memcached_node_ng/index.yml +50 -0
  35. data/bosh_release/.final_builds/jobs/micro/index.yml +374 -0
  36. data/bosh_release/.final_builds/jobs/mongodb_gateway/index.yml +126 -0
  37. data/bosh_release/.final_builds/jobs/mongodb_node/index.yml +110 -0
  38. data/bosh_release/.final_builds/jobs/mongodb_node_ng/index.yml +66 -0
  39. data/bosh_release/.final_builds/jobs/mysql_gateway/index.yml +110 -0
  40. data/bosh_release/.final_builds/jobs/mysql_node/index.yml +126 -0
  41. data/bosh_release/.final_builds/jobs/mysql_node_ng/index.yml +58 -0
  42. data/bosh_release/.final_builds/jobs/nats/index.yml +43 -0
  43. data/bosh_release/.final_builds/jobs/oauth2_gateway/index.yml +10 -0
  44. data/bosh_release/.final_builds/jobs/opentsdb/index.yml +62 -0
  45. data/bosh_release/.final_builds/jobs/postgres/index.yml +19 -0
  46. data/bosh_release/.final_builds/jobs/postgresql_gateway/index.yml +106 -0
  47. data/bosh_release/.final_builds/jobs/postgresql_node/index.yml +90 -0
  48. data/bosh_release/.final_builds/jobs/postgresql_node_ng/index.yml +62 -0
  49. data/bosh_release/.final_builds/jobs/rabbit_gateway/index.yml +82 -0
  50. data/bosh_release/.final_builds/jobs/rabbit_node/index.yml +86 -0
  51. data/bosh_release/.final_builds/jobs/rabbit_node_ng/index.yml +58 -0
  52. data/bosh_release/.final_builds/jobs/rabbitmq_srs_gateway/index.yml +22 -0
  53. data/bosh_release/.final_builds/jobs/rabbitmq_srs_node/index.yml +18 -0
  54. data/bosh_release/.final_builds/jobs/rabbitmq_srs_service/index.yml +22 -0
  55. data/bosh_release/.final_builds/jobs/redis_gateway/index.yml +102 -0
  56. data/bosh_release/.final_builds/jobs/redis_node/index.yml +98 -0
  57. data/bosh_release/.final_builds/jobs/redis_node_ng/index.yml +58 -0
  58. data/bosh_release/.final_builds/jobs/router/index.yml +78 -0
  59. data/bosh_release/.final_builds/jobs/router_next/index.yml +38 -0
  60. data/bosh_release/.final_builds/jobs/routerv2/index.yml +30 -0
  61. data/bosh_release/.final_builds/jobs/serialization_data_server/index.yml +38 -0
  62. data/bosh_release/.final_builds/jobs/service_broker/index.yml +34 -0
  63. data/bosh_release/.final_builds/jobs/service_utilities/index.yml +14 -0
  64. data/bosh_release/.final_builds/jobs/stager/index.yml +94 -0
  65. data/bosh_release/.final_builds/jobs/syslog_aggregator/index.yml +43 -0
  66. data/bosh_release/.final_builds/jobs/uaa/index.yml +111 -0
  67. data/bosh_release/.final_builds/jobs/vblob_gateway/index.yml +62 -0
  68. data/bosh_release/.final_builds/jobs/vblob_node/index.yml +34 -0
  69. data/bosh_release/.final_builds/jobs/vblob_node_ng/index.yml +54 -0
  70. data/bosh_release/.final_builds/jobs/vcap_redis/index.yml +26 -0
  71. data/bosh_release/.final_builds/jobs/warden/index.yml +30 -0
  72. data/bosh_release/.final_builds/packages/acm/index.yml +46 -0
  73. data/bosh_release/.final_builds/packages/atmos_gateway/index.yml +146 -0
  74. data/bosh_release/.final_builds/packages/backup_manager/index.yml +158 -0
  75. data/bosh_release/.final_builds/packages/bandwidth_proxy/index.yml +10 -0
  76. data/bosh_release/.final_builds/packages/buildpack_cache/index.yml +7 -0
  77. data/bosh_release/.final_builds/packages/cloud_controller/index.yml +306 -0
  78. data/bosh_release/.final_builds/packages/cloud_controller_ng/index.yml +55 -0
  79. data/bosh_release/.final_builds/packages/collector/index.yml +35 -0
  80. data/bosh_release/.final_builds/packages/common/index.yml +22 -0
  81. data/bosh_release/.final_builds/packages/dashboard/index.yml +59 -0
  82. data/bosh_release/.final_builds/packages/daylimit/index.yml +22 -0
  83. data/bosh_release/.final_builds/packages/dea/index.yml +214 -0
  84. data/bosh_release/.final_builds/packages/dea_jvm/index.yml +19 -0
  85. data/bosh_release/.final_builds/packages/dea_jvm7/index.yml +6 -0
  86. data/bosh_release/.final_builds/packages/dea_next/index.yml +67 -0
  87. data/bosh_release/.final_builds/packages/dea_node/index.yml +18 -0
  88. data/bosh_release/.final_builds/packages/dea_node04/index.yml +14 -0
  89. data/bosh_release/.final_builds/packages/dea_node06/index.yml +14 -0
  90. data/bosh_release/.final_builds/packages/dea_node08/index.yml +6 -0
  91. data/bosh_release/.final_builds/packages/dea_ruby18/index.yml +34 -0
  92. data/bosh_release/.final_builds/packages/dea_ruby19/index.yml +30 -0
  93. data/bosh_release/.final_builds/packages/dea_seed/index.yml +34 -0
  94. data/bosh_release/.final_builds/packages/dea_transition/index.yml +18 -0
  95. data/bosh_release/.final_builds/packages/debian_nfs_server/index.yml +14 -0
  96. data/bosh_release/.final_builds/packages/erlang/index.yml +14 -0
  97. data/bosh_release/.final_builds/packages/filesystem_gateway/index.yml +114 -0
  98. data/bosh_release/.final_builds/packages/git/index.yml +6 -0
  99. data/bosh_release/.final_builds/packages/golang/index.yml +11 -0
  100. data/bosh_release/.final_builds/packages/gorouter/index.yml +19 -0
  101. data/bosh_release/.final_builds/packages/hadoop/index.yml +6 -0
  102. data/bosh_release/.final_builds/packages/hbase/index.yml +18 -0
  103. data/bosh_release/.final_builds/packages/health_manager_next/index.yml +75 -0
  104. data/bosh_release/.final_builds/packages/imagemagick/index.yml +10 -0
  105. data/bosh_release/.final_builds/packages/insight_agent/index.yml +10 -0
  106. data/bosh_release/.final_builds/packages/libpq/index.yml +23 -0
  107. data/bosh_release/.final_builds/packages/libyaml/index.yml +7 -0
  108. data/bosh_release/.final_builds/packages/login/index.yml +55 -0
  109. data/bosh_release/.final_builds/packages/marketplace/index.yml +58 -0
  110. data/bosh_release/.final_builds/packages/memcached/index.yml +6 -0
  111. data/bosh_release/.final_builds/packages/memcached_gateway/index.yml +102 -0
  112. data/bosh_release/.final_builds/packages/memcached_node/index.yml +90 -0
  113. data/bosh_release/.final_builds/packages/memcached_node_ng/index.yml +58 -0
  114. data/bosh_release/.final_builds/packages/micro/index.yml +22 -0
  115. data/bosh_release/.final_builds/packages/mongodb/index.yml +22 -0
  116. data/bosh_release/.final_builds/packages/mongodb18/index.yml +6 -0
  117. data/bosh_release/.final_builds/packages/mongodb20/index.yml +11 -0
  118. data/bosh_release/.final_builds/packages/mongodb22/index.yml +6 -0
  119. data/bosh_release/.final_builds/packages/mongodb_gateway/index.yml +226 -0
  120. data/bosh_release/.final_builds/packages/mongodb_node/index.yml +214 -0
  121. data/bosh_release/.final_builds/packages/mongodb_node_ng/index.yml +58 -0
  122. data/bosh_release/.final_builds/packages/mongodb_proxy/index.yml +38 -0
  123. data/bosh_release/.final_builds/packages/mysql/index.yml +54 -0
  124. data/bosh_release/.final_builds/packages/mysql55/index.yml +26 -0
  125. data/bosh_release/.final_builds/packages/mysql_gateway/index.yml +246 -0
  126. data/bosh_release/.final_builds/packages/mysql_node/index.yml +230 -0
  127. data/bosh_release/.final_builds/packages/mysql_node_ng/index.yml +62 -0
  128. data/bosh_release/.final_builds/packages/mysqlclient/index.yml +14 -0
  129. data/bosh_release/.final_builds/packages/nats/index.yml +34 -0
  130. data/bosh_release/.final_builds/packages/nginx/index.yml +38 -0
  131. data/bosh_release/.final_builds/packages/nginx_next/index.yml +6 -0
  132. data/bosh_release/.final_builds/packages/node/index.yml +10 -0
  133. data/bosh_release/.final_builds/packages/oauth2_gateway/index.yml +18 -0
  134. data/bosh_release/.final_builds/packages/opentsdb/index.yml +18 -0
  135. data/bosh_release/.final_builds/packages/postgres/index.yml +18 -0
  136. data/bosh_release/.final_builds/packages/postgresql/index.yml +31 -0
  137. data/bosh_release/.final_builds/packages/postgresql91/index.yml +10 -0
  138. data/bosh_release/.final_builds/packages/postgresql_gateway/index.yml +178 -0
  139. data/bosh_release/.final_builds/packages/postgresql_node/index.yml +162 -0
  140. data/bosh_release/.final_builds/packages/postgresql_node_ng/index.yml +58 -0
  141. data/bosh_release/.final_builds/packages/rabbit/index.yml +14 -0
  142. data/bosh_release/.final_builds/packages/rabbit_gateway/index.yml +210 -0
  143. data/bosh_release/.final_builds/packages/rabbit_node/index.yml +194 -0
  144. data/bosh_release/.final_builds/packages/rabbit_node_ng/index.yml +58 -0
  145. data/bosh_release/.final_builds/packages/rabbitmq-2.4/index.yml +6 -0
  146. data/bosh_release/.final_builds/packages/rabbitmq-2.8/index.yml +6 -0
  147. data/bosh_release/.final_builds/packages/rabbitmq/index.yml +18 -0
  148. data/bosh_release/.final_builds/packages/rabbitmq_srs/index.yml +14 -0
  149. data/bosh_release/.final_builds/packages/rabbitmq_srs_builds/index.yml +10 -0
  150. data/bosh_release/.final_builds/packages/redis/index.yml +18 -0
  151. data/bosh_release/.final_builds/packages/redis22/index.yml +6 -0
  152. data/bosh_release/.final_builds/packages/redis24/index.yml +6 -0
  153. data/bosh_release/.final_builds/packages/redis26/index.yml +6 -0
  154. data/bosh_release/.final_builds/packages/redis_gateway/index.yml +230 -0
  155. data/bosh_release/.final_builds/packages/redis_node/index.yml +218 -0
  156. data/bosh_release/.final_builds/packages/redis_node_ng/index.yml +62 -0
  157. data/bosh_release/.final_builds/packages/rootfs_lucid64/index.yml +7 -0
  158. data/bosh_release/.final_builds/packages/router/index.yml +178 -0
  159. data/bosh_release/.final_builds/packages/routerv2/index.yml +18 -0
  160. data/bosh_release/.final_builds/packages/ruby/index.yml +35 -0
  161. data/bosh_release/.final_builds/packages/ruby_next/index.yml +15 -0
  162. data/bosh_release/.final_builds/packages/serialization_data_server/index.yml +66 -0
  163. data/bosh_release/.final_builds/packages/service_broker/index.yml +138 -0
  164. data/bosh_release/.final_builds/packages/service_utilities/index.yml +34 -0
  165. data/bosh_release/.final_builds/packages/sqlite/index.yml +14 -0
  166. data/bosh_release/.final_builds/packages/stager/index.yml +194 -0
  167. data/bosh_release/.final_builds/packages/syslog_aggregator/index.yml +19 -0
  168. data/bosh_release/.final_builds/packages/uaa/index.yml +99 -0
  169. data/bosh_release/.final_builds/packages/vblob/index.yml +22 -0
  170. data/bosh_release/.final_builds/packages/vblob_gateway/index.yml +106 -0
  171. data/bosh_release/.final_builds/packages/vblob_node/index.yml +94 -0
  172. data/bosh_release/.final_builds/packages/vblob_node_ng/index.yml +54 -0
  173. data/bosh_release/.final_builds/packages/warden/index.yml +107 -0
  174. data/{spec/assets → bosh_release/config}/.gitkeep +0 -0
  175. data/bosh_release/config/final.yml +7 -0
  176. data/{spec/functional → bosh_release/jobs}/.gitkeep +0 -0
  177. data/{spec/unit → bosh_release/packages}/.gitkeep +0 -0
  178. data/bosh_release/releases/appcloud-10.yml +232 -0
  179. data/bosh_release/releases/appcloud-100.yml +512 -0
  180. data/bosh_release/releases/appcloud-101.yml +523 -0
  181. data/bosh_release/releases/appcloud-102.yml +523 -0
  182. data/bosh_release/releases/appcloud-103.yml +532 -0
  183. data/bosh_release/releases/appcloud-104.yml +541 -0
  184. data/bosh_release/releases/appcloud-105.yml +547 -0
  185. data/bosh_release/releases/appcloud-106.yml +547 -0
  186. data/bosh_release/releases/appcloud-107.yml +547 -0
  187. data/bosh_release/releases/appcloud-108.yml +547 -0
  188. data/bosh_release/releases/appcloud-109.yml +612 -0
  189. data/bosh_release/releases/appcloud-11.yml +232 -0
  190. data/bosh_release/releases/appcloud-110.yml +612 -0
  191. data/bosh_release/releases/appcloud-111.yml +743 -0
  192. data/bosh_release/releases/appcloud-112.yml +617 -0
  193. data/bosh_release/releases/appcloud-113.yml +627 -0
  194. data/bosh_release/releases/appcloud-114.yml +627 -0
  195. data/bosh_release/releases/appcloud-115.yml +627 -0
  196. data/bosh_release/releases/appcloud-116.yml +627 -0
  197. data/bosh_release/releases/appcloud-117.yml +637 -0
  198. data/bosh_release/releases/appcloud-118.yml +637 -0
  199. data/bosh_release/releases/appcloud-119.yml +642 -0
  200. data/bosh_release/releases/appcloud-12.yml +232 -0
  201. data/bosh_release/releases/appcloud-120.yml +791 -0
  202. data/bosh_release/releases/appcloud-121.yml +791 -0
  203. data/bosh_release/releases/appcloud-122.yml +799 -0
  204. data/bosh_release/releases/appcloud-123.yml +799 -0
  205. data/bosh_release/releases/appcloud-124.yml +810 -0
  206. data/bosh_release/releases/appcloud-125.yml +810 -0
  207. data/bosh_release/releases/appcloud-126.yml +810 -0
  208. data/bosh_release/releases/appcloud-127.yml +816 -0
  209. data/bosh_release/releases/appcloud-128.yml +812 -0
  210. data/bosh_release/releases/appcloud-129.yml +811 -0
  211. data/bosh_release/releases/appcloud-13.yml +232 -0
  212. data/bosh_release/releases/appcloud-130.yml +811 -0
  213. data/bosh_release/releases/appcloud-131.yml +811 -0
  214. data/bosh_release/releases/appcloud-14.yml +232 -0
  215. data/bosh_release/releases/appcloud-15.yml +232 -0
  216. data/bosh_release/releases/appcloud-16.yml +232 -0
  217. data/bosh_release/releases/appcloud-17.yml +232 -0
  218. data/bosh_release/releases/appcloud-18.yml +232 -0
  219. data/bosh_release/releases/appcloud-19.yml +256 -0
  220. data/bosh_release/releases/appcloud-20.yml +256 -0
  221. data/bosh_release/releases/appcloud-21.yml +256 -0
  222. data/bosh_release/releases/appcloud-22.yml +286 -0
  223. data/bosh_release/releases/appcloud-23.yml +294 -0
  224. data/bosh_release/releases/appcloud-24.yml +297 -0
  225. data/bosh_release/releases/appcloud-25.yml +297 -0
  226. data/bosh_release/releases/appcloud-26.yml +297 -0
  227. data/bosh_release/releases/appcloud-27.yml +297 -0
  228. data/bosh_release/releases/appcloud-28.yml +297 -0
  229. data/bosh_release/releases/appcloud-29.yml +297 -0
  230. data/bosh_release/releases/appcloud-30.yml +299 -0
  231. data/bosh_release/releases/appcloud-31.yml +299 -0
  232. data/bosh_release/releases/appcloud-32.yml +299 -0
  233. data/bosh_release/releases/appcloud-33.yml +299 -0
  234. data/bosh_release/releases/appcloud-34.yml +299 -0
  235. data/bosh_release/releases/appcloud-35.yml +299 -0
  236. data/bosh_release/releases/appcloud-36.yml +299 -0
  237. data/bosh_release/releases/appcloud-37.yml +332 -0
  238. data/bosh_release/releases/appcloud-38.yml +343 -0
  239. data/bosh_release/releases/appcloud-39.yml +360 -0
  240. data/bosh_release/releases/appcloud-40.yml +360 -0
  241. data/bosh_release/releases/appcloud-41.yml +367 -0
  242. data/bosh_release/releases/appcloud-42.yml +372 -0
  243. data/bosh_release/releases/appcloud-43.yml +372 -0
  244. data/bosh_release/releases/appcloud-44.yml +372 -0
  245. data/bosh_release/releases/appcloud-45.yml +381 -0
  246. data/bosh_release/releases/appcloud-46.yml +381 -0
  247. data/bosh_release/releases/appcloud-47.yml +381 -0
  248. data/bosh_release/releases/appcloud-48.yml +381 -0
  249. data/bosh_release/releases/appcloud-49.yml +381 -0
  250. data/bosh_release/releases/appcloud-50.yml +381 -0
  251. data/bosh_release/releases/appcloud-51.yml +381 -0
  252. data/bosh_release/releases/appcloud-52.yml +389 -0
  253. data/bosh_release/releases/appcloud-53.yml +389 -0
  254. data/bosh_release/releases/appcloud-54.yml +397 -0
  255. data/bosh_release/releases/appcloud-55.yml +402 -0
  256. data/bosh_release/releases/appcloud-56.yml +428 -0
  257. data/bosh_release/releases/appcloud-57.yml +428 -0
  258. data/bosh_release/releases/appcloud-58.yml +428 -0
  259. data/bosh_release/releases/appcloud-59.yml +428 -0
  260. data/bosh_release/releases/appcloud-60.yml +428 -0
  261. data/bosh_release/releases/appcloud-61.yml +433 -0
  262. data/bosh_release/releases/appcloud-62.yml +433 -0
  263. data/bosh_release/releases/appcloud-63.yml +428 -0
  264. data/bosh_release/releases/appcloud-64.yml +451 -0
  265. data/bosh_release/releases/appcloud-65.yml +451 -0
  266. data/bosh_release/releases/appcloud-66.yml +451 -0
  267. data/bosh_release/releases/appcloud-67.yml +451 -0
  268. data/bosh_release/releases/appcloud-68.yml +460 -0
  269. data/bosh_release/releases/appcloud-69.yml +460 -0
  270. data/bosh_release/releases/appcloud-70.yml +460 -0
  271. data/bosh_release/releases/appcloud-71.yml +442 -0
  272. data/bosh_release/releases/appcloud-72.yml +442 -0
  273. data/bosh_release/releases/appcloud-73.yml +442 -0
  274. data/bosh_release/releases/appcloud-74.yml +442 -0
  275. data/bosh_release/releases/appcloud-75.yml +450 -0
  276. data/bosh_release/releases/appcloud-76.yml +450 -0
  277. data/bosh_release/releases/appcloud-77.yml +473 -0
  278. data/bosh_release/releases/appcloud-78.yml +473 -0
  279. data/bosh_release/releases/appcloud-79.yml +473 -0
  280. data/bosh_release/releases/appcloud-80.yml +473 -0
  281. data/bosh_release/releases/appcloud-81.yml +473 -0
  282. data/bosh_release/releases/appcloud-82.yml +473 -0
  283. data/bosh_release/releases/appcloud-83.yml +468 -0
  284. data/bosh_release/releases/appcloud-84.yml +478 -0
  285. data/bosh_release/releases/appcloud-85.yml +478 -0
  286. data/bosh_release/releases/appcloud-86.yml +478 -0
  287. data/bosh_release/releases/appcloud-87.yml +488 -0
  288. data/bosh_release/releases/appcloud-88.yml +488 -0
  289. data/bosh_release/releases/appcloud-89.yml +488 -0
  290. data/bosh_release/releases/appcloud-90.yml +488 -0
  291. data/bosh_release/releases/appcloud-91.yml +493 -0
  292. data/bosh_release/releases/appcloud-92.yml +493 -0
  293. data/bosh_release/releases/appcloud-93.yml +493 -0
  294. data/bosh_release/releases/appcloud-94.yml +493 -0
  295. data/bosh_release/releases/appcloud-95.yml +502 -0
  296. data/bosh_release/releases/appcloud-96.yml +502 -0
  297. data/bosh_release/releases/appcloud-97.yml +502 -0
  298. data/bosh_release/releases/appcloud-98.yml +512 -0
  299. data/bosh_release/releases/appcloud-99.yml +512 -0
  300. data/bosh_release/releases/cf-release-132.yml +305 -0
  301. data/bosh_release/releases/index.yml +266 -0
  302. data/bosh_release/src/.gitkeep +0 -0
  303. data/lib/bosh/cli/commands/cf.rb +173 -560
  304. data/lib/bosh/cloudfoundry.rb +4 -0
  305. data/lib/bosh/cloudfoundry/deployment_attributes.rb +124 -0
  306. data/lib/bosh/cloudfoundry/release_versioned_template.rb +48 -0
  307. data/spec/plugin_spec.rb +115 -0
  308. data/spec/release_versioned_template_spec.rb +12 -0
  309. data/spec/spec_helper.rb +33 -9
  310. data/templates/README.md +21 -0
  311. data/templates/v132/aws/dev/deployment_file.yml.erb +372 -0
  312. data/templates/v132/aws/dev/spec +6 -0
  313. data/templates/v132/openstack/dev/deployment_file.yml.erb +372 -0
  314. data/templates/v132/openstack/dev/spec +6 -0
  315. metadata +326 -102
  316. data/config/defaults.yml +0 -6
  317. data/docs/BOSH-cf-initial-create.png +0 -0
  318. data/docs/BOSH-cf-scaled.png +0 -0
  319. data/docs/concept.md +0 -141
  320. data/lib/bosh-cloudfoundry.rb +0 -33
  321. data/lib/bosh-cloudfoundry/bosh_release_manager.rb +0 -156
  322. data/lib/bosh-cloudfoundry/config.rb +0 -6
  323. data/lib/bosh-cloudfoundry/config/common_config.rb +0 -27
  324. data/lib/bosh-cloudfoundry/config/dea_config.rb +0 -161
  325. data/lib/bosh-cloudfoundry/config/microbosh_config.rb +0 -119
  326. data/lib/bosh-cloudfoundry/config/postgresql_service_config.rb +0 -185
  327. data/lib/bosh-cloudfoundry/config/redis_service_config.rb +0 -179
  328. data/lib/bosh-cloudfoundry/config/system_config.rb +0 -66
  329. data/lib/bosh-cloudfoundry/config_options.rb +0 -403
  330. data/lib/bosh-cloudfoundry/providers.rb +0 -22
  331. data/lib/bosh-cloudfoundry/providers/aws.rb +0 -75
  332. data/lib/bosh-cloudfoundry/providers/openstack.rb +0 -69
  333. data/lib/bosh-cloudfoundry/system_deployment_manifest_renderer.rb +0 -296
  334. data/lib/bosh-cloudfoundry/version.rb +0 -5
  335. data/spec/assets/cf-release/jobs/cloud_controller/templates/runtimes.yml +0 -150
  336. data/spec/assets/deployments/aws-core-1-m1.small-free-redis.yml +0 -226
  337. data/spec/assets/deployments/aws-core-1-m1.xlarge-free-postgresql-2-m1.small-free-postgresql.yml +0 -253
  338. data/spec/assets/deployments/aws-core-2-m1.xlarge-dea.yml +0 -200
  339. data/spec/assets/deployments/aws-core-only.yml +0 -183
  340. data/spec/assets/deployments/aws-core-with-nfs.yml +0 -192
  341. data/spec/assets/deployments/openstack-core-only.yml +0 -204
  342. data/spec/unit/bosh_release_manager_spec.rb +0 -67
  343. data/spec/unit/cf_command_spec.rb +0 -307
  344. data/spec/unit/config/common_config_spec.rb +0 -21
  345. data/spec/unit/config/dea_config_spec.rb +0 -95
  346. data/spec/unit/config/microbosh_config_spec.rb +0 -11
  347. data/spec/unit/config/postgresql_service_config_spec.rb +0 -103
  348. data/spec/unit/config/redis_service_config_spec.rb +0 -103
  349. data/spec/unit/config/system_config_spec.rb +0 -29
  350. data/spec/unit/config_options_spec.rb +0 -60
  351. data/spec/unit/system_deployment_manifest_renderer_spec.rb +0 -99
data/.gitignore CHANGED
@@ -15,4 +15,7 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
- .DS_Store
18
+ bosh_release/.final_builds/jobs/*/*.tgz
19
+ bosh_release/.final_builds/packages/*/*.tgz
20
+ bosh_release/releases/*.tgz
21
+ deployments
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
1
  --format progress
2
2
  --color
3
- --profile
3
+ --require spec_helper
@@ -1,5 +1,11 @@
1
1
  language: ruby
2
+ script: bundle exec rake
2
3
  rvm:
3
- - 1.9.3
4
- - rbx-19mode
5
- # - ruby-head - generates "Cannot find Syck parser for YAML"
4
+ - ruby-1.9.3
5
+ - ruby-2.0.0
6
+ notifications:
7
+ email:
8
+ recipients:
9
+ - drnicwilliams@gmail.com
10
+ on_success: change
11
+ on_failure: always
@@ -1,55 +1,20 @@
1
1
  # Change Log
2
2
 
3
- Create and manage your Cloud Foundry deployments on AWS and OpenStack with a simple command line tool (a plugin for BOSH CLI in fact). Start small, grow big, and constantly upgrade your various Cloud Foundry deployments.
3
+ ## v0.7 - now supporting Cloud Foundry v2!
4
4
 
5
- ## v0.6
5
+ `bosh-cloudfoundry` is back, rewritten, and supporting Cloud Foundry v2.
6
6
 
7
- There is now a write up of [the concepts](https://github.com/StarkAndWayne/bosh-cloudfoundry/blob/master/docs/concept.md) and constructs being deployed from Anders Sveen!
7
+ ```
8
+ $ bosh prepare cf
9
+ $ bosh create cf --dns mycloud.com --public-ip 1.2.3.4
10
+ ```
8
11
 
9
- Tests are running on Travis CI. We have green builds!
12
+ As a rewrite, v0.7 initially implements fewer features than were in v0.6. It takes advantage of the long-awaited first final release of [cf-release](https://github.com/cloudfoundry/cf-release) for Cloud Foundry v2 (v132).
10
13
 
11
- Automatically uploading base stemcell 0.7.0; rather than the very new 1.5.0-pre2 which only work with the also very new microbosh 1.5.0-pre2.
14
+ The rewrite introduces some new implementation/feature concepts:
12
15
 
13
- Faster when using a final release because it no longer pulls down all the submodules; and some better code for handling the switch between a development and final release; but...
16
+ * using `bosh diff` (aka biff) to generate the deployment file
17
+ * bundles all final releases into the project & distributed rubygem/plugin (no runtime dependency on cf-release git repository; only the public blobstore)
18
+ * templates are versioned for the final releases
14
19
 
15
- Still need to create development releases from cf-release's master branch. Hopefully all the required patches will be in cf-release's 130 release coming soon!
16
-
17
- ### v0.6.1
18
-
19
- Constrain which fog version is installed to match bosh_cli. [thx @bonzofenix]
20
-
21
- Little bit of README clean up.
22
-
23
- ## v0.5
24
-
25
- Gerrit is dead. Long live gerrit. This release is for everyone who is getting started or wants to upgrade. Gerrit is dead.
26
-
27
- A few days ago the core Cloud Foundry team shut down the gerrit hosting of cf-release and several patches that we needed to run Cloud Foundry on AWS and/or OpenStack. Fortunately, all the patches have been merged into the staging branch of the cf-release on github. This new release of bosh-cloudfoundry defaults to creating a development (non-final) release of cf-release from its staging branch.
28
-
29
- The `bosh cf upload release` command now has a `--branch BRANCH` for uploading a release based on a different branch. It currently defaults to `staging`.
30
-
31
- In future, when cf-release eventually merges all the required patches into master branch, we will switch to defaulting to `master`.
32
-
33
- And finally, the big requirement for going v1.0, is for all the required patches to be included in a final release of cf-release.
34
-
35
- ### v0.5.1
36
-
37
- Fixes a bug in creating dev releases of cf-release based on branches that aren't "master". It now correctly clones each staging branch into its own repository, built solely off the targeted branch.
38
-
39
- ## v0.4
40
-
41
- Defaults to patched dev release (since a cf-release final release doesn't work).
42
-
43
- ### v0.4.1
44
-
45
- Workaround for cf-release HEAD change - providing `properties.uaa.scim` property now.
46
-
47
- ## v0.3
48
-
49
- Additions:
50
-
51
- * OpenStack support! [thx @frodenas; tested by @danhighman] many hugs & kisses to you both!
52
-
53
- Fixes:
54
-
55
- * changed `health_manager` to `health_manager_next` job (legacy hm was removed in [cf-release patch](https://github.com/cloudfoundry/cf-release/commit/cba60f2e2dee13b7e09eb178eec72aa084a15b1a))
20
+ The latter means that new versions of this rubygem can be published that are backwards compatible with aging deployments of Cloud Foundry. There should not be any forced coupling of old `bosh-cloudfoundry` to old `cf-release` final releases.
data/Gemfile CHANGED
@@ -1,8 +1,14 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
+ source 'https://s3.amazonaws.com/bosh-jenkins-gems/' # for prerelease bosh_cli
2
3
 
3
- # Specify your gem's dependencies in bosh-cloudfoundry.gemspec
4
+ # Specify your gem's dependencies in redis-cf-plugin.gemspec
4
5
  gemspec
5
6
 
6
- gem "awesome_print"
7
- gem "rb-fsevent", "~> 0.9.1"
8
- gem "guard-rspec"
7
+ bosh_cli_path = File.expand_path("~/gems/cloudfoundry/bosh/bosh_cli")
8
+ if File.directory?(bosh_cli_path)
9
+ gem "bosh_cli", path: bosh_cli_path
10
+ end
11
+
12
+ group :development do
13
+ gem "guard-rspec"
14
+ end
data/Guardfile CHANGED
@@ -1,10 +1,7 @@
1
- # A sample Guardfile
2
- # More info at https://github.com/guard/guard#readme
3
-
4
- guard 'rspec' do
5
- watch(%r{^spec/.+_spec\.rb$})
6
- watch(%r{^lib/bosh/cli/commands/cf.rb$}) { |m| "spec/unit/cf_command_spec.rb" }
7
- watch(%r{^lib/bosh-cloudfoundry/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
1
+ guard 'rspec', spec_paths: ["spec"] do
2
+ watch(%r{^spec/(.+_spec)\.rb$})
3
+ watch(%r{^lib/bosh/cli/commands/(.+)\.rb$}) { |m| "spec/plugin_spec.rb" }
4
+ watch(%r{^lib/bosh/cloudfoundry/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
8
5
  watch('spec/spec_helper.rb') { "spec" }
9
6
  end
10
7
 
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Dr Nic Williams
1
+ Copyright (c) 2013 Dr Nic Williams
2
2
 
3
3
  MIT License
4
4
 
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
19
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
20
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
21
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,238 +1,122 @@
1
- # Bosh::CloudFoundry
1
+ # Run Cloud Foundry on AWS or OpenStack
2
2
 
3
- You want Cloud Foundry? You can now create, scale, upgrade and patch one or more Cloud Foundry deployments using very simple, easy to learn and remember CLI commands.
3
+ This is a simple `bosh` CLI plugin to boot up Cloud Foundry and then grow and upgrade and maintain it. Initially runs on AWS or OpenStack via bosh.
4
4
 
5
- Currently supports AWS and OpenStack only. vSphere and vCloud support will require someone to tell me that they really want it.
6
-
7
- [![Build Status](https://travis-ci.org/StarkAndWayne/bosh-cloudfoundry.png?branch=master)](https://travis-ci.org/StarkAndWayne/bosh-cloudfoundry) [![Code Climate](https://codeclimate.com/github/StarkAndWayne/bosh-cloudfoundry.png)](https://codeclimate.com/github/StarkAndWayne/bosh-cloudfoundry)
8
-
9
- ## Zero to Cloud Foundry in a few hours
10
-
11
- If you have an AWS or OpenStack account then you can deploy a running Cloud Foundry VM by following this very simple tutorial. It first uses the very powerful [bosh-bootstrap](https://github.com/StarkAndWayne/bosh-bootstrap) tool to deploy a BOSH, and then using this project (a plugin for the BOSH CLI) it will do everything necessary to deploy Cloud Foundry via your shiny new, empty BOSH.
12
-
13
- **You should not need to know anything before running this tutorial.** If you do this tutorial and you feel it was too complex or you needed to know something additional, please [create a ticket](https://github.com/StarkAndWayne/bosh-cloudfoundry/issues).
5
+ Example create/delete scenario:
14
6
 
15
7
  ```
16
- # on your laptop
17
- gem install bosh-bootstrap
18
- bosh-bootstrap deploy
19
- # prompts for AWS/OpenStack credentials
20
- # and some other fields that you can
21
- # just press Enter for.
22
-
23
- # SSH into inception VM (also see 'tmux' and 'mosh' commands)
24
- bosh-bootstrap ssh
25
-
26
- bosh cf prepare system production
27
- # prompts for a DNS host for your CloudFoundry, such as mycompany.com
28
- # will generate a new IP address
29
- # now setup your DNS for *.mycompany.com => new IP address
30
- # the re-run:
31
- bosh cf prepare system production
32
-
33
- # use special "cf deploy" to install VMC & create initial VMC user
34
- bosh cf deploy
8
+ $ bosh prepare cf
9
+ $ bosh create cf --dns mycloud.com --public-ip 1.2.3.4
35
10
 
36
- # now we can grow our single VM deployment
37
-
38
- bosh cf change deas 1
39
- bosh cf add service postgresql
40
- bosh deploy
11
+ ...
12
+ $ bosh delete cf
41
13
  ```
42
14
 
43
- Overtime, as you add more DEAs and other service nodes, your set of VMs might look like:
15
+ The deployed Cloud Foundry does not include any data or messaging services for the user applications. These are available as add-ons coming soon.
44
16
 
45
- ```
46
- $ bosh vms
47
- +-----------------------------+---------+---------------------------+-----------------------------+
48
- | Job/index | State | Resource Pool | IPs |
49
- +-----------------------------+---------+---------------------------+-----------------------------+
50
- | core/0 | running | core | 10.4.70.116, 54.235.200.165 |
51
- | dea/0 | running | dea | 10.4.49.7 |
52
- | dea/1 | running | dea | 10.111.39.12 |
53
- | postgresql_m1_medium_free/0 | running | postgresql_m1_medium_free | 10.4.71.164 |
54
- | postgresql_m1_small_free/0 | running | postgresql_m1_small_free | 10.110.83.128 |
55
- | postgresql_m1_small_free/1 | running | postgresql_m1_small_free | 10.189.103.26 |
56
- +-----------------------------+---------+---------------------------+-----------------------------+
57
- ```
17
+ [![Build Status](https://travis-ci.org/StarkAndWayne/bosh-cloudfoundry.png?branch=v0.7)](https://travis-ci.org/StarkAndWayne/bosh-cloudfoundry)
58
18
 
59
19
  ## Requirements
60
20
 
61
- * Ruby 1.9
62
- * BOSH running on AWS (other CPIs coming)
63
- * Unix-based local system (Windows support for bosh-bootstrap is a priority)
21
+ You must use the same BOSH for deploying redis as you use to deploy Cloud Foundry (unless your DNS is configured to be shared across the two BOSH).
64
22
 
65
- ## Usage
23
+ It is also required that you have login access to the same BOSH being used to deploy your Cloud Foundry.
66
24
 
67
- The tool is very simple to use and to get CloudFoundry deployed on a small set of initial servers.
25
+ Confirm this by running:
68
26
 
69
27
  ```
70
- gem install bosh-cloudfoundry
71
- bosh cf prepare system demo
72
- bosh cf deploy
28
+ $ bosh status
29
+ $ bosh deployments
73
30
  ```
74
31
 
75
- The above can be run the following from your local laptop or a server, such as an `bosh-bootstrap` inception server.
32
+ The former will confirm you are targeting a bosh. The latter will display the deployments. One of which should be your Cloud Foundry.
76
33
 
77
- The latter is preferred. As the Cloud Foundry BOSH release (`cf-release`) is 1.5 Gb, it may be preferable to manage your Cloud Foundry deployments from your inception server, as created/prepared via `bosh-bootstrap`.
34
+ ## Installation
78
35
 
79
- ```
80
- bosh-bootstrap deploy --latest-stemcell
81
- bosh-bootstrap ssh
36
+ Install via RubyGems:
82
37
 
83
- # now on the inception VM
84
- gem install bosh-cloudfoundry
85
- export TMPDIR=/var/vcap/store/tmp
86
- bosh cf prepare system production
87
- # prompts for a DNS host for your CloudFoundry, such as mycompany.com
88
- bosh cf change deas 1
89
- bosh cf add service postgresql 1
90
- bosh cf deploy
38
+ ```
39
+ $ gem install bosh_cli -v "~> 1.5.0.pre" --source https://s3.amazonaws.com/bosh-jenkins-gems/
40
+ $ gem install bosh-cloudfoundry
91
41
  ```
92
42
 
93
- During `bosh cf prepare system production`, it will automatically upload the latest release of CloudFoundry (the latest final [BOSH release](http://github.com/cloudfoundry/cf-release)) and the latest stable stemcell (becomes the base AMI for AWS, for example).
43
+ The `bosh_cli` gem is currently only available from S3, rather than RubyGem itself. So it needs to be installed first.
94
44
 
95
- NOTE: `export TMPDIR=/var/vcap/store/tmp` tells the upload process to use the larger mounted volume at `/var/vcap/store`.
45
+ ## Usage
96
46
 
97
- You can upload a more recent stemcell or create a new one from source, respectively:
47
+ Each time you install the latest `bosh-cloudfoundry` gem you may want to re-upload the latest available Cloud Foundry bosh release to your bosh. If no newer release is available then nothing good nor bad will occur.
98
48
 
99
49
  ```
100
- bosh cf upload stemcell --latest
101
- bosh cf upload stemcell --custom
50
+ $ bosh prepare cf
51
+ Uploading new cf release to bosh...
102
52
  ```
103
53
 
104
- You can upload a more recent final BOSH release of CloudFoundry, or create a non-final version from the very latest commits to the CloudFoundry BOSH release, respectively:
54
+ To create/provision a new Cloud Foundry you run the following command. By default, it will select the smallest possible deployment size.
105
55
 
106
56
  ```
107
- bosh cf upload release
108
- bosh cf upload release --dev
57
+ $ bosh create cf --dns mycloud.com --public-ip 1.2.3.4
58
+ $ bosh create cf --dns mycloud.com --public-ip 1.2.3.4 --size medium
59
+ $ bosh create cf --dns mycloud.com --public-ip 1.2.3.4 --size large
60
+ $ bosh create cf --dns mycloud.com --public-ip 1.2.3.4 --size xlarge
109
61
  ```
110
62
 
111
- ### All available commands
63
+ By default the core Cloud Foundry server is assigned a 4096 Mb persistent volume/disk. This can be changed later as your Cloud Foundry deployment grows.
112
64
 
113
- Prefix each with `bosh`:
65
+ NOTE: By default, the `default` security group is used.
114
66
 
115
- ```
116
- cf prepare system [<name>] [--core-ip ip] [--root-dns dns]
117
- [--core-server-flavor flavor] [--release-name name] [--release-version
118
- version] [--stemcell-name name] [--stemcell-version version]
119
- [--admin-emails email1,email2] [--skip-validations]
120
- create CloudFoundry system
121
- --core-ip ip Static IP for CloudController/router, e.g. 1.2.3.4
122
- --root-dns dns Base DNS for CloudFoundry applications, e.g. vcap.me
123
- --core-server-flavor flavor Flavor of the CloudFoundry Core server. Default: 'm1.large'
124
- --release-name name Name of BOSH release within target BOSH. Default: 'appcloud'
125
- --release-version version Version of target BOSH release within target BOSH. Default: 'latest'
126
- --stemcell-name name Name of BOSH stemcell within target BOSH. Default: 'bosh-stemcell'
127
- --stemcell-version version Version of BOSH stemcell within target BOSH. Default: determines latest for stemcell
128
- --admin-emails email1,email2 Admin email accounts in created CloudFoundry
129
- --skip-validations Skip all validations
130
-
131
- cf change deas [<server_count>] [--flavor flavor]
132
- change the number/flavor of DEA servers (servers that run CF apps)
133
- --flavor flavor Change flavor of all DEA servers
67
+ You will be prompted to confirm that your chosen/default security group has ports `22`, `80`, `443` and `4222` open. To chose a different security group, use the `--security-group` option:
134
68
 
135
- cf add service <service_name> [<additional_count>] [--flavor flavor]
136
- add additional CloudFoundry service node
137
- --flavor flavor Server flavor for additional service nodes
138
-
139
- cf upload stemcell [--latest] [--custom]
140
- download/create stemcell & upload to BOSH
141
- --latest Use latest stemcell; possibly not tagged stable
142
- --custom Create custom stemcell from BOSH git source
69
+ ```
70
+ $ bosh create redis --security-group cf-core
71
+ ```
143
72
 
144
- cf upload release [--dev]
145
- fetch & upload public cloudfoundry release to BOSH
146
- --dev Create development release from very latest cf-release commits
73
+ * TODO - how to show available instance sizes
74
+ * TODO - how to update Cloud Foundry servers to a different instance size/flavor
75
+ * TODO - how to scale from a small deployment to a large deployment
76
+ * TODO - how to update the persistent disks of the deployment
147
77
 
148
- cf deploy
149
- deploy CloudFoundry system or apply any changes
78
+ ## Releasing new plugin gem versions
150
79
 
151
- cf watch nats
152
- subscribe to all nats messages within CloudFoundry
153
- ```
80
+ There are two reasons to release new versions of this plugin.
154
81
 
155
- ## Services
82
+ 1. Package the latest [cf-release](https://github.com/cloudfoundry/cf-release) bosh release (which describes how the core Cloud Foundry components are implemented)
83
+ 2. New features or bug fixes to the plugin
156
84
 
157
- By default your CloudFoundry deployment comes with no built-in services. Instead, you easily enable each one and allocate it resources using the `bosh cf add service NAME` command; then deploy again.
85
+ To package the latest "final release" of the Cloud Foundry bosh release into this source repository, run the following command:
158
86
 
159
87
  ```
160
- $ bosh cf add service postgresql
161
- $ bosh cf add service redis
162
- $ bosh deploy
88
+ $ cd /path/to/releases
89
+ $ git clone https://github.com/cloudfoundry/cf-release.git
90
+ $ cd -
91
+ $ rake bosh:release:import[/path/to/releases/cf-release]
92
+ # for zsh shell quotes are required around rake arguments:
93
+ $ rake bosh:release:import'[/path/to/releases/cf-release]'
163
94
  ```
164
95
 
165
- Eventually the new service node servers will be up and running, and then the VMC client will be able to create/bind/delete these services with your CloudFoundry applications.
96
+ Note: only the latest "final release" will be packaged.
166
97
 
167
- For example:
98
+ To locally test the plugin (`bosh` cli loads plugins from its local path automatically):
168
99
 
169
- ```
170
- ============== System Services ==============
171
-
172
- +------------+---------+---------------------------------------+
173
- | Service | Version | Description |
174
- +------------+---------+---------------------------------------+
175
- | postgresql | 9.0 | PostgreSQL database service (vFabric) |
176
- | redis | 2.2 | Redis key-value store service |
177
- +------------+---------+---------------------------------------+
178
-
179
- =========== Provisioned Services ============
180
-
181
- +------------------+------------+
182
- | Name | Service |
183
- +------------------+------------+
184
- | postgresql-6d01e | postgresql |
185
- | postgresql-ff0c1 | postgresql |
186
- | redis-d0d3d | redis |
187
- +------------------+------------+g
188
100
  ```
189
-
190
- ## Orders of easiness vs powerfulness
191
-
101
+ $ cf /path/to/bosh-cloudfoundry
102
+ $ bosh cf
192
103
  ```
193
104
 
194
- +--------------+ +-----------------+ +---------------------+
195
- | | | | | |
196
- | CLI | | | | |
197
- | commands +---->| | | |
198
- | | | system | | deployment |
199
- | | | config | | manifest |
200
- +--------------+ | (yaml) | | (yaml) |
201
- | +------>| |
202
- | | | |
203
- | | | |
204
- | | | |
205
- | | | |
206
- +-----------------+ | |
207
- | |
208
- | |
209
- | |
210
- | |
211
- | |
212
- | |
213
- | |
214
- | |
215
- | |
216
- | |
217
- +---------------------+
218
- ```
219
-
220
- ## Development
105
+ To release a new version of the plugin as a RubyGem:
106
+
107
+ 1. Edit `bosh-cloudfoundry.gemspec` to update the major or minor or patch version.
108
+ 2. Run the release command:
221
109
 
222
110
  ```
223
- bundle
224
- bundle exec rake spec
225
- bundle exec rake install
111
+ $ rake release
226
112
  ```
227
113
 
228
114
  ## Contributing
229
115
 
116
+ For fixes or features to the `bosh_cli_plugin_redis` (`bosh redis`) plugin:
117
+
230
118
  1. Fork it
231
119
  2. Create your feature branch (`git checkout -b my-new-feature`)
232
120
  3. Commit your changes (`git commit -am 'Add some feature'`)
233
121
  4. Push to the branch (`git push origin my-new-feature`)
234
122
  5. Create new Pull Request
235
-
236
-
237
- [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/StarkAndWayne/bosh-cloudfoundry/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
238
-
data/Rakefile CHANGED
@@ -1,5 +1,3 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
1
  ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __FILE__)
4
2
 
5
3
  require "rubygems"
@@ -12,24 +10,50 @@ require "rake/dsl_definition"
12
10
  require "rake"
13
11
  require "rspec/core/rake_task"
14
12
 
15
-
16
- if defined?(RSpec)
17
- namespace :spec do
18
- desc "Run Unit Tests"
19
- unit_rspec_task = RSpec::Core::RakeTask.new(:unit) do |t|
20
- t.pattern = "spec/unit/**/*_spec.rb"
21
- t.rspec_opts = %w(--format progress --color)
13
+ bosh_release = "cf-release"
14
+ target_bosh_release_path = File.expand_path("../bosh_release", __FILE__)
15
+
16
+ namespace :bosh do
17
+ namespace :release do
18
+ desc "Import latest #{bosh_release}"
19
+ task :import, :path do |t, args|
20
+ source_bosh_release = File.expand_path(args[:path])
21
+ unless File.directory?(source_bosh_release)
22
+ $stderr.puts "Please pass path to source bosh release"
23
+ exit 1
24
+ end
25
+
26
+ sh "rm -rf #{target_bosh_release_path}"
27
+
28
+ # required directories to pass bosh_cli validations
29
+ %w[config jobs packages src].each do |dir|
30
+ sh "mkdir -p #{target_bosh_release_path}/#{dir}"
31
+ sh "touch #{target_bosh_release_path}/#{dir}/.gitkeep"
32
+ end
33
+
34
+ chdir(target_bosh_release_path) do
35
+ sh "cp -R #{source_bosh_release}/releases #{target_bosh_release_path}"
36
+ sh "cp -R #{source_bosh_release}/.final_builds #{target_bosh_release_path}"
37
+ sh "cp -R #{source_bosh_release}/config/final.yml #{target_bosh_release_path}/config"
38
+ end
22
39
  end
23
40
 
24
- desc "Run Integration Tests"
25
- functional_rspec_task = RSpec::Core::RakeTask.new(:functional) do |t|
26
- t.pattern = "spec/functional/**/*_spec.rb"
27
- t.rspec_opts = %w(--format progress --color)
41
+ desc "Remove any large temporary tgz from internal bosh_release"
42
+ task :clean do
43
+ chdir(target_bosh_release_path) do
44
+ sh "ls .final_builds/**/*.tgz | xargs rm; true"
45
+ sh "ls releases/**/*.tgz | xargs rm; true"
46
+ end
28
47
  end
29
48
  end
49
+ end
50
+
51
+ task :release => "bosh:release:clean"
30
52
 
31
- desc "Install dependencies and run tests"
32
- task :spec => %w(spec:unit spec:functional)
53
+ desc "Run specs"
54
+ unit_rspec_task = RSpec::Core::RakeTask.new(:spec) do |t|
55
+ t.pattern = "spec/*_spec.rb"
56
+ t.rspec_opts = %w(--format progress --color)
33
57
  end
34
58
 
35
- task :default => :spec
59
+ task :default => :spec