(This release is under active development)
The purpose of this bosh release is to deploy and setup the app-autoscaler service.
Install and start BOSH-Lite, following its README. Modify the cloud-config and deployment manifest settings by modifying the files under /example directory. Install Spiff
Instructions to install on bosh-lite below:
bosh target BOSH_DIRECTOR_HOST
git clone https://github.com/cloudfoundry-incubator/app-autoscaler-release
cd app-autoscaler-release
./scripts/update
Deploy using BOSH v2 manifest
bosh update cloud-config ./example/cloud-config.yml
./scripts/generate-bosh-lite-manifest \
-c <path to cf-release deployment manifest> \
-p ./example/property-overrides.yml
./scripts/deploy
Deploy using BOSH v1 manifest
./scripts/generate-bosh-lite-manifest \
-c <path to cf-release deployment manifest> \
-p ./example/property-overrides.yml \
-v v1
./scripts/deploy
** cf-release deployment manifest should be cf-release/bosh-lite/deployments/cf.yml
To use pre-existing postgres server(s), it is required to pass db-stubs while generating manifest. Otherwise an instance of default postgres server will be provided as part of app-autoscaler deployment.
./scripts/generate-bosh-lite-manifest \
-c <path to cf-release deployment manifest> \
-p ./example/property-overrides.yml \
-d ./example/dbstubs/db-stub-external.yml \
Install Bosh-cli-v2
Install and start BOSH-Deployment, following its README.
Install CF-deployment
Create and upload release
git clone https://github.com/cloudfoundry-incubator/app-autoscaler-release
cd app-autoscaler-release
./scripts/update
bosh create-release
bosh -e YOUR_ENV upload-release
Deploy app-autoscaler
bosh -e YOUR_ENV -d app-autoscaler \
deploy templates/app-autoscaler-deployment.yml \
--vars-store=bosh-lite/deployments/vars/autoscaler-deployment-vars.yml \
-v system_domain=bosh-lite.com \
-v cf_admin_password=<cf admin password>
Alternatively you can use cf-deployment vars file to provide the cf_admin_password
bosh -e YOUR_ENV -d app-autoscaler \
deploy templates/app-autoscaler-deployment.yml \
--vars-store=bosh-lite/deployments/vars/autoscaler-deployment-vars.yml \
-v system_domain=bosh-lite.com \
--vars-file=<path to cf deployment vars file>
Log in to Cloud Foundry with admin user, and use the following commands to register app-autoscaler
service
cf create-service-broker autoscaler <brokerUserName> <brokerPassword> <brokerURL>
brokerUserName
: the user name to authenticate with service brokerbrokerPassword
: the password to authenticate with service brokerborkerURL
: the URL of the service broker
All these parameters are configured in the bosh deployment. If you are using default values of deployment manifest, register the service with the commands below.
cf create-service-broker autoscaler username password https://autoscalerservicebroker.bosh-lite.com
Refer to AutoScaler UAT guide to run acceptance test.
To use the service to auto-scale your applications, log in to Cloud Foundry with admin user, and use the following command to enable service access to all or specific orgs.
cf enable-service-access autoscaler [-o ORG]
The following commands don't require admin rights, but user needs to be Space Developer. Create the service instance, and then bind your application to the service instance with the policy as parameter.
cf create-service autoscaler autoscaler-free-plan <service_instance_name>
cf bind-service <app_name> <service_instance_name> -c <policy>
Log in to Cloud Foundry with admin user, and use the following commands to remove all the service instances and the service broker of app-autoscaler
from Cloud Foundry.
cf purge-service-offering autoscaler
cf delete-service-broker autoscaler