Commit Graph

59 Commits

Author SHA1 Message Date
Wilken Rivera 7b705545d9
docs: Various doc clean-ups to fix code block formatting and syntax highlighting (#8868) 2020-03-12 15:05:08 +01:00
Wilken Rivera 5dfeddc3a4 guides/hcl: Add link to HCL2 issues tracked on the Packer repo
This change adds a partial that contains a link to the HCL2 issues currently being tracked on GitHub. The partial has been added to the majority of the HCL2 guide documents as a way to help users learn about any open or recently resolved issues pertaining to the HCL2 support in Packer.
2020-03-02 17:13:35 -05:00
Larry Eichenbaum b45ed4c4f1
Update build-image-in-cicd.html.md (#8813)
typo
2020-03-02 04:10:51 -05:00
Mark Lewis 70752e0488
Add prompt to use a specific directory for *.pkr.hcl (#8757)
This improves usability as many users will still expect
to use `packer build config.pkr.hcl` having run
`packer build config.json` in the past.
2020-02-18 10:55:30 +01:00
Mark Lewis 2d0c796837
Fix typos in Input and Local Variables guide (#8741) 2020-02-14 15:30:25 +01:00
Adrien Delorme 193dad46e6
Hcl2 input variables, local variables and functions (#8588)
Mainly redefine or reused what Terraform did.

* allow to used `variables`, `variable` and `local` blocks
* import the following functions and their docs from Terraform: abs, abspath, basename, base64decode, base64encode, bcrypt, can, ceil, chomp, chunklist, cidrhost, cidrnetmask, cidrsubnet, cidrsubnets, coalesce, coalescelist, compact, concat, contains, convert, csvdecode, dirname, distinct, element, file, fileexists, fileset, flatten, floor, format, formatdate, formatlist, indent, index, join, jsondecode, jsonencode, keys, length, log, lookup, lower, max, md5, merge, min, parseint, pathexpand, pow, range, reverse, rsadecrypt, setintersection, setproduct, setunion, sha1, sha256, sha512, signum, slice, sort, split, strrev, substr, timestamp, timeadd, title, trim, trimprefix, trimspace, trimsuffix, try, upper, urlencode, uuidv4, uuidv5, values, yamldecode, yamlencode, zipmap.
2020-02-06 11:49:21 +01:00
Adrien Delorme fbd3796377 Update index.html.md.erb 2019-12-19 15:40:08 +01:00
Adrien Delorme 31cad234f2 Update index.html.md.erb 2019-12-19 15:34:26 +01:00
Adrien Delorme 1d066082a5 Update index.html.md.erb 2019-12-19 15:28:29 +01:00
Adrien Delorme 4c3fa0ef26 document split files & main building blocks in guide 2019-12-19 14:58:44 +01:00
Adrien Delorme 04a8758811
Update website/source/guides/hcl/from-json-v1/index.html.md.erb
Co-Authored-By: Wilken Rivera <dev@wilkenrivera.com>
2019-12-18 15:59:53 +01:00
Adrien Delorme 978af9188f
Update website/source/guides/hcl/component-object-spec/index.html.md.erb
Co-Authored-By: Wilken Rivera <dev@wilkenrivera.com>
2019-12-18 15:59:33 +01:00
Adrien Delorme da12c73726
Update website/source/guides/hcl/component-object-spec/index.html.md.erb
Co-Authored-By: Wilken Rivera <dev@wilkenrivera.com>
2019-12-18 15:59:26 +01:00
Adrien Delorme 971eac1701
Update website/source/guides/hcl/component-object-spec/index.html.md.erb
Co-Authored-By: Wilken Rivera <dev@wilkenrivera.com>
2019-12-18 15:59:16 +01:00
Adrien Delorme f3629dbaf7 Update index.html.md.erb
fix sidebar_current
2019-12-18 15:57:01 +01:00
Adrien Delorme 93b9f3cb80 rename 2019-12-18 15:51:32 +01:00
Adrien Delorme da90c22c35 Update index.html.md.erb
better title
2019-12-18 15:51:13 +01:00
Adrien Delorme 1ada06b2d7 fix sidebar_current of guide/hcl/from-json-v1 2019-12-18 15:22:48 +01:00
Adrien Delorme 8c21916606 add guide on how to make ones component HCL2 enabled 2019-12-18 15:01:48 +01:00
Wilken Rivera ba36201f89 docs/guides/hcl: Update sample configuration (#8499) 2019-12-18 10:17:47 +01:00
Adrien Delorme 65cc5fe823
fix missing typo correction (#8494)
I left this change on my local branch
2019-12-17 11:31:57 +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 ccf58f0c98 major rework of communicator docs and addition of preseed guides 2019-10-03 09:18:03 -07:00
Adrien Delorme 5399e8a67d
Merge pull request #7547 from hashicorp/comment_guide
add guide for uisng jq to strip comments from packer template
2019-04-23 15:26:24 +02:00
Megan Marsh f985f2de62 add docs for how to use the format strings for the isotime function 2019-04-22 16:10:35 -07:00
Megan Marsh 9eadac3410 add guide for uisng jq to strip comments from packer template 2019-04-22 15:35:00 -07:00
Alexander Georgievskiy ec8747a042 They finally added https on download.virtualbox.org
Because downloading SHA256SUMS via http is a fun joke
2018-06-22 00:45:20 +03:00
Matthew Hooker aab786dd1a
formatting 2017-12-18 15:31:50 -08:00
Maciej Skierkowski 7ee50ff926 Should be OVF
As a side note I will point out that the bento projects will use vagrant to package up the image into a .box file. But using OVF as we are assuming not to be using vagrant.
2017-12-18 15:12:04 -08:00
Maciej Skierkowski 37ce11fa0e Add details about the 30% off ongoing coupon. 2017-12-18 14:17:27 -08:00
Maciej Skierkowski f88cd61e70 Renaming 'Packet.net' to 'Packet' 2017-12-18 14:05:12 -08:00
Maciej Skierkowski 1bc6a445ef Fixing typo in coupon code 2017-12-18 14:04:46 -08:00
Matthew Hooker 4ed60ba789
clarify support vs availability. 2017-12-12 21:07:12 -08:00
Matthew Hooker 88b275715e
clarify that there are cloud providers that support nested virtualization 2017-12-12 21:00:18 -08:00
Matthew Hooker 62e946f5d1
Merge pull request #5698 from skierkowski/guides-update-links
Update links in guides
2017-12-12 09:36:42 -08:00
Matthew Hooker c62f00f47a
fix link 2017-12-12 09:10:38 -08:00
Maciej Skierkowski 6a91e5273f Update terraform links to new paths 2017-12-11 22:05:50 -08:00
Maciej Skierkowski 383228fded Add link to Cirlce CI article 2017-12-11 22:04:54 -08:00
Matthew Hooker 1a18957eec
call out advanced options 2017-12-11 16:06:58 -08:00
Matthew Hooker 6b30cf3653
use more screenshots for bento in the examples 2017-12-11 15:50:34 -08:00
Matthew Hooker a2c9898db7
justify 80 cols 2017-12-11 15:10:37 -08:00
Matthew Hooker 532c4a4973
use a vcs project that will work 2017-12-11 15:04:03 -08:00
Matthew Hooker 97bacf6790
use absolute links 2017-12-11 14:37:28 -08:00
Matthew Hooker be3f0a121a
guides should use infinitive verbs 2017-12-11 14:31:44 -08:00
Maciej Skierkowski 004a434928 Add "coming soon" 2017-12-11 11:48:34 -08:00
Maciej Skierkowski dd5e5b8993 Using relative links for the docs/guides 2017-12-11 09:14:46 -08:00
Maciej Skierkowski dc96e73151 Adding more info about the options for Packer 2017-12-11 09:08:12 -08:00
Maciej Skierkowski 3be55d20be Updating section title to be specific to VirtualBox and S3 2017-12-08 16:01:18 -08:00
Maciej Skierkowski e0d5e18450 Calling out AWS CLI dependencies 2017-12-08 15:57:39 -08:00
Maciej Skierkowski 9c90744d3e Clarifying virtualization phrasing for VirtualBox 2017-12-08 15:55:22 -08:00