Shinyproxy: 启动后动态添加规格

创建于 2020-10-17  ·  5评论  ·  资料来源: openanalytics/shinyproxy

首先,感谢您创建了这么棒的平台——这看起来几乎满足了我所有的要求!

不过,我正在寻找的一件事是能够在启动后动态添加规范,这样我们就不必手动重新启动服务器来添加新应用程序。

我可以看到ProxySpecsContainerSpecsShinyProxy所基于的)使用 POST 请求提供对此的支持,但它在ShinyProxy明确不受支持

ProxySpecs 和 ContainerSpecs 也可以在运行时通过 POST 请求的主体提供。
注意: ShinyProxy 不允许在运行时提供规范。 仅接受来自 application.yml 文件的规范。
来源

我的计划是将其部署在服务器上,并允许组织内的特定人员代表他们的项目团队注册新应用程序,而无需让 ShinyProxy 离线(即使是几秒钟)来添加新应用程序。 理想情况下,这个管理界面应该存在于 ShinyProxy 中,但我很高兴构建我自己的小仪表板来处理这个问题。

如果需要,我很高兴能贡献一些时间来协助开发此功能 - 只是想检查一下是否有任何特定原因不支持此功能,以及您是否愿意使用此功能。

我环顾了一些较旧的票证,并读到与此相关的一个问题是其他一些服务器配置无法热重载,但我想知道是否可以通过添加dynamic_specs来解决这个问题application.yml文件,以便用户可以选择是支持动态规范还是手动定义(但不一定两者都支持,如果这从架构角度引入了显着的复杂性)?

例如

proxy:
  port: 8080
  ...
  dynamic_specs: true
  specs: # Left blank, if `dynamic_specs` is true.

非常感谢!

所有5条评论

@xtrasimplicity这可以使用我们的 ShinyProxy 操作符来实现。 https://www.openanalytics.eu/blog/2020/10/12/shinyproxy-2.4.0/ 中提供了高级描述,其专用 Github 存储库中提供了更多文档

谢谢,@tverbeke。 我快速浏览了一下,但它似乎更以 Kubernetes 为中心。 这也适用于 Docker swarm/engine 吗?

编辑:另外,它看起来比我想象的要复杂一些。 如果我要为 ShinyProxy 提交 PR,它增加了对使用管理 UI 添加新应用程序的支持(并将此类配置保存在数据库中),您愿意合并它吗?

@tverbeke ,我对 ShinyProxy Operator 有更多的阅读,我想我已经明白了。

虽然它可以解决我的大部分问题,但能够将新应用的添加委托给可能不熟悉编辑配置文件等的特定用户,或者在我不想的情况下会很好授予某人对运行 ShinyProxy 的服务器的 SSH 访问权限(以任何形式,无论多么受限)以编辑配置文件。

出于这个原因,能够使用管理 UI 添加新应用程序会很棒。

从理论上讲,无需_大量_审查代码,它_应该_像这样简单:

  1. 除了从配置文件之外,还添加了从数据库中获取规范定义的能力(sqlite 应该就足够了?)。
  2. 更新管理 UI 以支持注册新的规范定义并将它们存储在数据库中。

您是否愿意接受添加此类功能的拉取请求?

谢谢!

@xtrasimplicity ,非常感谢您的思考。 我们正在研究一种委托添加新应用程序的机制,但在第一阶段,它可能会由 GitOps 方法而不是通过用户界面驱动。

谢谢,@tverbeke。 您知道委托机制什么时候可能准备就绪吗? 或者我可以以某种方式协助开发吗?

GitOps 很有用,但能够从 GUI 执行此操作对于不真正使用 GitOps 的环境也非常有用!

此页面是否有帮助?
0 / 5 - 0 等级