* Enhance MetricsMonitor with several new metrics
* Add config read and write rt
* Add ServiceEvent publisher queue size
* Add fuzzy search count
* Add naming subscriber and publisher count with v1 or v2 version tag
* Add config subscriber count with v1 or v2 version tag
* Add pending push task count and empty push count metrics
* collect pending push task count by scheduled task
* add unit test for increment metrics in NacosMonitorPushResultHook
* Add topn counter container and topn config change
* Create private MeterRegistry for config change
* Add scheduled clear for config change count, add removeAll for TopnCounterMetricsContainer
* Add topn service change
* Reconstruct metrics monitor with NacosMeterRegistryCenter.
* divide globalRegistry to different modules' CompositeMeterRegistry
* Add dynamic meters refresh service for config and naming module
* fix unit test
* Add try catch when init NacosMeterRegistryCenter
* Add ConfigV2Controller and HistoryV2Controller
* fix ConfigControllerV2 and HistoryControllerV2
* fix ConfigControllerV2Test and HistoryControllerV2Test
* add ConfigService and HistoryService
* fix HistoryControllerV2 and HistoryControllerV2Test
* rename ConfigService to ConfigOperationService
* [ISSUE #7966] modify returned msg in Auth/Distro/Curcuit-Filter when internal server error
* [ISSUE #7966] add log output instead of return stacktrace
* [ISSUE#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0 (#6655)
* Defines the interface
* 增加aes实现
* 客户端、服务端加解密实现
* 客户端、服务端加解密实现
* fix code quality (#6727)
* [ISSUE#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0, EncryptedDataKey is persisted (#6740)
* Defines the interface
* 增加aes实现
* 客户端、服务端加解密实现
* 客户端、服务端加解密实现
* 秘钥持久化
* 秘钥持久化
* [ISSUE#5695] Summer2021 Cache encryptedDataKey (#6878)
* Defines the interface
* 增加aes实现
* 客户端、服务端加解密实现
* 客户端、服务端加解密实现
* 秘钥持久化
* 秘钥持久化
* 秘钥缓存到内存中
* 解决冲突
* 修改filter继承AbstractConfigFilter (#6879)
* [ISSUE#5695] Summer2021 EncryptedDataKey is persisted to Derby (#6882)
* [ISSUE#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0 (#6655)
* Defines the interface
* 增加aes实现
* 客户端、服务端加解密实现
* 客户端、服务端加解密实现
* fix code quality (#6727)
* # This is a combination of 6 commits.tree cf7a399f99c4d81b8667c8de06f5ceb8c79fb6f0
parent 8024ecf31bf23a9edab416be8a3bfd1c0e48ce5e
author 李晓双 Li Xiao Shuang <644968328@qq.com> 1630028256 +0800
committer lixiaoshuang <644968328@qq.com> 1631804378 +0800
# This is a combination of 3 commits.
# This is the 1st commit message:
[ISSUE#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0, EncryptedDataKey is persisted (#6740)
* Defines the interface
* 增加aes实现
* 客户端、服务端加解密实现
* 客户端、服务端加解密实现
* 秘钥持久化
* 秘钥持久化
# This is the commit message #2:
[ISSUE#5695] Summer2021 Cache encryptedDataKey (#6878)
* Defines the interface
* 增加aes实现
* 客户端、服务端加解密实现
* 客户端、服务端加解密实现
* 秘钥持久化
* 秘钥持久化
* 秘钥缓存到内存中
* 解决冲突
# This is the commit message #3:
修改filter继承AbstractConfigFilter (#6879)
# This is the commit message #6:
客户端、服务端加解密实现
* parent 8024ecf31bf23a9edab416be8a3bfd1c0e48ce5e
author 李晓双 Li Xiao Shuang <644968328@qq.com> 1630028256 +0800
committer lixiaoshuang <644968328@qq.com> 1631805204 +0800
parent 8024ecf31bf23a9edab416be8a3bfd1c0e48ce5e
author 李晓双 Li Xiao Shuang <644968328@qq.com> 1630028256 +0800
committer lixiaoshuang <644968328@qq.com> 1631804378 +0800
[ISSUE#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0, EncryptedDataKey is persisted (#6740)
* 配置加解密插件
* derby支持秘钥存储
* 克隆功能兼容配置加解密 (#6913)
* [ISSUE#5695] Summer2021 Import/export compatible with configuration encryption and decryption (#6956)
* 克隆功能兼容配置加解密
* 导入导出兼容配置加解密
* 秘钥base64编码、更换AES加密模式 (#6974)
* [ISSUE#5695] Summer2021 add unit test for ConfigCryptoFilter (#6991)
* add unit test for ConfigCryptoFilter
* add unit test for ConfigCryptoFilter
* [ISSUE#5695] Summer2021 add unit test for CryptoExecutor (#6990)
* add unit test for CryptoExecutor
* add Copyright
* [ISSUE#5695] Summer2021 add unit test for CryptoManager (#6989)
* add unit test for CryptoManager
* add unit test for CryptoManager
* [ISSUE#5695] Summer2021 add unit test for AesCrypto (#6988)
* add unit test for AesCrypto
* update AesCryptoTest
* Increased iv randomness
* add default Iv
* fix javadoc
* fix unit test
* defining plugin intergace
* Replace the client encryption and decryption actuator
* Replace the server encryption and decryption actuator
* add unit test
* add unit test
* remove old code
* fix NacosConfigServiceTest
* Encryption and decryption to achieve migration
Co-authored-by: 杨翊 SionYang <263976490@qq.com>
* [ISSUE#5696] Add auth plugin interface. (#6593)
* define plugin
* add User model
* add authContext
* add SPI
* add resource, modify request, reformat code
* copyright, Serverloader, IdentityContext
* add unit test
* modify ClassLoader, and delete GrantType
* delete redundancy code
* remove authservice default name
* Change to StringUtils
* Add auth client: plugin and implement (#6883)
* Revise Auth server plugin (#6890)
* [ISSUE # 5696] Replace original auth client (#6885)
* Replace auth client
* Replace auth client original implement
* Replace original auth client
* Revise client: combine function and modify name
* [ISSUE #5696] Add auth server implement (#6901)
* Add auth server implement.
* Modify auth server: class name
* Add MySQL DataBase (#6968)
* add derby database (#6996)
* [ISSUE#5696] Fix auth server type (#7004)
* Add MySQL DataBase
* Add Derby Database
* Replace Auth Server
* Revise: change to AuthSystemType
* [ISSUE#5696] repackage client (#7029)
* Rename and move classes make them more readable.
* Rename and move test classes.
* [ISSUE#5696] Add Ram client auth service impl. (#7036)
* Add Resource abstract.
* Add Ram client auth service impl.
* [ISSUE#5695] Replace the usage of Ram in naming and config module. (#7038)
* Change SecurityProxy usage
* Replace ram usage in naming module
* Replace ram usage in naming module
* Replace ram usage in config module
* Remove unused field and fix unit test.
* [ISSUE#5696] Move and repackage some ram class to ram package. (#7040)
* move client.identity package to auth.ram.identity.
* move SignUtil to ram.utils.
* Add shutdown for auth plugin.
* Move SpasAdapter to new package.
* For PMD.
* For PMD and copyright.
* Fix ram type plugin not login for config module.
* [ISSUE #7114] Enhance the constants for auth module. (#7170)
- Create a Constants.java
- Move all the string literal to the Constants.java
- Delete the PropertiesConstant.java
* [ISSUE#5696] revert nacos server plugin implementation moved operation (#7636)
* Revert "[ISSUE#5696] Fix auth server type (#7004)"
This reverts commit e3b7f0e7
* Revert "add derby database (#6996)"
This reverts commit fea9d727
* Revert "Add MySQL DataBase (#6968)"
This reverts commit 3c0508d2
* Revert "[ISSUE #5696] Add auth server implement (#6901)"
This reverts commit 76ac8434
* Move JwtAuthenticationTokenFilter to security package.
* refactor constants about auth.
* Solve conflicts.
* Add resource parser
* Do some refactor for IdentityContextBuilder
* Repackage some auth classes.
* For checkstyle
* Add SignType
* Add MockAuthPluginService for unit test.
* Add new ProtocolAuthService to replace AuthManager.
* Http request use new plugin.
* Http request use new plugin.
* Grpc request use new plugin.
* Remove AuthManager.java
* Add plugin and auth-plugin module, and move class into module.
* Move client spi to nacos-auth-plugin module
* Remove NamingResourceParser.java
* Remove ConfigResourceParser.java
* remove unused parseName in ResourceParser
* Use specified parser to parse resource when can't find parser by type.
* Repackage some class
* Move default auth impl from console to nacos-plugin-default-impl module.
* Move user controller to nacos-plugin-default-impl module.
* Move auth persistence to nacos-plugin-default-impl module.
* Move user to nacos-plugin-default-impl module.
* Move plugin config to nacos-auth-plugin-impl module.
* Remove unused constants
* Fix compile problem.
* For pmd.
* Fix unit test.
Co-authored-by: Wuyunfan-BUPT <30968107+Wuyunfan-BUPT@users.noreply.github.com>
Co-authored-by: onewe <admin@onew.me>
* [ISSUE #5092] add unit test for utils about group\log\MD5 in nacos-config
* [ISSUE #5092] format unit test for utils about group\log\MD5 in nacos-config
* [Reduce dependence]>[Lists] Replace "google.common.collect.*" API with jdk API
* use elements.size to init the array length
* Replace IllegalArgumentException with NullPointerException
* Refactor CollectionUtilsTest#list()
* Add exception message
* update annotation
* update unit test method name
* add unit test for EmbeddedUserPersistServiceImpl
* add unit test for EmbeddedUserPersistServiceImpl
* add unit test for EmbeddedUserPersistServiceImpl
* rename IPUitl to InternetAddressUtil
* move isDomain to InternetAddressUtil
* [ISSUE #5765] fix localhost not match ip
* fix typo
* delete the verification IP, follow the single responsibility principle
* [code quality] [nacos-config] [utils] the Chinese javadoc translate, return javadoc complete, the magic number fix, the code logic format
* [code quality] [nacos-config] [utils] fix space
* [code quality] [nacos-config] [service-1] add change the position of variable to match common code habits , return first, reduce the if/for nest, change the Chinese javadoc to English.
* [code quality] [nacos-config] [service-1] ci problem
* [code quality] [nacos-config] [service-1] ci problem
* [code quality] [nacos-config] [service-1] indent problem fix
* [code quality] [nacos-config] [service-1] indent problem
* [code quality] [nacos-config] [service-2] add change the position of variable to match common code habits , add the mission @Override, remove the unnesessary judgement.
* [code quality] [nacos-config] [service-2] indent problem fix