2019-03-11 18:56:48 +02:00
package cmd
2018-12-06 23:50:17 +02:00
import (
2020-09-02 03:20:01 +02:00
"github.com/go-acme/lego/v4/lego"
2018-12-06 23:50:17 +02:00
"github.com/urfave/cli"
)
func CreateFlags ( defaultPath string ) [ ] cli . Flag {
return [ ] cli . Flag {
cli . StringSliceFlag {
Name : "domains, d" ,
Usage : "Add a domain to the process. Can be specified multiple times." ,
} ,
cli . StringFlag {
Name : "server, s" ,
Usage : "CA hostname (and optionally :port). The server certificate must be trusted in order to avoid further modifications to the client." ,
2019-01-03 17:59:53 +02:00
Value : lego . LEDirectoryProduction ,
2018-12-06 23:50:17 +02:00
} ,
cli . BoolFlag {
Name : "accept-tos, a" ,
Usage : "By setting this flag to true you indicate that you accept the current Let's Encrypt terms of service." ,
} ,
cli . StringFlag {
Name : "email, m" ,
Usage : "Email used for registration and recovery contact." ,
} ,
cli . StringFlag {
Name : "csr, c" ,
2019-01-03 17:59:53 +02:00
Usage : "Certificate signing request filename, if an external CSR is to be used." ,
2018-12-06 23:50:17 +02:00
} ,
cli . BoolFlag {
Name : "eab" ,
Usage : "Use External Account Binding for account registration. Requires --kid and --hmac." ,
} ,
cli . StringFlag {
Name : "kid" ,
Usage : "Key identifier from External CA. Used for External Account Binding." ,
} ,
cli . StringFlag {
Name : "hmac" ,
Usage : "MAC key from External CA. Should be in Base64 URL Encoding without padding format. Used for External Account Binding." ,
} ,
cli . StringFlag {
Name : "key-type, k" ,
2020-09-02 02:37:38 +02:00
Value : "ec256" ,
2019-01-03 17:59:53 +02:00
Usage : "Key type to use for private keys. Supported: rsa2048, rsa4096, rsa8192, ec256, ec384." ,
2018-12-06 23:50:17 +02:00
} ,
cli . StringFlag {
Name : "filename" ,
2019-01-03 17:59:53 +02:00
Usage : "(deprecated) Filename of the generated certificate." ,
2018-12-06 23:50:17 +02:00
} ,
cli . StringFlag {
2020-01-18 23:59:06 +02:00
Name : "path" ,
EnvVar : "LEGO_PATH" ,
Usage : "Directory to use for storing the data." ,
Value : defaultPath ,
2018-12-06 23:50:17 +02:00
} ,
2019-01-03 17:59:53 +02:00
cli . BoolFlag {
Name : "http" ,
Usage : "Use the HTTP challenge to solve challenges. Can be mixed with other types of challenges." ,
2018-12-06 23:50:17 +02:00
} ,
2019-01-03 17:59:53 +02:00
cli . StringFlag {
Name : "http.port" ,
Usage : "Set the port and interface to use for HTTP based challenges to listen on.Supported: interface:port or :port." ,
Value : ":80" ,
2018-12-06 23:50:17 +02:00
} ,
2019-10-05 13:44:38 +02:00
cli . StringFlag {
Name : "http.proxy-header" ,
Usage : "Validate against this HTTP header when solving HTTP based challenges behind a reverse proxy." ,
Value : "Host" ,
} ,
2018-12-06 23:50:17 +02:00
cli . StringFlag {
2019-01-03 17:59:53 +02:00
Name : "http.webroot" ,
2019-11-19 02:43:07 +02:00
Usage : "Set the webroot folder to use for HTTP based challenges to write directly in a file in .well-known/acme-challenge. This disables the built-in server and expects the given directory to be publicly served with access to .well-known/acme-challenge" ,
2018-12-06 23:50:17 +02:00
} ,
cli . StringSliceFlag {
2019-01-03 17:59:53 +02:00
Name : "http.memcached-host" ,
2018-12-06 23:50:17 +02:00
Usage : "Set the memcached host(s) to use for HTTP based challenges. Challenges will be written to all specified hosts." ,
} ,
2019-01-03 17:59:53 +02:00
cli . BoolFlag {
Name : "tls" ,
Usage : "Use the TLS challenge to solve challenges. Can be mixed with other types of challenges." ,
2018-12-06 23:50:17 +02:00
} ,
cli . StringFlag {
2019-01-03 17:59:53 +02:00
Name : "tls.port" ,
Usage : "Set the port and interface to use for TLS based challenges to listen on. Supported: interface:port or :port." ,
Value : ":443" ,
2018-12-06 23:50:17 +02:00
} ,
cli . StringFlag {
Name : "dns" ,
2019-01-03 17:59:53 +02:00
Usage : "Solve a DNS challenge using the specified provider. Can be mixed with other types of challenges. Run 'lego dnshelp' for help on usage." ,
2018-12-06 23:50:17 +02:00
} ,
cli . BoolFlag {
2019-01-03 17:59:53 +02:00
Name : "dns.disable-cp" ,
2018-12-06 23:50:17 +02:00
Usage : "By setting this flag to true, disables the need to wait the propagation of the TXT record to all authoritative name servers." ,
} ,
cli . StringSliceFlag {
2019-01-03 17:59:53 +02:00
Name : "dns.resolvers" ,
2018-12-06 23:50:17 +02:00
Usage : "Set the resolvers to use for performing recursive DNS queries. Supported: host:port. The default is to use the system resolvers, or Google's DNS resolvers if the system's cannot be determined." ,
} ,
2019-01-03 17:59:53 +02:00
cli . IntFlag {
Name : "http-timeout" ,
Usage : "Set the HTTP timeout value to a specific value in seconds." ,
} ,
2018-12-06 23:50:17 +02:00
cli . IntFlag {
Name : "dns-timeout" ,
2019-01-03 17:59:53 +02:00
Usage : "Set the DNS timeout value to a specific value in seconds. Used only when performing authoritative name servers queries." ,
Value : 10 ,
2018-12-06 23:50:17 +02:00
} ,
cli . BoolFlag {
Name : "pem" ,
Usage : "Generate a .pem file by concatenating the .key and .crt files together." ,
} ,
2019-01-09 09:29:17 +02:00
cli . IntFlag {
Name : "cert.timeout" ,
Usage : "Set the certificate timeout value to a specific value in seconds. Only used when obtaining certificates." ,
Value : 30 ,
} ,
2018-12-06 23:50:17 +02:00
}
}