* 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
Builder looks up tenant ID before asking for token. Client config did
not allow that. Also found that token provider was not properly
initialized.
Fixes 7267
This allows certificate based authentication, both by just referencing
the certificate file as well as by providing a bearer JWT. This last
option allows authentication without exposing the private key to packer
using an expiring JWT containting the thumbprint (and sometimes the
whole certificate for subject/issuer based auth), signed using the
certificate private key.
Export a configuration knob to change the disk caching setting. The
default value remains ReadWrite. This seems the most appropriate value
given Packer. Certain disk sizes require that disk caching be disable,
and this knob allows the user to do just that.