Adrien Delorme
260dc59500
use the hcl2template.KVFilter where we can
2020-03-13 17:17:46 +01:00
r_takaishi
f50ff1d270
make generate
2020-03-13 11:29:42 +09:00
Wilken Rivera
9ec8b67392
Add golangci-lint to project ( #8686 )
...
* Add golangci-lint as linting tool
* Disable failing staticchecks to start; GitHub issue to handle coming soon
* Run `goimports -w` to repair all source files that have improperly
formatted imports
* makefile: Add ci-lint target to run on travis
This change adds a new make target for running golangci-lint on newly
added Go files only. This target is expected to run during Packer ci builds.
* .github/contributing: Add code linting instructions
* travis: Update job configuration to run parallel builds
2020-02-14 11:42:29 -05:00
Sylvia Moss
08b0bd1d2c
Fix HCL2 code generation for slices within another slice ( #8669 )
2020-02-03 17:03:28 +01:00
Sylvia Moss
dc31bad539
Sharing info with post-processors via artifact ( #8632 )
2020-01-30 11:27:58 +01:00
Megan Marsh
d55f256cac
Merge pull request #8414 from footplus/fix_osc_ssh_host_detection
...
builder/osc: fix ssh host detection in Public Cloud and Nets
2020-01-15 12:13:28 -08:00
Adrien Delorme
731904d3d2
mapstructure-to-hcl2: use accessor for named types and not named type + go genrate + tests
2020-01-07 11:44:22 +01:00
Adrien Delorme
f1e6f8eac1
removed unused config puts
2019-12-19 18:06:39 +01:00
Adrien Delorme
4b7132c87c
Merge remote-tracking branch 'origin/master' into sharing_info
2019-12-17 11:57:09 +01:00
Adrien Delorme
0785c2f6fc
build using HCL2 ( #8423 )
...
This follows #8232 which added the code to generate the code required to parse
HCL files for each packer component.
All old config files of packer will keep on working the same. Packer takes one
argument. When a directory is passed, all files in the folder with a name
ending with “.pkr.hcl” or “.pkr.json” will be parsed using the HCL2 format.
When a file ending with “.pkr.hcl” or “.pkr.json” is passed it will be parsed
using the HCL2 format. For every other case; the old packer style will be used.
## 1. the hcl2template pkg can create a packer.Build from a set of HCL (v2) files
I had to make the packer.coreBuild (which is our one and only packer.Build ) a public struct with public fields
## 2. Components interfaces get a new ConfigSpec Method to read a file from an HCL file.
This is a breaking change for packer plugins.
a packer component can be a: builder/provisioner/post-processor
each component interface now gets a `ConfigSpec() hcldec.ObjectSpec`
which allows packer to tell what is the layout of the hcl2 config meant
to configure that specific component.
This ObjectSpec is sent through the wire (RPC) and a cty.Value is now
sent through the already existing configuration entrypoints:
Provisioner.Prepare(raws ...interface{}) error
Builder.Prepare(raws ...interface{}) ([]string, error)
PostProcessor.Configure(raws ...interface{}) error
close #1768
Example hcl files:
```hcl
// file amazon-ebs-kms-key/run.pkr.hcl
build {
sources = [
"source.amazon-ebs.first",
]
provisioner "shell" {
inline = [
"sleep 5"
]
}
post-processor "shell-local" {
inline = [
"sleep 5"
]
}
}
// amazon-ebs-kms-key/source.pkr.hcl
source "amazon-ebs" "first" {
ami_name = "hcl2-test"
region = "us-east-1"
instance_type = "t2.micro"
kms_key_id = "c729958f-c6ba-44cd-ab39-35ab68ce0a6c"
encrypt_boot = true
source_ami_filter {
filters {
virtualization-type = "hvm"
name = "amzn-ami-hvm-????.??.?.????????-x86_64-gp2"
root-device-type = "ebs"
}
most_recent = true
owners = ["amazon"]
}
launch_block_device_mappings {
device_name = "/dev/xvda"
volume_size = 20
volume_type = "gp2"
delete_on_termination = "true"
}
launch_block_device_mappings {
device_name = "/dev/xvdf"
volume_size = 500
volume_type = "gp2"
delete_on_termination = true
encrypted = true
}
ami_regions = ["eu-central-1"]
run_tags {
Name = "packer-solr-something"
stack-name = "DevOps Tools"
}
communicator = "ssh"
ssh_pty = true
ssh_username = "ec2-user"
associate_public_ip_address = true
}
```
2019-12-17 11:25:56 +01:00
Megan Marsh
0f6d1beccf
add an extra string array to the Prepare() return values in the builder interfaces; this sets up the ability for builders to give the provisioners custom user-accessible build-time variables.
2019-12-16 21:23:05 -08:00
Megan Marsh
84063d2132
implement ID and Type values in the provisioner template info sharing
2019-12-13 11:57:01 -08:00
Megan Marsh
3389d843f0
update all provisioners that used the winrmpassword tooling to use the new generateddata option
2019-12-12 16:42:53 -08:00
Aurélien Guillaume
1a397b9fcd
builder/osc: fix ssh host detection in Public Cloud and Nets
2019-11-26 17:50:30 +01:00
Adrien Delorme
078ba7c8c3
commit old code generation tool
...
for history
2019-10-15 12:56:42 +02:00
Adrien Delorme
146b88ba1e
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-10 12:44:46 +02:00
Marin Salinas
640612da92
refactor: get ssh hot from nics instead of root of the vm
2019-09-05 08:21:07 -05:00
Marin Salinas
793b3f1990
chore: remove unused code in omi config
2019-09-05 08:20:27 -05:00
Marin Salinas
7d024b9725
change ui message to private ip in run source vm
2019-09-05 08:19:58 -05:00
Adrien Delorme
4cb7c30987
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-08-21 16:44:23 +02:00
Marin Salinas
e634caee0a
remove chroot acc test
2019-07-18 12:07:08 -05:00
Megan Marsh
e10b9fb708
fix ssh interface conflict
2019-07-18 09:47:15 -07:00
Marin Salinas
1424f1b564
fix: remove AWS references and unnecessary code
2019-07-18 09:39:08 -07:00
Marin Salinas
73cd148e80
refactor: change ebs_volume to bsu_volumeattribute in bsuvolume builder
2019-07-18 09:39:08 -07:00
Marin Salinas
7e23f14d4e
fix: chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
1b7c56f73d
fix: change bad artifact validation in bsu builder
2019-07-18 09:39:08 -07:00
Marin Salinas
03f8b2ceb5
fix: change GlobalPermission to false in order to prevent public image creation
2019-07-18 09:39:08 -07:00
Marin Salinas
dc0db4b322
fix: change osc builder to be passed a context for cancellation and remove conflicts
2019-07-18 09:39:08 -07:00
Marin Salinas
2337703be6
fix: add missing secret key in http client configuration
2019-07-18 09:39:08 -07:00
Marin Salinas
ed2d2b9058
refactor: clean duplicate files with aws chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
488535118d
refactor: change validation when bsu is set
2019-07-18 09:39:08 -07:00
Marin Salinas
6820806436
refactor: add err check in create tags
2019-07-18 09:39:08 -07:00
Marin Salinas
17ee7b8163
fix: add missing secret key in http client configuration
2019-07-18 09:39:08 -07:00
Marin Salinas
f28c3877e3
refactor: remove unused attributes
2019-07-18 09:39:08 -07:00
Marin Salinas
590bef0969
chore: fix bad comments
2019-07-18 09:39:08 -07:00
Marin Salinas
04534d87ac
chore: change templateCleanOMIName to templateCleanResourceName function
...
:
2019-07-18 09:39:08 -07:00
Marin Salinas
1811b3af52
chore: remove unused buildBlockDevice function
2019-07-18 09:39:08 -07:00
Marin Salinas
4b52816935
fix: go modules conflicts
2019-07-18 09:39:08 -07:00
Marin Salinas
35c7c6163c
refactor: remove unnecessary fields and add default values
2019-07-18 09:39:08 -07:00
Marin Salinas
810e30e8e1
refactor: fix symlink issue on ubuntu
2019-07-18 09:39:08 -07:00
Marin Salinas
27528aeb68
test: fix test error in block_device
2019-07-18 09:39:08 -07:00
Marin Salinas
80dadaf3f1
feature: add bsuvolume builder and acceptance test
2019-07-18 09:39:08 -07:00
Marin Salinas
c9b8bc6b54
fix: typo in bsusurrogate acc test
2019-07-18 09:39:08 -07:00
Marin Salinas
8b8eb70e19
feature: add create tags to volume
2019-07-18 09:39:08 -07:00
Marin Salinas
db2832d80c
fix: change name of dirs
2019-07-18 09:39:08 -07:00
Marin Salinas
683431afa2
fix acceptance test configuration
2019-07-18 09:39:08 -07:00
Marin Salinas
571ef828e6
fix: remove pointer when vm is getting
2019-07-18 09:39:08 -07:00
Marin Salinas
cf1fdfef00
fix: add missing keys when artifact is destroying
2019-07-18 09:39:08 -07:00
Marin Salinas
8a6faf1ad3
feature: add create tags for vm and volume
2019-07-18 09:39:08 -07:00
Marin Salinas
ff0336965b
feature: add create tags function
2019-07-18 09:39:08 -07:00
Marin Salinas
987b4148e1
fix: remove pointer when gets vm from the state
2019-07-18 09:39:08 -07:00
Marin Salinas
9d6c4a8e5b
feature: add remaining steps and and create artifact in chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
70d2ff3d8a
feature: add create omi step in chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
6843b64331
feature: add eartly cleanup and snapshot steps in chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
352972a33d
feature: add chroot provision step in chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
31367ff768
feature: add copy files step in chroot builder
2019-07-18 09:39:08 -07:00
Marin Salinas
07b1580003
feature: add mount extra step in chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
b3d165e864
feature: add post mount commands step in chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
6e6bdc4f42
feature: add mount device step in chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
00ab0097de
feature: add pre mount commands step for chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
0f51ab5c08
feature: add early unflock step for chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
b3310f65a6
feature: add link volume step for chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
f1e5dafc71
fix: convert volume size to Gib before volume creation
2019-07-18 09:39:07 -07:00
Marin Salinas
b246bf7329
wip: add create_volume step in chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
b7f8c6ad9d
feature: add prepare device for chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
bf2d66c4e6
feature: add file lock step for chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
66cf27fe31
feature: add step check root device step in chrrot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
bc907f0fd0
feature: add vm info step
2019-07-18 09:39:07 -07:00
Marin Salinas
a3b0c28bb6
test: add acceptance basic test for outscale chroot builder
2019-07-18 09:39:07 -07:00
Marin Salinas
e8ef12e41c
test: fix unit test in block device security group and build info
2019-07-18 09:39:07 -07:00
Marin Salinas
2f87427fd4
feature: add chroot build prepare function implementation
2019-07-18 09:39:07 -07:00
Marin Salinas
0d5ce8b9b9
feature: add chroot build cancel function implementation
2019-07-18 09:39:07 -07:00
Marin Salinas
30d5b1f7c2
feature: add chroot builder configuration
2019-07-18 09:39:07 -07:00
Marin Salinas
0c47ee55e6
feature: add chroot builder structure
2019-07-18 09:39:07 -07:00
Marin Salinas
6e6e518095
fix: change image id on bsu acceptance test
2019-07-18 09:39:07 -07:00
Marin Salinas
52621a3dd2
chore: remove unencrypted work in log when image is creating
2019-07-18 09:39:07 -07:00
Marin Salinas
a4966d9823
add ExpectedRunDevice constant
2019-07-18 09:39:07 -07:00
Marin Salinas
c4e69d3169
wip: add bsu plugin acc testing
2019-07-18 09:39:07 -07:00
Marin Salinas
4779b028f1
feature: bsu, run implementation add artifact
2019-07-18 09:39:07 -07:00
Marin Salinas
972dcc2b25
feature: bsu, run implementation add steps after createOMI step
2019-07-18 09:39:07 -07:00
Marin Salinas
83c9a3d4c8
feature: bsu, run implementation add createOMI step
2019-07-18 09:39:07 -07:00
Marin Salinas
4847e79b8d
feature: bsu, run implementation add steps before createOMI step
2019-07-18 09:39:07 -07:00
Marin Salinas
1c8e9a7dd8
feature: bsu, run implementation add step prevalidate
2019-07-18 09:39:07 -07:00
Marin Salinas
4c04df26fd
feature: bsu, cancel function implementation
2019-07-18 09:39:07 -07:00
Marin Salinas
85d601dd81
feature: bsu, prepare function and test
2019-07-18 09:39:07 -07:00
Marin Salinas
91bdf5c212
feature: bsu, builder structure and test
2019-07-18 09:39:07 -07:00
Marin Salinas
d2d794f6dc
fix: undefined variable correction
2019-07-18 09:39:07 -07:00
Marin Salinas
996ee89397
change amis to omis in artifact
2019-07-18 09:39:07 -07:00
Marin Salinas
ae444a3250
fix: change the debugKeyPath name in osc bsusurrogate builder
2019-07-18 09:39:07 -07:00
Marin Salinas
1c69d55a1f
feature: bsusurrogate, run implementation add artifact
2019-07-18 09:39:07 -07:00
Marin Salinas
3bcebc1af6
feature: bsusurrogate, add CreateTags step
2019-07-18 09:39:07 -07:00
Marin Salinas
2c4b2b8657
feature: bsusurrogate, add StepUpdateOMIAttributes step
2019-07-18 09:39:07 -07:00
Marin Salinas
b46636a39b
feature: bsusurrogate, add RegisterOMI step
2019-07-18 09:39:07 -07:00
Marin Salinas
9c63f4cd92
feature: bsusurrogate, add DeregisterOMI step
2019-07-18 09:39:07 -07:00
Marin Salinas
871df8be85
feature: bsusurrogate, add StepUpdateBSUBackedVm and StepSnapshotVolumes step
2019-07-18 09:39:07 -07:00
Marin Salinas
52962f2355
feature: bsusurrogate, add stop bsu backed vm step
2019-07-18 09:39:07 -07:00
Marin Salinas
3ed7c7ff33
feature: bsusurrogate, add provision and cleanup temp keys step
2019-07-18 09:39:07 -07:00
Marin Salinas
957bdae441
feature: bsusurrogate, add clean connect step
2019-07-18 09:39:07 -07:00
Marin Salinas
b0c4784b96
feature: bsusurrogate, add clean get password step
2019-07-18 09:39:07 -07:00
Marin Salinas
1df7f15f53
fix: namming in step keypair
2019-07-18 09:39:07 -07:00