问题标签 [nixops]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
travis-ci - Travis-ci 何时会支持 NixOS/NixOps?
目前 travis 支持linux (ubuntu?) 和 mac。
我目前正在探索nix。我认为这是声明系统全局状态的有效方式。它可用于各种级别:
在当前状态下,我可以在 linux vm 上安装 nix 包管理器并获取我需要的所有包,太棒了!
在我的理想世界中,我可以在机器或部署级别(机器[s])上做同样的事情。
所以我的问题是:travis-ci 什么时候会支持 NixOS?travis-ci 什么时候会支持多机设置(比如 NixOps)?
scala - 将 Scala 部署到 NixOps
我正在尝试在带有 NixOps 的 NixOS 下的 Scala 中部署带有 Play 2 Web 服务的 VirtualBox。
我有这台机器:
在这个逻辑网络上:
Backoffice.nix 是这个派生的:
VM 启动并正常部署。但是当我 ssh 进入它时,我在里面找不到我的 Backoffice 派生。
如果我在本地做
...它构建没有问题,我可以在我的开发机器上的 /nix/store 中找到派生。
在虚拟机中,有一个 /nix/store/shaXXX-backoffice.service,所以它有点工作。但由于后台派生不存在,它什么也不做。
有人可以告诉我我做错了什么吗?
nix - NixOps 部署机器的 nixos 选项?
有一个命令nixos-option
检查给定系统的选项值。在引擎盖下它做了类似的事情:
但这不适用于 NixOps 部署的机器(那里没有配置)。有没有办法在部署机器上从 NixOps 部署配置中获取选项值?
nix - 何时以及如何使用 default.nix、shell.nix 和 release.nix?
在学习如何使用 Nix 包管理器时遇到的第一种 Nix 表达式是default.nix
;在精彩的 NixOS IRC 频道上,我了解到shell.nix
and的存在release.nix
。
我的印象是 - 粗略地 -default.nix
用于nix-build
简单地构建包,shell.nix
用于nix-shell
创建与包的交互环境,并release.nix
用于nixops
部署包。
由于这可能不完整且部分不正确,并且似乎没有明确记录,因此我想对这些“标准文件”进行清晰准确的解释;特别是,对于这些文件类型中的每一个(以及我缺少的任何其他标准文件),我想知道:
- 这种文件的典型用例是什么?它们不应该用于什么?
- 这种文件类型的结构通常如何?它的最低要求是什么?
- 您能否在其使用上下文中展示此类文件的范例示例,即使用说明并包括在 shell 或其他 Nix 表达式中使用它所需的代码行?
作为一个额外的奖励问题,我想知道在将软件包安装到 NixOS 模块时应该使用这些标准文件中的哪些(如果有的话)?那怎么做?
nixos - 在 nixos/nixops 上没有密码的登录 shell
我想要的是
我正在使用nixops
部署到VirtualBox
和libvirtd
(KVM)并且在这两个环境中,如果shell没有使用用户名/密码登录,我希望它已经提供了一个登录的shell。
- 对于 libvirt,我们有:
virsh console myfancydeploymentname
- 对于 VirtualBox,我们有:图形界面或一些
vboxmanage
命令
资源
也许它只是这里的扩展:
https://nixos.org/nixos/options.html#logind
或者
https://nixos.org/nixos/options.html#tty
任何指针都会很可爱!
python - NixOps - 使用 Python Flask 配置 Nginx 代理通道
我是 Nix 的新手,并试图实现一个通过 Nginx 传递 Python Flask Web 服务的服务proxy_pass
。这是我到目前为止所尝试的。
src/main.py
是在端口 5000 上运行的 Python Flask 服务。当我这样做时,如何实现此 Web 服务并运行nixops deploy -d DEPLOYMENT_NAME
?请帮忙。
nix - 如何导入 nixos 配置并将其与 nixops 部署表达式合并
我正在学习如何使用 Nix/NixOs/NixOps,但在重构简单的 NixOps 部署时遇到了麻烦。
我的出发点是这个工作vbox-all.nix
文件:
运行nixops create ./vbox.nix -d mydeployment
,然后nixops deploy -d mydeployment
完美运行:我得到了一台运行并htop
安装了 Postgres 9.6 的 VirtualBox 机器。
现在,将所有这些都放在一个文件中似乎不是长期维护的好主意。
这是我想我想要的文件布局:
这个想法是vbox-all.nix
导入configuration-all.nix
我可能想要的所有服务/包/配置(当前是 postgres 和 htop)。
这就是我无法上班的地方。
这是我的configuration-all.nix
:
这里是./postgres.nix
:
我想你可以猜到 的内容./htop.nix
,反正也没关系。
最后,我的修改vbox-all.nix
:
当我重新运行时nixops deploy -d mydeployment
,我没有收到任何错误,但生成的 VM 既没有 postgres 也没有 htop。
我必须从根本上误解要么with
或callPackage
。对我来说,它应该:执行./configuration-all.nix
(自动填充所有参数)中定义的函数并将结果表达式与我的“特定于部署的配置”合并。
我尝试了一些方法,例如:替换pkgs.callPackage
为import
(仍然没有错误,但仍然不好),使用inherit (pkgs.callPackage ./configuration-all.nix { })
而不是with
,等等,但到目前为止还没有骰子。
我一定遗漏了一些小东西,而且可能很明显......
nix - 将 nixpkgs 结帐传播到 NixOps 机器
我在 上维护我的个人更改nixpkgs
,我将其用于系统重建(通过 NixOps)和在我的工作站上进行开发(主要通过nix-shell
)。更改是基于通道顶部的提交,nixos-17.09
并存储在私有 git 服务器上。部署中的所有机器都对该 git 服务器具有读取权限。
在远程机器上使用nix-shell
时,我会得到来自机器安装时间的旧包(在我的情况下nixos-17.03
)。
nixpkgs
有没有办法在远程机器上使用完全相同的版本进行部署?
nixos - 使用 NixOps 部署静态文件
我有一个程序,它依赖于服务器上可用的static
和目录以及二进制文件。config
NixOps 的默认构建阶段不包括这些文件,据我所知,它只是编译二进制文件,然后将二进制文件复制到服务器。
如何修改构建阶段以使static
和config
目录在服务器上可用?我尝试添加:
但这似乎并没有真正复制文件,而且我从来没有看到执行过的echo
命令。这是 NixOps 使用的配置文件的要点。服务器上的错误是:
nix - 将机密传递给 NixOps 逻辑网络规范
我正在使用 NixOps 将 Web 应用程序部署到 AWS。该应用程序需要设置一些环境变量。我可以通过类似于以下内容来实现这一点:
我希望将此文件签入我的源代码控制系统,但如果我能提供帮助,我不希望它SECRET_VALUE
以明文形式存储。
当部署需要这些值时,有没有办法从 GPG 加密文件中读取这些值?还是有其他方法?还是我需要加密整个文件?