2

从升级0.12.20.13.5连接问题后,出现了 graphql 组件。Prefect 服务器在不同的服务器上运行,但 graphql url 仍然存在http://localhost:4200/graphqlserver.ui.graphql_url在版本上工作得很好,0.12.2但现在我找不到任何方法来正确配置 graphql url。

您将在下面找到config.toml

$ cat ~/.prefect/config.toml
[logging]
level = "INFO"

[api]
url = "http://192.168.40.180:4200"

[server.database]
host_port = "6543"

[context.secrets]
SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services/xx/XX/Xx'

[server.ui]
graphql_url = "http://192.168.40.180:4200/graphql"

在图像中,您可以看到案例的 POC。

在此处输入图像描述

我对配置完美服务器的旧方法和新方法有点困惑。你对这个问题有什么想法吗?

4

1 回答 1

4

编辑:我在下面提到的票已关闭;当 0.13.9 发布时,它将包含一个新的运行时配置apollo_url(这更准确,因为这是我们正在寻找的容器),它被插入到 UI 构建中的静态设置文件中,当应用程序启动。这应该达到下面提到的所有要点。

这是对 Prefect Server ^0.13.0 的更改,它删除了graphql_url作为可配置环境变量的变量。

以前版本的 Server 在 UI 代码上使用了 find-replace,它在图像构建时被编译和缩小。这样做的原因是它将安装所需 Node 模块和构建应用程序的负担从客户端安装转移到发布时的 Prefect 上,因为这些在容器化中可能需要很长时间(每个 10 分钟以上)环境。然而,缺点是修改在构建时注入的环境变量需要对先前注入的变量进行不太理想的查找,这意味着修改这些变量需要拉取一个新图像。

我们选择使用应用内输入来发布新版本,这允许在浏览器运行时更​​改服务器端点。这使单个 UI 实例可以灵活地连接到任何可访问的服务器安装,并利用本地存储在浏览器会话之间保留此设置。

也就是说,我们有一张票可以以比以前版本更好的方式重新公开默认配置。您可以在此处关注该票

于 2020-09-04T17:03:00.860 回答