kerry: Manage and abstract your packer configurations.

[ aws, bsd3, cloud, infrastructure, library ] [ Propose Tags ]

Kerry is a library for representing and rendering packer definitions.

To get started quickly, see the example.


[Skip to Readme]
Versions [faq] 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 Thu May 23 04:31:04 UTC 2019
Distributions NixOS:0.1.1
Downloads 111 total (57 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-05-23 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


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"