I’ve found that I can pass arguments to my plugin by creating them in add_parser_arguments()
and then specifying them on the command line: --myplugin:entrypoint-foo value
The options I’m specifying are credentials for administrative access to remote systems which can’t run a python interpreter, but which can be configured to respond to a tls-sni-01 challenge.
The arguments are both lengthy (lots of typing) and sensitive (don’t want them displayed in the process table). Both factors make them good candidates for a configuration file, but not so good for the command line.
I’ve noticed that the LE client uses the configargparse
python module. I thought that I’d be able to stick my options in the configuration file like this:
myplugin:entrypoint-foo = value
The config file parser doesn’t seem to care for the ‘:’ character in the option name, because this is what happens:
letsencrypt: error: ambiguous option: --myplugin could match --myplugin:entrypoint-foo, --myplugin:entrypoint-bar
How can I pass options to my plugin through the config file? Neither of these worked either:
myplugin\:entrypoint-foo = value
'myplugin:entrypoint-foo' = value