pinpon-0.2.0.2: pinpon.cabal
-- This file has been generated from package.yaml by hpack version 0.27.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: ae6d5ceb311afb4ad42b828e2776e55db2c1a23aaa3d83a1c1be1f795294d7e7
name: pinpon
version: 0.2.0.2
synopsis: A gateway for various cloud notification services
description: @pinpon@ is a gateway for various cloud notification services, such
as the Amazon AWS SNS service.
.
Think of @pinpon@ as a hub for dispatching notifications originating
from multiple notification sources. Clients of the @pinpon@ service
create topics and send notifications via the REST-ish @pinpon@
service, and the @pinpon@ server takes care of the per-service
details and communicating with the upstream cloud services.
.
Advantages of this approach, compared to programming directly to the
individual notification services' interfaces, are:
.
* A common API for all supported notification services.
.
* The secret credentials required to communicate with each cloud
notification service can be kept in a central location (namely,
the @pinpon@ server), rather than being distributed to each
notification source host, therefore reducing the attack surface.
.
* Hosts which send notifications via the @pinpon@ gateway can be
firewalled from the public Internet. This is especially useful in
IoT applications.
.
Currently-supported notification services:
.
* Amazon AWS SNS
category: Network
stability: experimental
homepage: https://github.com/quixoftic/pinpon#readme
bug-reports: https://github.com/quixoftic/pinpon/issues
author: Drew Hess <dhess-src@quixoftic.com>
maintainer: Drew Hess <dhess-src@quixoftic.com>
copyright: Copyright (c) 2018, Quixoftic, LLC
license: BSD3
license-file: LICENSE
tested-with: GHC==8.0.2 GHC==8.2.2
build-type: Simple
cabal-version: >= 1.10
extra-source-files:
changelog.md
package.yaml
README.md
stack-lts-10.yaml
stack-lts-9.yaml
stack.yaml
data-files:
swagger.json
source-repository head
type: git
location: https://github.com/quixoftic/pinpon
flag pinpon-executable
description: Build pinpon program
manual: True
default: True
flag pinpon-gpio-executable
description: Build pinpon-gpio program
manual: True
default: True
flag pinpon-ring-executable
description: Build pinpon-ring program
manual: True
default: True
flag test-doctests
description: Build doctests
manual: True
default: True
flag test-hlint
description: Build hlint test
manual: True
default: False
library
exposed-modules:
Network.PinPon
Network.PinPon.API
Network.PinPon.API.Topic
Network.PinPon.AWS
Network.PinPon.Client
Network.PinPon.Config
Network.PinPon.Notification
Network.PinPon.SwaggerAPI
Network.PinPon.Util
Network.PinPon.WireTypes.APNS
Network.PinPon.WireTypes.SNS
other-modules:
Paths_pinpon
hs-source-dirs:
src
default-extensions: NoImplicitPrelude
other-extensions: DataKinds DeriveGeneric DuplicateRecordFields MultiParamTypeClasses OverloadedStrings Safe TemplateHaskell Trustworthy TypeOperators
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
build-depends:
aeson >=1.1 && <1.3
, aeson-pretty ==0.8.*
, amazonka >=1.4.5 && <1.6
, amazonka-core >=1.4.5 && <1.6
, amazonka-sns >=1.4.5 && <1.6
, base >=4 && <5
, bytestring >=0.10.8 && <0.11
, containers >=0.5.7 && <0.6
, exceptions >=0.8.3 && <0.9
, http-client >=0.5.7 && <0.6
, http-types >=0.9.1 && <0.10
, lens ==4.15.*
, lucid >=2.9.9 && <3
, mtl >=2.2.1 && <2.3
, protolude ==0.2.*
, resourcet >=1.1.9 && <1.2
, servant ==0.11.*
, servant-client ==0.11.*
, servant-docs ==0.11.*
, servant-lucid >=0.7.1 && <0.8
, servant-server ==0.11.*
, servant-swagger >=1.1.4 && <1.2
, servant-swagger-ui >=0.2.4 && <0.3
, swagger2 >=2.1.6 && <2.3
, text >=1.2.2 && <1.3
, time >=1.6 && <1.9
, transformers >=0.5.2 && <0.6
, transformers-base >=0.4.4 && <0.5
, wai ==3.2.*
, warp ==3.2.*
default-language: Haskell2010
executable pinpon
main-is: Main.hs
other-modules:
Paths_pinpon
hs-source-dirs:
pinpon
default-extensions: NoImplicitPrelude
other-extensions: LambdaCase OverloadedStrings
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -fno-warn-redundant-constraints
if !(flag(pinpon-executable))
buildable: False
else
build-depends:
amazonka
, amazonka-sns
, base
, containers
, exceptions
, lens
, mtl
, network >=2.6.3 && <2.7
, optparse-applicative >=0.13.2 && <0.15
, optparse-text ==0.1.*
, pinpon
, protolude
, text
, transformers
, warp
default-language: Haskell2010
executable pinpon-gpio
main-is: Main.hs
other-modules:
Paths_pinpon
hs-source-dirs:
pinpon-gpio
default-extensions: NoImplicitPrelude
other-extensions: FlexibleContexts OverloadedStrings
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -fno-warn-redundant-constraints
if !(flag(pinpon-gpio-executable))
buildable: False
else
build-depends:
base
, bytestring
, exceptions
, hpio
, http-client
, http-client-tls
, http-types
, lens
, mtl
, network
, optparse-applicative
, optparse-text
, pinpon
, protolude
, servant-client
, text
, time
, transformers
, warp
default-language: Haskell2010
executable pinpon-ring
main-is: Main.hs
other-modules:
Paths_pinpon
hs-source-dirs:
pinpon-ring
default-extensions: NoImplicitPrelude
other-extensions: LambdaCase OverloadedStrings
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances -fno-warn-redundant-constraints
if !(flag(pinpon-ring-executable))
buildable: False
else
build-depends:
base
, bytestring
, exceptions
, http-client
, http-client-tls >=0.3.5 && <0.4
, http-types
, lens
, network
, optparse-applicative
, optparse-text
, pinpon
, protolude
, servant-client ==0.11.*
, text
, transformers
, warp
default-language: Haskell2010
test-suite doctest
type: exitcode-stdio-1.0
main-is: doctest.hs
hs-source-dirs:
test
default-extensions: NoImplicitPrelude
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded
if !(flag(test-doctests))
buildable: False
else
build-depends:
base
, doctest >=0.10.1 && <1
, protolude
default-language: Haskell2010
test-suite hlint
type: exitcode-stdio-1.0
main-is: hlint.hs
hs-source-dirs:
test
default-extensions: NoImplicitPrelude
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -w -threaded
if !(flag(test-hlint))
buildable: False
else
build-depends:
base
, hlint >=2.0 && <2.2
, protolude
default-language: Haskell2010
test-suite spec
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs:
test
default-extensions: NoImplicitPrelude
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -w -threaded -rtsopts -with-rtsopts=-N
build-depends:
QuickCheck >=2.9 && <2.11
, aeson
, base
, bytestring
, exceptions
, hspec ==2.4.*
, pinpon
, protolude
, quickcheck-instances ==0.3.*
, servant-swagger
if !(flag(test-hlint))
buildable: False
else
build-depends:
base
, hlint >=2.0 && <2.2
, protolude
default-language: Haskell2010