Search code examples
salt-project

saltstack: getting started (so masterless) and wanting to use formulas


I'm new to saltstack and so I'm starting out serverless until I have things basically working. But to get things basically working, I want to use formulas, which means I should specify gitfs_remotes, but that only works (it appears) on the master.

So I clone https://github.com/my-organisation/openssh-formula.git and move openssh-formula/openssh to /srv/salt/openssh/.

Now in top.sls I say

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

and in system/init.sls, I say (among other things)

open_sshd_server:
  openssh

That fails:

[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 $

What works, though, is to push the openssh install to the top level:

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

But this is goofy, putting formula calls only at the top level is horrible and unscalable organisation.

Can anyone point me in the right thing direction?


Solution

  • You can use include to achieve this.

    include:
      - openssh
      - openssh.config