Commit Graph

236 Commits

Author SHA1 Message Date
Joe Gornick d9fc06a170 Update Ansible provisioner to set cwd to staging directory. 2014-04-08 09:50:26 -05:00
Joe Gornick 6d56def162 Add inventory_file option to Ansible provisioner. 2014-04-04 14:58:48 -05:00
Ryan Burrows 6420fbb469 Fix ansible paths when provisioning Linux from Windows
Since the paths are generated on the host machine but the commands are
executed on the VM being provisioned the paths generated will use path
separators from the host. In the case of provisioning a Linux VM from
Windows this path will not work.

Convert the path to use a '/' separator which should work for both
platforms in Go
2014-03-18 11:12:13 -07:00
Mitchell Hashimoto 3de16f20b9 privisioner/chef-client: don't chown with ubuntu [GH-939] 2014-03-12 21:05:25 -07:00
Mitchell Hashimoto ab97545a52 provisioner/puppet-server: docs 2014-02-24 09:51:48 -08:00
Mitchell Hashimoto 2af91addf9 Merge pull request #796 from Jimdo/puppet-server
Add puppet server provisioner
2014-02-24 09:49:27 -08:00
Mitchell Hashimoto 000e5b67ff provisioner/chef-client: docs and validation key path 2014-02-24 09:45:04 -08:00
Mitchell Hashimoto d7e6409b9a provisioner/chef-client: clean up 2014-02-24 08:53:56 -08:00
Mitchell Hashimoto d0a08e83cf Merge pull request #855 from Elachance/chef-client-provisioner
adding chef-client provisioner
2014-02-24 08:33:11 -08:00
Mitchell Hashimoto 4576093c17 fmt 2014-02-24 08:26:51 -08:00
Mitchell Hashimoto 8c1de9e712 provisioner/ansible-local: better error if missing [GH-836] 2014-02-21 20:30:04 -08:00
Mitchell Hashimoto a51fbea499 provisioner/ansible-local: style 2014-02-21 15:27:39 -08:00
Jan Brauer ee50657097 Merge remote-tracking branch 'upstream/master' into puppet-server 2014-02-18 09:41:10 +01:00
Bernard McKeever 458d90c71d provisioner/ansible: support {group,host}_vars
ansible looks for group and host vars directories as well as playbooks
this revision to the provisioner uploads those as well.
squashed to a single commit by strcrzy.
2014-02-02 09:34:41 -08:00
Bailey Johnson 73bbfab8f1 adding chef-client provisioner 2014-01-25 01:06:55 +00:00
jamie brim ec1adec029 provisioner/ansible: configurable command / args
allow users to provide a replacement command / extra args to the
ansible-local provisioner.

this is useful, for example, to unbuffer output when using the
docker builder, or to modify ansible behavior, like enabling
verbose mode, injecting variables, or changing paths.
2014-01-22 14:34:34 -08:00
jamie brim 75f64ef6af provisioner/ansible: upload playbooks correctly
`Provision` calls uploadFile on each path in playbook_paths, but
playbook_paths can only contain directories, per bf7530ca28.

This changes `Provision` to call uploadDir instead.
2014-01-17 16:54:20 -08:00
Jan Brauer 9d01684c1c Use sudo by default, as in puppet-masterless 2014-01-09 08:51:48 +01:00
Jan Brauer 58b06526f5 Update docs for puppet-server provisioner 2014-01-08 13:03:03 +01:00
Jan Brauer 646f4a6dd3 Implement puppet-server provisioner
This closely modeled after the same provisioner
in Vagrant.
2014-01-08 12:50:24 +01:00
Mitchell Hashimoto 525802e9e6 provisioner/ansible-local: templates for role, playbook paths [GH-749] 2013-12-27 08:29:31 -07:00
Mitchell Hashimoto 4d3c9e7104 Merge pull request #726 from rocketnova/master
provisioner/chef-solo: Chef environment doesn't work for chef-solo
2013-12-18 08:40:13 -08:00
Sudharshan S e8d1cc8e31 Fix Puppet Provisioner crash when HieraConfigPath or ManifestDir is specified
Prevents the following error,
Build 'amazon-instance' errored: template: tpl11:1:103: executing "tpl11" at <.HieraConfigPath>: HieraConfigPath has arguments but cannot be invoked as function
2013-12-18 19:33:43 +05:30
Rocket bb8e9ad71c Change chef environment to work for chef-solo. 2013-12-17 17:15:37 -08:00
Jake Good b76a116823 Fix Ansible-local provisioner configuration check for 'playbook_paths' as it was checking for files, not paths 2013-12-12 14:13:23 -06:00
Mitchell Hashimoto 962cedd04c fmt 2013-12-11 13:43:59 -08:00
Mitchell Hashimoto 10546f6aee provisioner/puppet-masterless: fix compile 2013-12-11 13:22:00 -08:00
Mitchell Hashimoto 895d87d9eb provisioner/puppet-masterless: use Go 1.2 template comparators 2013-12-11 12:39:02 -08:00
Mitchell Hashimoto 3a2c04e4e5 provisioner/puppet-masterless: validate manifest_dir is a dir 2013-12-11 11:21:51 -08:00
Mitchell Hashimoto 2986452804 provisioner/puppet-masterless: simplify manifest dir upload 2013-12-11 11:20:22 -08:00
Jan Brauer afd0aea8df Merge branch 'master' into configure-manifest-dir 2013-12-10 09:08:11 +01:00
Mitchell Hashimoto 956f49f439 provisioner/puppet-masterless: check for hiera config path [GH-656] 2013-12-06 19:30:06 -08:00
Jan Brauer 1a191044e7 Return targetPath 2013-11-25 22:32:14 +01:00
Jan Brauer 8beaae0d0e #450 - allow configuration of manifest dir 2013-11-25 08:52:41 +01:00
Mitchell Hashimoto 7472507962 provisioner/chef-solo: test for encrypted data bag secret path config
/cc @matheeeny - Tests :)
2013-11-18 15:48:13 -08:00
Mitchell Hashimoto d56eec8852 provisioner/chef-solo: naming nitpick
/cc @matheeeny - I prefer to be more explicit and say this is the path,
rather than the secret value itself.
2013-11-18 15:46:37 -08:00
Andrew Matheny 6dfcf2b347 Add support for passing encrypted data bag secret to chef-solo
Adds additional option to chef-solo provisioner for an encrypted data bag
secret file.  Local file is copied up and referenced in solo.rb
2013-11-13 13:39:29 -05:00
Mitchell Hashimoto 457b99db3f provisioner/chef-solo: Say using Chef-solo 2013-11-09 18:47:20 -08:00
Mitchell Hashimoto d94cff93da Merge pull request #475 from kelseyhightower/ansible-provisioner
provisioner/ansible-local: Add support for provisioning with Ansible
2013-10-20 17:46:36 -07:00
Mitchell Hashimoto d1c497676a Merge pull request #514 from rgarcia/salt-masterless-uploaddir
provisioner/salt-masterless: use communicator.UploadDir
2013-10-20 17:42:38 -07:00
Mitchell Hashimoto 75bdba7f97 Merge pull request #513 from rgarcia/salt-masterless-mv-bug
provisioner/salt-masterless: move states to /srv/salt, not /srv/salt/states
2013-10-20 17:40:27 -07:00
Mitchell Hashimoto 528ae09c37 provisioner/shell: comment on why we return right away if advance == 0
/cc @mwhooker
2013-10-15 09:48:12 -10:00
Mitchell Hashimoto f673ca52ba provisoiner/shell: append only needs to add a byte for UnixReader 2013-10-15 09:40:47 -10:00
Matthew Hooker 104f5049a7 provisioner/shell: fix EOF detection
Fixes #507

