Concourse packer resource


#1

I noticed that most of the concourse packer resources were forcing explicit credentials, forcing specific providers (AWS), and not outputting any build metadata

so I tried to solve these issues with a fairly simple wrapper for the CLI

it’s currently on 1.3.1, and can be built with newer versions easily (TODO: build images and docker tags according to packer version)

features include:

  • pass var file paths and vars directly from concourse template
  • no required variables beside template path
  • since authentication credentials aren’t forced, providers can discover credentials automatically, e.g. aws instance credentials
  • parses the packer machine readable output format for
    • logs
    • version id and build metadata

note that packer 1.3.1 has a bug where if you don’t provide any credentials the process hangs, so be sure to provide them or wait for 1.3.2

the check and in phases are not supported, for that I suggest using a resource specific to your provider (e.g. a resource that gets IDs of new AMIs under a specific name, which this resource can create for you)


#2

Nice! Would you be open to adding your new resource to the list of resources? You can make a PR against https://github.com/concourse/docs/blob/master/lit/reference/resource-types/community-resources.lit and I’ll pull it in!


#3

Sure thing! PR is here: https://github.com/concourse/docs/pull/123

I’m working on a terraform resource and I’ve since learned how to automatically build multiple versions of hashicorp tools and tag the images automatically with docker hub (and run tests!) so I’ll be applying the same improvements to this packer resource, as well.

Thanks for the response :slight_smile: