packages feed

keter-2.1.1: keter.cabal

cabal-version:      >=1.10
name:               keter
version:            2.1.1
synopsis:
  Web application deployment manager, focusing on Haskell web frameworks

description:
  Deployment system for web applications, originally intended for hosting Yesod
  applications. Keter does the following actions for your application:
  .
  * Binds to the main port (usually port 80) and reverse proxies requests to your application based on virtual hostnames.
  * Provides SSL support if requested.
  * Automatically launches applications, monitors processes, and relaunches any processes which die.
  * Provides graceful redeployment support, by launching a second copy of your application, performing a health check, and then switching reverse proxying to the new process.
  .
  Keter provides many more advanced features and extension points. It allows configuration of static hosts, redirect rules, management of PostgreSQL databases, and more. It supports a simple bundle format for applications which allows for easy management of your web apps.

homepage:           http://www.yesodweb.com/
license:            MIT
license-file:       LICENSE
author:             Michael Snoyman
maintainer:         michael@snoyman.com
category:           Web, Yesod
build-type:         Simple
extra-source-files:
  ChangeLog.md
  README.md

--Data-Files:        incoming/foo/bundle.sh, incoming/foo/config/keter.yaml

flag system-filepath
  description: Use system-filepath
  default:     False

library
  default-language: Haskell98
  build-depends:
      aeson                 >=2.0.0    && <2.2
    , array                 >=0.5.4    && <0.6
    , async                 >=2.2.4    && <2.3
    , attoparsec            >=0.14.4   && <0.15
    , base                  >=4        && <5
    , blaze-builder         >=0.3      && <0.5
    , bytestring            >=0.10.12  && <0.12
    , case-insensitive      >=1.2.1    && <1.3
    , conduit               >=1.3.4    && <1.4
    , conduit-extra         >=1.3.5    && <1.4
    , containers            >=0.6.4    && <0.7
    , directory             >=1.3.6    && <1.4
    , fast-logger           >=3.0.0    && <4.0.0
    , filepath              >=1.4.2    && <1.5
    , fsnotify              >=0.3.0    && <0.5
    , http-client           >=0.7.11   && <0.8
    , http-conduit          >=2.3.8    && <2.4
    , http-reverse-proxy    >=0.6.0.1  && <0.7
    , http-types            >=0.12.3   && <0.13
    , indexed-traversable   >=0.1.2    && <0.2
    , lifted-base           >=0.2.3    && <0.3
    , monad-logger          >=0.3.0    && <0.4.0
    , mtl                   >=2.2.2    && <2.3
    , network               >=3.1.2    && <3.2
    , optparse-applicative  >=0.16.1   && <0.18
    , process               >=1.4.3    && <1.7
    , random                >=1.2.1    && <1.3
    , regex-tdfa            >=1.3.1    && <1.4
    , stm                   >=2.5.0    && <2.6
    , tar                   >=0.5.1    && <0.6
    , template-haskell      >=2.17.0   && <3.0
    , text                  >=1.2.5    && <3.0
    , time                  >=1.9.3    && <2.0
    , tls                   >=1.5.7    && <2.0
    , tls-session-manager   >=0.0.4    && <0.1
    , transformers          >=0.5.6    && <0.6
    , unix                  >=2.7.2    && <2.8
    , unix-compat           >=0.3      && <0.8
    , unliftio-core         >=0.2.0.0  && <0.3.0.0
    , unordered-containers  >=0.2.17   && <0.3
    , vector                >=0.12.3.0 && <1.0.0.0
    , wai                   >=3.2.3    && <3.3
    , wai-app-static        >=3.1      && <3.2
    , wai-extra             >=3.0.3    && <3.2
    , warp                  >=3.3.20   && <3.4
    , warp-tls              >=3.0.3    && <3.4.0
    , yaml                  >=0.8.4    && <0.12
    , zlib                  >=0.6.2    && <0.7

  if impl(ghc <7.6)
    build-depends: ghc-prim

  if flag(system-filepath)
    build-depends: system-filepath
    cpp-options:   -DSYSTEM_FILEPATH

  exposed-modules:
    Keter.App
    Keter.AppManager
    Keter.Cli
    Keter.Common
    Keter.Conduit.Process.Unix
    Keter.Config
    Keter.Config.Middleware
    Keter.Config.V04
    Keter.Config.V10
    Keter.Context
    Keter.HostManager
    Keter.LabelMap
    Keter.Logger
    Keter.Main
    Keter.Plugin.Postgres
    Keter.PortPool
    Keter.Proxy
    Keter.Rewrite
    Keter.TempTarball
    Keter.Yaml.FilePath

  other-modules:    Keter.Aeson.KeyHelper
  ghc-options:      -Wall
  c-sources:        cbits/process-tracker.c
  hs-source-dirs:   src

executable keter
  default-language: Haskell98
  main-is:          keter.hs
  hs-source-dirs:   src/main
  build-depends:
      base
    , filepath
    , keter

  ghc-options:      -threaded -Wall
  other-modules:    Paths_keter

test-suite test
  default-language: Haskell98
  hs-source-dirs:   test
  main-is:          Spec.hs
  type:             exitcode-stdio-1.0
  build-depends:
      base
    , bytestring
    , conduit
    , http-client
    , http-conduit
    , http-types
    , HUnit
    , keter
    , lens
    , monad-logger
    , mtl
    , stm
    , tasty
    , tasty-hunit
    , transformers
    , unix
    , wai
    , warp
    , wreq

  ghc-options:      -Wall -threaded

source-repository head
  type:     git
  location: https://github.com/snoyberg/keter