tPl0ch / puppet-composer

A very flexible puppet module to install and use the composer PHP dependency manager.
http://forge.puppetlabs.com/tPl0ch/composer
MIT License
25 stars 60 forks source link

Authentication required #99

Open ericlaflamme opened 8 years ago

ericlaflamme commented 8 years ago

Hi all!

When a composer need an secure repo to install, it doesn't seems to work. I have this error:

[Composer\Downloader\TransportException] The 'https://repo.magento.com/packages.json' URL required authentication. You must be using the interactive console to authenticate

I checked and I created the auth.json before. If I run on CLI, it work just fine. I looked on google and every solution seems to point to an absent auth.json but it work on CLI for me. So it must be something else. Composer doesn't like puppet for authentication?

Anyone have a solution for this?

Thanks!

ericlaflamme commented 8 years ago

I fixed the problem by explicit set the "user" in the class{ composer }. I don't know why but the user variable was empty and was keeping using root and a mixed with my user. It wasn't finding the auth.json for authenticating to the repo.

I'm not sure what lesson we can get from that. Is that the default behavior to run as root with include composer? And then use the user in composer::project ?

This is what I need to install composer:

class { 'composer': user => "$owner", composer_home => "/home/$owner/.composer", suhosin_enabled => false,
}

then my project:

composer::project { 'magento2': project_name => 'magento/project-community-edition', # REQUIRED target_dir => "$docroot", # REQUIRED version => '2.0.7', # Some valid version string prefer_source => true, stability => 'stable', # Minimum stability setting keep_vcs => false, # Keep the VCS information dev => false, # Install dev dependencies repository_url => "https://repo.magento.com/", # Custom repository URL user => "$owner", # Set the user to run as }