Cloud foundry 从托管的云铸造应用程序创建云铸造服务

Cloud foundry 从托管的云铸造应用程序创建云铸造服务,cloud-foundry,swisscomdev,Cloud Foundry,Swisscomdev,我有一个使用Swisscom托管的CloudFoundry应用程序。我从应用程序中需要的一个功能是,用户可以设置云铸造服务,特别是Swisscom机密存储服务。然而,这是一个挑战 首先,我使用NPM模块从我的应用程序创建服务,非常类似于提供的示例: const cf = require('cloudfoundry-cli') cf.provisionService({ name: 'mongoNo1', type: 'compose-for-mongodb', plan: 'Stan

我有一个使用Swisscom托管的CloudFoundry应用程序。我从应用程序中需要的一个功能是,用户可以设置云铸造服务,特别是Swisscom机密存储服务。然而,这是一个挑战

首先,我使用NPM模块从我的应用程序创建服务,非常类似于提供的示例:

const cf = require('cloudfoundry-cli')
cf.provisionService({
  name: 'mongoNo1',
  type: 'compose-for-mongodb',
  plan: 'Standard'
}, function(err) {
  if (err) return console.log(err)
  console.log('Service provisioned')
})
当我在本地运行我的应用程序时,这很好,因为我的计算机上显然安装了CF CLI。但是,当我将应用程序推送到Swisscom并尝试创建服务时,由于应用程序上没有安装CF CLI,所以什么也没有发生

我还检查了如果您不想通过允许您传递Cloud Foundry登录详细信息和API端点来安装CF CLI的建议。但是,我检查了文档,似乎这个NPM模块不允许您创建服务。显示您可以选择getService、getServicePlans、getServices或remove-无创建选项

最糟糕的情况是,我认为我可以将SSH连接到正在运行的应用程序中并安装CF CLI,但要实现这一点,您需要root访问权限,这是不可能的

我的问题是-推送应用程序时是否可以在应用程序上安装CF CLI?也许是一个可以在推送应用程序时安装CF CLI的构建包?我已经检查了社区构建包列表,但它似乎不存在,我不知道从哪里开始创建。否则,是否有人知道如何从节点应用程序创建Cloud Foundry服务而无需CF CLI

推送应用程序时,是否可以在应用程序上安装CF CLI

一种选择是简单地将cf cli与应用程序捆绑在一起。它是一个静态二进制文件,因此很容易与应用程序捆绑。以下几点应该行得通

从下载cf cli for Linux并解压缩它。 将其放入应用程序根目录下的文件夹中。例如:mkdir bin/然后将二进制文件从步骤1移动到bin/文件夹。 将.profile文件添加到应用程序的根目录中。在该文件中,放置export PATH=$PATH:$HOME/bin,这将把步骤2中的bin/目录放在将bin更改为您命名的文件夹的路径上。 现在推送你的应用程序。这将包括二进制文件。当它启动时,.profile脚本将执行并将cf二进制文件的路径放在路径上。因此,您可以运行cf。。。容器中的命令


希望有帮助

您可以直接使用API而不是依赖CLI。@lafunamor-请原谅,我没有使用CURL和API的经验,因此我不太了解CF API。我在这里举了个例子,改变了端点和空格,但似乎什么都没有发生