Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/voxpupuli/puppet-download_file
Puppet define created that can be used to download files rather than needing to store binaries in puppet repos
https://github.com/voxpupuli/puppet-download_file
hacktoberfest puppet windows-puppet-module
Last synced: 4 months ago
JSON representation
Puppet define created that can be used to download files rather than needing to store binaries in puppet repos
- Host: GitHub
- URL: https://github.com/voxpupuli/puppet-download_file
- Owner: voxpupuli
- License: mit
- Created: 2013-10-21T11:18:38.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T11:19:07.000Z (10 months ago)
- Last Synced: 2024-04-14T02:23:48.251Z (10 months ago)
- Topics: hacktoberfest, puppet, windows-puppet-module
- Language: Ruby
- Homepage: https://forge.puppet.com/puppet/download_file
- Size: 278 KB
- Stars: 8
- Watchers: 46
- Forks: 42
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Download File module for Puppet
[![Build Status](https://travis-ci.org/voxpupuli/puppet-download_file.png?branch=master)](https://travis-ci.org/voxpupuli/puppet-download_file)
[![Code Coverage](https://coveralls.io/repos/github/voxpupuli/puppet-download_file/badge.svg?branch=master)](https://coveralls.io/github/voxpupuli/puppet-download_file)
[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/download_file.svg)](https://forge.puppetlabs.com/puppet/download_file)
[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/download_file.svg)](https://forge.puppetlabs.com/puppet/download_file)
[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/download_file.svg)](https://forge.puppetlabs.com/puppet/download_file)
[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/download_file.svg)](https://forge.puppetlabs.com/puppet/download_file)#### Table of Contents
1. [Overview](#overview)
2. [Module Description - What the module does and why it is useful](#module-description)
3. [Setup - The basics of getting started with download_file](#setup)
* [What download_file affects](#what-download_file-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with download_file](#beginning)
4. [Usage - Configuration options and additional functionality](#usage)
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#contributing)## Overview
The download_file module allows you to download files on Windows
## Module Description
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.## Setup
### What download_file affects
* Downloads files onto each node
### Setup Requirements
* download_file makes use of Powershell so you will need to have at least
version 2.0 installed in order to use this module.### Beginning with download_file
To download dotnet 4.0
```puppet
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
```puppet
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## Usage
## Reference
### Defined Types
#### Public Types
* `download_file`: Download a give file
### Parameters
#### `url`
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):```Powershell
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-.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.
## Limitations
This module is tested on the following platforms:
* Windows 2008
* Windows 2008 R2
* Windows 2012
* Windows 2012 R2
* Windows 7
* Windows 8It is tested with the OSS version of Puppet only.
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for full details on contributing
to this project.