home-assistant / addons

:heavy_plus_sign: Docker add-ons for Home Assistant
https://home-assistant.io/hassio/
Apache License 2.0
1.57k stars 1.52k forks source link

Add support for Loopia DNS challenge #3821

Closed agnon closed 18 hours ago

agnon commented 2 weeks ago

Adds support for Loopia DNS challenges using this great plugin https://pypi.org/project/certbot-dns-loopia/ 1.0.1

Did change versions like others have before me. Not sure if i'm supposed to :) The versioning implies a patch whereas i would argue added functionality is a minor.

Anyways, thanks for a great tool.

Cheers

Summary by CodeRabbit

Release Notes

home-assistant[bot] commented 2 weeks ago

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks :+1:

Learn more about our pull request process.

agnon commented 2 weeks ago

I just noticed there's another PR active for this #3796 but without a signed cla.

coderabbitai[bot] commented 2 weeks ago
📝 Walkthrough ```markdown
📝 Walkthrough ## Walkthrough The changes in this pull request introduce support for the Loopia DNS provider in the Letsencrypt project. This includes updates to the changelog, documentation, Dockerfile, configuration files, and scripts to accommodate the new DNS provider. Key additions include new configuration fields for Loopia credentials, a new build argument for the Loopia DNS plugin, and modifications to scripts to handle the new provider's requirements. ## Changes | File | Change Summary | |-------------------------------------------|-------------------------------------------------------------------------------------------------| | letsencrypt/CHANGELOG.md | Added new version entry `## 5.2.4` and feature `- Add Loopia DNS support`. | | letsencrypt/DOCS.md | Updated documentation to include `dns-loopia` in supported providers and added configuration details. | | letsencrypt/Dockerfile | Added build argument `CERTBOT_DNS_LOOPIA_VERSION` and installed `certbot-dns-loopia` package. | | letsencrypt/build.yaml | Added argument `CERTBOT_DNS_LOOPIA_VERSION: 1.0.1` under `args`. | | letsencrypt/config.yaml | Updated version to 5.2.4, added `loopia_username` and `loopia_password`, and included `dns-loopia` in provider list. | | letsencrypt/rootfs/etc/cont-init.d/file-structure.sh | Added retrieval for `dns.loopia_username` and `dns.loopia_password` in configuration setup. | | letsencrypt/rootfs/etc/services.d/lets-encrypt/run | Integrated support for `dns-loopia`, checking for username and password, and setting propagation seconds. | ## Sequence Diagram(s) ```mermaid sequenceDiagram participant User participant LetsEncrypt participant LoopiaDNS User->>LetsEncrypt: Request certificate LetsEncrypt->>LoopiaDNS: Validate domain LoopiaDNS-->>LetsEncrypt: Return validation result LetsEncrypt-->>User: Provide certificate ```
```

📜 Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
📥 Commits Reviewing files that changed from the base of the PR and between 7b8202b780d9c7ed717688de9c90ff83379fee89 and 5d925e320bc672cd48de8dd19324766e5a5a7f97.
📒 Files selected for processing (2) * `letsencrypt/CHANGELOG.md` (1 hunks) * `letsencrypt/config.yaml` (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (2) * letsencrypt/CHANGELOG.md * letsencrypt/config.yaml

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` or `@coderabbitai title` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
agnon commented 2 weeks ago

@coderabbitai review

agnon commented 1 week ago

I see the builds got rate limited, or at least it looks like that. Is someone looking into this?

moorgrove commented 9 hours ago

I get errors below when i try to update with Loopia DNS challenge. Any idea what it could be?

Missing property in credentials configuration file /data/dnsapikey:
 * Property "dns_loopia_user" not found (should be API username for Loopia account).

Settings:

domains:
  - xxx
email: xxx
keyfile: xxx
certfile: xxx
challenge: dns
dns:
  provider: dns-loopia
  loopia_username: xxx
  loopia_password: xxx
agnon commented 3 hours ago

Sorry, got the username wrong in the dnsapikey file. New PR #3838