Commit Graph

146 Commits

Author SHA1 Message Date
Matthew Hooker a831d522be
change run signatures
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.

`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker 366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
Krzysztof Wilczynski 567b566c23
docker: Remove AWS credentials and Session Token from being shown in the log.
Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
2017-12-10 20:55:03 +01:00
Matthew Hooker b07a0cd6f0
fix tests
always sort telemetry options
2017-11-14 16:39:03 -08:00
Matthew Hooker 1901c0385f
remove login_email from docker
adds fixer
removes documentation
removes from docker builder and docker-push pp
2017-10-25 10:53:06 -07:00
Aaron Browne ffc63a8724 Use amazon common AccessConfig for ecr_login
Signed-off-by: Aaron Browne <aaron0browne@gmail.com>
2017-10-17 15:00:19 -04:00
Aaron Browne 8df643c343 Add aws_profile option to docker-push ecr_login
An aws_profile option is added to the AWS ECR login credentials
configuration to allow using shared AWS credentials stored in
a non-default profile.

Signed-off-by: Aaron Browne <aaron0browne@gmail.com>
2017-10-16 16:55:34 -04:00
localghost 5866d4ea24 Move container user inspect to StepConnectDocker. 2017-10-10 22:45:47 +02:00
localghost ba72021274 Fix owner of files uploaded to docker container run as non-root. 2017-10-03 21:49:26 +02:00
Matthew Hooker b3661c1f63
builder/docker: set user during exec.
Add `exec_user` option to control what user `docker exec` is run as.
2017-09-28 16:39:23 -07:00
Matthew Hooker 392af507e0
builder/docker: respect rsync semantics when uploading directories. 2017-09-12 14:45:25 -07:00
Matthew Hooker 4edbd5322c
docker: stream uploads over stdin
Only write to a tempfile if we don't have a stat struct
2017-08-24 13:29:38 -07:00
Michael Juliano c8db128dc5
Modified func Upload to use docker cp 2017-08-24 13:29:37 -07:00
Megan Marsh ef858857e4 fix bug introduced by 5221 2017-08-14 14:07:21 -07:00
Sergei A Mamonov 07f7183b64 Add docker container dir to template 2017-08-14 09:26:05 -07:00
Megan Marsh 199b9062b0 fix file copy script to prevent error when encountering empty directory 2017-08-09 15:19:17 -07:00
Megan Marsh a2f7a65e35 fix communicator tests 2017-07-14 13:58:28 -07:00
Megan Marsh a281e60e15 de-mangle windows filepath to something docker can handle 2017-06-22 10:21:30 -07:00
Matthew Hooker 6581e0b7d6
add hostkeycallback everywhere else 2017-06-21 12:00:34 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker 79287d7e47
simplify some code 2017-03-28 20:36:20 -07:00
Matthew Hooker 230079f73a
spell fixes 2017-03-28 20:36:19 -07:00
guessi 66615e3f56 reuse the func DockerDriver.Version() 2017-02-16 08:26:44 +08:00
guessi 5eae809b0c improve description 2017-02-16 01:14:21 +08:00
guessi c5e01da3c6 Conditional ignore `force` flag for `docker-tag`
`docker tag -f` will now become an error, since it was removed after
upgrading docker daemon to 1.12.0 (or later)

this PR is to bypass `force` flag if docker >= 1.12.0 was detected

reference:
- https://docs.docker.com/engine/deprecated/#/f-flag-on-docker-tag

Signed-off-by: guessi <guessi@gmail.com>
2017-02-16 00:50:46 +08:00
Matthew Hooker c41e32dbc1
print stderr on docker import failure 2017-02-09 20:41:29 -08:00
Matthew Hooker a51f492558
communicator/docker: preserve file mode. 2017-01-23 13:47:22 -08:00
Matthew Hooker 9e2d69fb97
builder/docker: create export dir if needed 2017-01-21 23:51:08 -08:00
Rickard von Essen 112f5abdae
docker: Fix crash when performing log in to ECR with an invalid URL.
Closes #4383
2017-01-11 20:23:24 +01:00
Florian Rey 73c5eac4f0 Handle commit author & message the same way 2016-11-24 13:33:42 +01:00
Florian Rey 06bebb63d0 Add log 2016-11-24 13:07:01 +01:00
Florian Rey c925acf502 Introduce docker commit changes 2016-11-24 11:42:34 +01:00
Matthew Hooker 48bdae93d1 aws-sdk: use session.NewSession 2016-11-01 15:53:04 -07:00
Rickard von Essen 13c9db5dd5 Merge pull request #3885 from orivej/on-error
Add -on-error command line argument to allow preserving artifacts on builder errors
2016-09-20 12:28:14 +02:00
Rickard von Essen 476d981211 Merge pull request #3800 from benwtr/issue-3142-match-dotfiles-docker-communicator
Fix file provisioner dotfile matching w/ docker builder
2016-09-20 12:25:37 +02:00
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Rickard von Essen 10cba9795f Merge pull request #3476 from bhcleek/ansible-with-docker
fix docker builder with ansible provisioner
2016-09-12 13:56:28 +02:00
Rickard von Essen b2d9782a9e
Improved support for Amazon EC2 Container Registry - ECR
This adds support for authenticating towards ECR in the docker builder
and docker-push post-processor using them same mechanisms as in the
amazon builders. I.g. access key/secret key, credentials on file,
environment variables, sts tokens or IAM instance roles.
2016-09-04 14:33:47 +02:00
Ben P 8ecbbe9037 backticks instead of $() for csh compatibility 2016-08-11 11:27:56 -07:00
Ben P 0d7937fce1 [docker] ls -A instead of * glob for copying paths 2016-08-11 18:03:48 +00:00
Hao 5139b853fa privilege enabled docker container (#3475)
Issue #2724
2016-04-29 19:12:20 -07:00
Billie H. Cleek 165ec694ab fix docker builder with ansible provisioner
Refactor the docker builder so that it does not expect output from the
container to be strictly line oriented or even text, because SFTP, used by
Ansible, is a binary protocol. Since `docker exec` was introduced in 2014,
remove support for older versions of docker that required using `docker
attach`. The old notes in the docker builder referring to specific issues have
all been resolved or else closed because they could not be reproduced.
2016-04-27 13:54:40 -07:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Mark Peek bc0f438db0 Use alternate temp directories for docker
The temporary directories will be created under the packer config
directory. Setting PACKER_TMP_DIR will override this path.
2015-10-20 11:34:14 -07:00
Seth Vargo e863dbe100 Revert "Merge pull request #2807 from markpeek/markpeek-docker-tmpdir"
This reverts commit 31d3678814, reversing
changes made to a3a7c974d0.
2015-10-15 14:31:13 -04:00
Chris Bednarski 5eddaa77bf Corrected sprintf formatting in error messages 2015-10-08 17:43:54 -07:00
Chris Bednarski cc153aa71f Added a test to verify byte size for larger files downloaded from docker 2015-10-08 17:15:27 -07:00
Chris Bednarski 8ff5c07d0c Add a new packer template for testing large file downloads 2015-10-08 16:37:14 -07:00
Mark Peek 77bfd1de2e Workaround docker-machine shared folder mapping issue
When using docker-machine on a Mac only the /Users folder is shared with
the VM. Uploads fail since the normal tmpdir is not shared. This change
uses the local packer directory (usually when run in the users home
folders) allowing it to work without setting TMPDIR explicitly. A better
fix would be to use the docker API directly but that would force users
to use docker API version 20+.
- fixes #901, fixes #1752, fixes #2436, fixes #2675, fixes #2697.
2015-10-07 13:29:53 -07:00