Puppet define created that can be used to download files rather than needing to store binaries in puppet repos
MIT License
The download_file module allows you to download files on Windows
The download_file module introduced a small define download_file
that will
allow you to download a file over http(s) for usage during an installation.
This was created because the package resource does not support http as a source
for packages. It is only supported on Windows.
To download dotnet 4.0
download_file { "Download dotnet 4.0" :
url => 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe',
destination_directory => 'c:\temp'
}
To download dotnet 4.0 using a proxy
download_file { "Download dotnet 4.0" :
url => 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe',
destination_directory => 'c:\temp',
proxy_address => 'http://corporateproxy.net:8080'
}
The proxy will be used as part of the download using PowerShell. This does not set a system wide proxy
download_file
: Download a give fileurl
The http(s) destination of the file that you are looking to download
destination_directory
The full path to the directory on the system where the file will be downloaded to
destination_file
The optional name of the file to download onto the system.
user
The optional userid is used when authenticating via Basic Auth with the server.
user
and password
must be specified or this has no effect.
password
The optional password is used when authenticating via Basic Auth with the server.
user
and password
must be specified or this has no effect.
proxy_address
The optional http proxy address to use when downloading the file
proxy_user
The optional http proxy user to use when downloading the file. proxy_address
and proxy_password
must be specified or this has no effect.
proxy_password
The optional http proxy password to use when downloading the file. proxy_address
and proxy_user
must be specified or this has no effect. By default this value
accepts secure strings. A secure string is (unfortunately) tied to the machine
that it is used for. To generate a secure string for a given machine, users
should run the following powershell command on that machine (replacing
PASSWORD with the desired password):
ConvertFrom-SecureString -securestring $(ConvertTo-SecureString "PASSWORD" -AsPlainText -Force)
It is possible to get this information then clear the command from history, but it's important to note that the -Force argument is there to suppress warnings that the plaintext password is in the history.
If this process sounds unappealing, you can send the password in plaintext
(which sits in the download-<filename>.ps1
file on the machine being provisioned)
by changing the is_password_secure
variable to false
.
is_password_secure
The optional switch to change the way that proxyPassword
is interpreted from
secure string to plaintext. This will send the password in plaintext to the
machine being provisioned, which may be a security concern.
cookies
An optional array of cookies to add to the HTTP request for the download.
This module is tested on the following platforms:
It is tested with the OSS version of Puppet only.
Please read CONTRIBUTING.md for full details on contributing to this project.