oGGy990 / certbot-dns-inwx

INWX DNS authenticator plugin for certbot
Apache License 2.0
105 stars 16 forks source link

The requested dns-inwx plugin does not appear to be installed #34

Closed pkoevesdi closed 1 week ago

pkoevesdi commented 7 months ago

I tried 3 methods of installing certbot and this plugin on 2 OS:

None of these work, I always get "The requested dns-inwx plugin does not appear to be installed" with certbot certonly -a dns-inwx -d sub.domain.tld -d *.wildcard.tld and "The requested certbot-dns-inwx:dns-inwx plugin does not appear to be installed" with certbot certonly -a certbot-dns-inwx:dns-inwx -d sub.domain.tld. Am I doing something wrong? Can somebody confirm that this still works with current certbot, current snap etc?

oGGy990 commented 6 months ago

Hey there,

since I don't have any aarch64 device available, I've tried it in a freshly set up Ubuntu 23.10 server VM on amd64:

image

Seems to work as expected. How have you installed certbot?

pkoevesdi commented 6 months ago

As said, with apt (first keypoint) and, after uninstalling, again with snap (second key point).

oGGy990 commented 6 months ago

Well installation of certbot via apt and usage of setup.py is not really recommended as it interferes with your package management and I haven't used this in a looooong time.

Concerning snap, I meant, have you installed it using classic confinement? I did the following after the first VM boot, which lead to success:

sudo snap install --classic certbot
sudo snap install certbot-dns-inwx
sudo snap set certbot trust-plugin-with-root=ok
sudo snap connect certbot:plugin certbot-dns-inwx
sudo snap connect certbot-dns-inwx:certbot-metadata certbot:certbot-metadata
sudo certbot plugins

You may also run sudo snap connections certbot to validate you have no typos in your connections - if that's even possible. I'm not very savvy with regards to snap and its possibilities to debug unfortunately.

oGGy990 commented 6 months ago

Additionally, as you have first installed it via apt: have you checked, certbot on your shell is actually using /snap/bin/certbot ? e.g. whereis certbot. It might happen, that it is not properly removed after using pip on your global python env.

pkoevesdi commented 6 months ago

Well installation of certbot via apt and usage of setup.py is not really recommended as it interferes with your package management and I haven't used this in a looooong time.

Then please consider removing this from the README.md:

  1. First install the plugin:
    • Without dependencies (if using certbot from your distribution repository):
      python3 setup.py develop --no-deps

Thank You for Your engagement to help me (and anyway for this project!), but I switched over to acme.sh. But in general: Whatever You did to make it run, please write it into the README.md. I did exactly what's written there. In Your comment I see additional steps. And yes, my cerbot was /snap/bin/certbot with my second try.

thef-uk commented 1 month ago

Hi,

let me piggyback on this topic, as I have the same issue. I think during the last week it stopped working for me with the above error message. Two weeks ago everything worked like a charm.

$ snap list Name Version Rev Tracking Publisher Notes certbot 2.11.0 3834 latest/stable certbot-eff✓ classic certbot-dns-inwx 2.2.1 11 latest/stable oggy - certbot-dns-porkbun v0.8 86 latest/candidate infinityofspace - core 16-2.61.4-20240607 17200 latest/stable canonical✓ core core20 20240705 2379 latest/stable canonical✓ base core24 20240710 490 latest/stable canonical✓ base

$ snap connections certbot
Interface Plug Slot Notes content[metadata-1] certbot-dns-inwx:certbot-metadata certbot:certbot-metadata manual content[certbot-1] certbot:plugin certbot-dns-inwx:certbot manual content[certbot-1] certbot:plugin certbot-dns-porkbun:certbot manual

