2014-09-08 13:30:10 -04:00
---
layout: "docs"
page_title: "compress Post-Processor"
2014-10-20 16:47:30 -04:00
description: |-
2015-06-18 08:13:48 -04:00
The Packer compress post-processor takes an artifact with files (such as from VMware or VirtualBox) and compresses the artifact into a single archive.
2014-09-08 13:30:10 -04:00
---
# Compress Post-Processor
Type: `compress`
2014-10-20 16:47:30 -04:00
The Packer compress post-processor takes an artifact with files (such as from
2015-06-18 06:55:51 -04:00
VMware or VirtualBox) and compresses the artifact into a single archive.
2014-09-08 13:30:10 -04:00
## Configuration
2015-06-18 08:13:48 -04:00
### Required:
2015-06-18 06:55:51 -04:00
You must specify the output filename. The archive format is derived from the filename.
2014-09-08 13:30:10 -04:00
2015-06-18 08:13:48 -04:00
* `output` (string) - The path to save the compressed archive. The archive
format is inferred from the filename. E.g. `.tar.gz` will be a gzipped
tarball. `.zip` will be a zip file. If the extension can't be detected packer
defaults to `.tar.gz` behavior but will not change the filename.
If you are executing multiple builders in parallel you should make sure
`output` is unique for each one. For example `packer_{{.BuildName}}_{{.Provider}}.zip` .
2015-06-18 03:47:33 -04:00
2015-06-18 08:13:48 -04:00
### Optional:
2015-06-18 03:47:33 -04:00
If you want more control over how the archive is created you can specify the following settings:
2015-06-18 08:13:48 -04:00
* `compression_level` (integer) - Specify the compression level, for algorithms
that support it, from 1 through 9 inclusive. Typically higher compression
levels take longer but produce smaller files. Defaults to `6`
2015-07-09 05:19:18 -04:00
* `keep_input_artifact` (boolean) - Keep source files; defaults to `false`
2015-06-18 03:47:33 -04:00
2015-06-18 08:13:48 -04:00
### Supported Formats
2015-06-18 03:47:33 -04:00
2015-06-18 06:55:51 -04:00
Supported file extensions include `.zip` , `.tar` , `.gz` , `.tar.gz` , `.lz4` and `.tar.lz4` . Note that `.gz` and `.lz4` will fail if you have multiple files to compress.
2014-09-08 13:30:10 -04:00
2015-06-18 08:13:48 -04:00
## Examples
2014-09-08 13:30:10 -04:00
2015-06-18 03:47:33 -04:00
Some minimal examples are shown below, showing only the post-processor configuration:
```json
{
"type": "compress",
2015-06-18 06:55:51 -04:00
"output": "archive.tar.lz4"
2015-06-18 03:47:33 -04:00
}
```
```json
{
"type": "compress",
"output": "archive.zip"
}
```
```json
2014-09-08 13:30:10 -04:00
{
"type": "compress",
2015-06-18 03:47:33 -04:00
"output": "archive.gz",
2015-06-18 06:55:51 -04:00
"compression": 9
2014-09-08 13:30:10 -04:00
}
2014-10-20 13:55:16 -04:00
```