cf-push-app
Required Inputs
| arg name | JSON type | example | description |
| app_name | string | ref-app | name of the app |
Optional inputs
| arg name | JSON type | example | description |
| git_url | string | "https://github.com/cloudfoundry-community/kibana-me-logs.git" | github url |
| services | list of string | [ "logstash-space-wide" ] | services to bind |
| envs | map (string->string) | { "KIBANA_USERNAME": "kibana_user", "KIBANA_PASSWORD": "REMOVED" } | environment variables to values. if provided, app will be restaged |
| stack | string | "cflinuxfs2" | option |
| buildpack | string | "https://github.com/heroku/heroku-buildpack-go.git" | buildpack |
| git_relpath_build | string | "app-1/" | relative path for cf push -p flag (app directory, jar, etc), defaults to git root |
| git_relpath_deploy | string | "app-2/" | relative path for build directory, defaults to git root |
| hostname | string | "app-hostname" | hostname option to cf push |
| cf_home | string | "/tmp/cf-home-240964" | CF_HOME where login has been issued, defaults to $HOME |
Examples:
- push a basic-auth-protected kibana
{
"app_name": "kibana-space-wide",
"buildpack": "https://github.com/heroku/heroku-buildpack-go.git",
"envs": {
"KIBANA_USERNAME": "kibana_user",
"KIBANA_PASSWORD": "***REMOVED***"
},
"git_url": "https://github.com/cloudfoundry-community/kibana-me-logs.git",
"services": [
"logstash-space-wide"
],
"stack": "cflinuxfs2"
}
- create an app for binding services and extracting credentials only. no push required
{
"app_name": "ref-app",
}
Output
| output name | JSON type | example | description |
| app_guid | string | "f9e82e7f-5f15-4ea9-b499-9ceab30d9660" | app guid |
| app_url | string | "https://kibana-me-logs-poc.run.asv-pr.ice.predix.io" | app url (first mapped route, space/org uniquified) |
Example:
{
"app_url": "https://kibana-me-logs-poc.run.asv-pr.ice.predix.io",
"app_guid": "f9e82e7f-5f15-4ea9-b499-9ceab30d9660"
}
Idempotence
The script may be called any number of times. The app will be pushed again if it exists
Notes
- Push hostname is an name, org-space uniquified app name
- The intent of this script is to deploy utility apps like kibana, phpadmin,
and throwaway apps for binding services and extracting credentials, not to compete with CI/CD.