make puppet agent location flexible