PCF Credhub 服务代理 - 无法轮换凭据并要求重新启动
PCF Credhub Service broker - Unable to rotate credentials and demands restart
我创建了一个 credhub
实例并使用以下 cf command
存储了我的秘密
cf create-service credhub default my-secrets -c "{\"secretMessage\":\"1234567\"}"
我的 spring 启动应用程序可以毫无问题地获取 secretMessage
值。现在我执行了 update-service
命令并使用下面的命令
旋转了 secretMessage
cf update-service my-secrets -c "{\"secretMessage\":\"1234567-updated\"}"
但是我的 spring-boot 应用程序不会选择更新的应用程序,除非我在 PCF 中重新启动该应用程序。
有什么方法可以在不重新启动的情况下获取旋转的凭据吗?
But my spring-boot app isn't picking the updated one unless and untill I restart the app in PCF.
Is there any way to pick up the rotated-credentials without restart ?
不,这是预期的行为。
https://docs.pivotal.io/credhub-service-broker/using.html#update
您的服务实例已绑定到您的应用。与绑定到应用程序的所有服务实例一样,它通过 VCAP_SERVICES
环境变量提供信息。环境变量,包括 VCAP_SERVICES
,仅在您重新启动应用程序时更新。
您可能在想,等等,我的 VCAP_SERVICES
有来自 CredHub 的占位符,那些不应该自动更新吗?抱歉不行。 Diego 生命周期负责查找 CredHub 占位符并解析它们。这在您的应用程序启动之前运行。然后它将实际值放入 VCAP_SERVICES
。这就是您的应用可以看到实际值而不是占位符,同时不了解 CredHub 的方式。
我创建了一个 credhub
实例并使用以下 cf command
cf create-service credhub default my-secrets -c "{\"secretMessage\":\"1234567\"}"
我的 spring 启动应用程序可以毫无问题地获取 secretMessage
值。现在我执行了 update-service
命令并使用下面的命令
secretMessage
cf update-service my-secrets -c "{\"secretMessage\":\"1234567-updated\"}"
但是我的 spring-boot 应用程序不会选择更新的应用程序,除非我在 PCF 中重新启动该应用程序。
有什么方法可以在不重新启动的情况下获取旋转的凭据吗?
But my spring-boot app isn't picking the updated one unless and untill I restart the app in PCF.
Is there any way to pick up the rotated-credentials without restart ?
不,这是预期的行为。
https://docs.pivotal.io/credhub-service-broker/using.html#update
您的服务实例已绑定到您的应用。与绑定到应用程序的所有服务实例一样,它通过 VCAP_SERVICES
环境变量提供信息。环境变量,包括 VCAP_SERVICES
,仅在您重新启动应用程序时更新。
您可能在想,等等,我的 VCAP_SERVICES
有来自 CredHub 的占位符,那些不应该自动更新吗?抱歉不行。 Diego 生命周期负责查找 CredHub 占位符并解析它们。这在您的应用程序启动之前运行。然后它将实际值放入 VCAP_SERVICES
。这就是您的应用可以看到实际值而不是占位符,同时不了解 CredHub 的方式。