-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
[Docs]OSPP Support Kubernetes ConfigMap for Apollo java, golang client #5233
Conversation
WalkthroughThe documentation for the Java SDK user guide has been updated to include new sections and detailed configurations for the Apollo client, particularly focusing on Kubernetes environments. Enhancements include the introduction of new configuration options, expanded instructions on mandatory settings such as Changes
Possibly related PRs
Poem
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
Outside diff range and nitpick comments (1)
docs/zh/client/java-sdk-user-guide.md (1)
430-430
: TODO: Add the guide for setting read/write permissions.Please remember to add the guide for setting the necessary read/write permissions for the client pod to access the ConfigMap, as mentioned in the placeholder comment.
Do you want me to open a GitHub issue to track this task?
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
Additional context used
Markdownlint
docs/zh/client/java-sdk-user-guide.md
409-409: null
No empty links(MD042, no-empty-links)
Additional comments not posted (4)
docs/zh/client/java-sdk-user-guide.md (4)
403-431
: Great addition to enhance availability in Kubernetes environments!The new feature to cache configurations in a ConfigMap is a valuable addition to enhance the availability of the Apollo client in Kubernetes environments. The documentation clearly explains the purpose, configuration properties, and structure of the cached data.
Tools
Markdownlint
409-409: null
No empty links(MD042, no-empty-links)
403-403
: Useful new configuration property for flexibility!The new
apollo.override-system-properties
configuration property in version 2.1.0+ is a helpful addition to provide flexibility in controlling whether Apollo's remote properties should override Java's system properties. The documentation clearly explains its purpose and the order of precedence for configuration.
407-407
: Helpful new configuration property for gray releases!The new
apollo.label
configuration property is a useful addition to allow specifying the label information for the application, which is important for configuring gray release rules. The documentation clearly explains its purpose and the order of precedence for configuration.
Line range hint
453-453
: Excellent support for Spring Boot 2.4+ and WebClient extension!The addition of Config Data Loader support for Spring Boot 2.4+ and Apollo Client 1.9.0+, along with the ability to extend the HTTP client using WebClient, is a great enhancement. The documentation provides clear instructions on the required dependencies, configuration properties, and the extensibility point for customizing the WebClient through an SPI implementation.
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
🧹 Outside diff range and nitpick comments (1)
docs/zh/client/java-sdk-user-guide.md (1)
403-489
: Comprehensive guide on ConfigMap caching in Kubernetes.This new section provides detailed information about ConfigMap caching for Apollo clients in Kubernetes environments. It covers:
- Version compatibility
- Configuration properties
- Naming conventions for ConfigMaps
- Steps to grant necessary permissions to the Pod's Service Account
The content is well-structured and informative. However, there are a few minor improvements that could be made:
The code blocks for Kubernetes resources (ServiceAccount, Role, RoleBinding, Pod) are not specified with a language. Adding
yaml
as the language would improve syntax highlighting.The numbered list for granting permissions is not properly formatted in Markdown, which may affect rendering.
Consider applying the following changes to improve formatting:
- Add
yaml
to the code blocks. For example:- ``` + ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: my-service-account namespace: my-namespace ``` 2. Fix the numbered list formatting by adding a blank line after each item. For example: ```diff 1. 创建Service Account: 如果还没有Service Account,你需要创建一个。 + 2. 创建Role或ClusterRole: 定义一个Role或ClusterRole,授予对特定ConfigMap的读写权限。如果ConfigMap是跨多个Namespace使用的,应该使用ClusterRole。 + 3. 绑定Service Account到Role或ClusterRole: 使用RoleBinding或ClusterRoleBinding将Service Account绑定到上面创建的Role或ClusterRole。These changes will improve the readability and rendering of the documentation.
🧰 Tools
🪛 Markdownlint
440-440: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
452-452: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
468-468: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
481-481: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/zh/client/java-sdk-user-guide.md
440-440: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
452-452: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
468-468: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
481-481: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
🔇 Additional comments (1)
docs/zh/client/java-sdk-user-guide.md (1)
166-167
: Informative addition about local file caching.This note provides valuable information about the dual caching mechanism when using ConfigMap in Kubernetes environments. It enhances the user's understanding of the caching strategy.
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
🧹 Outside diff range and nitpick comments (5)
docs/zh/client/java-sdk-user-guide.md (1)
403-490
: Comprehensive addition of ConfigMap caching information.This new section provides detailed information about ConfigMap caching in Kubernetes environments for Apollo client version 2.4.0 and above. The content is well-structured and informative, covering:
- Version applicability
- Purpose and benefits of ConfigMap caching
- Configuration properties
- Structure of cached data
- Detailed instructions for granting necessary permissions
The information appears to be complete and valuable for users implementing Apollo in Kubernetes environments.
However, there are a few minor improvements that could be made:
- Consider adding a brief introduction explaining why ConfigMap caching is beneficial in Kubernetes environments.
- The code blocks for Kubernetes configurations (ServiceAccount, Role, RoleBinding, Pod) should have a language specifier for proper syntax highlighting.
To improve readability and syntax highlighting, add language specifiers to the code blocks. For example:
- ``` + ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: my-service-account namespace: my-namespace ```Apply similar changes to the other code blocks in this section.
🧰 Tools
🪛 Markdownlint
440-440: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
452-452: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
468-468: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
481-481: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/en/client/java-sdk-user-guide.md (4)
457-460
: Add language specification to the code blockTo improve readability and enable proper syntax highlighting, please add a language specification to this code block. For YAML content, you can add
yaml
after the opening triple backticks.Example:
apiVersion: v1 kind: ServiceAccount metadata: name: my-service-account namespace: my-namespace🧰 Tools
🪛 Markdownlint
457-457: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
469-482
: Add language specification to the code blockTo improve readability and enable proper syntax highlighting, please add a language specification to this code block. For YAML content, you can add
yaml
after the opening triple backticks.Example:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: my-namespace name: configmap-reader rules: - apiGroups: [""] resources: ["configmaps"] verbs: ["get", "watch", "list", "update", "patch"]🧰 Tools
🪛 Markdownlint
469-469: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
485-496
: Add language specification to the code blockTo improve readability and enable proper syntax highlighting, please add a language specification to this code block. For YAML content, you can add
yaml
after the opening triple backticks.Example:
apiVersion: v1 kind: Pod metadata: name: my-pod namespace: my-namespace spec: serviceAccountName: my-service-account containers: - name: my-container image: my-image🧰 Tools
🪛 Markdownlint
485-485: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
498-503
: Add language specification to the code blockTo improve readability and enable proper syntax highlighting, please add a language specification to this code block. For shell commands, you can add
bash
after the opening triple backticks.Example:
kubectl apply -f service-account.yaml kubectl apply -f role.yaml kubectl apply -f role-binding.yaml kubectl apply -f pod.yaml🧰 Tools
🪛 Markdownlint
498-498: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
457-457: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
469-469: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
485-485: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
498-498: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/zh/client/java-sdk-user-guide.md
440-440: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
452-452: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
468-468: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
481-481: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
🔇 Additional comments (2)
docs/zh/client/java-sdk-user-guide.md (1)
166-167
: Approved: Clear note about local file caching.This note provides important information about the behavior of caching in Kubernetes environments. It's clear and concise.
docs/en/client/java-sdk-user-guide.md (1)
418-506
: Excellent addition of ConfigMap caching documentation!The new section on ConfigMap caching for Kubernetes environments is a valuable addition to the documentation. It provides clear instructions and examples for setting up this feature. Here are a few suggestions to further improve the content:
- Consider adding a brief explanation of the benefits of using ConfigMap caching in Kubernetes environments.
- It might be helpful to mention any potential drawbacks or considerations when using this feature.
- The permissions setup instructions are comprehensive, but consider adding a note about security best practices when granting these permissions.
Overall, this is a well-written and informative addition to the documentation.
🧰 Tools
🪛 Markdownlint
457-457: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
469-469: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
485-485: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
498-498: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
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
🧹 Outside diff range and nitpick comments (7)
docs/zh/client/java-sdk-user-guide.md (4)
Line range hint
11-18
: Improved clarity on environment requirements.The updates to this section provide valuable information on Java and Guava version compatibility. The note about downgrading to Java 1.6 is also helpful for users with specific requirements.
Consider adding a link to the Apollo client 1.x documentation for users who need to run on Java 1.7, as it might be helpful for those users.
403-492
: Excellent addition of ConfigMap cache settings for Kubernetes environments.The new section on ConfigMap cache settings is a valuable addition, especially for users deploying in Kubernetes environments. It provides clear instructions on how to enable and configure this feature, including the necessary permissions and deployment scenarios.
To further improve this section:
- Consider adding a brief explanation of the benefits of using ConfigMap caching.
- It might be helpful to include a simple diagram illustrating the ConfigMap caching mechanism in relation to Apollo's architecture.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
432-432: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
441-441: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
454-454: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
470-470: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
483-483: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
166-167
: Comprehensive update on Spring Boot integration, including new Config Data Loader support.The additions to the Spring Boot integration section, particularly the information about Config Data Loader for Spring Boot 2.4+ and Apollo Client 1.9.0+, are excellent. The examples provided cover various scenarios and clearly explain the differences between the old and new configuration methods.
To further enhance this section:
- Consider adding a brief comparison table highlighting the key differences and benefits of using the new Config Data Loader approach versus the previous method.
- It might be helpful to include a note about any potential migration considerations for users upgrading from older versions of Spring Boot or Apollo Client.
Also applies to: 405-492
427-427
: Minor Markdown formatting improvements suggested.To enhance the document's consistency and adherence to Markdown best practices:
- Remove the blank line inside the blockquote at line 427.
- Specify languages for the fenced code blocks at lines 432, 441, 454, 470, and 483. For example, use
yaml for YAML configurations and
bash for shell commands.These changes will improve the document's formatting and syntax highlighting when rendered.
Also applies to: 432-432, 441-441, 454-454, 470-470, 483-483
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (3)
418-426
: Excellent addition of ConfigMap cache feature for Kubernetes!This new section provides valuable information for users deploying Apollo in Kubernetes environments. The version requirement is clearly stated, and the explanation offers a good overview of the feature's benefits.
For improved clarity, consider adding a brief sentence explaining what a ConfigMap is for readers who might be unfamiliar with Kubernetes concepts.
427-443
: Clear explanation of ConfigMap cache configuration!The configuration options and ConfigMap structure are well-explained, providing users with the necessary information to set up and understand the feature.
To improve the markdown formatting:
Remove the blank line between the blockquote paragraphs (between lines 442 and 443) to address the markdown linting issue.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
444-506
: Comprehensive guide for ConfigMap authorization!This section provides excellent, detailed instructions for setting up the necessary Kubernetes resources to enable ConfigMap access. The step-by-step approach and YAML examples are very helpful for users.
To improve the documentation and address the markdown linting issues:
- Add language specifiers to the fenced code blocks. For example:
- Change
to
yaml for YAML blocks (lines 450, 458, 470, 486)- Change
to
bash for the kubectl commands (line 499)This will enable proper syntax highlighting and improve readability.
🧰 Tools
🪛 Markdownlint
449-449: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
457-457: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
469-469: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
485-485: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
498-498: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
449-449: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
457-457: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
469-469: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
485-485: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
498-498: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
432-432: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
441-441: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
454-454: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
470-470: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
483-483: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
🔇 Additional comments (4)
docs/zh/client/java-sdk-user-guide.md (2)
Line range hint
1-2
: Excellent addition of context for document audience.The new note at the beginning of the document clearly specifies the intended audience for this guide. This is a valuable addition that helps users understand if this document is relevant to their needs.
Line range hint
1-492
: Overall excellent improvements to the Apollo Java SDK user guide.The updates to this document significantly enhance its value for users of the Apollo Java SDK. Key improvements include:
- Clear specification of the intended audience.
- More detailed environment requirements and compatibility information.
- Comprehensive coverage of Spring Boot integration, including the new Config Data Loader approach.
- Addition of ConfigMap cache settings for Kubernetes environments.
These changes make the guide more comprehensive and up-to-date, particularly for users working with modern Spring Boot applications and Kubernetes deployments. The document now provides a solid foundation for both new and experienced users of Apollo.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
432-432: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
441-441: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
454-454: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
470-470: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
483-483: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/en/client/java-sdk-user-guide.md (2)
174-174
: Great addition for Kubernetes users!This note about using configMap cache in Kubernetes environments is valuable information. It helps users understand that there are additional options to improve availability in specific deployment scenarios.
Line range hint
1-506
: Excellent addition of Kubernetes ConfigMap cache feature documentation!The changes in this file significantly enhance the Apollo Java SDK user guide by introducing and explaining the ConfigMap cache feature for Kubernetes environments. The additions are well-structured, providing clear configuration instructions and a comprehensive guide for setting up the necessary Kubernetes resources.
The new content will be particularly valuable for users deploying Apollo in Kubernetes environments, offering them a way to improve availability and resilience of their configuration management.
A few minor markdown formatting suggestions have been made to improve readability and address linting issues. Overall, these changes are a great improvement to the documentation.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
449-449: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
457-457: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
469-469: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
485-485: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
498-498: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
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
🧹 Outside diff range and nitpick comments (5)
docs/zh/client/java-sdk-user-guide.md (3)
403-490
: Comprehensive explanation of ConfigMap caching settings.The new section 1.2.4.10 provides a detailed explanation of ConfigMap caching settings for Kubernetes environments. This is a valuable addition to the documentation, offering users clear instructions on how to enable and configure this feature.
A few suggestions for improvement:
- Consider adding a brief explanation of why users might want to use ConfigMap caching, highlighting its benefits.
- It might be helpful to mention any potential drawbacks or considerations when using this feature.
- Consider adding a simple example of how the ConfigMap would look after Apollo populates it with configuration data.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
430-490
: Comprehensive guide on setting up RBAC for ConfigMap access.The step-by-step instructions for setting up RBAC (Role-Based Access Control) for ConfigMap access are detailed and helpful. This information is essential for users to properly configure their Kubernetes environment to work with Apollo's ConfigMap caching feature.
A few suggestions for improvement:
- Consider adding a brief explanation of why these RBAC settings are necessary.
- It might be helpful to mention that these are example configurations and users may need to adjust them based on their specific Kubernetes setup and security requirements.
- Consider adding a note about the security implications of granting these permissions and any best practices for minimizing potential risks.
Line range hint
166-490
: Excellent addition of Kubernetes ConfigMap caching documentation.The new content about ConfigMap caching for Kubernetes environments is a valuable addition to the Apollo Java SDK user guide. Here's a summary of the review:
Strengths:
- Clear explanation of the ConfigMap caching feature and its configuration options.
- Detailed instructions on setting up necessary RBAC permissions in Kubernetes.
- Consistent formatting and style with the rest of the document.
Suggestions for minor improvements:
- Consider adding a brief explanation of the benefits and potential use cases for ConfigMap caching.
- Provide a simple example of how the ConfigMap looks after Apollo populates it with configuration data.
- Include a note about security considerations and best practices when granting the required RBAC permissions.
Overall, this addition significantly enhances the documentation for users deploying Apollo in Kubernetes environments. Great job on providing comprehensive and clear instructions for this new feature.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (2)
418-443
: New section on ConfigMap cache for Kubernetes environments.This new section provides valuable information on enhancing availability in Kubernetes environments. It's a significant addition that deserves attention.
A few suggestions for improvement:
- Consider adding a brief explanation of why this feature is beneficial.
- The YAML examples for Kubernetes configuration are helpful, but it might be useful to add a brief explanation for each step.
- The blank line inside the blockquote (line 443) should be removed for consistency.
Consider addressing the above points to further enhance this section's clarity and usefulness.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
444-507
: Detailed instructions for Service Account configuration.The step-by-step guide for configuring Service Account permissions is thorough and well-explained. It provides YAML examples for each step, which is very helpful for users.
Consider adding brief explanations for each YAML block to provide context for users who might be less familiar with Kubernetes configuration.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
🔇 Additional comments (10)
docs/zh/client/java-sdk-user-guide.md (4)
166-167
: Excellent addition of Kubernetes ConfigMap caching information.The new note about ConfigMap caching for Kubernetes environments is a valuable addition to the documentation. It provides users with information about an additional feature that can improve availability in Kubernetes deployments.
409-412
: Clear explanation of configuration options.The explanation of the
apollo.cache.kubernetes.enable
andapollo.cache.kubernetes.configmap-namespace
options is clear and concise. Good job on providing default values and explaining their purpose.
413-427
: Detailed explanation of ConfigMap structure.The explanation of how configuration information is stored in the ConfigMap is thorough and helpful. It clearly outlines the naming conventions and structure used by Apollo.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
428-429
: Important note about pod permissions.The note about required pod permissions is crucial information for users. It's good that you've included this and provided a reference to the detailed instructions that follow.
docs/en/client/java-sdk-user-guide.md (6)
Line range hint
1-1
: Excellent addition of a note for document context.The added note at the beginning of the document provides valuable context for the intended audience. This helps users understand if this guide is relevant to their needs.
174-174
: Important note about Kubernetes ConfigMap cache.This note provides crucial information about an additional availability improvement option for Kubernetes environments. It's well-placed and draws attention to an important feature.
420-421
: Version information for ConfigMap cache feature.Clearly stating the version requirement for this feature is helpful for users. It allows them to quickly determine if this feature is available in their current Apollo client version.
422-437
: Detailed explanation of ConfigMap cache mechanism.This section provides a comprehensive explanation of the ConfigMap cache mechanism, including its purpose and configuration options. The information is clear and well-structured.
438-443
: Important note about Service Account permissions.This note is crucial for proper implementation of the ConfigMap cache feature. It alerts users to the necessary permissions and provides a link to more detailed instructions.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
Line range hint
1-507
: Overall, excellent improvements to the Apollo Java SDK documentation.The updates to this document significantly enhance its value to users. Key improvements include:
- Clear explanation of the new ConfigMap cache feature for Kubernetes environments.
- Detailed instructions for configuring Service Account permissions in Kubernetes.
- Additional context and version information for various features.
These changes make the guide more comprehensive and user-friendly. The document now provides better support for users working with Apollo in diverse environments, particularly in Kubernetes deployments.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
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
🧹 Outside diff range and nitpick comments (3)
docs/zh/client/java-sdk-user-guide.md (2)
403-490
: Excellent addition of ConfigMap caching documentation!This new section on ConfigMap caching settings is a great addition to the documentation. It provides comprehensive information for users deploying Apollo in Kubernetes environments, including:
- Detailed explanation of the feature and its benefits
- Configuration options with clear descriptions
- A step-by-step guide on setting up the necessary permissions in Kubernetes
The content is well-structured and easy to follow. This will be very helpful for users looking to improve their Apollo setup in Kubernetes.
Consider adding a brief note about the performance implications or benefits of using ConfigMap caching. This could help users make an informed decision about whether to enable this feature.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
427-427
: Minor formatting suggestionThere's a blank line inside a blockquote at line 427. Consider removing this blank line to adhere to Markdown best practices and improve consistency throughout the document.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (1)
443-443
: Minor formatting issue in blockquoteThere's a blank line inside a blockquote, which is flagged by Markdownlint. While this doesn't affect the content, it's a minor formatting inconsistency.
Consider removing the blank line within the blockquote to maintain consistent formatting throughout the document.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
🔇 Additional comments (12)
docs/zh/client/java-sdk-user-guide.md (2)
166-167
: Great addition for Kubernetes users!This note about configMap caching in Kubernetes environments is a valuable addition. It informs users about an additional feature that can improve availability in Kubernetes deployments.
Line range hint
1-490
: Excellent updates to the Apollo Java SDK user guide!The changes made to this document significantly improve its content and usefulness. Key improvements include:
- Addition of ConfigMap caching documentation for Kubernetes environments
- Updates to various configuration options and their explanations
- Improved clarity and detail throughout the document
These updates will greatly benefit users implementing Apollo, especially those working with Kubernetes deployments. The document maintains a good structure and is easy to follow.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (10)
Line range hint
1-1
: Excellent addition of an introductory noteThe new introductory note provides clear guidance for the intended audience of this document. It helps users understand whether this guide is relevant to them and directs developers to the appropriate resource.
Line range hint
12-15
: Clear environment requirements specificationThe environment requirements section has been improved with more detailed information about Java and Guava versions. The note about downgrading to Java 1.6 is particularly helpful for users with specific version constraints.
Line range hint
17-21
: Comprehensive mandatory settings sectionThe expanded mandatory settings section provides a clear explanation of the importance of
AppId
andApollo Meta Server
. This helps users understand why these settings are crucial for the Apollo client to function correctly.
Line range hint
23-36
: Detailed AppId configuration optionsThe prioritized list of AppId configuration methods is very helpful. It gives users multiple options to set this important parameter and clearly explains the order of precedence.
Line range hint
38-67
: Comprehensive Apollo Meta Server configurationThe expanded section on Apollo Meta Server configuration is excellent. It provides multiple methods for setting the meta server address and includes important notes about using domain names in production environments.
Line range hint
69-73
: New subsections for Meta Server customizationThe addition of subsections for customizing the Meta Server address location logic and skipping Meta Server service discovery is valuable. These options provide more flexibility for different deployment scenarios.
Line range hint
75-86
: Improved local cache path explanationThe updated local cache path section now includes more detailed information about default paths and filename formats. The addition of customization options for the cache path is particularly useful.
Line range hint
88-95
: New optional settings sectionThe introduction of the optional settings section with new configuration options like enabling Apollo Override System Properties and ConfigMap caching for Kubernetes environments is a great addition. It provides users with more advanced configuration possibilities.
418-507
: Comprehensive ConfigMap cache mechanism explanationThe new section on the ConfigMap cache mechanism for Kubernetes is excellent. It provides detailed information on how to enable it, the necessary permissions, and even includes a step-by-step guide for authorizing a Pod's Service Account. This is very helpful for users deploying Apollo in a Kubernetes environment.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
Line range hint
1-507
: Excellent updates to the Apollo Java SDK User GuideThis document has been significantly improved with comprehensive updates and new content. The additions include:
- Clearer environment requirements
- Expanded mandatory settings explanations
- Detailed configuration options for AppId and Apollo Meta Server
- New sections on customizing Meta Server logic and local cache paths
- Introduction of optional settings for advanced configurations
- A thorough explanation of the ConfigMap cache mechanism for Kubernetes environments
These updates provide users with more detailed and flexible configuration options, catering to various deployment scenarios. The document is well-structured, clear, and informative.
There's only one minor formatting issue with a blank line in a blockquote, which can be easily addressed.
Overall, these changes greatly enhance the usability and completeness of the Apollo Java SDK User Guide.
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
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
🧹 Outside diff range and nitpick comments (4)
docs/zh/client/java-sdk-user-guide.md (2)
428-429
: Consider adding more details about required permissionsWhile the note about required permissions is important, consider adding a brief mention of the specific permissions needed (get, list, watch, create, update, delete) here before diving into the detailed YAML examples.
489-490
: Consider adding a troubleshooting sectionThe documentation would benefit from a brief troubleshooting section addressing common issues when setting up ConfigMap caching in Kubernetes, such as:
- Permission errors
- Namespace misconfigurations
- Common error messages and their resolutions
docs/en/client/java-sdk-user-guide.md (2)
418-507
: Great addition of Kubernetes ConfigMap cache documentation!The new section provides comprehensive documentation for the ConfigMap cache feature, including configuration options and detailed YAML examples. The content is well-structured and informative.
A few suggestions to improve the documentation:
- Consider adding a note about backup/recovery strategy for ConfigMap data
- Include information about ConfigMap size limits and potential impact on performance
- Add troubleshooting tips for common issues
Consider applying these formatting improvements to the YAML examples:
- apiVersion: v1 - kind: ServiceAccount +apiVersion: v1 +kind: ServiceAccount🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
443-443
: Fix markdown blockquote formatting.There's an unnecessary blank line inside the blockquote which affects rendering consistency.
Remove the blank line to maintain consistent formatting:
-> appId is the application's own appId, such as 100004458. - -> cluster is the cluster used by the application, which is usually default if not configured locally🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
443-443: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
🔇 Additional comments (5)
docs/zh/client/java-sdk-user-guide.md (5)
166-167
: LGTM: Clear and concise note about Kubernetes ConfigMap cachingThe note effectively informs users about the additional caching option available in Kubernetes environments.
403-408
: LGTM: Well-structured section introductionThe introduction clearly explains the purpose and benefits of the ConfigMap caching feature, including its availability from version 2.4.0.
409-412
: LGTM: Clear configuration parameters documentationThe configuration parameters are well documented with their default values:
apollo.cache.kubernetes.enable
apollo.cache.kubernetes.namespace
413-427
: LGTM: Well-documented ConfigMap naming conventionThe documentation clearly explains the ConfigMap naming convention and key-value structure.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote(MD028, no-blanks-blockquote)
430-488
: LGTM: Comprehensive RBAC configuration examplesThe YAML examples are well-structured and cover all necessary components:
- Service Account creation
- Role/ClusterRole definition
- RoleBinding/ClusterRoleBinding setup
- Pod configuration
- Application steps
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
🧹 Outside diff range and nitpick comments (3)
docs/zh/client/java-sdk-user-guide.md (1)
424-429
: Fix markdown formatting in blockquotes
There are unnecessary blank lines inside the blockquotes that should be removed to maintain consistent formatting.
Apply this diff:
-> appId是应用自己的appId,如100004458
-> cluster是应用使用的集群,一般在本地模式下没有做过配置的话,是default
-> namespace就是应用使用的配置namespace。 如果namespace中出现'_' , 将会在拼接key时被转义为'__'
-
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (2)
448-509
: Improve YAML examples formatting and clarity.
The Kubernetes configuration examples would benefit from:
- Consistent YAML indentation
- Language identifiers for code blocks
- Removal of blank lines in blockquotes
Apply these improvements to the YAML examples:
- ```yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: my-service-account
- namespace: default
- ```
+```yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: my-service-account
+ namespace: default
+```
Similar formatting should be applied to other YAML examples in this section.
422-447
: Consider adding a configuration example.
To make it easier for users to get started, consider adding a simple configuration example showing how to enable the ConfigMap cache feature.
Add a configuration example like:
# Enable ConfigMap cache
apollo.cache.kubernetes.enable=true
# Specify Kubernetes namespace (optional)
apollo.cache.kubernetes.namespace=my-namespace
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
445-445: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
443-443: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
445-445: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
🔇 Additional comments (5)
docs/zh/client/java-sdk-user-guide.md (3)
166-167
: LGTM: Clear note about Kubernetes ConfigMap caching
The note effectively informs users about the additional caching option available in Kubernetes environments.
403-431
: LGTM: Well-structured ConfigMap caching documentation
The documentation clearly explains:
- Version requirements (2.4.0+)
- Configuration parameters and their default values
- ConfigMap naming convention and key format
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
432-492
: LGTM: Comprehensive RBAC configuration guide
The YAML examples and step-by-step instructions for configuring RBAC permissions are accurate and follow Kubernetes best practices.
docs/en/client/java-sdk-user-guide.md (2)
174-174
: LGTM: Well-placed note about Kubernetes ConfigMap cache feature.
The note effectively informs users about an additional availability improvement option for Kubernetes environments.
418-447
: LGTM: Clear introduction of the ConfigMap cache feature.
The section effectively explains:
- Version requirements
- Configuration options
- Implementation details
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
445-445: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
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: 3
🧹 Outside diff range and nitpick comments (2)
docs/zh/client/java-sdk-user-guide.md (1)
424-429
: Fix formatting in blockquote
There's inconsistent formatting in the blockquote section explaining appId, cluster and namespace.
Apply this diff to fix the formatting:
-> appId是应用自己的appId,如100004458
-> cluster是应用使用的集群,一般在本地模式下没有做过配置的话,是default
-> namespace就是应用使用的配置namespace。 如果namespace中出现'_' , 将会在拼接key时被转义为'__'
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (1)
448-509
: Enhance YAML examples with best practices.
The YAML configuration examples are technically correct but could benefit from additional security best practices.
Consider adding:
- Resource limits for the Pod configuration
- Security context configurations
- A note about following the principle of least privilege when assigning permissions
Example addition for the Pod configuration:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: default
spec:
serviceAccountName: my-service-account
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
containers:
- name: my-container
image: my-image
+ resources:
+ limits:
+ memory: "128Mi"
+ cpu: "500m"
+ requests:
+ memory: "64Mi"
+ cpu: "250m"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/en/client/java-sdk-user-guide.md
443-443: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
445-445: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
🔇 Additional comments (3)
docs/zh/client/java-sdk-user-guide.md (2)
166-167
: LGTM - Good addition of Kubernetes ConfigMap caching note
The note about Kubernetes ConfigMap caching availability is well-placed and provides useful information to users.
403-492
: LGTM - Comprehensive documentation of ConfigMap caching feature
The new section thoroughly documents the ConfigMap caching feature, including:
- Version requirements
- Configuration parameters
- ConfigMap naming conventions
- Required RBAC permissions
- Detailed YAML examples for Kubernetes setup
The documentation is well-structured and provides all necessary information for users to implement this feature.
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (1)
418-443
: Verify technical accuracy of ConfigMap cache configuration.
The ConfigMap cache configuration section provides accurate information about the new feature. However, it would be helpful to add a note about potential performance implications and recommended cache size limits.
Let's verify the ConfigMap functionality:
Consider adding a note about:
- Recommended ConfigMap size limits in Kubernetes
- Performance impact on the Kubernetes API server with frequent ConfigMap updates
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
kind: RoleBinding | ||
metadata: | ||
name: configmap-reader-binding | ||
namespace: dafault |
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.
Fix typo in namespace value
There's a typo in the namespace value in the YAML example.
Apply this diff to fix the typo:
- namespace: dafault
+ namespace: default
Also applies to: 460-460
subjects: | ||
- kind: ServiceAccount | ||
name: my-service-account | ||
namespace: dafault |
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.
Fix typo in namespace value
There's another typo in the namespace value in the same YAML example.
Apply this diff to fix the typo:
- namespace: dafault
+ namespace: default
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
namespace: dafault | |
namespace: default |
> cluster is the cluster used by the application, which is usually default if not configured locally | ||
> | ||
> namespace Indicates the configuration namespace used by the application. If '_' appears in the namespace, it will be escaped to '__' when the key is concatenated. | ||
|
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.
Fix markdown formatting issues.
There are unnecessary blank lines inside blockquotes at lines 443 and 445.
Apply this diff to fix the formatting:
-
> Since this feature is extended, so the client-java dependency is set to optional. You need to import the matching version
-
> Since read and write operations on the ConfigMap are required, the pod where the client is located must have the corresponding permissions. The specific configuration method can be referred to below.
Also applies to: 445-445
🧰 Tools
🪛 Markdownlint
443-443: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
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
🧹 Outside diff range and nitpick comments (3)
docs/zh/client/java-sdk-user-guide.md (2)
413-427
: Consider improving the ConfigMap key format explanation
While the ConfigMap storage format is well documented, the explanation about underscore escaping in namespace could be clearer.
Add this clarifying example:
> namespace就是应用使用的配置namespace。 如果namespace中出现'_' , 将会在拼接key时被转义为'__'
+> 例如: namespace为'application_yaml'时, 生成的key为'default___application__yaml'
🧰 Tools
🪛 Markdownlint
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
432-492
: LGTM - Comprehensive RBAC setup guide
The YAML examples and step-by-step instructions for setting up Kubernetes RBAC permissions are thorough and follow best practices.
A minor formatting issue exists in the blockquote that needs fixing.
Remove the blank line inside the blockquote at line 427.
docs/en/client/java-sdk-user-guide.md (1)
418-445
: Fix markdown formatting issues.
There are unnecessary blank lines inside blockquotes that should be removed for better readability.
Apply this diff to fix the formatting:
-
> Since this feature is extended, so the client-java dependency is set to optional. You need to import the matching version
-
> Since read and write operations on the ConfigMap are required, the pod where the client is located must have the corresponding permissions. The specific configuration method can be referred to below.
+> Since this feature is extended, so the client-java dependency is set to optional. You need to import the matching version
+> Since read and write operations on the ConfigMap are required, the pod where the client is located must have the corresponding permissions. The specific configuration method can be referred to below.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- docs/en/client/java-sdk-user-guide.md (2 hunks)
- docs/zh/client/java-sdk-user-guide.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint
docs/zh/client/java-sdk-user-guide.md
427-427: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
🔇 Additional comments (5)
docs/zh/client/java-sdk-user-guide.md (3)
166-167
: LGTM - Clear introduction of the feature
The note effectively introduces the Kubernetes ConfigMap caching feature as an additional availability enhancement.
403-412
: LGTM - Well-documented configuration options
The configuration options are clearly documented with:
- Version compatibility information
- Default values
- Purpose of each setting
428-431
: LGTM - Important implementation notes
The notes about optional dependencies and required permissions are crucial for implementation.
🧰 Tools
🪛 Markdownlint
429-429: null
Blank line inside blockquote
(MD028, no-blanks-blockquote)
docs/en/client/java-sdk-user-guide.md (2)
174-174
: LGTM - Good addition of Kubernetes-specific information!
The note about ConfigMap cache availability in Kubernetes environments is well-placed and provides valuable information to users deploying in Kubernetes.
418-507
: LGTM - Well-documented ConfigMap cache feature!
The new section provides comprehensive documentation for the ConfigMap cache feature:
- Clear explanation of the feature and its benefits
- Well-structured configuration options
- Detailed YAML examples for Kubernetes setup
- Complete instructions for setting up required permissions
The implementation will help improve availability in Kubernetes environments.
What's the purpose of this PR
docs for pr apolloconfig/apollo-java#79
discussion #5210
Brief changelog
Follow this checklist to help us incorporate your contribution quickly and easily:
[✅] Read the Contributing Guide before making this pull request.
[✅] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[✅] Write necessary unit tests to verify the code.
[❌] Run mvn clean test to make sure this pull request doesn't break anything.
[❌] Update the CHANGES log.
Summary by CodeRabbit
New Features
apollo-mockserver
for unit tests.Documentation