saltstack:入门(如此无主)并想要使用公式

时间:2018-01-22 16:12:03

标签: salt-stack

我是Saltstack的新手,所以我开始无服务器,直到我的东西基本上工作。但是为了让事情基本起作用,我想使用公式,这意味着我应该指定gitfs_remotes,但这只能在主服务器上工作(它出现)。

所以我克隆https://github.com/my-organisation/openssh-formula.git并将openssh-formula / openssh移动到/ srv / salt / openssh /.

现在在top.sls我说

base:
  '*':
    - system  # sshd, git, system

system/init.sls,我说(除其他外)

open_sshd_server:
  openssh

失败了:

[T] ubuntu@ubuntu-xenial:vagrant $ sudo salt-call --local state.highstate
local:
    Data failed to compile:
----------
    ID open_sshd_server in SLS system is not a dictionary
[T] ubuntu@ubuntu-xenial:vagrant $

然而,有效的方法是将openssh安装推向顶层:

base:
  '*':
    - system  # not sshd, but git, system
    - openssh

但这很愚蠢,只把公式电话放在最顶层是一个可怕且不可扩展的组织。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

您可以使用include来实现此目标。

include:
  - openssh
  - openssh.config

答案 1 :(得分:-1)

您的SLS文件结构很好。您不必将公式电话放在最高级别。

问题出在状态open_sshd_server。您可以使用以下结构进行单个软件包安装:

openssh:
  pkg.installed

对于多个软件包安装:

xfce:
  pkg.installed:
    - pkgs:
       - Thunar
       - thunar-archive-plugin
       - polkit-gnome
       - xfce4-panel
       - xfce4-session
       - xfce4-settings
       - ...

使用pkg.installed,您不需要任何除非条件。