$SUDO echo "role=$ROLE" | $SUDO tee /etc/facter/facts.d/role.txt > /dev/null
$SUDO echo "location=$LOCATION" | $SUDO tee /etc/facter/facts.d/location.txt > /dev/null
-# Run puppet apply
+# Set configuration and module path
PUPPET_OPTS="--confdir=$BASEDIR --modulepath=$BASEDIR/modules"
+
+# Puppet 8+ compatibility
+# https://github.com/puppetlabs/puppet/wiki/Puppet-8-Compatibility#module-compatibility
+# https://github.com/puppetlabs/puppet/blob/main/references/configuration.md#configuration-settings
+PUPPET_OPTS="$PUPPET_OPTS --include_legacy_facts"
+PUPPET_OPTS="$PUPPET_OPTS --no-strict_variables --strict=warning"
+
+# Run puppet apply
LC_ALL=C $SUDO puppet apply $PUPPET_OPTS $PUPPET_MANIFEST