Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ATTENTION: Certbot 3.0 Python Update] Impacts to Third Party Plugins #2

Open
4 tasks
zoracon opened this issue Aug 23, 2024 · 0 comments
Open
4 tasks

Comments

@zoracon
Copy link

zoracon commented Aug 23, 2024

Greetings from the Certbot Team,

With Python 3.8 reaching its end-of-life (see https://devguide.python.org/versions/#supported-versions), we have to update our Certbot snaps to a newer Python version. We will switch over early October and giving plugin developers until October 1st, 2024 to work on any updates to ensure their plugins don't break with Certbot 3.0.

If your plugin is released before Certbot 3.0.0, your users will continue to use your last version until Certbot 3.0.0 is released. Aim to release your plugin before Certbot 3.0.0 is released. If your plugin is released after Certbot 3.0.0, it will likely break.

We have outlined steps below, so you can take to smoothly update and test against the new changes:

Third Party Plugins Update Checklist:

  • 1. Ensure snapcraft --version is at least 8.3

  • 2. In your setup.py, change version to be 3.0.0 (though 2.12.0 and higher should work, assuming Certbot makes no interim releases).

  • 3. Follow one of these instructions for updating snapcraft.yaml:

  1. If you are using generate_dnsplugins_snapcraft.sh, grab the latest from github and run it again.
  2. If you are manually editing your snapcraft.yaml file, make the changes to tools/snap/generate_dnsplugins_snapcraft.sh shown in this commit, or similar. Migration guides can be found for core20 to core22, and core22 to core24.
  • 4. Follow one of these instructions for building the snap:
  1. If you are running snapcraft remote-build, note that the --build-id flag is not used, and that the command must be run from the main directory of a git repo.
  2. If you are running certbot's build_remote.py script, you should be able to use it as before.
  3. If you are manually building the snap, remove sudo /snap/bin/lxd.migrate -yes from your lxd setup instructions. You may need to be on ubuntu 24 to build it properly.

To test against Certbot with these changes implemented, use the edge channel: sudo snap install certbot --edge --classic. The version in that channel is 2.12.0.dev0, so setting your version to 2.12.0.dev0 temporarily (or lower) will allow it be installed for testing. After testing, be sure to bump your released version as mentioned in step 2.

Although no other changes should be necessary, see this PR for all changes made to migrate Certbot to core24/python3.12.

Contact us on our Mattermost in our Certbot channel or [email protected] if you have any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant