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.
- data/.gitignore +4 -1
- data/.rspec +1 -1
- data/.travis.yml +9 -3
- data/ChangeLog.md +12 -47
- data/Gemfile +11 -5
- data/Guardfile +4 -7
- data/LICENSE.txt +2 -2
- data/README.md +62 -178
- data/Rakefile +40 -16
- data/bosh-cloudfoundry.gemspec +19 -27
- data/bosh_release/.final_builds/.gitattributes +1 -0
- data/bosh_release/.final_builds/jobs/acm/index.yml +10 -0
- data/bosh_release/.final_builds/jobs/atmos_gateway/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/backup_manager/index.yml +66 -0
- data/bosh_release/.final_builds/jobs/ccdb/index.yml +6 -0
- data/bosh_release/.final_builds/jobs/ccdb_postgres/index.yml +31 -0
- data/bosh_release/.final_builds/jobs/cloud_controller/index.yml +230 -0
- data/bosh_release/.final_builds/jobs/cloud_controller_ng/index.yml +31 -0
- data/bosh_release/.final_builds/jobs/collector/index.yml +27 -0
- data/bosh_release/.final_builds/jobs/dashboard/index.yml +43 -0
- data/bosh_release/.final_builds/jobs/dea/index.yml +86 -0
- data/bosh_release/.final_builds/jobs/dea_next/index.yml +51 -0
- data/bosh_release/.final_builds/jobs/debian_nfs_server/index.yml +30 -0
- data/bosh_release/.final_builds/jobs/filesystem_gateway/index.yml +54 -0
- data/bosh_release/.final_builds/jobs/gorouter/index.yml +11 -0
- data/bosh_release/.final_builds/jobs/hbase_master/index.yml +6 -0
- data/bosh_release/.final_builds/jobs/hbase_slave/index.yml +10 -0
- data/bosh_release/.final_builds/jobs/health_manager/index.yml +82 -0
- data/bosh_release/.final_builds/jobs/health_manager_next/index.yml +31 -0
- data/bosh_release/.final_builds/jobs/login/index.yml +47 -0
- data/bosh_release/.final_builds/jobs/marketplace_gateway/index.yml +38 -0
- data/bosh_release/.final_builds/jobs/memcached_gateway/index.yml +50 -0
- data/bosh_release/.final_builds/jobs/memcached_node/index.yml +22 -0
- data/bosh_release/.final_builds/jobs/memcached_node_ng/index.yml +50 -0
- data/bosh_release/.final_builds/jobs/micro/index.yml +374 -0
- data/bosh_release/.final_builds/jobs/mongodb_gateway/index.yml +126 -0
- data/bosh_release/.final_builds/jobs/mongodb_node/index.yml +110 -0
- data/bosh_release/.final_builds/jobs/mongodb_node_ng/index.yml +66 -0
- data/bosh_release/.final_builds/jobs/mysql_gateway/index.yml +110 -0
- data/bosh_release/.final_builds/jobs/mysql_node/index.yml +126 -0
- data/bosh_release/.final_builds/jobs/mysql_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/nats/index.yml +43 -0
- data/bosh_release/.final_builds/jobs/oauth2_gateway/index.yml +10 -0
- data/bosh_release/.final_builds/jobs/opentsdb/index.yml +62 -0
- data/bosh_release/.final_builds/jobs/postgres/index.yml +19 -0
- data/bosh_release/.final_builds/jobs/postgresql_gateway/index.yml +106 -0
- data/bosh_release/.final_builds/jobs/postgresql_node/index.yml +90 -0
- data/bosh_release/.final_builds/jobs/postgresql_node_ng/index.yml +62 -0
- data/bosh_release/.final_builds/jobs/rabbit_gateway/index.yml +82 -0
- data/bosh_release/.final_builds/jobs/rabbit_node/index.yml +86 -0
- data/bosh_release/.final_builds/jobs/rabbit_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/rabbitmq_srs_gateway/index.yml +22 -0
- data/bosh_release/.final_builds/jobs/rabbitmq_srs_node/index.yml +18 -0
- data/bosh_release/.final_builds/jobs/rabbitmq_srs_service/index.yml +22 -0
- data/bosh_release/.final_builds/jobs/redis_gateway/index.yml +102 -0
- data/bosh_release/.final_builds/jobs/redis_node/index.yml +98 -0
- data/bosh_release/.final_builds/jobs/redis_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/router/index.yml +78 -0
- data/bosh_release/.final_builds/jobs/router_next/index.yml +38 -0
- data/bosh_release/.final_builds/jobs/routerv2/index.yml +30 -0
- data/bosh_release/.final_builds/jobs/serialization_data_server/index.yml +38 -0
- data/bosh_release/.final_builds/jobs/service_broker/index.yml +34 -0
- data/bosh_release/.final_builds/jobs/service_utilities/index.yml +14 -0
- data/bosh_release/.final_builds/jobs/stager/index.yml +94 -0
- data/bosh_release/.final_builds/jobs/syslog_aggregator/index.yml +43 -0
- data/bosh_release/.final_builds/jobs/uaa/index.yml +111 -0
- data/bosh_release/.final_builds/jobs/vblob_gateway/index.yml +62 -0
- data/bosh_release/.final_builds/jobs/vblob_node/index.yml +34 -0
- data/bosh_release/.final_builds/jobs/vblob_node_ng/index.yml +54 -0
- data/bosh_release/.final_builds/jobs/vcap_redis/index.yml +26 -0
- data/bosh_release/.final_builds/jobs/warden/index.yml +30 -0
- data/bosh_release/.final_builds/packages/acm/index.yml +46 -0
- data/bosh_release/.final_builds/packages/atmos_gateway/index.yml +146 -0
- data/bosh_release/.final_builds/packages/backup_manager/index.yml +158 -0
- data/bosh_release/.final_builds/packages/bandwidth_proxy/index.yml +10 -0
- data/bosh_release/.final_builds/packages/buildpack_cache/index.yml +7 -0
- data/bosh_release/.final_builds/packages/cloud_controller/index.yml +306 -0
- data/bosh_release/.final_builds/packages/cloud_controller_ng/index.yml +55 -0
- data/bosh_release/.final_builds/packages/collector/index.yml +35 -0
- data/bosh_release/.final_builds/packages/common/index.yml +22 -0
- data/bosh_release/.final_builds/packages/dashboard/index.yml +59 -0
- data/bosh_release/.final_builds/packages/daylimit/index.yml +22 -0
- data/bosh_release/.final_builds/packages/dea/index.yml +214 -0
- data/bosh_release/.final_builds/packages/dea_jvm/index.yml +19 -0
- data/bosh_release/.final_builds/packages/dea_jvm7/index.yml +6 -0
- data/bosh_release/.final_builds/packages/dea_next/index.yml +67 -0
- data/bosh_release/.final_builds/packages/dea_node/index.yml +18 -0
- data/bosh_release/.final_builds/packages/dea_node04/index.yml +14 -0
- data/bosh_release/.final_builds/packages/dea_node06/index.yml +14 -0
- data/bosh_release/.final_builds/packages/dea_node08/index.yml +6 -0
- data/bosh_release/.final_builds/packages/dea_ruby18/index.yml +34 -0
- data/bosh_release/.final_builds/packages/dea_ruby19/index.yml +30 -0
- data/bosh_release/.final_builds/packages/dea_seed/index.yml +34 -0
- data/bosh_release/.final_builds/packages/dea_transition/index.yml +18 -0
- data/bosh_release/.final_builds/packages/debian_nfs_server/index.yml +14 -0
- data/bosh_release/.final_builds/packages/erlang/index.yml +14 -0
- data/bosh_release/.final_builds/packages/filesystem_gateway/index.yml +114 -0
- data/bosh_release/.final_builds/packages/git/index.yml +6 -0
- data/bosh_release/.final_builds/packages/golang/index.yml +11 -0
- data/bosh_release/.final_builds/packages/gorouter/index.yml +19 -0
- data/bosh_release/.final_builds/packages/hadoop/index.yml +6 -0
- data/bosh_release/.final_builds/packages/hbase/index.yml +18 -0
- data/bosh_release/.final_builds/packages/health_manager_next/index.yml +75 -0
- data/bosh_release/.final_builds/packages/imagemagick/index.yml +10 -0
- data/bosh_release/.final_builds/packages/insight_agent/index.yml +10 -0
- data/bosh_release/.final_builds/packages/libpq/index.yml +23 -0
- data/bosh_release/.final_builds/packages/libyaml/index.yml +7 -0
- data/bosh_release/.final_builds/packages/login/index.yml +55 -0
- data/bosh_release/.final_builds/packages/marketplace/index.yml +58 -0
- data/bosh_release/.final_builds/packages/memcached/index.yml +6 -0
- data/bosh_release/.final_builds/packages/memcached_gateway/index.yml +102 -0
- data/bosh_release/.final_builds/packages/memcached_node/index.yml +90 -0
- data/bosh_release/.final_builds/packages/memcached_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/micro/index.yml +22 -0
- data/bosh_release/.final_builds/packages/mongodb/index.yml +22 -0
- data/bosh_release/.final_builds/packages/mongodb18/index.yml +6 -0
- data/bosh_release/.final_builds/packages/mongodb20/index.yml +11 -0
- data/bosh_release/.final_builds/packages/mongodb22/index.yml +6 -0
- data/bosh_release/.final_builds/packages/mongodb_gateway/index.yml +226 -0
- data/bosh_release/.final_builds/packages/mongodb_node/index.yml +214 -0
- data/bosh_release/.final_builds/packages/mongodb_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/mongodb_proxy/index.yml +38 -0
- data/bosh_release/.final_builds/packages/mysql/index.yml +54 -0
- data/bosh_release/.final_builds/packages/mysql55/index.yml +26 -0
- data/bosh_release/.final_builds/packages/mysql_gateway/index.yml +246 -0
- data/bosh_release/.final_builds/packages/mysql_node/index.yml +230 -0
- data/bosh_release/.final_builds/packages/mysql_node_ng/index.yml +62 -0
- data/bosh_release/.final_builds/packages/mysqlclient/index.yml +14 -0
- data/bosh_release/.final_builds/packages/nats/index.yml +34 -0
- data/bosh_release/.final_builds/packages/nginx/index.yml +38 -0
- data/bosh_release/.final_builds/packages/nginx_next/index.yml +6 -0
- data/bosh_release/.final_builds/packages/node/index.yml +10 -0
- data/bosh_release/.final_builds/packages/oauth2_gateway/index.yml +18 -0
- data/bosh_release/.final_builds/packages/opentsdb/index.yml +18 -0
- data/bosh_release/.final_builds/packages/postgres/index.yml +18 -0
- data/bosh_release/.final_builds/packages/postgresql/index.yml +31 -0
- data/bosh_release/.final_builds/packages/postgresql91/index.yml +10 -0
- data/bosh_release/.final_builds/packages/postgresql_gateway/index.yml +178 -0
- data/bosh_release/.final_builds/packages/postgresql_node/index.yml +162 -0
- data/bosh_release/.final_builds/packages/postgresql_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/rabbit/index.yml +14 -0
- data/bosh_release/.final_builds/packages/rabbit_gateway/index.yml +210 -0
- data/bosh_release/.final_builds/packages/rabbit_node/index.yml +194 -0
- data/bosh_release/.final_builds/packages/rabbit_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/rabbitmq-2.4/index.yml +6 -0
- data/bosh_release/.final_builds/packages/rabbitmq-2.8/index.yml +6 -0
- data/bosh_release/.final_builds/packages/rabbitmq/index.yml +18 -0
- data/bosh_release/.final_builds/packages/rabbitmq_srs/index.yml +14 -0
- data/bosh_release/.final_builds/packages/rabbitmq_srs_builds/index.yml +10 -0
- data/bosh_release/.final_builds/packages/redis/index.yml +18 -0
- data/bosh_release/.final_builds/packages/redis22/index.yml +6 -0
- data/bosh_release/.final_builds/packages/redis24/index.yml +6 -0
- data/bosh_release/.final_builds/packages/redis26/index.yml +6 -0
- data/bosh_release/.final_builds/packages/redis_gateway/index.yml +230 -0
- data/bosh_release/.final_builds/packages/redis_node/index.yml +218 -0
- data/bosh_release/.final_builds/packages/redis_node_ng/index.yml +62 -0
- data/bosh_release/.final_builds/packages/rootfs_lucid64/index.yml +7 -0
- data/bosh_release/.final_builds/packages/router/index.yml +178 -0
- data/bosh_release/.final_builds/packages/routerv2/index.yml +18 -0
- data/bosh_release/.final_builds/packages/ruby/index.yml +35 -0
- data/bosh_release/.final_builds/packages/ruby_next/index.yml +15 -0
- data/bosh_release/.final_builds/packages/serialization_data_server/index.yml +66 -0
- data/bosh_release/.final_builds/packages/service_broker/index.yml +138 -0
- data/bosh_release/.final_builds/packages/service_utilities/index.yml +34 -0
- data/bosh_release/.final_builds/packages/sqlite/index.yml +14 -0
- data/bosh_release/.final_builds/packages/stager/index.yml +194 -0
- data/bosh_release/.final_builds/packages/syslog_aggregator/index.yml +19 -0
- data/bosh_release/.final_builds/packages/uaa/index.yml +99 -0
- data/bosh_release/.final_builds/packages/vblob/index.yml +22 -0
- data/bosh_release/.final_builds/packages/vblob_gateway/index.yml +106 -0
- data/bosh_release/.final_builds/packages/vblob_node/index.yml +94 -0
- data/bosh_release/.final_builds/packages/vblob_node_ng/index.yml +54 -0
- data/bosh_release/.final_builds/packages/warden/index.yml +107 -0
- data/{spec/assets → bosh_release/config}/.gitkeep +0 -0
- data/bosh_release/config/final.yml +7 -0
- data/{spec/functional → bosh_release/jobs}/.gitkeep +0 -0
- data/{spec/unit → bosh_release/packages}/.gitkeep +0 -0
- data/bosh_release/releases/appcloud-10.yml +232 -0
- data/bosh_release/releases/appcloud-100.yml +512 -0
- data/bosh_release/releases/appcloud-101.yml +523 -0
- data/bosh_release/releases/appcloud-102.yml +523 -0
- data/bosh_release/releases/appcloud-103.yml +532 -0
- data/bosh_release/releases/appcloud-104.yml +541 -0
- data/bosh_release/releases/appcloud-105.yml +547 -0
- data/bosh_release/releases/appcloud-106.yml +547 -0
- data/bosh_release/releases/appcloud-107.yml +547 -0
- data/bosh_release/releases/appcloud-108.yml +547 -0
- data/bosh_release/releases/appcloud-109.yml +612 -0
- data/bosh_release/releases/appcloud-11.yml +232 -0
- data/bosh_release/releases/appcloud-110.yml +612 -0
- data/bosh_release/releases/appcloud-111.yml +743 -0
- data/bosh_release/releases/appcloud-112.yml +617 -0
- data/bosh_release/releases/appcloud-113.yml +627 -0
- data/bosh_release/releases/appcloud-114.yml +627 -0
- data/bosh_release/releases/appcloud-115.yml +627 -0
- data/bosh_release/releases/appcloud-116.yml +627 -0
- data/bosh_release/releases/appcloud-117.yml +637 -0
- data/bosh_release/releases/appcloud-118.yml +637 -0
- data/bosh_release/releases/appcloud-119.yml +642 -0
- data/bosh_release/releases/appcloud-12.yml +232 -0
- data/bosh_release/releases/appcloud-120.yml +791 -0
- data/bosh_release/releases/appcloud-121.yml +791 -0
- data/bosh_release/releases/appcloud-122.yml +799 -0
- data/bosh_release/releases/appcloud-123.yml +799 -0
- data/bosh_release/releases/appcloud-124.yml +810 -0
- data/bosh_release/releases/appcloud-125.yml +810 -0
- data/bosh_release/releases/appcloud-126.yml +810 -0
- data/bosh_release/releases/appcloud-127.yml +816 -0
- data/bosh_release/releases/appcloud-128.yml +812 -0
- data/bosh_release/releases/appcloud-129.yml +811 -0
- data/bosh_release/releases/appcloud-13.yml +232 -0
- data/bosh_release/releases/appcloud-130.yml +811 -0
- data/bosh_release/releases/appcloud-131.yml +811 -0
- data/bosh_release/releases/appcloud-14.yml +232 -0
- data/bosh_release/releases/appcloud-15.yml +232 -0
- data/bosh_release/releases/appcloud-16.yml +232 -0
- data/bosh_release/releases/appcloud-17.yml +232 -0
- data/bosh_release/releases/appcloud-18.yml +232 -0
- data/bosh_release/releases/appcloud-19.yml +256 -0
- data/bosh_release/releases/appcloud-20.yml +256 -0
- data/bosh_release/releases/appcloud-21.yml +256 -0
- data/bosh_release/releases/appcloud-22.yml +286 -0
- data/bosh_release/releases/appcloud-23.yml +294 -0
- data/bosh_release/releases/appcloud-24.yml +297 -0
- data/bosh_release/releases/appcloud-25.yml +297 -0
- data/bosh_release/releases/appcloud-26.yml +297 -0
- data/bosh_release/releases/appcloud-27.yml +297 -0
- data/bosh_release/releases/appcloud-28.yml +297 -0
- data/bosh_release/releases/appcloud-29.yml +297 -0
- data/bosh_release/releases/appcloud-30.yml +299 -0
- data/bosh_release/releases/appcloud-31.yml +299 -0
- data/bosh_release/releases/appcloud-32.yml +299 -0
- data/bosh_release/releases/appcloud-33.yml +299 -0
- data/bosh_release/releases/appcloud-34.yml +299 -0
- data/bosh_release/releases/appcloud-35.yml +299 -0
- data/bosh_release/releases/appcloud-36.yml +299 -0
- data/bosh_release/releases/appcloud-37.yml +332 -0
- data/bosh_release/releases/appcloud-38.yml +343 -0
- data/bosh_release/releases/appcloud-39.yml +360 -0
- data/bosh_release/releases/appcloud-40.yml +360 -0
- data/bosh_release/releases/appcloud-41.yml +367 -0
- data/bosh_release/releases/appcloud-42.yml +372 -0
- data/bosh_release/releases/appcloud-43.yml +372 -0
- data/bosh_release/releases/appcloud-44.yml +372 -0
- data/bosh_release/releases/appcloud-45.yml +381 -0
- data/bosh_release/releases/appcloud-46.yml +381 -0
- data/bosh_release/releases/appcloud-47.yml +381 -0
- data/bosh_release/releases/appcloud-48.yml +381 -0
- data/bosh_release/releases/appcloud-49.yml +381 -0
- data/bosh_release/releases/appcloud-50.yml +381 -0
- data/bosh_release/releases/appcloud-51.yml +381 -0
- data/bosh_release/releases/appcloud-52.yml +389 -0
- data/bosh_release/releases/appcloud-53.yml +389 -0
- data/bosh_release/releases/appcloud-54.yml +397 -0
- data/bosh_release/releases/appcloud-55.yml +402 -0
- data/bosh_release/releases/appcloud-56.yml +428 -0
- data/bosh_release/releases/appcloud-57.yml +428 -0
- data/bosh_release/releases/appcloud-58.yml +428 -0
- data/bosh_release/releases/appcloud-59.yml +428 -0
- data/bosh_release/releases/appcloud-60.yml +428 -0
- data/bosh_release/releases/appcloud-61.yml +433 -0
- data/bosh_release/releases/appcloud-62.yml +433 -0
- data/bosh_release/releases/appcloud-63.yml +428 -0
- data/bosh_release/releases/appcloud-64.yml +451 -0
- data/bosh_release/releases/appcloud-65.yml +451 -0
- data/bosh_release/releases/appcloud-66.yml +451 -0
- data/bosh_release/releases/appcloud-67.yml +451 -0
- data/bosh_release/releases/appcloud-68.yml +460 -0
- data/bosh_release/releases/appcloud-69.yml +460 -0
- data/bosh_release/releases/appcloud-70.yml +460 -0
- data/bosh_release/releases/appcloud-71.yml +442 -0
- data/bosh_release/releases/appcloud-72.yml +442 -0
- data/bosh_release/releases/appcloud-73.yml +442 -0
- data/bosh_release/releases/appcloud-74.yml +442 -0
- data/bosh_release/releases/appcloud-75.yml +450 -0
- data/bosh_release/releases/appcloud-76.yml +450 -0
- data/bosh_release/releases/appcloud-77.yml +473 -0
- data/bosh_release/releases/appcloud-78.yml +473 -0
- data/bosh_release/releases/appcloud-79.yml +473 -0
- data/bosh_release/releases/appcloud-80.yml +473 -0
- data/bosh_release/releases/appcloud-81.yml +473 -0
- data/bosh_release/releases/appcloud-82.yml +473 -0
- data/bosh_release/releases/appcloud-83.yml +468 -0
- data/bosh_release/releases/appcloud-84.yml +478 -0
- data/bosh_release/releases/appcloud-85.yml +478 -0
- data/bosh_release/releases/appcloud-86.yml +478 -0
- data/bosh_release/releases/appcloud-87.yml +488 -0
- data/bosh_release/releases/appcloud-88.yml +488 -0
- data/bosh_release/releases/appcloud-89.yml +488 -0
- data/bosh_release/releases/appcloud-90.yml +488 -0
- data/bosh_release/releases/appcloud-91.yml +493 -0
- data/bosh_release/releases/appcloud-92.yml +493 -0
- data/bosh_release/releases/appcloud-93.yml +493 -0
- data/bosh_release/releases/appcloud-94.yml +493 -0
- data/bosh_release/releases/appcloud-95.yml +502 -0
- data/bosh_release/releases/appcloud-96.yml +502 -0
- data/bosh_release/releases/appcloud-97.yml +502 -0
- data/bosh_release/releases/appcloud-98.yml +512 -0
- data/bosh_release/releases/appcloud-99.yml +512 -0
- data/bosh_release/releases/cf-release-132.yml +305 -0
- data/bosh_release/releases/index.yml +266 -0
- data/bosh_release/src/.gitkeep +0 -0
- data/lib/bosh/cli/commands/cf.rb +173 -560
- data/lib/bosh/cloudfoundry.rb +4 -0
- data/lib/bosh/cloudfoundry/deployment_attributes.rb +124 -0
- data/lib/bosh/cloudfoundry/release_versioned_template.rb +48 -0
- data/spec/plugin_spec.rb +115 -0
- data/spec/release_versioned_template_spec.rb +12 -0
- data/spec/spec_helper.rb +33 -9
- data/templates/README.md +21 -0
- data/templates/v132/aws/dev/deployment_file.yml.erb +372 -0
- data/templates/v132/aws/dev/spec +6 -0
- data/templates/v132/openstack/dev/deployment_file.yml.erb +372 -0
- data/templates/v132/openstack/dev/spec +6 -0
- metadata +326 -102
- data/config/defaults.yml +0 -6
- data/docs/BOSH-cf-initial-create.png +0 -0
- data/docs/BOSH-cf-scaled.png +0 -0
- data/docs/concept.md +0 -141
- data/lib/bosh-cloudfoundry.rb +0 -33
- data/lib/bosh-cloudfoundry/bosh_release_manager.rb +0 -156
- data/lib/bosh-cloudfoundry/config.rb +0 -6
- data/lib/bosh-cloudfoundry/config/common_config.rb +0 -27
- data/lib/bosh-cloudfoundry/config/dea_config.rb +0 -161
- data/lib/bosh-cloudfoundry/config/microbosh_config.rb +0 -119
- data/lib/bosh-cloudfoundry/config/postgresql_service_config.rb +0 -185
- data/lib/bosh-cloudfoundry/config/redis_service_config.rb +0 -179
- data/lib/bosh-cloudfoundry/config/system_config.rb +0 -66
- data/lib/bosh-cloudfoundry/config_options.rb +0 -403
- data/lib/bosh-cloudfoundry/providers.rb +0 -22
- data/lib/bosh-cloudfoundry/providers/aws.rb +0 -75
- data/lib/bosh-cloudfoundry/providers/openstack.rb +0 -69
- data/lib/bosh-cloudfoundry/system_deployment_manifest_renderer.rb +0 -296
- data/lib/bosh-cloudfoundry/version.rb +0 -5
- data/spec/assets/cf-release/jobs/cloud_controller/templates/runtimes.yml +0 -150
- data/spec/assets/deployments/aws-core-1-m1.small-free-redis.yml +0 -226
- data/spec/assets/deployments/aws-core-1-m1.xlarge-free-postgresql-2-m1.small-free-postgresql.yml +0 -253
- data/spec/assets/deployments/aws-core-2-m1.xlarge-dea.yml +0 -200
- data/spec/assets/deployments/aws-core-only.yml +0 -183
- data/spec/assets/deployments/aws-core-with-nfs.yml +0 -192
- data/spec/assets/deployments/openstack-core-only.yml +0 -204
- data/spec/unit/bosh_release_manager_spec.rb +0 -67
- data/spec/unit/cf_command_spec.rb +0 -307
- data/spec/unit/config/common_config_spec.rb +0 -21
- data/spec/unit/config/dea_config_spec.rb +0 -95
- data/spec/unit/config/microbosh_config_spec.rb +0 -11
- data/spec/unit/config/postgresql_service_config_spec.rb +0 -103
- data/spec/unit/config/redis_service_config_spec.rb +0 -103
- data/spec/unit/config/system_config_spec.rb +0 -29
- data/spec/unit/config_options_spec.rb +0 -60
- data/spec/unit/system_deployment_manifest_renderer_spec.rb +0 -99
data/.gitignore
CHANGED
data/.rspec
CHANGED
data/.travis.yml
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
language: ruby
|
2
|
+
script: bundle exec rake
|
2
3
|
rvm:
|
3
|
-
- 1.9.3
|
4
|
-
-
|
5
|
-
|
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
|
data/ChangeLog.md
CHANGED
@@ -1,55 +1,20 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
|
3
|
+
## v0.7 - now supporting Cloud Foundry v2!
|
4
4
|
|
5
|
-
|
5
|
+
`bosh-cloudfoundry` is back, rewritten, and supporting Cloud Foundry v2.
|
6
6
|
|
7
|
-
|
7
|
+
```
|
8
|
+
$ bosh prepare cf
|
9
|
+
$ bosh create cf --dns mycloud.com --public-ip 1.2.3.4
|
10
|
+
```
|
8
11
|
|
9
|
-
|
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
|
-
|
14
|
+
The rewrite introduces some new implementation/feature concepts:
|
12
15
|
|
13
|
-
|
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
|
-
|
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
|
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
|
4
|
+
# Specify your gem's dependencies in redis-cf-plugin.gemspec
|
4
5
|
gemspec
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
gem "
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
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
|
|
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c)
|
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
|
-
#
|
1
|
+
# Run Cloud Foundry on AWS or OpenStack
|
2
2
|
|
3
|
-
|
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
|
-
|
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
|
-
|
17
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
23
|
+
It is also required that you have login access to the same BOSH being used to deploy your Cloud Foundry.
|
66
24
|
|
67
|
-
|
25
|
+
Confirm this by running:
|
68
26
|
|
69
27
|
```
|
70
|
-
|
71
|
-
bosh
|
72
|
-
bosh cf deploy
|
28
|
+
$ bosh status
|
29
|
+
$ bosh deployments
|
73
30
|
```
|
74
31
|
|
75
|
-
The
|
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
|
-
|
34
|
+
## Installation
|
78
35
|
|
79
|
-
|
80
|
-
bosh-bootstrap deploy --latest-stemcell
|
81
|
-
bosh-bootstrap ssh
|
36
|
+
Install via RubyGems:
|
82
37
|
|
83
|
-
|
84
|
-
gem install bosh-
|
85
|
-
|
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
|
-
|
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
|
-
|
45
|
+
## Usage
|
96
46
|
|
97
|
-
|
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
|
101
|
-
|
50
|
+
$ bosh prepare cf
|
51
|
+
Uploading new cf release to bosh...
|
102
52
|
```
|
103
53
|
|
104
|
-
|
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
|
108
|
-
bosh cf
|
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
|
-
|
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
|
-
|
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
|
-
|
136
|
-
|
137
|
-
|
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
|
-
|
145
|
-
|
146
|
-
|
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
|
-
|
149
|
-
deploy CloudFoundry system or apply any changes
|
78
|
+
## Releasing new plugin gem versions
|
150
79
|
|
151
|
-
|
152
|
-
subscribe to all nats messages within CloudFoundry
|
153
|
-
```
|
80
|
+
There are two reasons to release new versions of this plugin.
|
154
81
|
|
155
|
-
|
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
|
-
|
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
|
-
$
|
161
|
-
$
|
162
|
-
$
|
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
|
-
|
96
|
+
Note: only the latest "final release" will be packaged.
|
166
97
|
|
167
|
-
|
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
|
-
|
191
|
-
|
101
|
+
$ cf /path/to/bosh-cloudfoundry
|
102
|
+
$ bosh cf
|
192
103
|
```
|
193
104
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
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
|
-
|
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
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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 "
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
|
32
|
-
|
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
|