dynamic加载厨师从url

我正在AWS上部署一个Web应用程序。

我打算用大厨来制作AMI,然后投入生产。

我想让厨师监控存储在simpleDB中的URL。 URL会在S3中指向一个tarball。 会有不同的URL,一个用于configurationtarball,一个用于代码tarball。 当我更新simpleDB中的URL时,我希望厨师能够发现这一点,然后应用configuration/部署代码。

这可能吗? 有没有这样的事情之前,或者我需要推出自己的代码? 我认为厨师可以监控url,但是如何从simpleDB加载该url是最好的方式?

没问题。 数据库不是严格必要的(因为我build议您将这些设置存储为节点属性…这样,您可以随时更改节点设置,厨师将确保符合性),但是,我会假定您使用数据库的其他东西,并把它留在基本的架构。 这是我的build议stream程:

  1. 在节点上存储[:deploy][:configurl][:deploy][:codeurl]作为属性
  2. 让厨师执行两个单独的SQL查询来检索数据库中的每个URL
  3. 将数据库的url结果与节点属性进行比较
  4. 其余的项目都包裹在not_if结果匹配
  5. 如果本地tarball不存在remote_file的URL
  6. 解压
  7. 做所有必要的事情来使用tar文件