/usr/share/doc/libghc-propellor-doc/html/Propellor-Property-LetsEncrypt.html is in libghc-propellor-doc 3.2.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Propellor.Property.LetsEncrypt</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Propellor-Property-LetsEncrypt.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Propellor-Property-LetsEncrypt.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">propellor-3.2.3: property-based host configuration management in haskell</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Propellor.Property.LetsEncrypt</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module gets LetsEncrypt <a href="https://letsencrypt.org/">https://letsencrypt.org/</a> certificates
using CertBot <a href="https://certbot.eff.org/">https://certbot.eff.org/</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:installed">installed</a> :: <a href="Propellor-Types.html#t:Property">Property</a> <a href="Propellor-Types-MetaTypes.html#t:DebianLike">DebianLike</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:AgreeTOS">AgreeTOS</a> = <a href="#v:AgreeTOS">AgreeTOS</a> (Maybe <a href="Propellor-Property-LetsEncrypt.html#t:Email">Email</a>)</li><li class="src short"><span class="keyword">type</span> <a href="#t:Email">Email</a> = String</li><li class="src short"><span class="keyword">type</span> <a href="#t:WebRoot">WebRoot</a> = FilePath</li><li class="src short"><a href="#v:letsEncrypt">letsEncrypt</a> :: <a href="Propellor-Property-LetsEncrypt.html#t:AgreeTOS">AgreeTOS</a> -> <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> <a href="Propellor-Property-LetsEncrypt.html#t:WebRoot">WebRoot</a> -> <a href="Propellor-Types.html#t:Property">Property</a> <a href="Propellor-Types-MetaTypes.html#t:DebianLike">DebianLike</a></li><li class="src short"><a href="#v:letsEncrypt-39-">letsEncrypt'</a> :: <a href="Propellor-Property-LetsEncrypt.html#t:AgreeTOS">AgreeTOS</a> -> <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> [<a href="Propellor-Types-Dns.html#t:Domain">Domain</a>] -> <a href="Propellor-Property-LetsEncrypt.html#t:WebRoot">WebRoot</a> -> <a href="Propellor-Types.html#t:Property">Property</a> <a href="Propellor-Types-MetaTypes.html#t:DebianLike">DebianLike</a></li><li class="src short"><a href="#v:liveCertDir">liveCertDir</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath</li><li class="src short"><a href="#v:certFile">certFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath</li><li class="src short"><a href="#v:privKeyFile">privKeyFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath</li><li class="src short"><a href="#v:chainFile">chainFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath</li><li class="src short"><a href="#v:fullChainFile">fullChainFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:installed" class="def">installed</a> :: <a href="Propellor-Types.html#t:Property">Property</a> <a href="Propellor-Types-MetaTypes.html#t:DebianLike">DebianLike</a> <a href="src/Propellor-Property-LetsEncrypt.html#installed" class="link">Source</a> <a href="#v:installed" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AgreeTOS" class="def">AgreeTOS</a> <a href="src/Propellor-Property-LetsEncrypt.html#AgreeTOS" class="link">Source</a> <a href="#t:AgreeTOS" class="selflink">#</a></p><div class="doc"><p>Tell the letsencrypt client that you agree with the Let's Encrypt
Subscriber Agreement. Providing an email address is recommended,
so that letcencrypt can contact you about problems.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AgreeTOS" class="def">AgreeTOS</a> (Maybe <a href="Propellor-Property-LetsEncrypt.html#t:Email">Email</a>)</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Email" class="def">Email</a> = String <a href="src/Propellor-Property-LetsEncrypt.html#Email" class="link">Source</a> <a href="#t:Email" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:WebRoot" class="def">WebRoot</a> = FilePath <a href="src/Propellor-Property-LetsEncrypt.html#WebRoot" class="link">Source</a> <a href="#t:WebRoot" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:letsEncrypt" class="def">letsEncrypt</a> :: <a href="Propellor-Property-LetsEncrypt.html#t:AgreeTOS">AgreeTOS</a> -> <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> <a href="Propellor-Property-LetsEncrypt.html#t:WebRoot">WebRoot</a> -> <a href="Propellor-Types.html#t:Property">Property</a> <a href="Propellor-Types-MetaTypes.html#t:DebianLike">DebianLike</a> <a href="src/Propellor-Property-LetsEncrypt.html#letsEncrypt" class="link">Source</a> <a href="#v:letsEncrypt" class="selflink">#</a></p><div class="doc"><p>Uses letsencrypt to obtain a certificate for a domain.</p><p>This should work with any web server, as long as letsencrypt can
write its temp files to the web root. The letsencrypt client does
not modify the web server's configuration in any way; this only obtains
the certificate it does not make the web server use it.</p><p>This also handles renewing the certificate.
For renewel to work well, propellor needs to be
run periodically (at least a couple times per month).</p><p>This property returns <code><a href="Propellor-Types-Result.html#v:MadeChange">MadeChange</a></code> when the certificate is initially
obtained, and when it's renewed. So, it can be combined with a property
to make the webserver (or other server) use the certificate:</p><pre>letsEncrypt (AgreeTOS (Just "me@example.com")) "example.com" "/var/www"
`onChange` Apache.reload</pre><p>See <code><a href="Propellor-Property-Apache.html#v:httpsVirtualHost">httpsVirtualHost</a></code> for a more complete
integration of apache with letsencrypt, that's built on top of this.</p></div></div><div class="top"><p class="src"><a id="v:letsEncrypt-39-" class="def">letsEncrypt'</a> :: <a href="Propellor-Property-LetsEncrypt.html#t:AgreeTOS">AgreeTOS</a> -> <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> [<a href="Propellor-Types-Dns.html#t:Domain">Domain</a>] -> <a href="Propellor-Property-LetsEncrypt.html#t:WebRoot">WebRoot</a> -> <a href="Propellor-Types.html#t:Property">Property</a> <a href="Propellor-Types-MetaTypes.html#t:DebianLike">DebianLike</a> <a href="src/Propellor-Property-LetsEncrypt.html#letsEncrypt%27" class="link">Source</a> <a href="#v:letsEncrypt-39-" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Propellor-Property-LetsEncrypt.html#v:letsEncrypt">letsEncrypt</a></code>, but the certificate can be obtained for multiple
domains.</p></div></div><div class="top"><p class="src"><a id="v:liveCertDir" class="def">liveCertDir</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath <a href="src/Propellor-Property-LetsEncrypt.html#liveCertDir" class="link">Source</a> <a href="#v:liveCertDir" class="selflink">#</a></p><div class="doc"><p>The cerificate files that letsencrypt will make available for a domain.</p></div></div><div class="top"><p class="src"><a id="v:certFile" class="def">certFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath <a href="src/Propellor-Property-LetsEncrypt.html#certFile" class="link">Source</a> <a href="#v:certFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:privKeyFile" class="def">privKeyFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath <a href="src/Propellor-Property-LetsEncrypt.html#privKeyFile" class="link">Source</a> <a href="#v:privKeyFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:chainFile" class="def">chainFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath <a href="src/Propellor-Property-LetsEncrypt.html#chainFile" class="link">Source</a> <a href="#v:chainFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fullChainFile" class="def">fullChainFile</a> :: <a href="Propellor-Types-Dns.html#t:Domain">Domain</a> -> FilePath <a href="src/Propellor-Property-LetsEncrypt.html#fullChainFile" class="link">Source</a> <a href="#v:fullChainFile" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|