This Node.js project makes it easier to login to the SAP BTP Cloud Foundry environment with the command line interface cf
.
You can find more information and installation instructions about the cf cli at
https://docs.cloudfoundry.org/cf-cli/install-go-cli.html.
After installation you can use the shell command btpcflogin
to get a guided login to the platform.
This project should run on every Linux platform. It is implemented and tested with WSL2 - Ubuntu. Therefore it should run also in headless environments.
Install as shell command from npm:
npm i -g btpcflogin
Run from source:
- Clone git repo and cd into cloned repo
npm i
npm run local
Install as shell command from source:
- Clone git repo and cd into cloned repo
npm i
npx tsc
npm i -g
-
login
(default)
Starts complete Login to Cloud Foundry. As this is the default command it can be ommitted and is triggered by executingbtpcflogin
.Options:
-
-s, --store-favorite
Stores the cf target after successful login in the config store -
-f, --use-favorite
Use stored favorite to login event faster
-
-
add-login
Interactively adds newpass
/gopass
login to the config store -
rm-login
Interactively removespass
/gopass
login from the config store -
sort-logins
Allows reordering of the storedpass
/gopass
logins in the config store -
t
(target)
Interactive setting of new target (org and space), by using the current API region and logon token. (seecf t
) -
sort-favs
Allows reordering of the stored favorites in the config store -
rm-fav
Remove single cf target favorite from the config store
# Login
btpcflogin
# Login and store the chosen org, space, api region and pass login into favorite
btpcflogin -s
# choose target
btpcflogin t
# Add new 'pass' login
btpcflogin add-login
Node.js runtime 14 or higher.
A git installation to clone the repo.
To use login credentials besides the SSO option that is provided by the Cloud Foundry CLI, a credential manager needs to be installed.
Platform | Manager |
---|---|
Linux | pass - the standard linux password manager (install and setup) |
Windows | gopass - cross-platform password manager that is compatible to pass (install and setup) |
It is assumed that the login data is stored in the following format in a pass file:
<password of SAP S-user>
username: <e-mail of SAP S-user>
origin: <origin or custom IdP>
Hint: The origin is only required if the credentials are from a custom identity provider.
To read the username the first 10 characters of the second line are ignored.
Now that you have setup pass as a secure password manager, you can use it also as a credential store for your git remotes. Have a look at this project: languitar/pass-git-helper