Time marches on, and so do security vulnerabilities in Nokogiri. So it's time
for a new middleman-hashicorp version.
As with last time, here's a reminder for the next person who needs to update
this:
- Packer is different from all the other product sites. It uses a Netlify
container to build, instead of either the basic middleman-hashicorp container
or the hybrid thing that Vault uses. It doesn't come with all batteries
included, so it has to take fifteen minutes to build the universe the first
time you run it (or the first time you run it after an upgrade). After that,
it caches all the gems it built the previous time.
- So the steps to update it are a bit different. (Simpler, but more sitting around.)
- Update the Gemfile
- Delete Gemfile.lock
- `make website` until it comes up, then ctrl-C
- Commit the changes
This commit fixes some dependencies with known issues. It DOES increase the
first build time by quite a bit because a few of the updated dependencies now
use native extensions, but once it's cached you should be good.
* removed packer.Cache and references since packer.Cache is never used except in the download step. The download step now uses the new func packer.CachePath(targetPath) for this, the behavior is the same.
* removed download code from packer that was reimplemented into the go-getter library: progress bar, http download restart, checksuming from file, skip already downloaded files, symlinking, make a download cancellable by context.
* on windows if packer is running without symlinking rights and we are getting a local file, the file will be copied instead to avoid errors.
* added unit tests for step_download that are now CI tested on windows, mac & linux.
* files are now downloaded under cache dir `sha1(filename + "?checksum=" + checksum) + file_extension`
* since the output dir is based on the source url and the checksum, when the checksum fails, the file is auto deleted.
* a download file is protected and locked by a file lock,
* updated docs
* updated go modules and vendors