--- - name: Ensure Ruby packages are installed package: name: - ruby-full - ruby-augeas # - libaugeas0 - libaugeas-dev # - augeas-tools - name: Ensure Puppet agent gem is installed gem: name: puppet version: "<7" norc: true user_install: false state: present - name: Ensure Pathspec gem is installed gem: name: pathspec version: "0.2.1" user_install: false state: present - name: Ensure other gems are installed gem: name: "{{ item }}" user_install: false loop: - augeas - ruby-augeas - rspec-puppet-augeas - puppet-lint-concatenated_template_files-check - name: Ensure puppet group exists group: name: puppet - name: Ensure puppet user exists user: name: puppet group: puppet - name: Ensure puppet folder exists file: path: /etc/puppetlabs/puppet/ state: directory owner: puppet group: puppet - name: Ensure puppet server is configured ini_file: path: /etc/puppetlabs/puppet/puppet.conf owner: puppet group: puppet section: main option: server value: "{{ puppet_server }}" create: true - name: Ensure default puppet exists copy: src: files/default_puppet dest: /etc/default/puppet - name: Ensure puppet agent service unit file exists copy: src: files/puppet.service dest: /etc/systemd/system/puppet.service notify: Reload Systemd daemon # mkdir -p /etc/puppetlabs/code/environments/production/modules/ # mkdir -p /etc/puppetlabs/code/environments/production/manifests/ - name: Ensure puppet agent service is enabled and running systemd: name: puppet enabled: true state: started