kerry: Manage and abstract your packer configurations.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Kerry is a library for representing and rendering packer definitions.

To get started quickly, see the example.


[Skip to Readme]

Properties

Versions 0.0, 0.1, 0.1.1
Change log CHANGELOG.md
Dependencies aeson (==1.4.*), aeson-pretty (>=0.8 && <1), base (>=4.5 && <5), bytestring (==0.10.*), containers (>=0.5 && <0.7), errors (>=2.0 && <2.4), mmorph (>=1.0 && <1.2), text (==1.2.*), transformers (==0.5.*), transformers-bifunctors (==0.1.*) [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-20T01:48:54Z

Modules

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for kerry-0.0

[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"