Commit Graph

260 Commits

Author SHA1 Message Date
Justin Campbell 56cd8171cc
command/push: Push CLI vars to Atlas 2016-11-07 12:52:29 -08:00
Matthew Hooker 6b7ac8ee90 make generate 2016-11-02 11:48:32 -07:00
James Nugent b1ff8c3bfc builder/amazon: Add `ebs-volume` builder
This commit adds a builder that works like EBS builders, except does not
create an AMI, and instead is intended to create EBS volumes in an
initialized state. For example, the following template can be used to
create and export a set of 3 EBS Volumes in a ZFS zpool named `data` for
importing by instances running production systems:

```
{
	"variables": {
		"aws_access_key_id": "{{ env `AWS_ACCESS_KEY_ID` }}",
		"aws_secret_access_key": "{{ env `AWS_SECRET_ACCESS_KEY` }}",
		"region": "{{ env `AWS_REGION` }}",
		"source_ami": "{{ env `PACKER_SOURCE_AMI` }}",
		"vpc_id": "{{ env `PACKER_VPC_ID` }}",
		"subnet_id": "{{ env `PACKER_SUBNET_ID` }}"
	},
	"builders": [{
		"type": "amazon-ebs-volume",
		"access_key": "{{ user `aws_access_key_id` }}",
		"secret_key": "{{ user `aws_secret_access_key` }}",
		"region": "{{user `region`}}",
		"spot_price_auto_product": "Linux/UNIX (Amazon VPC)",

		"ssh_pty": true,
		"instance_type": "t2.medium",
		"vpc_id": "{{user `vpc_id` }}",
		"subnet_id": "{{user `subnet_id` }}",
		"associate_public_ip_address": true,
		"source_ami": "{{user `source_ami` }}",
		"ssh_username": "ubuntu",
		"ssh_timeout": "5m",

		"ebs_volumes": [
			{
				"device_name": "/dev/xvdf",
				"delete_on_termination": false,
				"volume_size": 10,
				"volume_type": "gp2",
				"tags": {
					"Name": "TeamCity-Data1",
					"zpool": "data",
					"Component": "TeamCity"
				}
			},
			{
				"device_name": "/dev/xvdg",
				"delete_on_termination": false,
				"volume_size": 10,
				"volume_type": "gp2",
				"tags": {
					"Name": "TeamCity-Data2",
					"zpool": "data",
					"Component": "TeamCity"
				}
			},
			{
				"device_name": "/dev/xvdh",
				"delete_on_termination": false,
				"volume_size": 10,
				"volume_type": "gp2",
				"tags": {
					"Name": "TeamCity-Data3",
					"zpool": "data",
					"Component": "TeamCity"
				}
			}
		]
	}],
	"provisioners": [
	{
		"type": "shell",
		"start_retry_timeout": "10m",
		"inline": [
			"DEBIAN_FRONTEND=noninteractive sudo apt-get update",
			"DEBIAN_FRONTEND=noninteractive sudo apt-get install -y zfs",
			"lsblk",
			"sudo parted /dev/xvdf --script mklabel GPT",
			"sudo parted /dev/xvdg --script mklabel GPT",
			"sudo parted /dev/xvdh --script mklabel GPT",
			"sudo zpool create -m none data raidz xvdf xvdg xvdh",
			"sudo zpool status",
			"sudo zpool export data",
			"sudo zpool status"
		]
	}
	]
}
```

StepModifyInstance and StepStopInstance are now shared between EBS and
EBS-Volume builders - move them into the AWS common directory and rename
them to indicate that they only apply to EBS-backed builders.
2016-11-02 12:56:39 -04:00
Matthew Hooker d920b3fbf4 run gofmt 2016-11-01 14:08:04 -07:00
Matthew Hooker 01be917450 Merge pull request #3660 from StackPointCloud/packer-builder-profitbricks
Packer Builder ProfitBricks
2016-10-31 15:45:24 -07:00
Sander van Harmelen dbf3bf56d4 Add a CloudStack Builder 2016-10-16 15:29:18 +02:00
jasminSPC dca286bf38 Merge remote-tracking branch 'upstream/master' into packer-builder-profitbricks 2016-10-10 23:53:52 +02:00
Matthew Hooker a8e57d83d2 gofmt project.
noticed many unrelated changes being added to patches because of gofmt.

