To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.
Mike, you can also set env variables in an app manifest.yml, that way the first time you cf push, those vars are available to your app buildpack without any separate commands.
Example:
---
applications:
- name: env-test
memory: 256M
instances: 1
host: env-test
domain: cfapps.io
path: .
env:
foo: barThe new Java buildpack is definitely not relying on env vars to provide staging hints. Customizing the behavior of this buildpack requires forking the buildpack and modifying configuration files contained within the buildpack.
---applications:- name: gopivotal-cla memory: 1G instances: 1 host: gopivotal-cla domain: cfapps.io path: target/github-cla-integration-1-SNAPSHOT.war env: ADMIN_EMAIL_DOMAINS: ${prompt: A comma delimited list of email address domains used to identify administrative users} DATABASE_URL: ${prompt: The URL for the application's database} ENCRYPTION_KEY: ${prompt: The key used to encrypt data in the database} GITHUB_CLIENT_ID: ${prompt: The Client ID assigned to your registered application} GITHUB_CLIENT_SECRET: ${prompt: The Client Secret assigned to your registered application} services: gopivotal-cla-elephantsql: label: elephantsql provider: elephantsql version: n/a plan: turtle gopivotal-cla-newrelic: label: newrelic provider: newrelic version: n/a plan: standardTo unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.
If an app has been pushed and started, and then you bind or unbind services, change user-provided environment variables (e.g. 'cf set-env/unset-env'), or change the memory setting (e.g. 'cf scale --memory'), these changes will not take affect until the application has been restarted.The 'cf start' and 'cf restart' operations are generally smart enough to know whether an app can just be started from an existing droplet or needs to be re-staged and then started. Currently, binding or unbinding a service causes a re-stage on the next start/restart, changing user env vars and scaling memory does not cause a re-stage.
To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.
if an app is already running while dirty changes happen via the cli, the cli will warn the user that the app should be restarted to ensure all changes take effect.when an app is dirty gets started, the staging will happen automatically.staging again is not required for dirty apps that are already running and are scaled up/down or have the urls mapped/unmapped.
in order to support these capabilities the cloud controller needs to implement additional app versioning capabilities. the routes may also have some additional work to update dynamically, but this is the current plan-of-record for the way it should work.
Just to verify my understanding, this means that some of the automatic re-staging that currently happens (e.g. when a service is bound) will no longer happen. This is going to be removed in lieu of a UI warning that such a thing needs to be done. Is this correct? If so, I think there will be some grumbling about the change in behavior, but I think that making the behavior uniform and predictable is overwhelmingly good.
My understanding was that after performing a service bind or something else that would require a restage then the UI would prompt the user to restart the application for the change to take effect?
To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.
my understanding of how it currently works: when apps are built they always use the current 'app package', which is the source of the app in the cloud controller blob store and a full representation of what the client pushed to the server. the output droplets from previous staging requests are orphaned and never recycled into the buildpack staging again. the buildpack app cache for the app is persisted however, so things like previously downloaded gems for the same app guid are available when the app stages.