kerry: Manage and abstract your packer configurations.

[ aws, bsd3, cloud, infrastructure, library ] [ Propose Tags ] [ Report a vulnerability ]

Kerry is a library for representing and rendering packer definitions.

To get started quickly, see the example.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1, 0.1.1
Change log CHANGELOG.md
Dependencies aeson (>=1.4 && <1.5), aeson-pretty (>=0.8 && <1), base (>=4.5 && <5), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.7), errors (>=2.0 && <2.4), mmorph (>=1.0 && <1.2), text (>=1.2 && <1.3), transformers (>=0.5 && <0.6), transformers-bifunctors (>=0.1 && <0.2) [details]
License BSD-3-Clause
Copyright Copyright: (c) 2019 Nick Hibberd
Author Nick Hibberd <nhibberd@gmail.com>
Maintainer Nick Hibberd <nhibberd@gmail.com>
Category Infrastructure, AWS, Cloud
Home page https://github.com/nhibberd/kerry#readme
Bug tracker https://github.com/nhibberd/kerry/issues
Source repo head: git clone git://github.com/nhibberd/kerry.git
Uploaded by nhibberd at 2019-05-23T04:31:04Z
Distributions
Downloads 896 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-05-23 [all 1 reports]

Readme for kerry-0.1.1

[back to package description]

kerry

Packer configuration and serialization.

Example


import           Kerry

write :: FilePath -> IO ()
write path =
  writeFile path (renderPacker example)

example :: Packer
example =
  Packer {
      variables = [
          UserVariable "name" "example-packer"
        ]
    , builders = [
          Builder (AmazonEBSBuilder $ aws builder) Nothing ssh
        ]
    , provisioners = []
    , postProcessors = []
    }

ssh :: Communicator
ssh =
  SSH $ defaultSSHCommunicator "ec2-user"

aws :: a -> AWS a
aws builder =
  AWS {
      awsRegion = "us-west-2"
    , awsCredentials = EnvironmentVariables
    , awsBuilder = builder
    }

builder :: EBS
builder =
 ebs
   "test"
   (SourceAmiId "ami-fred")
   "m4.xlarge"