Repository: spidernet-io/spiderpool
Pull request #601 (2022-08-21 05:51:13)

CI: update chart readme
Signed-off-by: weizhou.lan@daocloud.io <weizhou.lan@daocloud.io>

---
name: Pull request
about: Tell us about your contribution
labels: ["pr/release/none-required"]
---

---
## Thanks for contributing !

Before submitting a pull request, make sure you read about our Contribution notice here: <https://spidernet-io.github.io/spiderpool/contributing/development/pullrequest/#need-review>

**What this PR does / why we need it**:

**Which issue(s) this PR fixes**:

**Special notes for your reviewer**:

**make sure your commit is signed off**


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![No Duplication information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/NoDuplicationInfo-16px.png 'No Duplication information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=duplicated_lines_density&view=list) No Duplication information


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=spidernet-io_spiderpool&pullRequest=601)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=spidernet-io_spiderpool&pullRequest=601&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=spidernet-io_spiderpool&pullRequest=601&metric=new_duplicated_lines_density&view=list)



Patch:
diff --git a/.github/workflows/call-lint-chart.yaml b/.github/workflows/call-lint-chart.yaml
index bf6465390..8d26cad0b 100644
--- a/.github/workflows/call-lint-chart.yaml
+++ b/.github/workflows/call-lint-chart.yaml
@@ -112,5 +112,5 @@ jobs:
           SERVER_CERT=` cat /tmp/tls/server.crt | base64 -w0 | tr -d '\n' `
           SERVER_KEY=` cat /tmp/tls/server.key | base64 -w0 | tr -d '\n' `
           ct install --debug --target-branch ${{ env.DEFAULT_BRANCH }} --namespace kube-system \
-              --helm-extra-set-args "--set=spiderpoolController.tls.server.tlsCert=${SERVER_CERT} --set=spiderpoolController.tls.server.tlsKey=${SERVER_KEY} --set=spiderpoolController.tls.server.tlsCa=${CA}" \
+              --helm-extra-set-args "--set=spiderpoolController.tls.provided.tlsCert=${SERVER_CERT} --set=spiderpoolController.tls.provided.tlsKey=${SERVER_KEY} --set=spiderpoolController.tls.provided.tlsCa=${CA}" \
               --helm-extra-args "--timeout 400s"
diff --git a/charts/spiderpool/README.md b/charts/spiderpool/README.md
index ea0d27a3f..5c851df5f 100644
--- a/charts/spiderpool/README.md
+++ b/charts/spiderpool/README.md
@@ -1,1 +1,150 @@
 # spiderpool
+
+## Parameters
+
+### Global parameters
+
+| Name                            | Description                                         | Value                                |
+| ------------------------------- | --------------------------------------------------- | ------------------------------------ |
+| `global.imageRegistryOverride`  | Global Docker image registry                        | `""`                                 |
+| `global.nameOverride`           | instance name                                       | `""`                                 |
+| `global.clusterDnsDomain`       | cluster dns domain                                  | `cluster.local`                      |
+| `global.commonAnnotations`      | Annotations to add to all deployed objects          | `{}`                                 |
+| `global.commonLabels`           | Labels to add to all deployed objects               | `{}`                                 |
+| `global.ipamBinHostPath`        | the host path of the IPAM plugin directory.         | `/opt/cni/bin`                       |
+| `global.ipamUNIXSocketHostPath` | the host path of unix domain socket for ipam plugin | `/var/run/spidernet/spiderpool.sock` |
+| `global.configName`             | the configmap name                                  | `spiderpool-conf`                    |
+
+
+### feature parameters
+
+| Name                                      | Description                                                              | Value    |
+| ----------------------------------------- | ------------------------------------------------------------------------ | -------- |
+| `feature.enableIPv4`                      | enable ipv4                                                              | `true`   |
+| `feature.enableIPv6`                      | enable ipv6                                                              | `true`   |
+| `feature.networkMode`                     | the network mode                                                         | `legacy` |
+| `feature.enableStatefulSet`               | the network mode                                                         | `true`   |
+| `feature.gc.enabled`                      | enable retrieve IP in spiderippool CR                                    | `true`   |
+| `feature.gc.GcDeletingTimeOutPod.enabled` | enable retrieve IP for the pod who times out of deleting graceful period | `true`   |
+| `feature.gc.GcDeletingTimeOutPod.delay`   | the gc delay seconds after the pod times out of deleting graceful period | `0`      |
+| `feature.gc.GcEvictedPodPod.enabled`      | enable retrieve IP for the pod who is evicted                            | `true`   |
+| `feature.gc.GcEvictedPodPod.delay`        | the gc delay seconds after the pod is evicted                            | `0`      |
+
+
+### clusterDefaultPool parameters
+
+| Name                                   | Description                                  | Value               |
+| -------------------------------------- | -------------------------------------------- | ------------------- |
+| `clusterDefaultPool.installIPv4IPPool` | install ipv4 spiderpool instance             | `false`             |
+| `clusterDefaultPool.installIPv6IPPool` | install ipv6 spiderpool instance             | `false`             |
+| `clusterDefaultPool.ipv4IPPoolName`    | the name of ipv4 spiderpool instance         | `default-v4-ippool` |
+| `clusterDefaultPool.ipv6IPPoolName`    | the name of ipv6 spiderpool instance         | `default-v6-ippool` |
+| `clusterDefaultPool.ipv4Subnet`        | the subnet of ipv4 spiderpool instance       | `""`                |
+| `clusterDefaultPool.ipv6Subnet`        | the subnet of ipv6 spiderpool instance       | `""`                |
+| `clusterDefaultPool.ipv4IPRanges`      | the available IP of ipv4 spiderpool instance | `[]`                |
+| `clusterDefaultPool.ipv6IPRanges`      | the available IP of ipv6 spiderpool instance | `[]`                |
+
+
+### spiderpoolAgent parameters
+
+| Name                                                             | Description                                                                                      | Value                                      |
+| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------ |
+| `spiderpoolAgent.name`                                           | the spiderpoolAgent name                                                                         | `spiderpool-agent`                         |
+| `spiderpoolAgent.binName`                                        | the binName name of spiderpoolAgent                                                              | `spiderpool-agent`                         |
+| `spiderpoolAgent.image.registry`                                 | the image registry of spiderpoolAgent                                                            | `ghcr.io`                                  |
+| `spiderpoolAgent.image.repository`                               | the image repository of spiderpoolAgent                                                          | `spidernet-io/spiderpool/spiderpool-agent` |
+| `spiderpoolAgent.image.pullPolicy`                               | the image pullPolicy of spiderpoolAgent                                                          | `IfNotPresent`                             |
+| `spiderpoolAgent.image.digest`                                   | the image digest of spiderpoolAgent, which takes preference over tag                             | `""`                                       |
+| `spiderpoolAgent.image.tag`                                      | the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. | `""`                                       |
+| `spiderpoolAgent.image.imagePullSecrets`                         | the image imagePullSecrets of spiderpoolAgent                                                    | `[]`                                       |
+| `spiderpoolAgent.serviceAccount.create`                          | create the service account for the spiderpoolAgent                                               | `true`                                     |
+| `spiderpoolAgent.serviceAccount.annotations`                     | the annotations of spiderpoolAgent service account                                               | `{}`                                       |
+| `spiderpoolAgent.service.annotations`                            | the annotations for spiderpoolAgent service                                                      | `{}`                                       |
+| `spiderpoolAgent.service.type`                                   | the type for spiderpoolAgent service                                                             | `ClusterIP`                                |
+| `spiderpoolAgent.priorityClassName`                              | the priority Class Name for spiderpoolAgent                                                      | `system-node-critical`                     |
+| `spiderpoolAgent.affinity`                                       | the affinity of spiderpoolAgent                                                                  | `{}`                                       |
+| `spiderpoolAgent.extraArgs`                                      | the additional arguments of spiderpoolAgent container                                            | `[]`                                       |
+| `spiderpoolAgent.extraEnv`                                       | the additional environment variables of spiderpoolAgent container                                | `[]`                                       |
+| `spiderpoolAgent.extraVolumes`                                   | the additional volumes of spiderpoolAgent container                                              | `[]`                                       |
+| `spiderpoolAgent.extraVolumeMounts`                              | the additional hostPath mounts of spiderpoolAgent container                                      | `[]`                                       |
+| `spiderpoolAgent.podAnnotations`                                 | the additional annotations of spiderpoolAgent pod                                                | `{}`                                       |
+| `spiderpoolAgent.podLabels`                                      | the additional label of spiderpoolAgent pod                                                      | `{}`                                       |
+| `spiderpoolAgent.resources.limits.cpu`                           | the cpu limit of spiderpoolAgent pod                                                             | `1000m`                                    |
+| `spiderpoolAgent.resources.limits.memory`                        | the memory limit of spiderpoolAgent pod                                                          | `1024Mi`                                   |
+| `spiderpoolAgent.resources.requests.cpu`                         | the cpu requests of spiderpoolAgent pod                                                          | `100m`                                     |
+| `spiderpoolAgent.resources.requests.memory`                      | the memory requests of spiderpoolAgent pod                                                       | `128Mi`                                    |
+| `spiderpoolAgent.securityContext`                                | the security Context of spiderpoolAgent pod                                                      | `{}`                                       |
+| `spiderpoolAgent.healthChecking.port`                            | the http Port for spiderpoolAgent health checking                                                | `5710`                                     |
+| `spiderpoolAgent.healthChecking.startupProbe.failureThreshold`   | the failure threshold of startup probe for spiderpoolAgent health checking                       | `60`                                       |
+| `spiderpoolAgent.healthChecking.startupProbe.periodSeconds`      | the period seconds of startup probe for spiderpoolAgent health checking                          | `2`                                        |
+| `spiderpoolAgent.healthChecking.livenessProbe.failureThreshold`  | the failure threshold of startup probe for spiderpoolAgent health checking                       | `6`                                        |
+| `spiderpoolAgent.healthChecking.livenessProbe.periodSeconds`     | the period seconds of startup probe for spiderpoolAgent health checking                          | `10`                                       |
+| `spiderpoolAgent.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolAgent health checking                       | `3`                                        |
+| `spiderpoolAgent.healthChecking.readinessProbe.periodSeconds`    | the period seconds of startup probe for spiderpoolAgent health checking                          | `10`                                       |
+| `spiderpoolAgent.prometheus.enabled`                             | enable spiderpool agent to collect metrics                                                       | `false`                                    |
+| `spiderpoolAgent.prometheus.port`                                | the metrics port of spiderpool agent                                                             | `5711`                                     |
+| `spiderpoolAgent.prometheus.serviceMonitor.install`              | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available   | `false`                                    |
+| `spiderpoolAgent.prometheus.prometheusRule.install`              | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available   | `false`                                    |
+| `spiderpoolAgent.debug.logLevel`                                 | the log level of spiderpool agent [debug, info, warn, error, fatal, panic]                       | `info`                                     |
+| `spiderpoolAgent.debug.gopsPort`                                 | the gops port of spiderpool agent                                                                | `5712`                                     |
+
+
+### spiderpoolController parameters
+
+| Name                                                                  | Description                                                                                                                       | Value                                           |
+| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
+| `spiderpoolController.name`                                           | the spiderpoolController name                                                                                                     | `spiderpool-controller`                         |
+| `spiderpoolController.replicas`                                       | the replicas number of spiderpoolController pod                                                                                   | `1`                                             |
+| `spiderpoolController.binName`                                        | the binName name of spiderpoolController                                                                                          | `spiderpool-controller`                         |
+| `spiderpoolController.hostnetwork`                                    | enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this | `true`                                          |
+| `spiderpoolController.image.registry`                                 | the image registry of spiderpoolController                                                                                        | `ghcr.io`                                       |
+| `spiderpoolController.image.repository`                               | the image repository of spiderpoolController                                                                                      | `spidernet-io/spiderpool/spiderpool-controller` |
+| `spiderpoolController.image.pullPolicy`                               | the image pullPolicy of spiderpoolController                                                                                      | `IfNotPresent`                                  |
+| `spiderpoolController.image.digest`                                   | the image digest of spiderpoolController, which takes preference over tag                                                         | `""`                                            |
+| `spiderpoolController.image.tag`                                      | the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion.                             | `""`                                            |
+| `spiderpoolController.image.imagePullSecrets`                         | the image imagePullSecrets of spiderpoolController                                                                                | `[]`                                            |
+| `spiderpoolController.serviceAccount.create`                          | create the service account for the spiderpoolController                                                                           | `true`                                          |
+| `spiderpoolController.serviceAccount.annotations`                     | the annotations of spiderpoolController service account                                                                           | `{}`                                            |
+| `spiderpoolController.service.annotations`                            | the annotations for spiderpoolController service                                                                                  | `{}`                                            |
+| `spiderpoolController.service.type`                                   | the type for spiderpoolController service                                                                                         | `ClusterIP`                                     |
+| `spiderpoolController.priorityClassName`                              | the priority Class Name for spiderpoolController                                                                                  | `system-node-critical`                          |
+| `spiderpoolController.affinity`                                       | the affinity of spiderpoolController                                                                                              | `{}`                                            |
+| `spiderpoolController.extraArgs`                                      | the additional arguments of spiderpoolController container                                                                        | `[]`                                            |
+| `spiderpoolController.extraEnv`                                       | the additional environment variables of spiderpoolController container                                                            | `[]`                                            |
+| `spiderpoolController.extraVolumes`                                   | the additional volumes of spiderpoolController container                                                                          | `[]`                                            |
+| `spiderpoolController.extraVolumeMounts`                              | the additional hostPath mounts of spiderpoolController container                                                                  | `[]`                                            |
+| `spiderpoolController.podAnnotations`                                 | the additional annotations of spiderpoolController pod                                                                            | `{}`                                            |
+| `spiderpoolController.podLabels`                                      | the additional label of spiderpoolController pod                                                                                  | `{}`                                            |
+| `spiderpoolController.securityContext`                                | the security Context of spiderpoolController pod                                                                                  | `{}`                                            |
+| `spiderpoolController.resources.limits.cpu`                           | the cpu limit of spiderpoolController pod                                                                                         | `500m`                                          |
+| `spiderpoolController.resources.limits.memory`                        | the memory limit of spiderpoolController pod                                                                                      | `1024Mi`                                        |
+| `spiderpoolController.resources.requests.cpu`                         | the cpu requests of spiderpoolController pod                                                                                      | `100m`                                          |
+| `spiderpoolController.resources.requests.memory`                      | the memory requests of spiderpoolController pod                                                                                   | `128Mi`                                         |
+| `spiderpoolController.podDisruptionBudget.enabled`                    | enable podDisruptionBudget for spiderpoolController pod, ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/     | `false`                                         |
+| `spiderpoolController.podDisruptionBudget.minAvailable`               | minimum number/percentage of pods that should remain scheduled.                                                                   | `1`                                             |
+| `spiderpoolController.healthChecking.port`                            | the http Port for spiderpoolController health checking                                                                            | `5720`                                          |
+| `spiderpoolController.healthChecking.startupProbe.failureThreshold`   | the failure threshold of startup probe for spiderpoolController health checking                                                   | `30`                                            |
+| `spiderpoolController.healthChecking.startupProbe.periodSeconds`      | the period seconds of startup probe for spiderpoolController health checking                                                      | `2`                                             |
+| `spiderpoolController.healthChecking.livenessProbe.failureThreshold`  | the failure threshold of startup probe for spiderpoolController health checking                                                   | `6`                                             |
+| `spiderpoolController.healthChecking.livenessProbe.periodSeconds`     | the period seconds of startup probe for spiderpoolController health checking                                                      | `10`                                            |
+| `spiderpoolController.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking                                                   | `3`                                             |
+| `spiderpoolController.healthChecking.readinessProbe.periodSeconds`    | the period seconds of startup probe for spiderpoolController health checking                                                      | `10`                                            |
+| `spiderpoolController.webhookPort`                                    | the http port for spiderpoolController webhook                                                                                    | `5722`                                          |
+| `spiderpoolController.cliPort`                                        | the http port for spiderpoolController CLI                                                                                        | `5723`                                          |
+| `spiderpoolController.prometheus.enabled`                             | enable spiderpool Controller to collect metrics                                                                                   | `false`                                         |
+| `spiderpoolController.prometheus.port`                                | the metrics port of spiderpool Controller                                                                                         | `5721`                                          |
+| `spiderpoolController.prometheus.serviceMonitor.install`              | install serviceMonitor for spiderpool Controller. This requires the prometheus CRDs to be available                               | `false`                                         |
+| `spiderpoolController.prometheus.prometheusRule.install`              | install prometheusRule for spiderpool Controller. This requires the prometheus CRDs to be available                               | `false`                                         |
+| `spiderpoolController.debug.logLevel`                                 | the log level of spiderpool Controller [debug, info, warn, error, fatal, panic]                                                   | `info`                                          |
+| `spiderpoolController.debug.gopsPort`                                 | the gops port of spiderpool Controller                                                                                            | `5724`                                          |
+| `spiderpoolController.tls.method`                                     | the method for generating TLS certificates. [ provided , certmanager ]                                                            | `provided`                                      |
+| `spiderpoolController.tls.secretName`                                 | the secret name for storing TLS certificates                                                                                      | `spiderpool-controller-server-certs`            |
+| `spiderpoolController.tls.certmanager.certValidityDuration`           | generated certificates validity duration in days for 'certmanager' method                                                         | `365`                                           |
+| `spiderpoolController.tls.certmanager.issuerName`                     | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created.                                         | `""`                                            |
+| `spiderpoolController.tls.certmanager.extraDnsNames`                  | extra DNS names added to certificate when it's auto generated                                                                     | `[]`                                            |
+| `spiderpoolController.tls.certmanager.extraIPAddresses`               | extra IP addresses added to certificate when it's auto generated                                                                  | `[]`                                            |
+| `spiderpoolController.tls.provided.tlsCert`                           | encoded tls certificate for provided method                                                                                       | `""`                                            |
+| `spiderpoolController.tls.provided.tlsKey`                            | encoded tls key for provided method                                                                                               | `""`                                            |
+| `spiderpoolController.tls.provided.tlsCa`                             | encoded tls CA for provided method                                                                                                | `""`                                            |
+
+
diff --git a/charts/spiderpool/templates/NOTES.txt b/charts/spiderpool/templates/NOTES.txt
index abff9b910..e69de29bb 100644
--- a/charts/spiderpool/templates/NOTES.txt
+++ b/charts/spiderpool/templates/NOTES.txt
@@ -1,5 +0,0 @@
-Check that the {{ include "spiderpool.name" . }} is up and running:
-
-    kubectl get deployment/{{ include "spiderpool.spiderpoolController.name" . }} -n {{ .Release.Namespace }}
-    kubectl get daemonset/{{ include "spiderpool.spiderpoolAgent.name" . }} -n {{ .Release.Namespace }}
-
diff --git a/charts/spiderpool/templates/_helpers.tpl b/charts/spiderpool/templates/_helpers.tpl
index eda8391e6..2efe126de 100644
--- a/charts/spiderpool/templates/_helpers.tpl
+++ b/charts/spiderpool/templates/_helpers.tpl
@@ -9,21 +9,7 @@ Create chart name and version as used by the chart label.
 Expand the name of spiderpool .
 */}}
 {{- define "spiderpool.name" -}}
