-
-
Save dmarmugi/f70231ec8b4f85d150d6a285533a702a to your computer and use it in GitHub Desktop.
cf apps | grep started | awk '{print $1}{system("cf sp " $1)}' |
Convenient :)
To delete all Cloud Foundry apps, then
cf apps | grep started | awk '{print $1}{system("cf sp " $1)}'
cf apps | grep stopped | awk '{print $1}{system("cf d -f -r " $1)}'
Thanks a lot
Awesome-sauce! I'm using it in GitLab CI/CD jobs to stop all apps at night and start them up again in the morning.
Using env variables so that no login credentials are exposed in the jobs directly and also to determine the actions to be taken.
script:
- cf login -a $CF_API_URL -u $CF_USER -o $CF_ORG -p $CF_PASS -s $CF_SPACE
- cf apps | grep $CF_APP_STATE | awk {'print $1}{system ("cf $CF_APP_ACTION " $1)}'
All these variables are defined in the GitLab Pipeline Schedule. I have 2 schedules, one for stopping the apps and one for starting the apps.
-
Stopping:
CF_APP_STATE=started
CF_APP_ACTION=stop -
Starting:
CF_APP_STATE=stopped
CF_APP_ACTION=start
Thanks for the gist!
Im looking for info on how to start only the stopped apps?
In this script, I see it works only to stop apps. For starting apps it doesnt work as there may be few apps which we dont want to start them. These are the apps which were in stopped state before we stopping the started apps in the space(during night).
Thanks for any help.
Hi, @harishbab, you can see my comment and replace the variables with the ones from point 2 so that you start the stopped apps.
credit to Vijay for the awk-fu