The scanUnixLine function was erroneously returning empty lines when EOF
was reached.
This commit adds a test for the problem and changes the scanUnixLine
function to elide the trailing \n if no content was read.
2013-10-15 05:56:10 -07:00
Rafael Garcia 32b9a305a1 provisioner/salt-masterless: use communicator.UploadDir 2013-10-09 18:51:30 -07:00
Rafael Garcia 76393ba285 provisioner/salt-masterless: move states to /srv/salt, not /srv/salt/states
Latest version copies local state tree to {tmp}/states and then executes `mv {tmp}/states /srv/salt/`. This creates a `/srv/salt/states` instead of the correct `/srv/salt` directory.
2013-10-09 13:49:30 -07:00
Mitchell Hashimoto ff970483c4 provisioner/shell: add more tests for UnixReader 2013-10-04 10:47:28 -07:00
Mitchell Hashimoto 5dfe27b40f provisioner/chef-solo: unused var 2013-10-02 08:29:12 -07:00
Mitchell Hashimoto 543a1a21e8 provisioner/chef-solo: alphabetize tests and such
/cc @netshade
2013-10-02 08:28:51 -07:00
Chris fd6415ddf5 formatting 2013-10-01 11:21:16 -04:00
Chris bc8e5d2c41 add environments_path and chef_environment support to chef provisioner 2013-10-01 11:20:36 -04:00
Matthew Hooker 0d1b936f69 Fix UnixReader panic on empty lines.
Added a test for the failure.