2024-10-04 00:50:51,254:DEBUG:urllib3.connectionpool:http://localhost:None "GET /v2/connections?snap=certbot&interface=content HTTP/1.1" 200 2043 2024-10-04 00:50:51,374:DEBUG:certbot._internal.main:certbot version: 2.11.0 2024-10-04 00:50:51,374:DEBUG:certbot._internal.main:Location of certbot entry point: /snap/certbot/3834/bin/certbot 2024-10-04 00:50:51,374:DEBUG:certbot._internal.main:Arguments: ['-vv', '-a', 'dns-inwx', '-d', 'example.com', '--preconfigured-renewal'] 2024-10-04 00:50:51,374:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#dns-porkbun,PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot) 2024-10-04 00:50:51,380:DEBUG:certbot._internal.log:Root logging level set at 10 2024-10-04 00:50:51,381:DEBUG:certbot._internal.plugins.selection:Requested authenticator dns-inwx and installer None 2024-10-04 00:50:51,381:DEBUG:certbot._internal.plugins.selection:No candidate plugin 2024-10-04 00:50:51,381:DEBUG:certbot._internal.log:Exiting abnormally: Traceback (most recent call last): File "/snap/certbot/3834/bin/certbot", line 8, in sys.exit(main()) File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/main.py", line 19, in main return internal_main.main(cli_args) File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/main.py", line 1894, in main return config.func(config, plugins) File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/main.py", line 1581, in certonly installer, auth = plug_sel.choose_configurator_plugins(config, plugins, "certonly") File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/plugins/selection.py", line 256, in choose_configurator_plugins diagnose_configurator_problem("authenticator", req_auth, plugins) File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/plugins/selection.py", line 374, in diagnose_configurator_problem raise errors.PluginSelectionError(msg) certbot.errors.PluginSelectionError: The requested dns-inwx plugin does not appear to be installed 2024-10-04 00:50:51,382:ERROR:certbot._internal.log:The requested dns-inwx plugin does not appear to be installed

Any thoughts what I can do?

oGGy990 commented 1 month ago

Hi @thef-uk ,

if it was working last week, this is most likely a side effect of #35. They stated users wouldn't use the newer version until certbot 3.0.0 is released, but snap doesn't provide a dependency relation. So, I guess, you have already received the version 2.2.1 of the plugin which requires certbot 3.0.0 (due to snap core24 with python 3.12) but are still using the latest stable certbot snap of version 2.11 (using snap core20 and python 3.8).

You can either just wait until certbot 3.0.0 is released (early this month) after which the plugin should start working again. Or downgrade, if you need the plugin right now: snap revert certbot-dns-inwx or snap refresh certbot-dns-inwx --channel=2.2.0/stable. You may need to manually upgrade to the latest stable channel once certbot is released then - but I am no snap expert.

katzenjens commented 1 month ago

Well, it seems we just have to wait and hope for the best. 😬

root@server:~/snap# python3 -V
Python 3.11.2
root@server:~/snap# certbot --version
certbot 2.11.0
root@server:~/snap# snap refresh --list
All snaps up to date.
root@server:~/snap# snap refresh certbot-dns-inwx --channel=2.2.0/stable
error: snap "certbot-dns-inwx" is not available on 2.2.0/stable but is available to install on the
       following tracks:

       latest/stable  snap refresh --stable certbot-dns-inwx

       Please be mindful that different tracks may include different features. Get more information
       with 'snap info certbot-dns-inwx'.
root@server:~/snap# snap info certbot-dns-inwx
name:      certbot-dns-inwx
summary:   INWX DNS Authenticator plugin for Certbot
publisher: Oliver Ney (oggy)
store-url: https://snapcraft.io/certbot-dns-inwx
license:   Apache-2.0
description: |
  INWX DNS Authenticator plugin for Certbot
snap-id:      zXg8inzjRqPSCYI2SpNFAhldNsVj7Doz
tracking:     latest/stable
refresh-date: today at 11:22 CEST
channels:
  latest/stable:    2.2.1 2024-09-30 (11) 6MB -
  latest/candidate: ?
  latest/beta:      ?
  latest/edge:      2.2.1 2024-09-30 (11) 6MB -
installed:          2.2.1            (11) 6MB -
root@server:~/snap#
oGGy990 commented 1 month ago

That's what you get for just reading the docs without knowing how snap works, sorry about that. ;-)

As the certbot dev's seem to be taking "early october" not so strictly, I reverted the latest/stable channel to 2.2.0 and will switch it back to 2.2.1 once the 3.0.0 release is actually out. But I'm not sure if snap will automatically perform a downgrade...

katzenjens commented 1 month ago

Thanks for the prompt reaction! I will give it a try. 🤗 [edit] it works as expected.

lcnittl commented 2 weeks ago

Hi all, Seems the time has come and certbot latest/stable is on 3.0.0, causing it to fail with certbot-dns-inwx latest/stable (currently still at 2.2.0). Greetings, lcnittl

oGGy990 commented 1 week ago

Thanks for your heads up @Icnittl !

I've been on a business trip and moved the 2.2.1 release to back to stable on the day of your comment but wasn't able to respond due to the 2FA on my GitHub account... ;-)