-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
letsencrypt: add support for Synergy Wholesale DNS challenge #3898
base: master
Are you sure you want to change the base?
letsencrypt: add support for Synergy Wholesale DNS challenge #3898
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
📝 WalkthroughWalkthroughThis pull request introduces support for the Synergy Wholesale DNS provider in the Let's Encrypt add-on. The changes span multiple configuration files, including the changelog, documentation, Dockerfile, build configuration, and runtime scripts. The update adds new configuration parameters for Synergy Wholesale, enables installation of the corresponding Certbot DNS plugin, and updates the list of supported DNS providers. The version has been incremented to 5.2.11, and the transip global_key parameter addition from the previous version has been removed. Changes
Sequence DiagramsequenceDiagram
participant User
participant Config as Configuration
participant Certbot as Certbot DNS Plugin
participant SynergyWholesale as Synergy Wholesale DNS
User->>Config: Provide Synergy Wholesale credentials
Config->>Certbot: Pass reseller_id and api_key
Certbot->>SynergyWholesale: Authenticate DNS challenge
SynergyWholesale-->>Certbot: Verify DNS records
Certbot-->>User: Issue SSL Certificate
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
letsencrypt/DOCS.md (2)
1092-1094
: Improve documentation clarity and conciseness.Revise the text for better readability:
-In order to use a domain with this challenge, API access will need enabling on your account. In order to -do this go to Account Functions -> select the API Information -> details and click the Enable API button. +To use a domain with this challenge, enable API access on your account. To +do this, go to Account Functions -> select the API Information -> details and click the Enable API button.🧰 Tools
🪛 LanguageTool
[style] ~1092-~1092: Consider a shorter alternative to avoid wordiness.
Context: ...ess will need enabling on your account. In order to do this go to Account Functions -> sele...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~1093-~1093: Possible missing comma found.
Context: ...nabling on your account. In order to do this go to Account Functions -> select the A...(AI_HYDRA_LEO_MISSING_COMMA)
1104-1106
: Add a note about API key security.Consider adding a security note about protecting the API key:
provider: dns-synergy-wholesale synergy_wholesale_reseller_id: 1234 synergy_wholesale_api_key: 0123456789abcdef0123456789abcdef01234 + # Important: Keep your API key secure and never share it
🧰 Tools
🪛 Gitleaks (8.21.2)
1106-1106: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
letsencrypt/CHANGELOG.md
(1 hunks)letsencrypt/DOCS.md
(3 hunks)letsencrypt/Dockerfile
(2 hunks)letsencrypt/build.yaml
(1 hunks)letsencrypt/config.yaml
(3 hunks)letsencrypt/rootfs/etc/cont-init.d/file-structure.sh
(1 hunks)letsencrypt/rootfs/etc/services.d/lets-encrypt/run
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
letsencrypt/build.yaml (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
letsencrypt/Dockerfile (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
letsencrypt/CHANGELOG.md (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
letsencrypt/DOCS.md (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
letsencrypt/config.yaml (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
🪛 LanguageTool
letsencrypt/DOCS.md
[style] ~1091-~1091: Consider a shorter alternative to avoid wordiness.
Context: ...
Synergy Wholesale
In order to use a domain with this challenge, API a...(IN_ORDER_TO_PREMIUM)
[style] ~1092-~1092: Consider a shorter alternative to avoid wordiness.
Context: ...ess will need enabling on your account. In order to do this go to Account Functions -> sele...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~1093-~1093: Possible missing comma found.
Context: ...nabling on your account. In order to do this go to Account Functions -> select the A...
(AI_HYDRA_LEO_MISSING_COMMA)
🪛 Gitleaks (8.21.2)
letsencrypt/DOCS.md
1106-1106: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
🔇 Additional comments (7)
letsencrypt/rootfs/etc/services.d/lets-encrypt/run (1)
205-210
: LGTM! Implementation follows established patterns.The Synergy Wholesale DNS provider implementation correctly follows the same pattern as other providers:
- Proper configuration validation using
bashio::config.require
- Consistent argument construction for the provider
Run this script to verify the implementation matches other providers:
✅ Verification successful
Implementation verified - follows established patterns
The Synergy Wholesale DNS provider implementation perfectly aligns with the patterns used across other providers in the codebase, particularly matching providers like Namecheap and Simply that also require two credentials.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify consistent implementation pattern across DNS providers # Test: Check if all DNS providers follow similar patterns for configuration and argument construction rg -A 3 'elif \[ "\$\{CHALLENGE\}" == "dns" \] && \[ "\$\{DNS_PROVIDER\}" == "dns-[^"]+' | grep -v "synergy-wholesale"Length of output: 14237
letsencrypt/build.yaml (1)
36-36
: LGTM! Version specification follows conventions.The Synergy Wholesale DNS plugin version is properly specified and maintains the alphabetical ordering of the configuration.
letsencrypt/config.yaml (1)
2-2
: LGTM! Configuration changes are well-structured.The changes are appropriate and well-implemented:
- Version bump follows semantic versioning
- Configuration parameters are properly typed
- Provider list is correctly updated
Also applies to: 96-97, 115-115
letsencrypt/CHANGELOG.md (1)
3-6
: LGTM! Changelog entry is clear and consistent.The changelog entry is concise and matches the version bump in config.yaml.
letsencrypt/Dockerfile (1)
29-29
: LGTM! Changes follow existing patterns.The addition of the Synergy Wholesale DNS provider follows the established pattern:
- Build argument for version control
- Package installation in alphabetical order
Also applies to: 89-89
letsencrypt/rootfs/etc/cont-init.d/file-structure.sh (1)
49-50
: LGTM! Configuration parameters properly added.The new Synergy Wholesale DNS provider configuration parameters are:
- Added in alphabetical order
- Follow the established naming convention
letsencrypt/DOCS.md (1)
68-68
: LGTM! Provider added to supported list.The new DNS provider is correctly added to the supported providers list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
letsencrypt/DOCS.md (2)
1092-1094
: Improve instruction clarity.Simplify the instructions by removing redundant phrases:
-To use a domain with this challenge, enable API access on your account. To -do this, go to Account Functions -> select the API Information and click the Enable API button. +To use a domain with this challenge, enable API access on your account: +Go to Account Functions -> select the API Information and click the Enable API button.🧰 Tools
🪛 LanguageTool
[style] ~1092-~1092: Consider a more expressive alternative.
Context: ..., enable API access on your account. To do this, go to Account Functions -> select...(DO_ACHIEVE)
1106-1106
: Use a more obvious example API key.Replace the example API key with a clearly fake one to prevent accidental use:
- synergy_wholesale_api_key: 0123456789abcdef0123456789abcdef01234 + synergy_wholesale_api_key: YOUR_API_KEY🧰 Tools
🪛 Gitleaks (8.21.2)
1106-1106: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
letsencrypt/DOCS.md
(3 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
letsencrypt/DOCS.md (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
🪛 LanguageTool
letsencrypt/DOCS.md
[style] ~1092-~1092: Consider a more expressive alternative.
Context: ..., enable API access on your account. To do this, go to Account Functions -> select...
(DO_ACHIEVE)
🪛 Gitleaks (8.21.2)
letsencrypt/DOCS.md
1106-1106: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
🔇 Additional comments (2)
letsencrypt/DOCS.md (2)
68-68
: LGTM!The new DNS provider is correctly added to the list in alphabetical order.
169-170
: LGTM!The configuration fields are correctly added and follow the established format.
provider: dns-synergy-wholesale | ||
synergy_wholesale_reseller_id: 1234 | ||
synergy_wholesale_api_key: 0123456789abcdef0123456789abcdef01234 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add information about obtaining the reseller ID.
Please add instructions on where users can find their reseller ID in the Synergy Wholesale control panel.
🧰 Tools
🪛 Gitleaks (8.21.2)
1106-1106: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
Add support for Synergy Wholesale DNS
Summary by CodeRabbit
Release Notes for Let's Encrypt Add-on v5.2.11
New Features
Changes
Compatibility