# Source: https://github.com/puppetlabs/provision_service/blob/main/backend/templates/sles.sh.erb

# Needed for setting the password and writing into sudoers
sudo su

# Create the test user and add it to sudoers
useradd -m "davidtest"
echo "davidtest:passwordtest" | chpasswd

# Add <%= user %> user to sudoers for agent install and fix path in default secure path
echo 'davidtest ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers

# Add puppetlabs' bin directory to the allowed PATH contents for sudo
# See provision::fix_secure_path task for original implementation
pupt_path=/opt/puppetlabs/bin
sed -i -r -e "/^\s*Defaults\s*secure_path\s*/ s#=+\"([^\"]+)\".*#=\"\1:/opt/puppetlabs/bin\"#" /etc/sudoers
sed -i -r -e "/^\s*Defaults\s+secure_path/ s#=([^\"].*)#=\1:/opt/puppetlabs/bin#" /etc/sudoers

# allow password authentication on SSH
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
systemctl restart sshd

# Exit out of the sudo su state for safety
exit


# Inventory File
- name: ssh_nodes
  targets:
  - uri: 34.71.15.143
    config:
      transport: ssh
      ssh:
        user: davidtest
        password: passwordtest
        host-key-check: false
        port: 22
        run-as: root
    facts:
      provisioner: provision::provision_service
      platform: sles-15
    features:
    - puppet-agent
