denibertovic / docker-hs

A Haskell library for the Docker Engine API
BSD 3-Clause "New" or "Revised" License
76 stars 48 forks source link

An API client for docker written in Haskell

Current state

Supported Docker Engine Api version: v1.24 and onwards.

Anything upward of that should work since Docker versions their API. Older docker version and engine api versions are not supported at the moment.

Documentation

The API-documentation is available at Hackage. There are also some usage-examples in the main library source file, Client.hs.

Contributing

Please see CONTRIBUTING.md.

Project Setup

For working on the library, you need the Haskell Tool Stack installed (see the Haskell Tool Stack website). You also need make to use the Makefile included in the project. Run make help to see the available commands (for building, running the tests and releasing).

Tests

Tests are located in the tests directory and can be run with make test. This only runs the unit tests.

To run integration tests, you need Docker installed and listening on Port 2375 of localhost (docker only listens to a Unix socket by default, see the Docker documentation for details). Set the environment variable RUN_INTEGRATION_TESTS, i.e. RUN_INTEGRATION_TESTS=1 make test.