Skip to content

nhibberd/mismi

Repository files navigation

mismi Travis

Source of the Amazon

mismi is a haskell library built on top of amazonka that is designed as a robust, higher level of abstraction to AWS interfaces. Sub-packages within mismi are built individually per AWS service to aid with haskell modularity.

This library has been used extensively in a production setting at ambiata since early 2015.

Release

The goal of the initial hackage release 0.0.1 was to provide mismi as is, with minimal change. Future work will look at removing a lot of the technical debt that has accumlated over the years will most like result in a major version change.

Hackage

AWS Testing

Permissions

Permissions required for testing:

  • tba

Running tests

  • AWS_TEST

Optional environment variables that can be used to disable testing on AWS resources, all variables default to 'true'.

  • AWS_TEST_AUTOSCALING
  • AWS_TEST_S3

Resources

Resources that are used when running test are configurable via:

`AWS_TEST_SECURITY_GROUP` - defaults to "ci.ci.node"
`AWS_TEST_IMAGE_ID` - defaults to "ami-a1abbfc2"
`AWS_TEST_IAM_ROLE` - defaults to "ci.ci.node"
`AWS_TEST_BUCKET` - defaults to "ambiata-dev-view"

Debugging

Amazonka - environment variable

Set AWS_DEBUG to true to enable amazonka debugging

Amazonka - manually

See Mismi.Control to add a logger to the runner

runAWS :: Region -> AWS a -> EitherT AWSError IO a
runAWS r a = do
  lgr <- newLogger Trace stdout
  e <- liftIO $ AWS.getEnv r Discover <&> envLogger .~ lgr
  runAWSWithEnv e a