Most of the scanner code looks like it's a modified version of
bufio.ScanLines, so I changed it to use that but always add a line feed.
2013-10-01 09:06:01 +00:00
Jason A. Beranek b3d76b7945 provisioner/shell: fix provisioner to use UnixReader [GH-477]
Packer was using the original file reader when uploading, instead of the UnixReader /cc @mitchellh
2013-09-30 23:54:54 -05:00
Mitchell Hashimoto 89d165aae7 provisioner/shell: add another UnixReader test for sanity 2013-09-30 11:39:24 -07:00
Kelsey Hightower e7b7d71f16 Add tests for ansible provisioner default settings 2013-09-29 15:44:21 -07:00
Kelsey Hightower 4d241b96c1 Define the default staging dir using a const var 2013-09-29 15:42:42 -07:00
Kelsey Hightower 365f356a0b Add tests for ansible-local provisioner 2013-09-29 14:54:49 -07:00
Kelsey Hightower ea3677387e Add ansible-local provisioner 2013-09-29 13:38:37 -07:00
Kirill Kazakov be80edb28e provisioner/chef-solo: fix .RolesPath and .DataBagsPath in the config template 2013-09-27 19:13:55 +04:00
Mitchell Hashimoto 25924a2d2b provisioner/puppet-masterless: user variables in puppet vars [GH-448] 2013-09-21 18:28:14 -07:00
Mitchell Hashimoto abbac36796 provisioner/shell: convert windows line endings to Unix [GH-277] 2013-09-20 10:22:43 -07:00
Mitchell Hashimoto 677f2989b9 provisioner/chef-solo: template doesn't support comp [GH-442] 2013-09-19 11:54:24 -07:00
Mitchell Hashimoto 1b1b535ee5 provisioner/chef-solo: one test per test
/cc @jerryclinesmith
2013-09-18 14:19:50 -07:00
Mitchell Hashimoto ba9d85c744 provisioner/chef-solo: template process roles/data bags path
/cc @jerryclinesmith
2013-09-18 14:17:54 -07:00
Mitchell Hashimoto 7034f69f2c provisioner/chef-solo: move quoting to template
/cc @jerryclinesmith - I want the quoting to go into the template. I
realize the cookbooks path doesn't do this and you were following that.
That one is just weird because it is an array and Go templates kind of
suck.
2013-09-18 14:17:07 -07:00
Mitchell Hashimoto b2d5b15155 fmt 2013-09-18 14:14:18 -07:00
Mitchell Hashimoto 129f1290c1 Merge pull request #411 from jerryclinesmith/issue_348
provisioners/chef-solo: add support for roles and data_bags
2013-09-18 14:13:41 -07:00
Mitchell Hashimoto dc0232975d provisioner/chef-solo: ability to specify custom chef template 2013-09-15 23:29:29 -07:00
Jack Pearkes 8f5a185818 provisioner/puppet-masterless: remove duplicate manifest upload message 2013-09-13 14:54:28 +02:00
Justin Clayton cd2280f3bf facter vars no longer smush up against puppet command when prevent_sudo is true 2013-09-12 16:52:25 -07:00
Jerry Clinesmith fa2f277c67 #348: chef-solo provisioner: add support for data_bags and roles 2013-09-10 22:00:29 -05:00
Mitchell Hashimoto 8e44971b3d provisioner/puppet-masterless: proper exit code check 2013-09-09 15:04:13 -07:00
Mitchell Hashimoto a14a3fe3f1 provisioner/puppet-masterless: detailed exit codes 2013-09-09 15:04:13 -07:00
Mitchell Hashimoto c83fbc0b42 provisioner/puppet-masterless: better messaging 2013-09-09 14:03:40 -07:00
Mitchell Hashimoto adbb490189 provisioner/file: support uploading directories [GH-251] 2013-09-09 14:00:06 -07:00
Mitchell Hashimoto fd0df9ff58 provisioners/puppet-masterless: support hiera configs 2013-09-09 13:24:17 -07:00
Mitchell Hashimoto 41b70aae99 provisioner/puppet-masterless: support custom facts 2013-09-08 23:00:11 -07:00
Mitchell Hashimoto b92aed5577 provisioner/puppet-masterless: more sane messaging 2013-09-07 23:43:06 -07:00
Mitchell Hashimoto 023678fe7b provisioner/puppet-masterless: more validation and tests 2013-09-07 23:31:28 -07:00
Mitchell Hashimoto d854b08642 provisioner/puppet-masterless: rework internals, use SCP 2013-09-07 23:08:56 -07:00
Mitchell Hashimoto 5079fd4f0b Rename puppet provisioner to puppet-masterless 2013-09-07 22:27:25 -07:00
James Turnbull d37f287f8c Added basic Puppet provisioner 2013-09-03 08:39:49 -04:00
Mitchell Hashimoto 28bf6122bd provisioner/*: implement Cancel 2013-08-30 23:23:36 -07:00
Mitchell Hashimoto 55b0b586d3 provisioner/chef-solo: code re-org 2013-08-30 16:35:57 -07:00
Mitchell Hashimoto 662e74d070 provisioner/chef-solo: properly escape user vars for JSON
/cc @mwhooker - I moved the processing up into Prepare so that any
errors will be shown during a validate pass. Also, I escape some stuff
in keys. Tests moved as well.
2013-08-30 16:05:04 -07:00
Mitchell Hashimoto 6914baa473 Merge pull request #364 from mwhooker/362
provisioner/chef-solo: template expansion of `json`
2013-08-30 15:26:39 -07:00
Mitchell Hashimoto 404ae53a4a provisioner/salt-masterless: join paths properly 2013-08-30 14:26:29 -07:00
Matthew Hooker 9537f085ae clean up and retab. 2013-08-28 17:35:43 -07:00
Matthew Hooker 4b76b2d9e3 template expansion of `json` in chef-solo
Fixes #362
2013-08-28 17:27:22 -07:00
Mitchell Hashimoto b4b68bce00 Merge branch 'fix-minion-config-with-non-tmp-dir' of https://github.com/rach/packer into rach-fix-minion-config-with-non-tmp-dir
Conflicts:
	provisioner/salt-masterless/provisioner.go
2013-08-27 20:21:02 -07:00
Mitchell Hashimoto 64fe98c465 provisioner/chef-solo: template process the configuration 2013-08-27 17:41:49 -07:00
Mitchell Hashimoto c9ef66651b fmt 2013-08-27 17:37:29 -07:00
Mitchell Hashimoto a8694fdda8 Merge pull request #353 from rach/add-setting-for-pillar-folder
provisioner/salt-masterless: Add setting for pillar folder
2013-08-27 17:36:28 -07:00
Rachid Belaid a755be49fa Add doc and change pillar tree in roots to respect salt vocabulary 2013-08-28 01:01:37 +01:00
Rachid Belaid 7bdb5f9cfb Add setting for pillar folder to respect saltstack structure 2013-08-28 00:38:36 +01:00
Rachid Belaid 40af1e681a Fix minion config with non tmp dir 2013-08-27 23:49:04 +01:00
Mitchell Hashimoto 3b097f9805 provisioner/chef-solo: use proper exceute command 2013-08-27 14:35:11 -07:00
Mitchell Hashimoto 87dde46413 provisioner/chef-solo: remove unused constants and variables 2013-08-27 13:32:59 -07:00
Mitchell Hashimoto e72c06a740 provisioner/chef-solo: upload cookbooks 2013-08-27 13:27:20 -07:00
Mitchell Hashimoto 607372f75a provisioner/chef-solo: massive refactor and style nitpick 2013-08-27 13:27:20 -07:00