saltstack-formulas / sudoers-formula

http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
Other
41 stars 168 forks source link

Can not figure out how to add and env_keep line to an included file. #32

Open rahedges opened 8 years ago

rahedges commented 8 years ago

I have file that I'm trying to include. The non-salt version looks like this:

jenkins` ALL=NOPASSWD: /usr/sbin/cowbuilder, /usr/sbin/chroot, /usr/bin/pbuilder
Defaults env_keep+="DEB_* DIST ARCH ADT BUILDBRANCHSTR APPVERSIONSTR  DEB_KEEP_BUILD_ENV"

I have figured out how to write the first line in a pillar, but can get the syntax right for the env_keep+= line. Does anyone have any suggestions?

Currently I am trying a pillar like this:

sudoers:
  includedir: /etc/sudoers.d
  included_files:
    /etc/sudoers.d/91-jenkins:
      users:
        jenkins:
          - 'ALL=NOPASSWD: /usr/sbin/cowbuilder'
          - 'All=NOPASSWD: /usr/sbin/chroot'
          - 'ALL=NOPASSWD: /usr/bin/pbuilder'
      defaults:
        - env_keep='"DEB_* DIST ARCH ADT BUILDBRANCHSTR APPVERSIONSTR  DEB_KEEP_BUILD_ENV"'

I have tried several other versions of this, but get the error:

Unable to manage file: Jinja variable 'list object' has no attribute 'get' Without the "env_keep" line the pillar is processed properly.

madrisan commented 4 years ago

You should just add one line at a time:

sudoers:
  includedir: /etc/sudoers.d
  included_files:
    /etc/sudoers.d/91-jenkins:
      users:
        jenkins:
          - 'ALL=NOPASSWD: /usr/sbin/cowbuilder'
          - 'All=NOPASSWD: /usr/sbin/chroot'
          - 'ALL=NOPASSWD: /usr/bin/pbuilder'
      defaults:
        generic:
          - env_keep += "DEB_*"
          - env_keep += "DIST"
          - env_keep += "ARCH"
          - env_keep += "ADT"
          - env_keep += "BUILDBRANCHSTR"
          - env_keep += "APPVERSIONSTR"
          - env_keep += "DEB_KEEP_BUILD_ENV"