Lorawan-stack: 提供标准系统包作为 Docker 的替代方案

创建于 2019-02-02  ·  10评论  ·  资料来源: TheThingsNetwork/lorawan-stack

概括:
所有主要的 linux 发行版都依赖包管理器以受控、安全的方式安装软件。

该提议是以RPMdebopkg格式创建包作为起点,稍后会添加其他包格式。

我们为什么需要这个?
许多企业组织阻止 git 连接到他们自己以外的任何服务器,并且可能也不允许使用wget命令。

Docker 在这些组织中也经常不可用,但是对包存储库的访问是一个“已知数量”,因此更容易出售给安全团队,特别是因为包往往在创建过程中被完全签名。

在某些情况下,Docker 并不适合。 这可能包括系统集成商/托管服务提供商希望使用基于实例而不是容器的 AWS Auto Scaling 组进行扩展,或者在安全环境中进行裸机安装。

当您没有可用的软件包时,通过 Ansible、Chef 或 Puppet 等配置管理工具进行安装也非常困难。

最后,如果没有编译器,从 git 存储库而不是包进行安装是很困难的,在生产系统上安装编译器会带来安全风险。

什么已经存在?

目前,我们可以选择两个 docker 容器( ttn-lw-stackttn-lw-cli )或从 git 构建同名的二进制文件。

通过docker pullgit clone进行部署,这两种方式都可能无法在企业/教育防火墙后面工作。

缺什么?

通过yumaptopkg安装的能力

你建议如何实施?

使用GO Releaser应该相对容易实现,但是 GO 不是我特别熟悉的语言(但是!)

环境:

Linux - 基于 CentOS/RHEL、基于 Debian/Ubuntu、基于 OpenWRT

你自己能做什么,你需要什么帮助?

我需要确认这是打包 Go 应用程序以进行部署的适当方式,然后从了解 GO 的人那里获得一些实施帮助!

blocked

最有用的评论

我们也会制作 CD 的这一部分。

还将brew添加到愿望清单。

所有10条评论

我将从向 APT、AUR 和https://github.com/nixos/nixpkgs添加包开始,因为我已经熟悉这些格式。 其他的稍后会添加。
贡献,当然,总是受欢迎的!

@rvolosatovs您将使用 go-releaser 还是其他创建包的方式?

只要我知道您使用什么来创建它们,我就很乐意从事 RPM 方面的工作! :)

我们也会制作 CD 的这一部分。

还将brew添加到愿望清单。

只是添加我的支持。 我以前从未使用过 docker,虽然我很欣赏有很多编程语言,但对于以前从未使用过的人来说,这是一个巨大的飞跃。 虽然从 repo 中安装是开发人员喜欢做事的方式,但它对最终用户不是很友好。

感谢您在这方面所做的所有工作,我希望在接下来的几天里抽出时间来添加 RPM 支持并对其进行测试。

@proffalken我们将构建 RPM 包作为 CI 的一部分 - 一旦我们发布,您将能够在我们的发布页面上找到它。 (仅供参考,github 还支持发布的 Atom 提要:https://github.com/thethingsnetwork/lorawan-stack/releases.atom)

我听从了你使用 goreleaser 的建议。
关于 RPM 包本身 - 它(现在)只是https://github.com/TheThingsNetwork/lorawan-stack/blob/b1183962c502e6b53191086c23567c546c2b8ec5/.goreleaser.yml#L79 -L92
例如,我怀疑前端的位置对于 RPM 包来说是非标准的,事实上,它也不是堆栈的默认位置(我们希望它位于/srv/ttn-lorawan/public )。
因此,您对如何完成这项工作的意见将非常有帮助。

请注意,例如,对于brew ,我们包装堆栈二进制文件以将相关环境变量设置为指向前端:
https://github.com/TheThingsNetwork/lorawan-stack/blob/b1183962c502e6b53191086c23567c546c2b8ec5/.goreleaser.yml#L116 -L119

我确信这个在 RPM 包中的预期位置是不同的,但我们希望可以在那里使用相同的方法。

@rvolosatovs对我来说非常有意义。

env vars 的设置可能最好在 systemd 服务脚本中完成,我会尽快尝试将它们放在一起。

把东西塞进/srv/ttn-lorawan/public也是完全可以接受的:)

@rvolosatovs您能否更新标签和/或原始评论以表明我们不再需要帮助,或者特定发行版的帮助? 在社区成员开始急切地实施这一点之前,虽然大部分都在进行中。

由于缺少v3.0.0版本而被阻止。
将预发布版本发布到存储库是没有意义的。

因发布而关闭。 我们有 Snappy 和 Brew 支持,以及 deb 和 rpm 文件

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

相关问题

adamsondelacruz picture adamsondelacruz  ·  7评论

johanstokking picture johanstokking  ·  8评论

htdvisser picture htdvisser  ·  9评论

ZeroSum24 picture ZeroSum24  ·  3评论

ecities picture ecities  ·  5评论