我可以使用以下方式登录cloud-foundy / bluemix:
cf login -u my_cf_username -p my_cf_password
我可以设置环境变量来存储这些值(例如,通过在.bashrc
或.profile
中设置它们):
export cf_user=my_cf_username
export cf_pass=my_cf_password
cf login -u $cf_user -p $cf_pass
但是,理想情况下,我希望从属性文件中检索Cloud Foundry用户名和密码,例如$HOME/.cf
- 这可能吗?
答案 0 :(得分:3)
目前的CF CLI客户端无法做到这一点。 应该可以编写custom CF CLI Plugin来处理此行为。
答案 1 :(得分:-2)
如果您只是想避免登录步骤,bash脚本是否足够(如Reading username and password from file和其他人所建议的那样)?
关于如何在登录CLI之外保护凭据的更大问题,我推荐Pat Mueller的博客条目How your cloud application should access credentials and other private data:使用Cloud Foundry用户提供的服务,并使用本地定义的VCAP将密钥/值绑定到它。他建议使用cfenv package,如下所示:
cfenv = require("cfenv")
var localVCAP = require("./local-vcap.json")
var appEnv = cfenv.getAppEnv({vcap: localVCAP})
var creds = appEnv.getServiceCreds(/session-secret/) || {}
console.log("session secret is:", creds.secret)
然后使用cf cups
命令( cups = create-user-provided-service)创建用户提供的服务。要从给定服务访问凭据,请将 cups 绑定到该服务。他指出了这种方法的几个优点;我特别喜欢只有具有 cups 服务适当访问权限的用户才能看到这些值。有关更多详细信息,请参阅上面引用的源文章。