PCF Credhub Service Broker-无法轮换凭证并要求重新启动

时间:2019-04-26 13:02:51

标签: pivotal-cloud-foundry

我创建了一个credhub实例,并使用下面的cf command

存储了我的机密
  

cf创建服务credhub默认my-secrets -c“ {\” secretMessage \“:\” 1234567 \“}”

我的spring boot应用程序获得了secretMessage值,没有任何问题。现在我执行了update-service命令,并使用以下命令旋转了secretMessage

  

cf update-service my-secrets -c“ {\” secretMessage \“:\” 1234567-updated \“}”

但是,除非直到我在PCF中重新启动该应用程序,否则我的spring-boot应用程序不会选择更新的应用程序。

有没有办法在不重新启动的情况下拿起旋转凭证?

1 个答案:

答案 0 :(得分:1)

  

但是,除非直到我在PCF中重新启动该应用程序,否则我的spring-boot应用程序不会选择更新的应用程序。

     

有没有办法在不重新启动的情况下拿起旋转凭证?

否,这是预期的行为。

https://docs.pivotal.io/credhub-service-broker/using.html#update

您的服务实例已绑定到您的应用程序。与绑定到应用程序的所有服务实例一样,它通过VCAP_SERVICES环境变量提供信息。仅当您重新启动应用程序时,才会更新包括VCAP_SERVICES在内的环境变量。

您可能正在考虑,等我的VCAP_SERVICES具有来自CredHub的占位符,这些不是自动更新吗?很不幸的是,不行。 Diego生命周期负责查找CredHub占位符并解决它们。这将在您的应用程序启动之前运行。然后将实际值放入VCAP_SERVICES中。这样,您的应用程序就可以看到实际值,而不是占位符,同时又不了解CredHub。