-{{- default "spiderpool" .Values.nameOverride | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Expand the name of spiderpoolController .
-*/}}
-{{- define "spiderpool.spiderpoolController.name" -}}
-{{- default "spiderpoolcontroller" .Values.spiderpoolController.nameOverride | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Expand the name of spiderpoolAgent .
-*/}}
-{{- define "spiderpool.spiderpoolAgent.name" -}}
-{{- default "spiderpoolagent" .Values.spiderpoolAgent.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- default "spiderpool" .Values.global.nameOverride | trunc 63 | trimSuffix "-" }}
 {{- end }}
 
 {{/*
@@ -58,7 +44,7 @@ spiderpoolController Selector labels
 {{- define "spiderpool.spiderpoolController.selectorLabels" -}}
 app.kubernetes.io/name: {{ include "spiderpool.name" . }}
 app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/component: {{ include "spiderpool.spiderpoolController.name" . }}
+app.kubernetes.io/component: {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}
 {{- end }}
 
 {{/*
@@ -67,7 +53,7 @@ spiderpoolAgent Selector labels
 {{- define "spiderpool.spiderpoolAgent.selectorLabels" -}}
 app.kubernetes.io/name: {{ include "spiderpool.name" . }}
 app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/component: {{ include "spiderpool.spiderpoolAgent.name" . }}
+app.kubernetes.io/component: {{ .Values.spiderpoolAgent.name | trunc 63 | trimSuffix "-" }}
 {{- end }}
 
 
@@ -130,8 +116,8 @@ return the spiderpoolAgent image
 {{- define "spiderpool.spiderpoolAgent.image" -}}
 {{- $registryName := .Values.spiderpoolAgent.image.registry -}}
 {{- $repositoryName := .Values.spiderpoolAgent.image.repository -}}
-{{- if .Values.global.imageRegistry }}
-    {{- printf "%s/%s" .Values.global.imageRegistry $repositoryName -}}
+{{- if .Values.global.imageRegistryOverride }}
+    {{- printf "%s/%s" .Values.global.imageRegistryOverride $repositoryName -}}
 {{ else if $registryName }}
     {{- printf "%s/%s" $registryName $repositoryName -}}
 {{- else -}}
@@ -151,8 +137,8 @@ return the spiderpoolController image
 {{- define "spiderpool.spiderpoolController.image" -}}
 {{- $registryName := .Values.spiderpoolController.image.registry -}}
 {{- $repositoryName := .Values.spiderpoolController.image.repository -}}
-{{- if .Values.global.imageRegistry }}
-    {{- printf "%s/%s" .Values.global.imageRegistry $repositoryName -}}
+{{- if .Values.global.imageRegistryOverride }}
+    {{- printf "%s/%s" .Values.global.imageRegistryOverride $repositoryName -}}
 {{ else if $registryName }}
     {{- printf "%s/%s" $registryName $repositoryName -}}
 {{- else -}}
diff --git a/charts/spiderpool/templates/cluster-default-ippool.yaml b/charts/spiderpool/templates/cluster-default-ippool.yaml
index 7fca4486e..90ca7e4e5 100644
--- a/charts/spiderpool/templates/cluster-default-ippool.yaml
+++ b/charts/spiderpool/templates/cluster-default-ippool.yaml
@@ -1,5 +1,5 @@
 {{- if .Values.clusterDefaultPool.installIPv4IPPool }}
-{{- if .Values.ipFamily.enableIPv4 }}
+{{- if .Values.feature.enableIPv4 }}
 apiVersion: spiderpool.spidernet.io/v1
 kind: SpiderIPPool
 metadata:
@@ -16,7 +16,7 @@ spec:
 {{- end }}
 ---
 {{- if .Values.clusterDefaultPool.installIPv6IPPool }}
-{{- if .Values.ipFamily.enableIPv6 }}
+{{- if .Values.feature.enableIPv6 }}
 apiVersion: spiderpool.spidernet.io/v1
 kind: SpiderIPPool
 metadata:
diff --git a/charts/spiderpool/templates/configmap.yaml b/charts/spiderpool/templates/configmap.yaml
index 897fc8233..21e2553f1 100644
--- a/charts/spiderpool/templates/configmap.yaml
+++ b/charts/spiderpool/templates/configmap.yaml
@@ -1,30 +1,30 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ .Values.configmap.configCmName }}
+  name: {{ .Values.global.configName }}
   namespace: {{ .Release.Namespace }}
   labels:
     {{- include "spiderpool.spiderpoolController.labels" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
-  {{- if .Values.commonAnnotations }}
+  {{- if .Values.global.commonAnnotations }}
   annotations:
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
   {{- end }}
 data:
   conf.yml: |
-    ipamUnixSocketPath: {{ .Values.configmap.config.ipamUnixSocketPath }}
-    networkMode: {{ .Values.configmap.config.networkMode }}
-    enableIPv4: {{ .Values.ipFamily.enableIPv4 }}
-    enableIPv6: {{ .Values.ipFamily.enableIPv6 }}
-    enableStatefulSet: {{ .Values.configmap.config.enableStatefulSet }}
-    {{- if ( and .Values.ipFamily.enableIPv4 .Values.clusterDefaultPool.installIPv4IPPool ) }}
+    ipamUnixSocketPath: {{ .Values.global.ipamUNIXSocketHostPath }}
+    networkMode: {{ .Values.feature.networkMode }}
+    enableIPv4: {{ .Values.feature.enableIPv4 }}
+    enableIPv6: {{ .Values.feature.enableIPv6 }}
+    enableStatefulSet: {{ .Values.feature.enableStatefulSet }}
+    {{- if ( and .Values.feature.enableIPv4 .Values.clusterDefaultPool.installIPv4IPPool ) }}
     clusterDefaultIPv4IPPool: [{{ .Values.clusterDefaultPool.ipv4IPPoolName }}]
     {{- else}}
     clusterDefaultIPv4IPPool: []
     {{- end }}
-    {{- if ( and .Values.ipFamily.enableIPv6 .Values.clusterDefaultPool.installIPv6IPPool ) }}
+    {{- if ( and .Values.feature.enableIPv6 .Values.clusterDefaultPool.installIPv6IPPool ) }}
     clusterDefaultIPv6IPPool: [{{ .Values.clusterDefaultPool.ipv6IPPoolName }}]
     {{- else}}
     clusterDefaultIPv6IPPool: []
diff --git a/charts/spiderpool/templates/daemonset.yaml b/charts/spiderpool/templates/daemonset.yaml
index 28cf993d9..247cbac8c 100644
--- a/charts/spiderpool/templates/daemonset.yaml
+++ b/charts/spiderpool/templates/daemonset.yaml
@@ -5,12 +5,12 @@ metadata:
   namespace: {{ .Release.Namespace }}
   labels:
     {{- include "spiderpool.spiderpoolAgent.labels" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
-  {{- if .Values.commonAnnotations }}
+  {{- if .Values.global.commonAnnotations }}
   annotations:
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
   {{- end }}
 spec:
   selector:
@@ -22,10 +22,10 @@ spec:
   {{- end }}
   template:
     metadata:
-      {{- if or .Values.spiderpoolAgent.podAnnotations .Values.commonAnnotations }}
+      {{- if or .Values.spiderpoolAgent.podAnnotations .Values.global.commonAnnotations }}
       annotations:
-        {{- if .Values.commonAnnotations }}
-          {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 8 }}
+        {{- if .Values.global.commonAnnotations }}
+          {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 8 }}
           {{- end }}
           {{- if .Values.spiderpoolAgent.podAnnotations }}
           {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.podAnnotations "context" $ ) | nindent 8 }}
@@ -33,8 +33,8 @@ spec:
           {{- end }}
       labels:
         {{- include "spiderpool.spiderpoolAgent.selectorLabels" . | nindent 8 }}
-          {{- if .Values.commonLabels }}
-          {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 8 }}
+          {{- if .Values.global.commonLabels }}
+          {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 8 }}
           {{- end }}
     spec:
       {{- if .Values.spiderpoolAgent.image.imagePullSecrets }}
@@ -97,9 +97,9 @@ spec:
         {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.Version }}
         startupProbe:
           httpGet:
-            host: {{ .Values.ipFamily.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
+            host: {{ .Values.feature.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
             path: /v1/runtime/startup
-            port: {{ .Values.spiderpoolAgent.healthPort }}
+            port: {{ .Values.spiderpoolAgent.healthChecking.port }}
             scheme: HTTP
             httpHeaders:
               - name: "checkType"
@@ -110,9 +110,9 @@ spec:
         {{- end }}
         livenessProbe:
           httpGet:
-            host: {{ .Values.ipFamily.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
+            host: {{ .Values.feature.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
             path: /v1/runtime/liveness
-            port: {{ .Values.spiderpoolAgent.healthPort }}
+            port: {{ .Values.spiderpoolAgent.healthChecking.port }}
             scheme: HTTP
             httpHeaders:
               - name: "checkType"
@@ -124,9 +124,9 @@ spec:
           timeoutSeconds: 5
         readinessProbe:
           httpGet:
-            host: {{ .Values.ipFamily.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
+            host: {{ .Values.feature.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
             path: /v1/runtime/readiness
-            port: {{ .Values.spiderpoolAgent.healthPort }}
+            port: {{ .Values.spiderpoolAgent.healthChecking.port }}
             scheme: HTTP
             httpHeaders:
               - name: "checkType"
@@ -158,7 +158,7 @@ spec:
         - name: SPIDERPOOL_METRIC_HTTP_PORT
           value: {{ .Values.spiderpoolAgent.prometheus.port | quote }}
         - name: SPIDERPOOL_HEALTH_PORT
-          value: {{ .Values.spiderpoolAgent.healthPort | quote }}
+          value: {{ .Values.spiderpoolAgent.healthChecking.port | quote }}
         - name: SPIDERPOOL_GOPS_LISTEN_PORT
           value: {{ .Values.spiderpoolAgent.debug.gopsPort | quote }}
         {{- with .Values.spiderpoolAgent.extraEnv }}
@@ -172,12 +172,10 @@ spec:
         - name: config-path
           mountPath: /tmp/spiderpool/config-map
           readOnly: true
-        - name: etc-cni-conf-path
-          mountPath: /host/{{ .Values.ipamPlugin.confPath }}
         - name: cni-bin-path
-          mountPath: /host/{{ .Values.ipamPlugin.binPath }}
+          mountPath: /host/{{ .Values.global.ipamBinHostPath }}
         - name: ipam-unix-socket-dir
-          mountPath: {{ .Values.ipamPlugin.ipamUNIXSocketDir }}
+          mountPath: {{ dir .Values.global.ipamUNIXSocketHostPath }}
         {{- if .Values.spiderpoolAgent.extraVolumes }}
         {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.extraVolumeMounts "context" $ ) | nindent 8 }}
         {{- end }}
@@ -186,21 +184,15 @@ spec:
       - name: config-path
         configMap:
           defaultMode: 0400
-          name: {{ .Values.configmap.configCmName }}
-        # To install cilium cni configuration in the host
-      - name: etc-cni-conf-path
-        hostPath:
-          path: {{ .Values.ipamPlugin.confPath }}
-          type: DirectoryOrCreate
-        # To install cilium cni plugin in the host
+          name: {{ .Values.global.configName }}
       - name: cni-bin-path
         hostPath:
-          path:  {{ .Values.ipamPlugin.binPath }}
+          path:  {{ .Values.global.ipamBinHostPath }}
           type: DirectoryOrCreate
         # To create unix socket dir in the host
       - name: ipam-unix-socket-dir
         hostPath:
-          path: {{ .Values.ipamPlugin.ipamUNIXSocketDir }}
+          path: {{ dir .Values.global.ipamUNIXSocketHostPath }}
           type: DirectoryOrCreate
       {{- if .Values.spiderpoolAgent.extraVolumeMounts }}
       {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.extraVolumeMounts "context" $ ) | nindent 6 }}
diff --git a/charts/spiderpool/templates/deployment.yaml b/charts/spiderpool/templates/deployment.yaml
index ac3bb8976..0e79d679c 100644
--- a/charts/spiderpool/templates/deployment.yaml
+++ b/charts/spiderpool/templates/deployment.yaml
@@ -5,12 +5,12 @@ metadata:
   namespace: {{ .Release.Namespace | quote }}
   labels:
     {{- include "spiderpool.spiderpoolController.labels" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
-  {{- if .Values.commonAnnotations }}
+  {{- if .Values.global.commonAnnotations }}
   annotations:
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
   {{- end }}
 spec:
   replicas: {{ .Values.spiderpoolController.replicas }}
@@ -19,10 +19,10 @@ spec:
       {{- include "spiderpool.spiderpoolController.selectorLabels" . | nindent 6 }}
   template:
     metadata:
-      {{- if or .Values.spiderpoolController.podAnnotations .Values.commonAnnotations }}
+      {{- if or .Values.spiderpoolController.podAnnotations .Values.global.commonAnnotations }}
       annotations:
-        {{- if .Values.commonAnnotations }}
-        {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 8 }}
+        {{- if .Values.global.commonAnnotations }}
+        {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 8 }}
         {{- end }}
         {{- if .Values.spiderpoolController.podAnnotations }}
         {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolController.podAnnotations "context" $ ) | nindent 8 }}
@@ -30,8 +30,8 @@ spec:
         {{- end }}
       labels:
         {{- include "spiderpool.spiderpoolController.selectorLabels" . | nindent 8 }}
-        {{- if .Values.commonLabels }}
-        {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 8 }}
+        {{- if .Values.global.commonLabels }}
+        {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 8 }}
         {{- end }}
     spec:
       {{- if .Values.spiderpoolController.image.imagePullSecrets }}
@@ -93,7 +93,7 @@ spec:
           protocol: TCP
         {{- end }}
         - name: health
-          containerPort: {{ .Values.spiderpoolController.healthPort }}
+          containerPort: {{ .Values.spiderpoolController.healthChecking.port }}
           protocol: TCP
         - name: webhook
           containerPort: {{ .Values.spiderpoolController.webhookPort }}
@@ -104,9 +104,9 @@ spec:
         {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.Version }}
         startupProbe:
           httpGet:
-            host: {{ .Values.ipFamily.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
+            host: {{ .Values.feature.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
             path: /v1/runtime/startup
-            port: {{ .Values.spiderpoolController.healthPort }}
+            port: {{ .Values.spiderpoolController.healthChecking.port }}
             scheme: HTTP
             httpHeaders:
               - name: "checkType"
@@ -117,9 +117,9 @@ spec:
         {{- end }}
         livenessProbe:
           httpGet:
-            host: {{ .Values.ipFamily.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
+            host: {{ .Values.feature.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
             path: /v1/runtime/liveness
-            port: {{ .Values.spiderpoolController.healthPort }}
+            port: {{ .Values.spiderpoolController.healthChecking.port }}
             scheme: HTTP
             httpHeaders:
               - name: "checkType"
@@ -131,9 +131,9 @@ spec:
           timeoutSeconds: 5
         readinessProbe:
           httpGet:
-            host: {{ .Values.ipFamily.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
+            host: {{ .Values.feature.enableIPv4 | ternary "127.0.0.1" "::1" | quote }}
             path: /v1/runtime/readiness
-            port: {{ .Values.spiderpoolController.healthPort }}
+            port: {{ .Values.spiderpoolController.healthChecking.port }}
             scheme: HTTP
             httpHeaders:
               - name: "checkType"
@@ -167,17 +167,17 @@ spec:
         - name: SPIDERPOOL_CLI_PORT
           value: {{ .Values.spiderpoolController.cliPort | quote }}
         - name: SPIDERPOOL_HEALTH_PORT
-          value: {{ .Values.spiderpoolController.healthPort | quote }}
+          value: {{ .Values.spiderpoolController.healthChecking.port | quote }}
         - name: SPIDERPOOL_GC_IP_ENABLED
-          value: {{ .Values.spiderpoolController.gc.enabled | quote }}
+          value: {{ .Values.feature.gc.enabled | quote }}
         - name: SPIDERPOOL_GC_TERMINATING_POD_IP_ENABLED
-          value: {{ .Values.spiderpoolController.gc.gcTerminatingPodIPEnabled | quote }}
+          value: {{ .Values.feature.gc.GcDeletingTimeOutPod.enabled | quote }}
         - name: SPIDERPOOL_GC_TERMINATING_POD_IP_DELAY
-          value: {{ .Values.spiderpoolController.gc.gcTerminatingPodIPDelay | quote }}
+          value: {{ .Values.feature.gc.GcDeletingTimeOutPod.delay | quote }}
         - name: SPIDERPOOL_GC_EVICTED_POD_IP_ENABLED
-          value: {{ .Values.spiderpoolController.gc.gcEvictedPodIPEnabled | quote }}
+          value: {{ .Values.feature.gc.GcEvictedPodPod.enabled | quote }}
         - name: SPIDERPOOL_GC_EVICTED_POD_IP_DELAY
-          value: {{ .Values.spiderpoolController.gc.gcEvictedPodIPDelay | quote }}
+          value: {{ .Values.feature.gc.GcEvictedPodPod.delay | quote }}
         - name: SPIDERPOOL_POD_NAME
           valueFrom:
             fieldRef:
@@ -207,7 +207,7 @@ spec:
       # To read the configuration from the config map
       - name: config-path
         configMap:
-          name: {{ .Values.configmap.configCmName }}
+          name: {{ .Values.global.configName }}
       - name: tls
         projected:
           defaultMode: 0400
diff --git a/charts/spiderpool/templates/pdb.yaml b/charts/spiderpool/templates/pdb.yaml
index adb1e049b..c6aac4eeb 100644
--- a/charts/spiderpool/templates/pdb.yaml
+++ b/charts/spiderpool/templates/pdb.yaml
@@ -4,14 +4,14 @@ kind: PodDisruptionBudget
 metadata:
   name: {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}
   namespace: {{ .Release.Namespace }}
-  {{- if .Values.commonAnnotations }}
+  {{- if .Values.global.commonAnnotations }}
   annotations:
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
   {{- end }}
   labels:
     {{- include "spiderpool.spiderpoolController.labels" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
 spec:
   minAvailable: {{ .Values.spiderpoolController.podDisruptionBudget.minAvailable }}
diff --git a/charts/spiderpool/templates/service.yaml b/charts/spiderpool/templates/service.yaml
index 9d3c38ec9..f42bf6291 100644
--- a/charts/spiderpool/templates/service.yaml
+++ b/charts/spiderpool/templates/service.yaml
@@ -4,18 +4,18 @@ kind: Service
 metadata:
   name: {{ .Values.spiderpoolAgent.name | trunc 63 | trimSuffix "-" }}
   namespace: {{ .Release.Namespace | quote }}
-  {{- if or .Values.commonAnnotations .Values.spiderpoolAgent.service.annotations }}
+  {{- if or .Values.global.commonAnnotations .Values.spiderpoolAgent.service.annotations }}
   annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonAnnotations }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
     {{- end }}
     {{- if .Values.spiderpoolAgent.service.annotations }}
     {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.service.annotations "context" $ ) | nindent 4 }}
     {{- end }}
   {{- end }}
   labels:
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
     {{- include "spiderpool.spiderpoolAgent.labels" . | nindent 4 }}
 spec:
@@ -34,18 +34,18 @@ kind: Service
 metadata:
   name: {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}
   namespace: {{ .Release.Namespace | quote }}
-  {{- if or .Values.commonAnnotations .Values.spiderpoolController.service.annotations }}
+  {{- if or .Values.global.commonAnnotations .Values.spiderpoolController.service.annotations }}
   annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonAnnotations }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
     {{- end }}
     {{- if .Values.spiderpoolController.service.annotations }}
     {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolController.service.annotations "context" $ ) | nindent 4 }}
     {{- end }}
   {{- end }}
   labels:
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
     {{- include "spiderpool.spiderpoolController.labels" . | nindent 4 }}
 spec:
diff --git a/charts/spiderpool/templates/serviceaccount.yaml b/charts/spiderpool/templates/serviceaccount.yaml
index f909dcce0..785b2c14c 100644
--- a/charts/spiderpool/templates/serviceaccount.yaml
+++ b/charts/spiderpool/templates/serviceaccount.yaml
@@ -6,13 +6,13 @@ metadata:
   namespace: {{ .Release.Namespace }}
   labels:
     {{- include "spiderpool.spiderpoolAgent.labels" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
-  {{- if or .Values.commonAnnotations .Values.spiderpoolController.serviceAccount.annotations }}
+  {{- if or .Values.global.commonAnnotations .Values.spiderpoolController.serviceAccount.annotations }}
   annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonAnnotations }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
     {{- end }}
     {{- if .Values.spiderpoolAgent.serviceAccount.annotations }}
     {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.serviceAccount.annotations "context" $ ) | nindent 4 }}
@@ -28,13 +28,13 @@ metadata:
   namespace: {{ .Release.Namespace }}
   labels:
     {{- include "spiderpool.spiderpoolController.labels" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonLabels }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
-  {{- if or .Values.commonAnnotations .Values.spiderpoolController.serviceAccount.annotations }}
+  {{- if or .Values.global.commonAnnotations .Values.spiderpoolController.serviceAccount.annotations }}
   annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- if .Values.global.commonAnnotations }}
+    {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }}
     {{- end }}
     {{- if .Values.spiderpoolController.serviceAccount.annotations }}
     {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolController.serviceAccount.annotations "context" $ ) | nindent 4 }}
diff --git a/charts/spiderpool/templates/tls.yaml b/charts/spiderpool/templates/tls.yaml
index 14bc48449..cb88769f3 100644
--- a/charts/spiderpool/templates/tls.yaml
+++ b/charts/spiderpool/templates/tls.yaml
@@ -14,7 +14,7 @@ spec:
     - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}
     - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}
     - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc
-    - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDnsDomain }}
+    - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDnsDomain }}
   {{- range $dns := .Values.spiderpoolController.tls.certmanager.extraDnsNames }}
   - {{ $dns | quote }}
   {{- end }}
@@ -35,7 +35,7 @@ metadata:
   namespace: {{ .Release.Namespace }}
 type: kubernetes.io/tls
 data:
-  ca.crt:  {{ .Values.spiderpoolController.tls.server.tlsCa | required "missing spiderpoolController.tls.server.tlsCa" }}
-  tls.crt: {{ .Values.spiderpoolController.tls.server.tlsCert | required "missing spiderpoolController.tls.server.tlsCert" }}
-  tls.key: {{ .Values.spiderpoolController.tls.server.tlsKey  | required "missing spiderpoolController.tls.server.tlsKey"  }}
+  ca.crt:  {{ .Values.spiderpoolController.tls.provided.tlsCa | required "missing spiderpoolController.tls.provided.tlsCa" }}
+  tls.crt: {{ .Values.spiderpoolController.tls.provided.tlsCert | required "missing spiderpoolController.tls.provided.tlsCert" }}
+  tls.key: {{ .Values.spiderpoolController.tls.provided.tlsKey  | required "missing spiderpoolController.tls.provided.tlsKey"  }}
 {{- end }}
diff --git a/charts/spiderpool/templates/webhook.yaml b/charts/spiderpool/templates/webhook.yaml
index 52aa0a4f2..5d81947ae 100644
--- a/charts/spiderpool/templates/webhook.yaml
+++ b/charts/spiderpool/templates/webhook.yaml
@@ -19,7 +19,7 @@ webhooks:
       path: /mutate-spiderpool-spidernet-io-v1-spiderippool
       port: {{ .Values.spiderpoolController.webhookPort }}
     {{- if (eq .Values.spiderpoolController.tls.method "provided") }}
-    caBundle: {{ .Values.spiderpoolController.tls.server.tlsCa | required "missing spiderpoolController.tls.server.tlsCa" }}
+    caBundle: {{ .Values.spiderpoolController.tls.provided.tlsCa | required "missing spiderpoolController.tls.provided.tlsCa" }}
     {{- end }}
   failurePolicy: Fail
   name: spiderippool.spiderpool.spidernet.io
@@ -43,7 +43,7 @@ webhooks:
       path: /mutate-spiderpool-spidernet-io-v1-spiderreservedip
       port: {{ .Values.spiderpoolController.webhookPort }}
     {{- if (eq .Values.spiderpoolController.tls.method "provided") }}
-    caBundle: {{ .Values.spiderpoolController.tls.server.tlsCa | required "missing spiderpoolController.tls.server.tlsCa" }}
+    caBundle: {{ .Values.spiderpoolController.tls.provided.tlsCa | required "missing spiderpoolController.tls.provided.tlsCa" }}
     {{- end }}
   failurePolicy: Fail
   name: spiderreservedip.spiderpool.spidernet.io
@@ -79,7 +79,7 @@ webhooks:
       path: /validate-spiderpool-spidernet-io-v1-spiderippool
       port: {{ .Values.spiderpoolController.webhookPort }}
     {{- if (eq .Values.spiderpoolController.tls.method "provided") }}
-    caBundle: {{ .Values.spiderpoolController.tls.server.tlsCa | required "missing spiderpoolController.tls.server.tlsCa" }}
+    caBundle: {{ .Values.spiderpoolController.tls.provided.tlsCa | required "missing spiderpoolController.tls.provided.tlsCa" }}
     {{- end }}
   failurePolicy: Fail
   name: spiderippool.spiderpool.spidernet.io
@@ -103,7 +103,7 @@ webhooks:
       path: /validate-spiderpool-spidernet-io-v1-spiderreservedip
       port: {{ .Values.spiderpoolController.webhookPort }}
     {{- if (eq .Values.spiderpoolController.tls.method "provided") }}
-    caBundle: {{ .Values.spiderpoolController.tls.server.tlsCa | required "missing spiderpoolController.tls.server.tlsCa" }}
+    caBundle: {{ .Values.spiderpoolController.tls.provided.tlsCa | required "missing spiderpoolController.tls.provided.tlsCa" }}
     {{- end }}
   failurePolicy: Fail
   name: spiderreservedip.spiderpool.spidernet.io
diff --git a/charts/spiderpool/values.yaml b/charts/spiderpool/values.yaml
index 838cf8ca2..93780f6ea 100644
--- a/charts/spiderpool/values.yaml
+++ b/charts/spiderpool/values.yaml
@@ -5,106 +5,145 @@
 ## @section Global parameters
 ##
 global:
-  ## @param global.imageRegistry Global Docker image registry
-  imageRegistry: ""
+  ## @param global.imageRegistryOverride Global Docker image registry
+  imageRegistryOverride: ""
 
-## @section ipFamily parameters
-ipFamily:
-  ## @param ipFamily.enableIPv4 enable ipv4
+  ## @param global.nameOverride instance name
+  ## default spiderpool
+  nameOverride: ""
+
+  ## @param global.clusterDnsDomain cluster dns domain
+  clusterDnsDomain: "cluster.local"
+
+  ## @param global.commonAnnotations Annotations to add to all deployed objects
+  commonAnnotations: {}
+
+  ## @param global.commonLabels Labels to add to all deployed objects
+  commonLabels: {}
+  #  label1: v1
+  #  labele: v2
+
+  ## @param global.ipamBinHostPath the host path of the IPAM plugin directory.
+  ipamBinHostPath: /opt/cni/bin
+
+  ## @param global.ipamUNIXSocketHostPath the host path of unix domain socket for ipam plugin
+  ipamUNIXSocketHostPath: /var/run/spidernet/spiderpool.sock
+
+  ## @param global.configName the configmap name
+  configName: "spiderpool-conf"
+
+## @section feature parameters
+feature:
+  ## @param feature.enableIPv4 enable ipv4
   enableIPv4: true
-  ## @param ipFamily.enableIPv4 enable ipv6
-  enableIPv6: true
 
-rbac:
-  # -- Enable creation of Resource-Based Access Control configuration.
-  create: true
+  ## @param feature.enableIPv6 enable ipv6
+  enableIPv6: true
 
-# default spiderpool
-nameOverride: ""
+  ## @param feature.networkMode the network mode
+  networkMode: legacy
 
-clusterDnsDomain: "cluster.local"
+  ## @param feature.enableStatefulSet the network mode
+  enableStatefulSet: true
 
-## @param commonAnnotations Annotations to add to all deployed objects
-##
-commonAnnotations: {}
-#  annotation1: v1
-#  annotation2: v2
+  gc:
+    ## @param feature.gc.enabled enable retrieve IP in spiderippool CR
+    enabled: true
 
-## @param commonLabels Labels to add to all deployed objects
-##
-commonLabels: {}
-#  label1: v1
-#  labele: v2
+    GcDeletingTimeOutPod:
+      ## @param feature.gc.GcDeletingTimeOutPod.enabled enable retrieve IP for the pod who times out of deleting graceful period
+      enabled: true
 
-ipamPlugin:
-  # -- Configure the path to the configuration directory on the host.
-  confPath: /etc/cni/net.d/spiderpool
-  binPath: /opt/cni/bin
+      ## @param feature.gc.GcDeletingTimeOutPod.delay the gc delay seconds after the pod times out of deleting graceful period
+      delay: 0
 
-  # -- Configure the path to the binary directory on the host.
-  ipamBinPath: /opt/cni/bin
+    GcEvictedPodPod:
+      ## @param feature.gc.GcEvictedPodPod.enabled enable retrieve IP for the pod who is evicted
+      enabled: true
 
-  # -- Configure the unix socket path to connect with the spiderpool agent.
-  ipamUNIXSocketDir: /var/run/spidernet
-  ipamUNIXSocketPath: /var/run/spidernet/spiderpool.sock
+      ## @param feature.gc.GcEvictedPodPod.delay the gc delay seconds after the pod is evicted
+      delay: 0
 
+## @section clusterDefaultPool parameters
+##
 clusterDefaultPool:
+  ## @param clusterDefaultPool.installIPv4IPPool install ipv4 spiderpool instance
   installIPv4IPPool: false
+
+  ## @param clusterDefaultPool.installIPv6IPPool install ipv6 spiderpool instance
   installIPv6IPPool: false
+
+  ## @param clusterDefaultPool.ipv4IPPoolName the name of ipv4 spiderpool instance
   ipv4IPPoolName: "default-v4-ippool"
+
+  ## @param clusterDefaultPool.ipv6IPPoolName the name of ipv6 spiderpool instance
   ipv6IPPoolName: "default-v6-ippool"
+
+  ## @param clusterDefaultPool.ipv4Subnet the subnet of ipv4 spiderpool instance
   ipv4Subnet: ""
+
+  ## @param clusterDefaultPool.ipv6Subnet the subnet of ipv6 spiderpool instance
   ipv6Subnet: ""
-  ipv4IPRanges: []
-  ipv6IPRanges: []
 
-configmap:
-  configCmName: "spiderpool-conf"
+  ## @param clusterDefaultPool.ipv4IPRanges the available IP of ipv4 spiderpool instance
+  ipv4IPRanges: []
 
-  config:
-    # -- Unix domain socket path to listen for ipam plugin.
-    ipamUnixSocketPath: /var/run/spidernet/spiderpool.sock
-    networkMode: legacy
-    enableStatefulSet: true
+  ## @param clusterDefaultPool.ipv6IPRanges the available IP of ipv6 spiderpool instance
+  ipv6IPRanges: []
 
+## @section spiderpoolAgent parameters
+##
 spiderpoolAgent:
+  ## @param spiderpoolAgent.name the spiderpoolAgent name
   name: "spiderpool-agent"
 
+  ## @param spiderpoolAgent.binName the binName name of spiderpoolAgent
   binName: "spiderpool-agent"
 
   image:
+    ## @param spiderpoolAgent.image.registry the image registry of spiderpoolAgent
     registry: ghcr.io
+
+    ## @param spiderpoolAgent.image.repository the image repository of spiderpoolAgent
     repository: spidernet-io/spiderpool/spiderpool-agent
+
+    ## @param spiderpoolAgent.image.pullPolicy the image pullPolicy of spiderpoolAgent
     pullPolicy: IfNotPresent
-    # take preference over tag
+
+    ## @param spiderpoolAgent.image.digest the image digest of spiderpoolAgent, which takes preference over tag
     digest: ""
-    # Overrides the image tag whose default is the chart appVersion.
+
+    ## @param spiderpoolAgent.image.tag the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion.
     tag: ""
+
+    ## @param spiderpoolAgent.image.imagePullSecrets the image imagePullSecrets of spiderpoolAgent
     imagePullSecrets: []
     # - name: "image-pull-secret"
 
+  ## @skip spiderpoolAgent.nodeSelector.kubernetes.io/os
   nodeSelector:
     kubernetes.io/os: linux
 
-  nameOverride: ""
-
   serviceAccount:
+    ## @param spiderpoolAgent.serviceAccount.create create the service account for the spiderpoolAgent
     create: true
+    ## @param spiderpoolAgent.serviceAccount.annotations the annotations of spiderpoolAgent service account
     annotations: {}
 
-  # -- http Port to listen to for health checking
-  healthPort: 5710
-
+  ## @skip spiderpoolAgent.updateStrategy.rollingUpdate.maxUnavailable
+  ## @skip spiderpoolAgent.updateStrategy.type
   updateStrategy:
     rollingUpdate:
       maxUnavailable: 2
     type: RollingUpdate
 
   service:
-    # Optional annotations to add to the Service
+    ## @param spiderpoolAgent.service.annotations the annotations for spiderpoolAgent service
     annotations: {}
+    ## @param spiderpoolAgent.service.type the type for spiderpoolAgent service
     type: ClusterIP
 
+  ## @skip spiderpoolAgent.tolerations
   # --  Node tolerations
   # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
   tolerations:
@@ -138,45 +177,35 @@ spiderpoolAgent:
     - key: CriticalAddonsOnly
       operator: Exists
 
-  priorityClassName: ""
+  ## @param spiderpoolAgent.priorityClassName the priority Class Name for spiderpoolAgent
+  priorityClassName: "system-node-critical"
 
+  ## @param spiderpoolAgent.affinity the affinity of spiderpoolAgent
   affinity: {}
 
-  # -- Additional container arguments.
+  ## @param spiderpoolAgent.extraArgs the additional arguments of spiderpoolAgent container
   extraArgs: []
 
-  # -- Additional container environment variables.
+  ## @param spiderpoolAgent.extraEnv the additional environment variables of spiderpoolAgent container
   extraEnv: []
 
-  # -- Additional agent hostPath mounts.
-  extraHostPathMounts: []
-    # - name: host-mnt-data
-    #   mountPath: /host/mnt/data
-    #   hostPath: /mnt/data
-    #   hostPathType: Directory
-    #   readOnly: true
-    #   mountPropagation: HostToContainer
-
-  # -- Additional agent volumes.
+  ## @param spiderpoolAgent.extraVolumes the additional volumes of spiderpoolAgent container
   extraVolumes: []
 
-  # -- Additional agent volumeMounts.
+  ## @param spiderpoolAgent.extraVolumeMounts the additional hostPath mounts of spiderpoolAgent container
   extraVolumeMounts: []
 
-  # -- Annotations to be added to agent pods
+  ## @param spiderpoolAgent.podAnnotations the additional annotations of spiderpoolAgent pod
   podAnnotations: {}
 
-  # -- Labels to be added to agent pods
+  ## @param spiderpoolAgent.podLabels the additional label of spiderpoolAgent pod
   podLabels: {}
 
-  # -- Configure the path to where to mount the ConfigMap inside the agent pod.
-  confFileMountPath: /tmp/cni-configuration
-
   resources:
-    # We usually recommend not to specify default resources and to leave this as a conscious
-    # choice for the user. This also increases chances charts run on environments with little
-    # resources, such as Minikube. If you do want to specify resources, uncomment the following
-    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+    ## @param spiderpoolAgent.resources.limits.cpu the cpu limit of spiderpoolAgent pod
+    ## @param spiderpoolAgent.resources.limits.memory the memory limit of spiderpoolAgent pod
+    ## @param spiderpoolAgent.resources.requests.cpu the cpu requests of spiderpoolAgent pod
+    ## @param spiderpoolAgent.resources.requests.memory the memory requests of spiderpoolAgent pod
     limits:
       cpu: 1000m
       memory: 1024Mi
@@ -184,92 +213,102 @@ spiderpoolAgent:
       cpu: 100m
       memory: 128Mi
 
-  # -- Security context to be added to agent pods
+  ## @param spiderpoolAgent.securityContext the security Context of spiderpoolAgent pod
   securityContext: {}
   # runAsUser: 0
 
-  # -- Configure the path to where the CNI configuration directory is mounted
-  # inside the agent pod.
-  hostConfDirMountPath: /host/etc/cni/net.d/spiderpool
-
   healthChecking:
+    ## @param spiderpoolAgent.healthChecking.port the http Port for spiderpoolAgent health checking
+    port: 5710
+
     startupProbe:
-      # -- failure threshold of startup probe.
-      # 105 x 2s translates to the old behaviour of the readiness probe (120s delay + 30 x 3s)
+      ## @param spiderpoolAgent.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking
       failureThreshold: 60
-      # -- interval between checks of the startup probe
+      ## @param spiderpoolAgent.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking
       periodSeconds: 2
 
     livenessProbe:
-      # -- failure threshold of liveness probe
+      ## @param spiderpoolAgent.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking
       failureThreshold: 6
-      # -- interval between checks of the liveness probe
+      ## @param spiderpoolAgent.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking
       periodSeconds: 10
 
     readinessProbe:
-      # -- failure threshold of readiness probe
+      ## @param spiderpoolAgent.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking
       failureThreshold: 3
-      # -- interval between checks of the readiness probe
+      ## @param spiderpoolAgent.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking
       periodSeconds: 10
 
-  # -- Enable prometheus metrics for cilium-operator on the configured port at
-  # /metrics
   prometheus:
-    # -- Enable service monitors.
-    # This requires the prometheus CRDs to be available (see https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml)
+    ## @param spiderpoolAgent.prometheus.enabled enable spiderpool agent to collect metrics
     enabled: false
+    ## @param spiderpoolAgent.prometheus.port the metrics port of spiderpool agent
     port: 5711
     serviceMonitor:
-      labels: {}
-      annotations: {}
+      ## @param spiderpoolAgent.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available
+      install: false
     prometheusRule:
-      # enable alter rules
-      enabled: false
+      ## @param spiderpoolAgent.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available
+      install: false
 
   debug:
-    # debug, info, warn, error, fatal, panic
+    ## @param spiderpoolAgent.debug.logLevel the log level of spiderpool agent [debug, info, warn, error, fatal, panic]
     logLevel: "info"
+    ## @param spiderpoolAgent.debug.gopsPort the gops port of spiderpool agent
     gopsPort: 5712
 
+## @section spiderpoolController parameters
+##
 spiderpoolController:
+  ## @param spiderpoolController.name the spiderpoolController name
   name: "spiderpool-controller"
 
+  ## @param spiderpoolController.replicas the replicas number of spiderpoolController pod
   replicas: 1
 
+  ## @param spiderpoolController.binName the binName name of spiderpoolController
   binName: "spiderpool-controller"
 
-  # ippool is not installed when installation , so have to be hostnetwork
+  ## @param spiderpoolController.hostnetwork enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this
   hostnetwork: true
 
-  nameOverride: ""
-
   image:
+    ## @param spiderpoolController.image.registry the image registry of spiderpoolController
     registry: ghcr.io
+
+    ## @param spiderpoolController.image.repository the image repository of spiderpoolController
     repository: spidernet-io/spiderpool/spiderpool-controller
+
+    ## @param spiderpoolController.image.pullPolicy the image pullPolicy of spiderpoolController
     pullPolicy: IfNotPresent
-    # take preference over tag
+
+    ## @param spiderpoolController.image.digest the image digest of spiderpoolController, which takes preference over tag
     digest: ""
-    # digest: "sha256:251ff274acf22fd2067b29a31e9fda94253d2961c061577203621583d7e85bd2"
-    # Overrides the image tag whose default is the chart appVersion.
+
+    ## @param spiderpoolController.image.tag the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion.
     tag: ""
+
+    ## @param spiderpoolController.image.imagePullSecrets the image imagePullSecrets of spiderpoolController
     imagePullSecrets: []
     # - name: "image-pull-secret"
 
+  ## @skip spiderpoolController.nodeSelector.kubernetes.io/os
   nodeSelector:
     kubernetes.io/os: linux
 
-  affinity: {}
-
   serviceAccount:
+    ## @param spiderpoolController.serviceAccount.create create the service account for the spiderpoolController
     create: true
-    name: ""
+    ## @param spiderpoolController.serviceAccount.annotations the annotations of spiderpoolController service account
     annotations: {}
 
   service:
-    # Optional annotations to add to the Service
+    ## @param spiderpoolController.service.annotations the annotations for spiderpoolController service
     annotations: {}
+    ## @param spiderpoolController.service.type the type for spiderpoolController service
     type: ClusterIP
 
+  ## @skip spiderpoolController.tolerations
   tolerations:
     - effect: NoExecute
       key: node.kubernetes.io/not-ready
@@ -301,49 +340,44 @@ spiderpoolController:
     - key: CriticalAddonsOnly
       operator: Exists
 
-  priorityClassName: ""
+  ## @param spiderpoolController.priorityClassName the priority Class Name for spiderpoolController
+  priorityClassName: "system-node-critical"
 
-  # -- Additional container arguments.
+  ## @param spiderpoolController.affinity the affinity of spiderpoolController
+  affinity: {}
+
+  ## @param spiderpoolController.extraArgs the additional arguments of spiderpoolController container
   extraArgs: []
 
-  # -- Additional container environment variables.
+  ## @param spiderpoolController.extraEnv the additional environment variables of spiderpoolController container
   extraEnv: []
 
-  # -- Additional agent hostPath mounts.
-  extraHostPathMounts: []
-    # - name: host-mnt-data
-    #   mountPath: /host/mnt/data
-    #   hostPath: /mnt/data
-    #   hostPathType: Directory
-    #   readOnly: true
-  #   mountPropagation: HostToContainer
-
-  # -- Additional agent volumes.
+  ## @param spiderpoolController.extraVolumes the additional volumes of spiderpoolController container
   extraVolumes: []
     # - name: test-val
     #   mountPath: /host/tmp
 
-  # -- Additional agent volumeMounts.
+  ## @param spiderpoolController.extraVolumeMounts the additional hostPath mounts of spiderpoolController container
   extraVolumeMounts: []
     # - name: test-val
     #   mountPath: /tmp
 
-  # -- Annotations to be added to agent pods
+  ## @param spiderpoolController.podAnnotations the additional annotations of spiderpoolController pod
   podAnnotations: {}
     # test: 100
 
-  # -- Labels to be added to agent pods
+  ## @param spiderpoolController.podLabels the additional label of spiderpoolController pod
   podLabels: {}
 
-  # -- security context
+  ## @param spiderpoolController.securityContext the security Context of spiderpoolController pod
   securityContext: {}
   # runAsUser: 0
 
   resources:
-    # We usually recommend not to specify default resources and to leave this as a conscious
-    # choice for the user. This also increases chances charts run on environments with little
-    # resources, such as Minikube. If you do want to specify resources, uncomment the following
-    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+    ## @param spiderpoolController.resources.limits.cpu the cpu limit of spiderpoolController pod
+    ## @param spiderpoolController.resources.limits.memory the memory limit of spiderpoolController pod
+    ## @param spiderpoolController.resources.requests.cpu the cpu requests of spiderpoolController pod
+    ## @param spiderpoolController.resources.requests.memory the memory requests of spiderpoolController pod
     limits:
       cpu: 500m
       memory: 1024Mi
@@ -351,106 +385,95 @@ spiderpoolController:
       cpu: 100m
       memory: 128Mi
 
-  # PodDisruptionBudget settings
   podDisruptionBudget:
-    # -- enable PodDisruptionBudget
-    # ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
+    ## @param spiderpoolController.podDisruptionBudget.enabled enable podDisruptionBudget for spiderpoolController pod, ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
     enabled: false
-    # -- Minimum number/percentage of pods that should remain scheduled.
-    # When it's set, maxUnavailable must be disabled by `maxUnavailable: null`
+
+    ## @param spiderpoolController.podDisruptionBudget.minAvailable minimum number/percentage of pods that should remain scheduled.
     minAvailable: 1
-    # -- Maximum number/percentage of pods that may be made unavailable
-   # maxUnavailable: 1
 
   healthChecking:
+    ## @param spiderpoolController.healthChecking.port the http Port for spiderpoolController health checking
+    port: 5720
+
     startupProbe:
-      # -- failure threshold of startup probe.
-      # 105 x 2s translates to the old behaviour of the readiness probe (120s delay + 30 x 3s)
+      ## @param spiderpoolController.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking
       failureThreshold: 30
-      # -- interval between checks of the startup probe
+
+      ## @param spiderpoolController.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking
       periodSeconds: 2
 
     livenessProbe:
-      # -- failure threshold of liveness probe
+      ## @param spiderpoolController.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking
       failureThreshold: 6
-      # -- interval between checks of the liveness probe
+
+      ## @param spiderpoolController.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking
       periodSeconds: 10
 
     readinessProbe:
-      # -- failure threshold of readiness probe
+      ## @param spiderpoolController.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking
       failureThreshold: 3
-      # -- interval between checks of the readiness probe
-      periodSeconds: 10
 
-  # -- http Port to listen to for health checking
-  healthPort: 5720
+      ## @param spiderpoolController.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking
+      periodSeconds: 10
 
-  # -- https Port to listen to webhook
+  ## @param spiderpoolController.webhookPort the http port for spiderpoolController webhook
   webhookPort: 5722
 
-  # -- https Port to listen to cli command
+  ## @param spiderpoolController.cliPort the http port for spiderpoolController CLI
   cliPort: 5723
 
-  # -- Enable prometheus metrics for cilium-operator on the configured port at
-  # /metrics
   prometheus:
+    ## @param spiderpoolController.prometheus.enabled enable spiderpool Controller to collect metrics
     enabled: false
+
+    ## @param spiderpoolController.prometheus.port the metrics port of spiderpool Controller
     port: 5721
+
     serviceMonitor:
-      # -- Enable service monitors.
-      # This requires the prometheus CRDs to be available (see https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml)
-      enabled: false
-      labels: {}
-      annotations: {}
+      ## @param spiderpoolController.prometheus.serviceMonitor.install install serviceMonitor for spiderpool Controller. This requires the prometheus CRDs to be available
+      install: false
+
     prometheusRule:
-      # enable alter rules
-      enabled: false
+      ## @param spiderpoolController.prometheus.prometheusRule.install install prometheusRule for spiderpool Controller. This requires the prometheus CRDs to be available
+      install: false
 
   debug:
-    # debug, info, warn, error, fatal, panic
+    ## @param spiderpoolController.debug.logLevel the log level of spiderpool Controller [debug, info, warn, error, fatal, panic]
     logLevel: "info"
+
+    ## @param spiderpoolController.debug.gopsPort the gops port of spiderpool Controller
     gopsPort: 5724
 
-  gc:
-    # global enable
-    enabled: true
-    # if enabled=false, ignore this
-    gcTerminatingPodIPEnabled: true
-    # delay to gc pod ip after pod graceful time, second
-    gcTerminatingPodIPDelay: 0
-    # if enabled=false, ignore this
-    gcEvictedPodIPEnabled: true
-    # delay to gc pod ip after pod graceful time, second
-    gcEvictedPodIPDelay: 0
-
-  # -- TLS configuration for webhook
+  ## TLS configuration for webhook
   tls:
-    # -- Set the method to auto-generate certificates. Supported values:
-    # - provided:     provide all certificates by helm options
-    # - certmanager:  This method use cert-manager to generate & rotate certificates.
+    ## @param spiderpoolController.tls.method the method for generating TLS certificates. [ provided , certmanager ]
+    ## - provided:     provide all certificates by helm options
+    ## - certmanager:  This method use cert-manager to generate & rotate certificates.
     method: provided
 
-    # the secret with same namespace
+    ## @param spiderpoolController.tls.secretName the secret name for storing TLS certificates
     secretName: "spiderpool-controller-server-certs"
 
-    # for certmanager method
+    ## for certmanager method
     certmanager:
-      # -- Generated certificates validity duration in days.
+      ## @param spiderpoolController.tls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method
       certValidityDuration: 365
 
-      # If not specified, a CA issuer will be created.
-      # used by method certmanager
+      ## @param spiderpoolController.tls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created.
       issuerName: ""
 
-      # -- Extra DNS names added to certificate when it's auto generated
+      ## @param spiderpoolController.tls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated
       extraDnsNames: []
-      # -- Extra IP addresses added to certificate when it's auto generated
+
+      ## @param spiderpoolController.tls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated
       extraIPAddresses: []
 
-    # -- for provided method
-    server:
-      # used by method provided
-      # encoded
+    ## for provided method
+    provided:
+      ## @param spiderpoolController.tls.provided.tlsCert encoded tls certificate for provided method
+      ## @param spiderpoolController.tls.provided.tlsKey encoded tls key for provided method
+      ## @param spiderpoolController.tls.provided.tlsCa encoded tls CA for provided method
       tlsCert: ""
       tlsKey: ""
       tlsCa: ""
diff --git a/cmd/spiderpool/cmd/cni_types.go b/cmd/spiderpool/cmd/cni_types.go
index f2a1427e3..25e1bd8ab 100644
--- a/cmd/spiderpool/cmd/cni_types.go
+++ b/cmd/spiderpool/cmd/cni_types.go
@@ -1,5 +1,5 @@
-// Copyright 2022 Authors of spidernet-io
 // SPDX-License-Identifier: Apache-2.0
+// Copyright Authors of Cilium
 
 package cmd
 
diff --git a/cmd/spiderpool/cmd/command_add.go b/cmd/spiderpool/cmd/command_add.go
index 047abdfc7..b13e34446 100644
--- a/cmd/spiderpool/cmd/command_add.go
+++ b/cmd/spiderpool/cmd/command_add.go
@@ -21,6 +21,7 @@ import (
 	"github.com/spidernet-io/spiderpool/cmd/spiderpool-agent/cmd"
 	"github.com/spidernet-io/spiderpool/pkg/constant"
 	spiderpoolip "github.com/spidernet-io/spiderpool/pkg/ip"
+	"github.com/spidernet-io/spiderpool/pkg/logutils"
 )
 
 var (
@@ -56,13 +57,13 @@ func CmdAdd(args *skel.CmdArgs) (err error) {
 		return fmt.Errorf("Load network config failed: %v", err)
 	}
 
-	logger, err = setupFileLogging(conf)
+	err = setupFileLogging(conf)
 	if nil != err {
 		return fmt.Errorf("Unable to setup logging: %w", err)
 	}
 
 	// new cmdAdd logger
-	logger = logger.Named(BinNamePlugin)
+	logger = logutils.LoggerFile.Named(BinNamePlugin)
 	logger.Sugar().Debugf("Processing CNI ADD request %#v", args)
 	logger.Sugar().Debugf("CNI ADD NetConf: %#v", conf)
 
diff --git a/cmd/spiderpool/cmd/command_delete.go b/cmd/spiderpool/cmd/command_delete.go
index 27695e346..d74fd06c1 100644
--- a/cmd/spiderpool/cmd/command_delete.go
+++ b/cmd/spiderpool/cmd/command_delete.go
@@ -12,6 +12,7 @@ import (
 	"github.com/spidernet-io/spiderpool/api/v1/agent/client/daemonset"
 	"github.com/spidernet-io/spiderpool/api/v1/agent/models"
 	"github.com/spidernet-io/spiderpool/cmd/spiderpool-agent/cmd"
+	"github.com/spidernet-io/spiderpool/pkg/logutils"
 	"go.uber.org/zap"
 )
 
@@ -44,13 +45,13 @@ func CmdDel(args *skel.CmdArgs) (err error) {
 		return fmt.Errorf("Load network config failed: %v", err)
 	}
 
-	logger, err = setupFileLogging(conf)
+	err = setupFileLogging(conf)
 	if nil != err {
 		return fmt.Errorf("Unable to setup logging: %w", err)
 	}
 
 	// new cmdDel logger
-	logger = logger.Named(BinNamePlugin)
+	logger = logutils.LoggerFile.Named(BinNamePlugin)
 	logger.Sugar().Debugf("Processing CNI DEL request %#v", args)
 	logger.Sugar().Debugf("CNI DEL NetConf: %#v", conf)
 
diff --git a/cmd/spiderpool/cmd/utils.go b/cmd/spiderpool/cmd/utils.go
index 7055f2917..f128b886e 100644
--- a/cmd/spiderpool/cmd/utils.go
+++ b/cmd/spiderpool/cmd/utils.go
@@ -6,16 +6,21 @@ package cmd
 import (
 	"fmt"
 	"github.com/spidernet-io/spiderpool/pkg/logutils"
-	"go.uber.org/zap"
 )
 
 // Set up logging for spiderpool plugin
-func setupFileLogging(conf *NetConf) (*zap.Logger, error) {
+func setupFileLogging(conf *NetConf) error {
+
 	v := logutils.ConvertLogLevel(conf.IPAM.LogLevel)
 	if v == nil {
-		return nil, fmt.Errorf("wrong log level %s ", conf.IPAM.LogLevel)
+		return fmt.Errorf("wrong log level %s ", conf.IPAM.LogLevel)
 	}
 
-	return logutils.InitFileLogger(*v, conf.IPAM.LogFilePath,
+	err := logutils.InitFileLogger(*v, conf.IPAM.LogFilePath,
 		conf.IPAM.LogFileMaxSize, conf.IPAM.LogFileMaxAge, conf.IPAM.LogFileMaxCount)
+	if nil != err {
+		return err
+	}
+
+	return nil
 }
diff --git a/docs/concepts/config.md b/docs/concepts/config.md
index cc7188406..01fb2b445 100644
--- a/docs/concepts/config.md
+++ b/docs/concepts/config.md
@@ -19,7 +19,7 @@ There is an example of IPAM configuration.
             "mtu":1500,
             "ipam":{
                 "type":"spiderpool",
-                "log_file_path":"/var/log/spidernet/spiderpool.log",
+                "log_file_path":"/var/run/spidernet/spiderpool.log",
                 "log_file_max_size":"100M",
                 "log_file_max_age":"30d",
                 "log_file_max_count":7,
@@ -30,7 +30,7 @@ There is an example of IPAM configuration.
 }
 ```
 
-- `log_file_path` (string, optional): Path to log file  of IPAM plugin, default to `"/var/log/spidernet/spiderpool.log"`.
+- `log_file_path` (string, optional): Path to log file  of IPAM plugin, default to `"/var/run/spidernet/spiderpool.log"`.
 - `log_file_max_size` (string, optional): Max size of each rotated file, default to `"100M"`.
 - `log_file_max_age` (string, optional): Max age of each rotated file, default to `"30d"`.
 - `log_file_max_count` (string, optional): Max number of rotated file, default to `"7"`.
diff --git a/docs/usage/install.md b/docs/usage/install.md
index 88151f69b..46eaaad28 100644
--- a/docs/usage/install.md
+++ b/docs/usage/install.md
@@ -33,10 +33,10 @@ Ipv4Range="172.20.0.10-172.20.0.200"
 # deploy the spiderpool
 helm install spiderpool spiderpool/spiderpool --namespace kube-system \
   --set spiderpoolController.tls.method=provided \
-  --set spiderpoolController.tls.server.tlsCert="${SERVER_CERT}" \
-  --set spiderpoolController.tls.server.tlsKey="${SERVER_KEY}" \
-  --set spiderpoolController.tls.server.tlsCa="${CA}" \
-  --set ipFamily.enableIPv4=true --set ipFamily.enableIPv6=false \
+  --set spiderpoolController.tls.provided.tlsCert="${SERVER_CERT}" \
+  --set spiderpoolController.tls.provided.tlsKey="${SERVER_KEY}" \
+  --set spiderpoolController.tls.provided.tlsCa="${CA}" \
+  --set feature.enableIPv4=true --set feature.enableIPv6=false \
   --set clusterDefaultPool.installIPv4IPPool=true  \
   --set clusterDefaultPool.ipv4Subnet=${Ipv4Subnet} --set clusterDefaultPool.ipv4IPRanges={${Ipv4Range}}
 ```
@@ -66,10 +66,10 @@ Ipv6Range="fd00::10-fd00::200"
 # deploy the spiderpool
 helm install spiderpool spiderpool/spiderpool --namespace kube-system \
   --set spiderpoolController.tls.method=provided \
-  --set spiderpoolController.tls.server.tlsCert="${SERVER_CERT}" \
-  --set spiderpoolController.tls.server.tlsKey="${SERVER_KEY}" \
-  --set spiderpoolController.tls.server.tlsCa="${CA}" \
-  --set ipFamily.enableIPv4=true --set ipFamily.enableIPv6=true \
+  --set spiderpoolController.tls.provided.tlsCert="${SERVER_CERT}" \
+  --set spiderpoolController.tls.provided.tlsKey="${SERVER_KEY}" \
+  --set spiderpoolController.tls.provided.tlsCa="${CA}" \
+  --set feature.enableIPv4=true --set feature.enableIPv6=true \
   --set clusterDefaultPool.installIPv4IPPool=true  --set clusterDefaultPool.installIPv6IPPool=true  \
   --set clusterDefaultPool.ipv4Subnet=${Ipv4Subnet} --set clusterDefaultPool.ipv4IPRanges={${Ipv4Range}} \
   --set clusterDefaultPool.ipv6Subnet=${Ipv6Subnet} --set clusterDefaultPool.ipv6IPRanges={${Ipv6Range}}
@@ -103,7 +103,7 @@ ipv4_range="172.20.0.10-172.20.0.200"
 helm install spiderpool spiderpool/spiderpool --namespace kube-system \
   --set spiderpoolController.tls.method=certmanager \
   --set spiderpoolController.tls.certmanager.issuerName=${CERT_MANAGER_ISSUER_NAME} \
-  --set ipFamily.enableIPv4=true --set ipFamily.enableIPv6=false \
+  --set feature.enableIPv4=true --set feature.enableIPv6=false \
   --set clusterDefaultPool.installIPv4IPPool=true --set clusterDefaultPool.installIPv6IPPool=false \
   --set clusterDefaultPool.ipv4Subnet=${ipv4_subnet} \
   --set clusterDefaultPool.ipv4IPRanges={${ipv4_ip_range}}
diff --git a/pkg/logutils/log.go b/pkg/logutils/log.go
index bb70c4655..301743a2a 100644
--- a/pkg/logutils/log.go
+++ b/pkg/logutils/log.go
@@ -8,19 +8,20 @@ import (
 	"fmt"
 	"os"
 	"path/filepath"
+
 	"strings"
 
+	"github.com/spidernet-io/spiderpool/pkg/constant"
 	"go.uber.org/zap"
 	"go.uber.org/zap/zapcore"
 	"gopkg.in/natefinch/lumberjack.v2"
-
-	"github.com/spidernet-io/spiderpool/pkg/constant"
 )
 
 // Pre-define log instance with default info level.
 var (
 	Logger       *zap.Logger
 	LoggerStderr *zap.Logger
+	LoggerFile   *zap.Logger
 )
 
 // LogFormat is a type help you choose the log output format, which supports "json" and "console".
@@ -40,7 +41,7 @@ type FileOutputOption struct {
 }
 
 const (
-	DefaultIPAMPluginLogFilePath = "/var/log/spidernet/spiderpool.log"
+	DefaultLogFilePath = "/tmp/cni.log"
 	// MaxSize    = 100 // MB
 	DefaultLogFileMaxSize int = 100
 	// MaxAge     = 30 // days (no limit)
@@ -100,6 +101,12 @@ func init() {
 	if nil != err {
 		panic(err)
 	}
+
+	err = InitFileLogger(InfoLevel, DefaultLogFilePath, DefaultLogFileMaxSize, DefaultLogFileMaxAge, DefaultLogFileMaxBackups)
+	if nil != err {
+		panic(err)
+	}
+
 }
 
 // NewLoggerWithOption provides the ability to custom log with options.
@@ -125,7 +132,7 @@ func NewLoggerWithOption(format LogFormat, outputMode LogMode, fileOutputOption
 		fileLoggerConf.MaxBackups = fileOutputOption.MaxBackups
 
 		if fileOutputOption.Filename == "" {
-			fileLoggerConf.Filename = DefaultIPAMPluginLogFilePath
+			fileLoggerConf.Filename = DefaultLogFilePath
 		}
 		if fileOutputOption.MaxSize < 0 {
 			fileLoggerConf.MaxSize = DefaultLogFileMaxSize
@@ -156,7 +163,7 @@ func NewLoggerWithOption(format LogFormat, outputMode LogMode, fileOutputOption
 	case OUTPUT_STDERR | OUTPUT_FILE:
 		ws = zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stderr), zapcore.AddSync(&fileLoggerConf))
 	case OUTPUT_STDOUT | OUTPUT_STDERR:
-		return nil, fmt.Errorf("log output mode can't set to stdout with stderr together")
+		return nil, fmt.Errorf("log output mode can't set to stdout with stderr together.")
 	default:
 		ws = zapcore.AddSync(os.Stdout)
 	}
@@ -221,19 +228,19 @@ func InitStderrLogger(logLevel LogLevel) error {
 
 // InitFileLogger sets LoggerFile configuration for 'file output' usage.
 // fileMaxSize unit MB, fileMaxAge unit days, fileMaxBackups unit counts.
-func InitFileLogger(logLevel LogLevel, filePath string, fileMaxSize, fileMaxAge, fileMaxBackups int) (*zap.Logger, error) {
+func InitFileLogger(logLevel LogLevel, filePath string, fileMaxSize, fileMaxAge, fileMaxBackups int) error {
 	fileLoggerConf := FileOutputOption{
 		Filename:   filePath,
 		MaxSize:    fileMaxSize,
 		MaxAge:     fileMaxAge,
 		MaxBackups: fileMaxBackups,
 	}
-	logFile, err := NewLoggerWithOption(JsonLogFormat, OUTPUT_FILE, &fileLoggerConf, true, true, true, logLevel)
+	l, err := NewLoggerWithOption(JsonLogFormat, OUTPUT_FILE, &fileLoggerConf, true, true, true, logLevel)
 	if nil != err {
-		return nil, fmt.Errorf("Failed to init logger for file: %v", err)
+		return fmt.Errorf("Failed to init logger for file: %v", err)
 	}
-
-	return logFile, nil
+	LoggerFile = l
+	return nil
 }
 
 // loggerKey is how we find Loggers in a context.Context.


Test patch:
diff --git a/pkg/logutils/log_test.go b/pkg/logutils/log_test.go
index dfad9a012..4be3d2fb9 100644
--- a/pkg/logutils/log_test.go
+++ b/pkg/logutils/log_test.go
@@ -13,10 +13,8 @@ import (
 	"go.uber.org/zap"
 )
 
-const tmpLogFilePath = "/tmp/cni.log"
-
 var _ = Describe("Log", Label("unitest", "log_test"), func() {
-	Context("check log with stdout/stderr/file", func() {
+	Context("When on a nice day", func() {
 		It("log with stdout", func() {
 			err := logutils.InitStdoutLogger(logutils.InfoLevel)
 			Expect(err).NotTo(HaveOccurred())
@@ -26,9 +24,9 @@ var _ = Describe("Log", Label("unitest", "log_test"), func() {
 		})
 
 		It("log for file output mode", func() {
-			loggerFile, err := logutils.InitFileLogger(logutils.InfoLevel, tmpLogFilePath, logutils.DefaultLogFileMaxSize, logutils.DefaultLogFileMaxAge, logutils.DefaultLogFileMaxBackups)
+			err := logutils.InitFileLogger(logutils.InfoLevel, logutils.DefaultLogFilePath, logutils.DefaultLogFileMaxSize, logutils.DefaultLogFileMaxAge, logutils.DefaultLogFileMaxBackups)
 			Expect(err).NotTo(HaveOccurred())
-			loggerFile.Info("This is log test.", zap.Int("log mode", 1))
+			logutils.LoggerFile.Info("This is log test.", zap.Int("log mode", 1))
 		})
 
 		It("log with stderr", func() {
diff --git a/test/Makefile b/test/Makefile
index 7c2e47e97..7afc36c9b 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -127,12 +127,12 @@ setup_spiderpool:
 			CA=`cat $(CLUSTER_DIR)/$(E2E_CLUSTER_NAME)/tls/ca.crt  | base64 -w0 | tr -d '\n' ` ; \
 			SERVER_CERT=` cat $(CLUSTER_DIR)/$(E2E_CLUSTER_NAME)/tls/server.crt | base64 -w0 | tr -d '\n' ` ; \
 			SERVER_KEY=` cat $(CLUSTER_DIR)/$(E2E_CLUSTER_NAME)/tls/server.key | base64 -w0 | tr -d '\n' ` ; \
-			HELM_OPTION="--set spiderpoolController.tls.server.tlsCert=\"$${SERVER_CERT}\" --set spiderpoolController.tls.server.tlsKey=\"$${SERVER_KEY}\" --set spiderpoolController.tls.server.tlsCa=\"$${CA}\" --set spiderpoolController.tls.method=provided" ; \
+			HELM_OPTION="--set spiderpoolController.tls.provided.tlsCert=\"$${SERVER_CERT}\" --set spiderpoolController.tls.provided.tlsKey=\"$${SERVER_KEY}\" --set spiderpoolController.tls.provided.tlsCa=\"$${CA}\" --set spiderpoolController.tls.method=provided" ; \
 		else \
 			echo "unknown USE_TLS_METHOD $(USE_TLS_METHOD) " ; \
 			exit 1 ; \
 		fi ; \
-		HELM_OPTION+=" --set ipamPlugin.log_level=debug  --set spiderpoolAgent.debug.logLevel=debug --set spiderpoolController.debug.logLevel=debug  " ; \
+		HELM_OPTION+=" --set spiderpoolAgent.debug.logLevel=debug --set spiderpoolController.debug.logLevel=debug  " ; \
 		if [ "$(E2E_IP_FAMILY)" == "ipv4" ] ; then \
 			ipv4_subnet=$$(docker network inspect kind -f {{\(index\ $$.IPAM.Config\ 0\).Subnet}}) ; \
 			ipv4_prefix=$$(echo $${ipv4_subnet} | awk '{split($$0,a,".");printf "%s.%s",a[1],a[2]}'); \
@@ -141,7 +141,7 @@ setup_spiderpool:
 			HELM_OPTION+=" --set clusterDefaultPool.ipv4IPPoolName=default-v4-ippool" ; \
 			HELM_OPTION+=" --set clusterDefaultPool.ipv4Subnet=$${ipv4_subnet}" ; \
 			HELM_OPTION+=" --set clusterDefaultPool.ipv4IPRanges={$${ipv4_ip_range}}" ; \
-			HELM_OPTION+=" --set ipFamily.enableIPv4=true --set ipFamily.enableIPv6=false" ; \
+			HELM_OPTION+=" --set feature.enableIPv4=true --set feature.enableIPv6=false" ; \
 		elif [ "$(E2E_IP_FAMILY)" == "ipv6" ] ; then \
 			ipv6_subnet=$$(docker network inspect kind -f {{\(index\ $$.IPAM.Config\ 1\).Subnet}}) ; \
 			ipv6_ip_range=$${ipv6_subnet%::*}:f::2-$${ipv6_subnet%::*}:f::fe ; \
@@ -149,7 +149,7 @@ setup_spiderpool:
 			HELM_OPTION+=" --set clusterDefaultPool.ipv6IPPoolName=default-v6-ippool" ; \
 			HELM_OPTION+=" --set clusterDefaultPool.ipv6Subnet=$${ipv6_subnet}" ; \
 			HELM_OPTION+=" --set clusterDefaultPool.ipv6IPRanges={$${ipv6_ip_range}}" ; \
-			HELM_OPTION+=" --set ipFamily.enableIPv4=false --set ipFamily.enableIPv6=true" ; \
+			HELM_OPTION+=" --set feature.enableIPv4=false --set feature.enableIPv6=true" ; \
 		else \
 			ipv4_subnet=$$(docker network inspect kind -f {{\(index\ $$.IPAM.Config\ 0\).Subnet}}) ; \
 			ipv6_subnet=$$(docker network inspect kind -f {{\(index\ $$.IPAM.Config\ 1\).Subnet}}) ; \
@@ -160,7 +160,7 @@ setup_spiderpool:
 			HELM_OPTION+=" --set clusterDefaultPool.ipv4IPPoolName=default-v4-ippool --set clusterDefaultPool.ipv6IPPoolName=default-v6-ippool" ; \
 			HELM_OPTION+=" --set clusterDefaultPool.ipv4Subnet=$${ipv4_subnet} --set clusterDefaultPool.ipv6Subnet=$${ipv6_subnet}" ; \
 			HELM_OPTION+=" --set clusterDefaultPool.ipv4IPRanges={$${ipv4_ip_range}} --set clusterDefaultPool.ipv6IPRanges={$${ipv6_ip_range}}" ; \
-			HELM_OPTION+=" --set ipFamily.enableIPv4=true --set ipFamily.enableIPv6=true" ; \
+			HELM_OPTION+=" --set feature.enableIPv4=true --set feature.enableIPv6=true" ; \
 		fi ; \
 		if [ -n "$(PYROSCOPE_LOCAL_PORT)" ] ; then \
         			docker stop $(PYROSCOPE_CONTAINER_NAME) &>/dev/null || true ; \