cabal-version: 2.4
name: acme-not-a-joke-warp
version: 0.1.0.0
-- A short (one-line) description of the package.
synopsis: automatic HTTPS for warp: obtains, stores, renews and serves ACME certificates
-- A longer description of the package.
description: runs a wai application over HTTPS with certificates obtained from an ACME provider such as Let's Encrypt (rfc-8555, HTTP-01 challenges, or TLS-ALPN-01 challenges of rfc-8737 which need no port 80), in the spirit of Caddy. A certificate manager obtains the certificates when the server starts, stores them on disk, renews them before they expire and hands them to the running warp-tls server without a restart. Built on the acme-not-a-joke and acme-not-a-joke-wai libraries.
-- The license under which the package is released.
license: BSD-3-Clause
license-file: LICENSE
homepage: https://lucasdicioccio.github.io/acme-not-a-joke/
bug-reports: https://github.com/lucasdicioccio/acme-not-a-joke/issues
author: Lucas DiCioccio
maintainer: lucas@dicioccio.fr
-- A copyright notice.
copyright: Lucas DiCioccio 2023-2026
category: Security
tested-with: GHC == 9.8.2 || == 9.10.3
extra-doc-files: CHANGELOG.md README.md
source-repository head
type: git
location: https://github.com/lucasdicioccio/acme-not-a-joke.git
subdir: acme-not-a-joke-warp
flag example
description: build the example program (a warp server with automatic HTTPS)
default: False
manual: True
library
hs-source-dirs: src
ghc-options: -Wall
default-language: Haskell2010
default-extensions: OverloadedStrings OverloadedRecordDot
exposed-modules:
Acme.NotAJoke.Warp
Acme.NotAJoke.Warp.CertificateManager
build-depends:
acme-not-a-joke >= 0.2 && < 0.3,
acme-not-a-joke-wai >= 0.1 && < 0.2,
async >= 2.2.4 && < 2.3,
base >= 4.19.1 && < 5,
bytestring >= 0.12.1 && < 0.13,
containers >= 0.6.8 && < 0.8,
directory >= 1.3.8 && < 1.4,
filepath >= 1.4.200 && < 1.6,
text >= 2.1.1 && < 2.2,
time >= 1.12.2 && < 1.13,
time-hourglass >= 0.2.12 && < 0.4,
transformers >= 0.6.1 && < 0.7,
http-types >= 0.12.4 && < 0.13,
wai >= 3.2.4 && < 3.3,
warp >= 3.4 && < 3.5,
crypton >= 1.0 && < 1.1,
crypton-x509 >= 1.8 && < 1.9,
tls >= 2.1.3 && < 2.5,
warp-tls >= 3.4.13 && < 3.5,
executable acme-not-a-joke-warp-example
if !flag(example)
buildable: False
hs-source-dirs: example
main-is: Main.hs
ghc-options: -Wall -threaded
default-language: Haskell2010
default-extensions: OverloadedStrings
build-depends:
acme-not-a-joke,
acme-not-a-joke-warp,
base,
http-types,
text,
wai,
test-suite certificate-manager
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
ghc-options: -Wall -threaded
default-language: Haskell2010
default-extensions: OverloadedStrings OverloadedRecordDot
build-depends:
acme-not-a-joke,
acme-not-a-joke-wai,
acme-not-a-joke-warp,
base,
bytestring,
crypton,
crypton-asn1-types,
crypton-x509,
directory,
filepath,
http-types,
network,
text,
time,
time-hourglass,
tls,
wai,
warp,