ran `find . -not -path "./vendor/*" -name "*.go" -exec gofmt -w {} \;`
2016-09-29 14:13:06 -07:00
Doka 4256ab2cc2 add dot to build name regexp
allows build names like debian-8.3
2016-09-28 15:11:36 -07:00
Orivej Desh 4fe86244a5 Improve -on-error descriptions 2016-09-18 03:00:36 +00:00
Orivej Desh 639bf356aa Fail on unknown values of -on-error 2016-09-17 14:42:21 +00:00
Orivej Desh e9cc28565b Document -on-error on the "packer build" page 2016-09-16 12:15:00 +00: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
jasminSPC d84b3af863 Fixed tests 2016-08-31 14:11:10 +02:00
Scott Crunkleton d2e65e6433 Generated command/plugin.go using scripts/generate-plugins.go. 2016-08-15 14:36:26 -07:00
crunk1 55b5a45ae4 Created googlecompute-export post-processor. Modified the googlecompute builder to pass a few configuration values to its resulting artifact. These values can then be used in googlecompute-export post-processor.
Added documentation and changed authentication stuff on temporary VM.
2016-08-15 14:36:26 -07:00
Chris Bednarski db593a517d Added manifest post-processor, which creates a manifest of build artifacts 2016-06-10 15:57:01 -07:00
Vasiliy Tolstov d64603e137 initial import of checksum post-processor (#3492)
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-05-18 17:31:16 -07:00
Christopher Boumenot ad3d674919 Do not use Fprintf, use Fprint. 2016-04-05 22:41:26 -07:00
Alvaro Miranda 6237df566f add -color to build -h command 2016-03-23 04:40:24 +13:00
Chris Bednarski 5b5888b230 Initial import of Microsoft contributed code 2016-03-14 20:08:35 -07:00
Chris Bednarski 6a38303030 Make the build name error message show the original regexp 2016-03-01 19:01:46 -08:00
Chris Bednarski 53176f8cdb Added amazon s3 service to vendor, to support the amazon-import feature 2016-02-12 10:41:26 -08:00
Chris Bednarski 58ebd6a9fd Merge branch 'deps' 2016-02-05 14:22:00 -08:00
Chris Bednarski 93547ad91c Regenerate command/plugin and apply go fmt (now handled by the makefile) 2016-02-05 11:18:36 -08:00
Chris Bednarski 171265c983 Remove generator from command/version because we can't go build ./... -- it also builds vendored stuff 2016-02-05 11:17:48 -08:00
Marat Bakeev c95b2b483f Merge branch ansible-provisioner of https://github.com/dkhenry/packer 2016-02-05 15:40:17 +13:00
Chris Bednarski 1f8ebab4de There's no Warn, only Say 2016-01-20 15:30:16 -08:00
Chris Bednarski d8953e48d4 Change log to Ui.Warn and restore the removed functionality for now 2016-01-14 17:18:02 -08:00
Chris Bednarski 5e34864494 Add deprecation notice for -m/-message 2015-10-27 18:35:57 -07:00
Chris Bednarski 3dfdef4d39 Removed push -m since this is not used 2015-10-27 18:30:58 -07:00
Mark Peek 71ed8e4a38 Fix #2742: Include template line numbers on error 2015-10-25 12:28:06 -07:00
Mark Peek 62fd4df0a7 Merge pull request #2684 from mitchellh/docs-atlas-names
Added a note to the push docs about dot being disallowed in atlas names
2015-10-23 17:46:24 -07:00
Chris Bednarski 6783bc3fb0 Added generator for command/plugin.go so we don't have to edit it by hand to add new plugins 2015-10-21 16:57:38 -07:00
Chris Bednarski bfe5b5b4b6 Change if/else logic to switch 2015-10-21 16:57:38 -07:00
Chris Bednarski 1641a5e0cb Replace string splitting with a regexp; this is clearer and less code because of the post-processor case 2015-10-21 16:57:38 -07:00
Chris Bednarski e080e73b04 Add some exit codes and use a constant for -PACKERSPACE- 2015-10-21 16:57:38 -07:00
Chris Bednarski 9fa93712a1 Added integrated post-processors 2015-10-21 16:57:38 -07:00
Chris Bednarski d09a9ab0c7 Implemented internal plugins
- Internal plugins are compiled into the same packer binary and invoked through the plugin command
- Search paths allow disk-based plugins to override and should function as normal
- This should allow for a 94% space savings vs statically compiling all the plugins as separate binaries.. approximately 24mb vs 431mb
2015-10-21 16:57:38 -07:00
Mark Peek af055ad3e0 Synchronize access to artifact map to remove race 2015-10-14 08:25:13 -07:00
Chris Bednarski c834a00e22 Added a name validator to the push command 2015-08-26 12:16:18 -07:00
Rickard von Essen 4e20522afd Fixes #2667: Added vmware-rename to fix command help text 2015-08-24 20:19:49 +02:00
Chris Bednarski b3eacc5c2b Updated test to verify expected behavior 2015-07-13 19:32:28 -07:00
Chris Bednarski 78174dae4e Don't override packer's build version from a config file; fixes #2385 2015-07-13 19:03:36 -07:00
Chris Bednarski da20c36454 Removed unused variable breaking gorename 2015-07-13 18:04:50 -07:00
Chris Bednarski 28a13111b8 Add stub for validate test 2015-07-13 14:57:35 -07:00
Zach Zolton 548f2ced1c Fix `packer build` reading from STDIN
Signed-off-by: Jesse Szwedko <jesse.szwedko@getbraintree.com>
2015-06-30 17:56:14 +00:00
Mitchell Hashimoto 5c82ac2835 Merge pull request #2356 from mitchellh/b-min-version
packer: validate minimum version [GH-2310]
2015-06-29 13:46:35 -07:00
Mitchell Hashimoto 2498ad02c8 packer: validate minimum version [GH-2310] 2015-06-29 11:49:45 -07:00
Chris Bednarski 94e1f83070 Added a black-box acceptance test for -only and -except build flags 2015-06-27 00:47:50 -07:00
Mitchell Hashimoto 1bcb52a093 command/fix: validate resulting template [GH-2075] 2015-06-13 13:56:09 -04:00
Mitchell Hashimoto 2a6c4e0d2c command/push: output fix 2015-06-09 21:09:56 -07:00
Mitchell Hashimoto 6e9fb6a9d1 command/push: the -name parameter actually works 2015-06-09 21:09:09 -07:00
Mitchell Hashimoto 793698f8a7 command/build: skip nil builds [GH-2163] 2015-06-04 16:25:14 +02:00
Mitchell Hashimoto c49fe672b3 command/validate: bail if can't initialize build [GH-2139] 2015-05-29 16:09:37 -07:00
Mitchell Hashimoto 1b775cca2e packer: core interpolates Push 2015-05-29 15:41:52 -07:00
Mitchell Hashimoto 579264bb5b command/push: interpolate 2015-05-29 15:35:55 -07:00
Mitchell Hashimoto f8c877771d Merge branch 'f-packer-push-name' 2015-05-28 15:18:36 -07:00
Mitchell Hashimoto 590997df44 packer: automatically validate when creating a core 2015-05-28 14:43:15 -07:00
Mitchell Hashimoto 1ee2b014a6 packer: remove Ui/Cache from CoreConfig 2015-05-27 20:09:52 -07:00
Mitchell Hashimoto 8df1bca5a1 command/meta: parse var-files 2015-05-26 09:58:36 -07:00
Mitchell Hashimoto 946f745881 command: don't use packer.Template 2015-05-26 09:38:09 -07:00
Mitchell Hashimoto dc74ec5612 packer: remove Environment 2015-05-25 17:29:10 -07:00
Mitchell Hashimoto 9d89ca8e07 command: build should be converted to new API, compiles 2015-05-23 16:30:45 -07:00
Jack Pearkes 344c741642 command/push: allow specifying a -name param for push target 2015-04-15 12:54:58 -07:00
Seth Vargo cd0d326934 Allow -create to be passed still for BC 2015-02-04 13:36:06 -05:00
Seth Vargo 6728326cc3 Also pass in the template contents and name of the template when pushing 2015-02-04 13:30:40 -05:00
Seth Vargo 983b0b8988 Allow specifying a -message when pushing 2015-02-04 13:30:40 -05:00
Seth Vargo 8e0c7ace3a Add a -message option to pushes 2015-02-04 13:30:40 -05:00
Seth Vargo 17d4c4396c Always create the build configuration if it does not exist 2015-02-04 13:30:39 -05:00
Mitchell Hashimoto f02000c85d command/push: update help text 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto 80c93bfea0 command/push: ctrl-C should work properly 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto cc61a7dfb8 command/push: warn for bad builds 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto c9504d50ba command/push: send artifact true/false if we're post-processing 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto 73c5192b35 command/push: add base_dir setting 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto f76116e4a3 command/push: if a token isn't given, don't set it 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto d08815fc49 command/push: works 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto c1fbc473a2 command/push: propagate token properly 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto 6bd8c6ca79 command/push: support custom endpoints 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto 2f65b1bb67 command/push: create the build config if we can 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto 2f60707463 command/push: actual upload to named build config 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto 0f5ef2ce2b command/push: close reader 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto fbc1551048 command/push: partially implemented, tests 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto 6fb375c89e command: push command 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto 356b48827b command: version tests 2014-10-27 20:58:44 -07:00
Mitchell Hashimoto a5a2c3ceb7 command: support machine-readable still 2014-10-27 20:58:05 -07:00
Mitchell Hashimoto 8dbe0f065c Remove version from "packer" package 2014-10-27 20:51:34 -07:00
Mitchell Hashimoto fa36cf82ee command: move all remaining commands 2014-10-27 20:34:49 -07:00
Mitchell Hashimoto 8054e66db6 command: move more to this package, remove old packages 2014-10-27 20:31:02 -07:00
Mitchell Hashimoto 96b0ec5395 Start putting commands in command/, modify core 2014-10-27 20:21:13 -07:00
Mitchell Hashimoto c6243a2de7 command/build: -color [GH-1433] 2014-09-05 16:05:02 -07:00
Mitchell Hashimoto b5f153a1a2 command/build: -parallel=false to disable parallelization [GH-924] 2014-03-12 21:34:43 -07:00
Mitchell Hashimoto 02bb5b0a97 packer: template process build names [GH-744] 2013-12-27 09:43:59 -07:00
Mitchell Hashimoto 107e47fe25 update commands to new user var syntax 2013-12-27 09:21:17 -07:00
Mitchell Hashimoto 6f449abf2e command/fix: remove some useless comments 2013-12-25 11:16:26 -07:00
Mitchell Hashimoto 87f9eca511 command/fix: rename vmware to vmware-iso 2013-12-25 11:13:32 -07:00
Mitchell Hashimoto 89ab009c3f command/fix: add fixer to fix virtualbox to virtualbox-iso 2013-12-22 16:01:28 -08:00
Mitchell Hashimoto 99cbe1fc42 command/fix: update help 2013-12-19 14:56:12 -08:00
Mitchell Hashimoto 8819594386 command/fix: fix for overrides 2013-12-19 14:54:00 -08:00
Mitchell Hashimoto 84f8c0bfa0 command/fix: cleaner 2013-12-19 14:44:12 -08:00