我正在尝试使用应用程序manifest.yml
将Spring Cloud Data Flow Server部署到企业Pivotal Cloud Foundry实例。
我首先关心的是从清单中外部化SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_USERNAME
和SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_PASSWORD
属性,因此我不会将它们以纯文本形式存储在版本控制中。有没有最佳实践来实现这一目标?哪些适合部署数据流服务器和关联的流/任务的工作流程?我最初的想法是为数据流服务器创建一个新的Cloud Foundry用户,该用户可以将应用程序部署到我正在使用的组织/空间,然后可能使用Spring Cloud Config将凭据注入env。这是一个典型的解决方案吗?
我的第二个问题是要求所有Data Flow Server的Web端点都使用TLS / HTTPS。我再次尝试从SPRING_APPLICATION_JSON
env条目中的清单中省略有关密钥库位置的属性,但这又导致初始化失败。 Cloud Foundry Java buildpack是否具有这些证书存储的标准位置,还是特定于我的Cloud Foundry实例?我还想将所有HTTP请求重定向到HTTPS?我是否需要创建Cloud Foundry数据流服务器的自定义版本才能执行此操作?
感谢您的帮助。
更新:
基于other SO帖子,我现在已经解决了我不需要从其嵌入式Tomcat服务器中的数据流服务器配置启用HTTPS / TLS,因为它位于Cloud Foundry的代理后面。但是,除了使用proper configuration为Cloud Foundry创建数据流服务器的自定义构建之外,我看不到要求和重定向到HTTPS端点的方法。
答案 0 :(得分:3)
您可以参考此here的文档。
答案 1 :(得分:1)
上一个答案中链接的文档中的“安全”部分应该很有用。我将尝试回答一些具体问题。
我没有在版本控制中以纯文本格式存储它们
我们的一些客户使用Config-Server + Vault集成加密密码凭据。
我最初的想法是为数据流服务器创建一个新的Cloud Foundry用户,该用户可以将应用程序部署到我正在使用的组织/空间,然后可能使用Spring Cloud Config将凭据注入env。这是一个典型的解决方案吗?
这一整体体验将通过e2e OAuth / SSO工作流程与Spring Cloud Data Flow的磁贴自动完成,该磁贴将于本月作为BETA磁贴提供。不会有任何明文密码 - 一切都将被OAuth令牌驱动,服务代理将控制SCDF的服务实例的生命周期。请联系PCF客户代表,我们很乐意将您添加到BETA计划中。