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]

Kerry is a library for representing and rendering packer definitions.

To get started quickly, see the example.


[Skip to ReadMe]

Properties

Versions0.0, 0.1, 0.1.1
Change logCHANGELOG.md
Dependenciesaeson (==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]
LicenseBSD-3-Clause
CopyrightCopyright: (c) 2019 Nick Hibberd
AuthorNick Hibberd <nhibberd@gmail.com>
MaintainerNick Hibberd <nhibberd@gmail.com>
CategoryInfrastructure, AWS, Cloud
Home pagehttps://github.com/nhibberd/kerry#readme
Bug trackerhttps://github.com/nhibberd/kerry/issues
Source repositoryhead: git clone git://github.com/nhibberd/kerry.git
UploadedMon May 20 01:48:54 UTC 2019 by nhibberd

Modules

Downloads

Maintainers' 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"