Add stack update command which doesn't require access to the app source code
What's the user value of this feature request? Enable CF app operators with CF CLI commands to update the stack of an application without having access to the source code of the application.
Who is the functionality for? CF app operators
How often will this functionality be used by the user? When a CF stack update is required
Who else is affected by the change? This shouldn't have any side affects to existing functionality
Is your feature request related to a problem? Please describe.
With the current CF CLI commands it is not possible to update the stack of an application without having access to its source code. Only cf push offers an option to update the stack of an application.
Describe the solution you'd like
I would like to have an update-stack command supported by the CF CLI
Describe alternatives you've considered An alternative is:
- use the CF APIs to update the app stack
cf curl "/v3/apps/<app-guid>" -X PATCH -H "Content-type: application/json" -d '{
"lifecycle": {
"type": "buildpack",
"data": {
"stack": "cflinuxfs4"
}
}
}'
- restage the applicaiton
cf restage <app-name>
Another alternative is to use the stack-authitor plugin. Unfortunately, it is not using the V3 APIs and installation of plugins could be an issue in some OPs environments.
I'd favor something like cf update-app my-app --stack=cflinuxfs4 vs having a specialized command for changing app stacks.
Related Slack thread from a few years back: https://cloudfoundry.slack.com/archives/CDVP0651P/p1590778704098900
I like it better. It also opens the door for other "updates" if needed.