cookbook 'poise-archive', '~> 1.5.0'
poise-archive (9) Versions 1.5.0 Follow6
A Chef cookbook for unpacking file archives like tar and zip.
cookbook 'poise-archive', '~> 1.5.0', :supermarket
knife supermarket install poise-archive
knife supermarket download poise-archive
Poise-Archive Cookbook
A Chef cookbook to unpack file archives.
It supports .tar
, .tar.gz
, .tar.bz2
, and .zip
archive files.
Quick Start
To download an unpack and archive:
poise_archive 'https://example.com/myapp.tgz' do destination '/opt/myapp' end
Requirements
Chef 12.1 or newer is required.
Platforms
This cookbook supports all platforms (including Windows) but some Unix platforms
(Solaris, AIX) may see very slow tar file unpacking when using the pure-Ruby fallback
implementation.
Resources
poise_archive
The poise_archive
resource unpacks file archives.
poise_archive '/tmp/myapp-1.2.0.tar' do destination '/srv/myapp-1.2.0' end
A URL can also be passed as the source path, optionally with extra properties to
be merged with source_properties
.
poise_archive 'http://example.com/myapp-1.2.0.zip' do destination '/srv/myapp-1.2.0' end poise_archive ['http://example.com/myapp-1.2.0.zip', {headers: {'Authentication' => '...'}}] do destination '/srv/myapp-1.2.0' end
Actions
-
:unpack
– Unpack the archive. (default)
Properties
-
path
– Path to the archive. If relative, it is taken as a file insideChef::Config[:file_cache_path]
. If a URL, it is downloaded to a cache file first. (name attribute) -
destination
– Path to unpack the archive to. If not specified, the path of the archive without the file extension is used. Required when unpacking from a URL. (default: auto) -
group
– Group to run the unpack as. -
keep_existing
– Keep existing files in the destination directory when unpacking. (default: false) -
source_properties
– Property key/value pairs to be applied to theremote_file
file resource when downloading a URL. (default: {retries: 5}) -
strip_components
– Number of intermediary directories to skip when unpacking. Works like GNU tar's--strip-components
. (default: 1) -
user
– User to run the unpack as.
Sponsors
Development sponsored by Bloomberg.
The Poise test server infrastructure is sponsored by Rackspace.
License
Copyright 2016-2017, Noah Kantrowitz
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
BZip2 implementation is based on RBzip2. Copyright Sebastian Staudt, Brian Lopez.
RBzip2 code used under the terms of the new BSD license.
Poise-Archive Changelog
v1.5.0
- Support for 7-Zip unpacking archives on drives other than the system root.
- Chef 13 support.
v1.4.0
- Added support for using 7-Zip on Windows.
- Fixed handling of
.tar.xz
archives on RHEL and CentOS.
v1.3.0
- Add support for unpacking directly from a URL.
v1.2.1
- #1 Restore file permissions for ZIP files.
v1.2.0
- Add back a tar-binary provider called
GnuTar
, used by default on Linux. - Support for ZIP files via RubyZip.
- Full Windows support, including with the
user
andgroup
properties.
v1.1.2
- Fix compat with older Ruby that doesn't include
Entry#symlink?
.
v1.1.1
- Fix GNU tar longlink extension.
v1.1.0
- Scrap the original tar implementation in favor of a 100% pure-Ruby solution. This should work on all platforms exactly the same. Hopefully.
v1.0.0
- Initial release!
Collaborator Number Metric
1.5.0 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.5.0 passed this metric
No Binaries Metric
1.5.0 passed this metric
Testing File Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.5.0 failed this metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.5.0 passed this metric
No Binaries Metric
1.5.0 passed this metric
Testing File Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.5.0 passed this metric
1.5.0 passed this metric
Testing File Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.5.0 failed this metric
1.5.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number