У меня есть приложение Cloud Foundry, размещенное на Swisscom. Одна из функций, которые мне требуются в приложении, заключается в том, что пользователь может настроить службу Cloud Foundry, в частности, службу Swisscom Secrets-Store. Тем не менее, это оказывается сложной задачей.
Во-первых, я использовал модуль NPM cloudfoundry-cli , чтобы создать сервис из моего приложения во многом как в приведенном примере:
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')
})
Это работало нормально, когда я запускал приложение локально, потому что на моем компьютере, очевидно, установлен CLI CF. Однако, когда я отправил приложение в Swisscom и попытался создать службу, ничего не произошло, так как CLI CF не установлен в приложении.
Я также извлек cf-nodejs-client , который предлагается, если вы не хотите устанавливать CLI CF, позволяя вам передавать свои данные для входа в Cloud Foundry и конечную точку API. Однако я проверил документы, и кажется, что этот модуль NPM не позволяет вам создавать сервисы. Документы показывают, что вы можете либо получить getService, getServicePlans, getServices, либо удалить - нет возможности создать.
В худшем случае я думал, что смогу подключить SSH к работающему приложению и установить CLI CF, но для этого вам нужен root-доступ, который невозможен.
Мой вопрос: возможно ли установить CLI CF на приложение, когда оно выдвигается? Возможно, buildpack-пакет, который может установить CLI CF при запуске приложения? Я проверил список пакетов сборки сообщества, и его, кажется, не существует, и я не знаю, с чего начать. В противном случае, кто-нибудь знает, как создавать сервисы Cloud Foundry из приложения Node без необходимости использования CLI CF.