├── .gitattributes ├── .github ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── feature_request.md │ └── old-issue-template.md ├── PULL_REQUEST_TEMPLATE.md ├── stale.yml └── workflows │ ├── ci.yml │ └── it.yml ├── .gitignore ├── .travis.yml ├── BUILDING ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── REPORTING-BUGS.md ├── address ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── address │ │ │ ├── AddressServer.java │ │ │ ├── component │ │ │ ├── AddressServerGeneratorManager.java │ │ │ └── AddressServerManager.java │ │ │ ├── constant │ │ │ └── AddressServerConstants.java │ │ │ ├── controller │ │ │ ├── AddressServerClusterController.java │ │ │ └── ServerListController.java │ │ │ └── misc │ │ │ └── Loggers.java │ └── resources │ │ ├── META-INF │ │ ├── logback │ │ │ └── nacos-included.xml │ │ └── nacos-default.properties │ │ └── application.properties │ └── test │ └── java │ └── com │ └── alibaba │ └── nacos │ └── address │ ├── AddressServerControllerTests.java │ ├── SimpleHttpTestUtils.java │ └── component │ └── AddressServerManagerTests.java ├── api ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── api │ │ │ ├── NacosFactory.java │ │ │ ├── PropertyKeyConst.java │ │ │ ├── SystemPropertyKeyConst.java │ │ │ ├── ability │ │ │ ├── ClientAbilities.java │ │ │ ├── ServerAbilities.java │ │ │ └── initializer │ │ │ │ └── AbilityInitializer.java │ │ │ ├── annotation │ │ │ ├── NacosInjected.java │ │ │ └── NacosProperties.java │ │ │ ├── cmdb │ │ │ ├── pojo │ │ │ │ ├── Entity.java │ │ │ │ ├── EntityEvent.java │ │ │ │ ├── EntityEventType.java │ │ │ │ ├── Label.java │ │ │ │ └── PreservedEntityTypes.java │ │ │ └── spi │ │ │ │ └── CmdbService.java │ │ │ ├── common │ │ │ ├── Constants.java │ │ │ └── ResponseCode.java │ │ │ ├── config │ │ │ ├── ConfigChangeEvent.java │ │ │ ├── ConfigChangeItem.java │ │ │ ├── ConfigFactory.java │ │ │ ├── ConfigService.java │ │ │ ├── ConfigType.java │ │ │ ├── PropertyChangeType.java │ │ │ ├── ability │ │ │ │ ├── ClientConfigAbility.java │ │ │ │ └── ServerConfigAbility.java │ │ │ ├── annotation │ │ │ │ ├── NacosConfigListener.java │ │ │ │ ├── NacosConfigurationProperties.java │ │ │ │ ├── NacosIgnore.java │ │ │ │ ├── NacosProperty.java │ │ │ │ └── NacosValue.java │ │ │ ├── convert │ │ │ │ └── NacosConfigConverter.java │ │ │ ├── filter │ │ │ │ ├── AbstractConfigFilter.java │ │ │ │ ├── IConfigContext.java │ │ │ │ ├── IConfigFilter.java │ │ │ │ ├── IConfigFilterChain.java │ │ │ │ ├── IConfigRequest.java │ │ │ │ ├── IConfigResponse.java │ │ │ │ └── IFilterConfig.java │ │ │ ├── listener │ │ │ │ ├── AbstractListener.java │ │ │ │ ├── AbstractSharedListener.java │ │ │ │ ├── ConfigChangeParser.java │ │ │ │ └── Listener.java │ │ │ └── remote │ │ │ │ ├── request │ │ │ │ ├── AbstractConfigRequest.java │ │ │ │ ├── ClientConfigMetricRequest.java │ │ │ │ ├── ConfigBatchListenRequest.java │ │ │ │ ├── ConfigChangeNotifyRequest.java │ │ │ │ ├── ConfigPublishRequest.java │ │ │ │ ├── ConfigQueryRequest.java │ │ │ │ ├── ConfigRemoveRequest.java │ │ │ │ └── cluster │ │ │ │ │ └── ConfigChangeClusterSyncRequest.java │ │ │ │ └── response │ │ │ │ ├── ClientConfigMetricResponse.java │ │ │ │ ├── ConfigChangeBatchListenResponse.java │ │ │ │ ├── ConfigChangeNotifyResponse.java │ │ │ │ ├── ConfigPublishResponse.java │ │ │ │ ├── ConfigQueryResponse.java │ │ │ │ ├── ConfigRemoveResponse.java │ │ │ │ └── cluster │ │ │ │ └── ConfigChangeClusterSyncResponse.java │ │ │ ├── exception │ │ │ ├── NacosException.java │ │ │ └── runtime │ │ │ │ ├── NacosDeserializationException.java │ │ │ │ ├── NacosLoadException.java │ │ │ │ ├── NacosRuntimeException.java │ │ │ │ └── NacosSerializationException.java │ │ │ ├── grpc │ │ │ └── auto │ │ │ │ ├── BiRequestStreamGrpc.java │ │ │ │ ├── Metadata.java │ │ │ │ ├── MetadataOrBuilder.java │ │ │ │ ├── NacosGrpcService.java │ │ │ │ ├── Payload.java │ │ │ │ ├── PayloadOrBuilder.java │ │ │ │ └── RequestGrpc.java │ │ │ ├── naming │ │ │ ├── CommonParams.java │ │ │ ├── NamingFactory.java │ │ │ ├── NamingMaintainFactory.java │ │ │ ├── NamingMaintainService.java │ │ │ ├── NamingResponseCode.java │ │ │ ├── NamingService.java │ │ │ ├── PreservedMetadataKeys.java │ │ │ ├── ability │ │ │ │ ├── ClientNamingAbility.java │ │ │ │ └── ServerNamingAbility.java │ │ │ ├── listener │ │ │ │ ├── AbstractEventListener.java │ │ │ │ ├── Event.java │ │ │ │ ├── EventListener.java │ │ │ │ └── NamingEvent.java │ │ │ ├── pojo │ │ │ │ ├── Cluster.java │ │ │ │ ├── Instance.java │ │ │ │ ├── ListView.java │ │ │ │ ├── Service.java │ │ │ │ ├── ServiceInfo.java │ │ │ │ ├── builder │ │ │ │ │ └── InstanceBuilder.java │ │ │ │ └── healthcheck │ │ │ │ │ ├── AbstractHealthChecker.java │ │ │ │ │ ├── HealthCheckType.java │ │ │ │ │ ├── HealthCheckerFactory.java │ │ │ │ │ └── impl │ │ │ │ │ ├── Http.java │ │ │ │ │ ├── Mysql.java │ │ │ │ │ └── Tcp.java │ │ │ ├── remote │ │ │ │ ├── NamingRemoteConstants.java │ │ │ │ ├── request │ │ │ │ │ ├── AbstractNamingRequest.java │ │ │ │ │ ├── InstanceRequest.java │ │ │ │ │ ├── NotifySubscriberRequest.java │ │ │ │ │ ├── ServiceListRequest.java │ │ │ │ │ ├── ServiceQueryRequest.java │ │ │ │ │ └── SubscribeServiceRequest.java │ │ │ │ └── response │ │ │ │ │ ├── InstanceResponse.java │ │ │ │ │ ├── NotifySubscriberResponse.java │ │ │ │ │ ├── QueryServiceResponse.java │ │ │ │ │ ├── ServiceListResponse.java │ │ │ │ │ └── SubscribeServiceResponse.java │ │ │ ├── spi │ │ │ │ └── generator │ │ │ │ │ └── IdGenerator.java │ │ │ └── utils │ │ │ │ └── NamingUtils.java │ │ │ ├── remote │ │ │ ├── AbstractPushCallBack.java │ │ │ ├── AbstractRequestCallBack.java │ │ │ ├── DefaultRequestFuture.java │ │ │ ├── Payload.java │ │ │ ├── PushCallBack.java │ │ │ ├── RemoteConstants.java │ │ │ ├── RequestCallBack.java │ │ │ ├── RequestFuture.java │ │ │ ├── Requester.java │ │ │ ├── RpcScheduledExecutor.java │ │ │ ├── ability │ │ │ │ ├── ClientRemoteAbility.java │ │ │ │ └── ServerRemoteAbility.java │ │ │ ├── request │ │ │ │ ├── ClientDetectionRequest.java │ │ │ │ ├── ConnectResetRequest.java │ │ │ │ ├── ConnectionSetupRequest.java │ │ │ │ ├── HealthCheckRequest.java │ │ │ │ ├── InternalRequest.java │ │ │ │ ├── PushAckRequest.java │ │ │ │ ├── Request.java │ │ │ │ ├── RequestMeta.java │ │ │ │ ├── ServerCheckRequest.java │ │ │ │ ├── ServerLoaderInfoRequest.java │ │ │ │ ├── ServerReloadRequest.java │ │ │ │ └── ServerRequest.java │ │ │ └── response │ │ │ │ ├── ClientDetectionResponse.java │ │ │ │ ├── ConnectResetResponse.java │ │ │ │ ├── ErrorResponse.java │ │ │ │ ├── HealthCheckResponse.java │ │ │ │ ├── Response.java │ │ │ │ ├── ResponseCode.java │ │ │ │ ├── ServerCheckResponse.java │ │ │ │ ├── ServerLoaderInfoResponse.java │ │ │ │ └── ServerReloadResponse.java │ │ │ ├── selector │ │ │ ├── AbstractCmdbSelector.java │ │ │ ├── AbstractSelector.java │ │ │ ├── ExpressionSelector.java │ │ │ ├── NoneSelector.java │ │ │ ├── Selector.java │ │ │ ├── SelectorType.java │ │ │ └── context │ │ │ │ ├── CmdbContext.java │ │ │ │ └── SelectorContextBuilder.java │ │ │ └── utils │ │ │ ├── NetUtils.java │ │ │ └── StringUtils.java │ └── proto │ │ └── nacos_grpc_service.proto │ └── test │ └── java │ └── com │ └── alibaba │ └── nacos │ └── api │ ├── annotation │ └── NacosPropertiesTest.java │ ├── naming │ ├── ability │ │ └── ServerNamingAbilityTest.java │ ├── pojo │ │ ├── InstanceTest.java │ │ ├── ServiceInfoTest.java │ │ ├── builder │ │ │ └── InstanceBuilderTest.java │ │ └── healthcheck │ │ │ ├── AbstractHealthCheckerTest.java │ │ │ ├── HealthCheckerFactoryTest.java │ │ │ ├── TestChecker.java │ │ │ └── impl │ │ │ ├── HttpTest.java │ │ │ └── MysqlTest.java │ └── utils │ │ └── NamingUtilsTest.java │ └── utils │ └── NetUtilsTest.java ├── auth ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── auth │ │ ├── AbstractProtocolAuthService.java │ │ ├── GrpcProtocolAuthService.java │ │ ├── HttpProtocolAuthService.java │ │ ├── ProtocolAuthService.java │ │ ├── annotation │ │ └── Secured.java │ │ ├── config │ │ └── AuthConfigs.java │ │ ├── context │ │ ├── GrpcIdentityContextBuilder.java │ │ ├── HttpIdentityContextBuilder.java │ │ └── IdentityContextBuilder.java │ │ ├── parser │ │ ├── AbstractResourceParser.java │ │ ├── DefaultResourceParser.java │ │ ├── ResourceParser.java │ │ ├── grpc │ │ │ ├── AbstractGrpcResourceParser.java │ │ │ ├── ConfigGrpcResourceParser.java │ │ │ └── NamingGrpcResourceParser.java │ │ └── http │ │ │ ├── AbstractHttpResourceParser.java │ │ │ ├── ConfigHttpResourceParser.java │ │ │ └── NamingHttpResourceParser.java │ │ └── util │ │ ├── AuthHeaderUtil.java │ │ └── Loggers.java │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── auth │ │ ├── GrpcProtocolAuthServiceTest.java │ │ ├── HttpProtocolAuthServiceTest.java │ │ ├── config │ │ └── AuthConfigsTest.java │ │ ├── context │ │ ├── GrpcIdentityContextBuilderTest.java │ │ └── HtppIdentityContextBuilderTest.java │ │ ├── mock │ │ └── MockAuthPluginService.java │ │ └── parser │ │ ├── grpc │ │ ├── ConfigGrpcResourceParserTest.java │ │ └── NamingGrpcResourceParserTest.java │ │ └── http │ │ ├── ConfigHttpResourceParserTest.java │ │ └── NamingHttpResourceParserTest.java │ └── resources │ └── META-INF │ └── services │ └── com.alibaba.nacos.plugin.auth.spi.server.AuthPluginService ├── client ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── client │ │ │ ├── auth │ │ │ ├── impl │ │ │ │ ├── NacosAuthLoginConstant.java │ │ │ │ ├── NacosClientAuthServiceImpl.java │ │ │ │ └── process │ │ │ │ │ ├── HttpLoginProcessor.java │ │ │ │ │ └── LoginProcessor.java │ │ │ └── ram │ │ │ │ ├── RamClientAuthServiceImpl.java │ │ │ │ ├── RamContext.java │ │ │ │ ├── identify │ │ │ │ ├── CredentialListener.java │ │ │ │ ├── CredentialService.java │ │ │ │ ├── CredentialWatcher.java │ │ │ │ ├── Credentials.java │ │ │ │ ├── IdentifyConstants.java │ │ │ │ ├── SpasCredential.java │ │ │ │ ├── SpasCredentialLoader.java │ │ │ │ ├── StsConfig.java │ │ │ │ └── StsCredential.java │ │ │ │ ├── injector │ │ │ │ ├── AbstractResourceInjector.java │ │ │ │ ├── ConfigResourceInjector.java │ │ │ │ └── NamingResourceInjector.java │ │ │ │ └── utils │ │ │ │ ├── SignUtil.java │ │ │ │ └── SpasAdapter.java │ │ │ ├── config │ │ │ ├── NacosConfigService.java │ │ │ ├── common │ │ │ │ ├── ConfigConstants.java │ │ │ │ └── GroupKey.java │ │ │ ├── filter │ │ │ │ └── impl │ │ │ │ │ ├── ConfigContext.java │ │ │ │ │ ├── ConfigEncryptionFilter.java │ │ │ │ │ ├── ConfigFilterChainManager.java │ │ │ │ │ ├── ConfigRequest.java │ │ │ │ │ └── ConfigResponse.java │ │ │ ├── http │ │ │ │ ├── HttpAgent.java │ │ │ │ ├── MetricsHttpAgent.java │ │ │ │ └── ServerHttpAgent.java │ │ │ ├── impl │ │ │ │ ├── AbstractConfigChangeParser.java │ │ │ │ ├── CacheData.java │ │ │ │ ├── ClientWorker.java │ │ │ │ ├── ConfigChangeHandler.java │ │ │ │ ├── ConfigHttpClientManager.java │ │ │ │ ├── ConfigTransportClient.java │ │ │ │ ├── Limiter.java │ │ │ │ ├── LocalConfigInfoProcessor.java │ │ │ │ ├── LocalEncryptedDataKeyProcessor.java │ │ │ │ ├── PropertiesChangeParser.java │ │ │ │ ├── ServerListManager.java │ │ │ │ ├── ServerlistChangeEvent.java │ │ │ │ └── YmlChangeParser.java │ │ │ ├── listener │ │ │ │ └── impl │ │ │ │ │ ├── AbstractConfigChangeListener.java │ │ │ │ │ └── PropertiesListener.java │ │ │ └── utils │ │ │ │ ├── ConcurrentDiskUtil.java │ │ │ │ ├── ContentUtils.java │ │ │ │ ├── JvmUtil.java │ │ │ │ ├── ParamUtils.java │ │ │ │ └── SnapShotSwitch.java │ │ │ ├── constant │ │ │ └── Constants.java │ │ │ ├── logging │ │ │ ├── AbstractNacosLogging.java │ │ │ ├── NacosLogging.java │ │ │ ├── log4j2 │ │ │ │ └── Log4J2NacosLogging.java │ │ │ └── logback │ │ │ │ ├── LogbackNacosLogging.java │ │ │ │ └── NacosJoranConfigurator.java │ │ │ ├── monitor │ │ │ └── MetricsMonitor.java │ │ │ ├── naming │ │ │ ├── NacosNamingMaintainService.java │ │ │ ├── NacosNamingService.java │ │ │ ├── backups │ │ │ │ └── FailoverReactor.java │ │ │ ├── beat │ │ │ │ ├── BeatInfo.java │ │ │ │ └── BeatReactor.java │ │ │ ├── cache │ │ │ │ ├── ConcurrentDiskUtil.java │ │ │ │ ├── DiskCache.java │ │ │ │ └── ServiceInfoHolder.java │ │ │ ├── core │ │ │ │ ├── Balancer.java │ │ │ │ ├── ProtectMode.java │ │ │ │ ├── PushReceiver.java │ │ │ │ ├── ServerListManager.java │ │ │ │ └── ServiceInfoUpdateService.java │ │ │ ├── event │ │ │ │ ├── InstancesChangeEvent.java │ │ │ │ ├── InstancesChangeNotifier.java │ │ │ │ └── ServerListChangedEvent.java │ │ │ ├── remote │ │ │ │ ├── AbstractNamingClientProxy.java │ │ │ │ ├── NamingClientProxy.java │ │ │ │ ├── NamingClientProxyDelegate.java │ │ │ │ ├── gprc │ │ │ │ │ ├── NamingGrpcClientProxy.java │ │ │ │ │ ├── NamingPushRequestHandler.java │ │ │ │ │ └── redo │ │ │ │ │ │ ├── NamingGrpcRedoService.java │ │ │ │ │ │ ├── RedoScheduledTask.java │ │ │ │ │ │ └── data │ │ │ │ │ │ ├── InstanceRedoData.java │ │ │ │ │ │ ├── RedoData.java │ │ │ │ │ │ └── SubscriberRedoData.java │ │ │ │ └── http │ │ │ │ │ ├── NamingHttpClientManager.java │ │ │ │ │ └── NamingHttpClientProxy.java │ │ │ └── utils │ │ │ │ ├── Chooser.java │ │ │ │ ├── CollectionUtils.java │ │ │ │ ├── GenericPoller.java │ │ │ │ ├── InitUtils.java │ │ │ │ ├── NamingHttpUtil.java │ │ │ │ ├── Pair.java │ │ │ │ ├── Poller.java │ │ │ │ └── UtilAndComs.java │ │ │ ├── remote │ │ │ └── ClientPayloadPackageProvider.java │ │ │ ├── security │ │ │ └── SecurityProxy.java │ │ │ └── utils │ │ │ ├── AppNameUtils.java │ │ │ ├── ContextPathUtil.java │ │ │ ├── EnvUtil.java │ │ │ ├── LogUtils.java │ │ │ ├── ParamUtil.java │ │ │ ├── TemplateUtils.java │ │ │ ├── TenantUtil.java │ │ │ └── ValidatorUtils.java │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ ├── com.alibaba.nacos.api.config.filter.IConfigFilter │ │ │ ├── com.alibaba.nacos.common.remote.PayloadPackageProvider │ │ │ └── com.alibaba.nacos.plugin.auth.spi.client.AbstractClientAuthService │ │ ├── nacos-log4j2.xml │ │ └── nacos-logback.xml │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── client │ │ ├── AppTest.java │ │ ├── NamingTest.java │ │ ├── auth │ │ ├── impl │ │ │ └── NacosClientAuthServiceImplTest.java │ │ └── ram │ │ │ ├── RamClientAuthServiceImplTest.java │ │ │ ├── identify │ │ │ ├── CredentialServiceTest.java │ │ │ ├── CredentialWatcherTest.java │ │ │ ├── CredentialsTest.java │ │ │ └── StsConfigTest.java │ │ │ ├── injector │ │ │ ├── ConfigResourceInjectorTest.java │ │ │ └── NamingResourceInjectorTest.java │ │ │ └── utils │ │ │ ├── SignUtilTest.java │ │ │ └── SpasAdapterTest.java │ │ ├── config │ │ ├── NacosConfigServiceTest.java │ │ ├── common │ │ │ └── GroupKeyTest.java │ │ ├── filter │ │ │ └── impl │ │ │ │ ├── ConfigContextTest.java │ │ │ │ ├── ConfigEncryptionFilterTest.java │ │ │ │ ├── ConfigFilterChainManagerTest.java │ │ │ │ ├── ConfigFilterChainTest.java │ │ │ │ ├── ConfigRequestTest.java │ │ │ │ ├── ConfigResponseTest.java │ │ │ │ ├── DemoFilter1.java │ │ │ │ └── DemoFilter2.java │ │ ├── http │ │ │ ├── MetricsHttpAgentTest.java │ │ │ └── ServerHttpAgentTest.java │ │ ├── impl │ │ │ ├── CacheDataTest.java │ │ │ ├── ClientWorkerTest.java │ │ │ ├── ConfigChangeHandlerTest.java │ │ │ ├── ConfigHttpClientManagerTest.java │ │ │ ├── LimiterTest.java │ │ │ ├── PropertiesChangeParserTest.java │ │ │ ├── ServerListManagerTest.java │ │ │ └── YmlChangeParserTest.java │ │ ├── listener │ │ │ └── impl │ │ │ │ ├── AbstractConfigChangeListenerTest.java │ │ │ │ └── PropertiesListenerTest.java │ │ └── utils │ │ │ ├── ConcurrentDiskUtilTest.java │ │ │ ├── ContentUtilsTest.java │ │ │ ├── JvmUtilTest.java │ │ │ ├── ParamUtilsTest.java │ │ │ └── SnapShotSwitchTest.java │ │ ├── logging │ │ ├── AbstractNacosLoggingTest.java │ │ ├── NacosLoggingTest.java │ │ ├── log4j2 │ │ │ └── Log4J2NacosLoggingTest.java │ │ └── logback │ │ │ └── LogbackNacosLoggingTest.java │ │ ├── naming │ │ ├── NacosNamingMaintainServiceTest.java │ │ ├── NacosNamingServiceTest.java │ │ ├── backups │ │ │ └── FailoverReactorTest.java │ │ ├── beat │ │ │ ├── BeatInfoTest.java │ │ │ └── BeatReactorTest.java │ │ ├── cache │ │ │ ├── ConcurrentDiskUtilTest.java │ │ │ ├── DiskCacheTest.java │ │ │ └── ServiceInfoHolderTest.java │ │ ├── core │ │ │ ├── BalancerTest.java │ │ │ ├── ProtectModeTest.java │ │ │ ├── PushReceiverTest.java │ │ │ ├── ServerListManagerTest.java │ │ │ └── ServiceInfoUpdateServiceTest.java │ │ ├── event │ │ │ ├── InstancesChangeEventTest.java │ │ │ └── InstancesChangeNotifierTest.java │ │ ├── remote │ │ │ ├── AbstractNamingClientProxyTest.java │ │ │ ├── NamingClientProxyDelegateTest.java │ │ │ ├── gprc │ │ │ │ ├── NamingGrpcClientProxyTest.java │ │ │ │ ├── NamingPushRequestHandlerTest.java │ │ │ │ └── redo │ │ │ │ │ ├── NamingGrpcRedoServiceTest.java │ │ │ │ │ └── RedoScheduledTaskTest.java │ │ │ └── http │ │ │ │ ├── NamingHttpClientManagerTest.java │ │ │ │ └── NamingHttpClientProxyTest.java │ │ └── utils │ │ │ ├── CollectionUtilsTest.java │ │ │ ├── GenericPollerTest.java │ │ │ ├── InitUtilsTest.java │ │ │ ├── NamingHttpUtilTest.java │ │ │ └── PairTest.java │ │ ├── security │ │ └── SecurityProxyTest.java │ │ └── utils │ │ ├── AppNameUtilsTest.java │ │ ├── ContextPathUtilTest.java │ │ ├── EnvUtilTest.java │ │ ├── LogUtilsTest.java │ │ ├── ParamUtilTest.java │ │ ├── StringUtilsTest.java │ │ ├── TemplateUtilsTest.java │ │ ├── TenantUtilTest.java │ │ └── ValidatorUtilsTest.java │ └── resources │ └── META-INF │ └── services │ └── com.alibaba.nacos.common.remote.PayloadPackageProvider ├── cmdb ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── cmdb │ │ ├── CmdbApp.java │ │ ├── controllers │ │ └── OperationController.java │ │ ├── core │ │ └── SwitchAndOptions.java │ │ ├── memory │ │ └── CmdbProvider.java │ │ ├── service │ │ ├── CmdbReader.java │ │ └── CmdbWriter.java │ │ └── utils │ │ ├── CmdbExecutor.java │ │ ├── Loggers.java │ │ └── UtilsAndCommons.java │ └── resources │ └── application.properties ├── codecov.yml ├── common ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── common │ │ │ ├── Beta.java │ │ │ ├── JustForTest.java │ │ │ ├── NotThreadSafe.java │ │ │ ├── cache │ │ │ ├── Cache.java │ │ │ ├── builder │ │ │ │ ├── CacheBuilder.java │ │ │ │ └── CacheItemProperties.java │ │ │ ├── decorators │ │ │ │ ├── AutoExpireCache.java │ │ │ │ ├── LruCache.java │ │ │ │ └── SynchronizedCache.java │ │ │ └── impl │ │ │ │ └── SimpleCache.java │ │ │ ├── codec │ │ │ └── Base64.java │ │ │ ├── constant │ │ │ ├── HttpHeaderConsts.java │ │ │ ├── RequestUrlConstants.java │ │ │ └── ResponseHandlerType.java │ │ │ ├── event │ │ │ └── ServerConfigChangeEvent.java │ │ │ ├── executor │ │ │ ├── ExecutorFactory.java │ │ │ ├── NameThreadFactory.java │ │ │ └── ThreadPoolManager.java │ │ │ ├── http │ │ │ ├── AbstractApacheHttpClientFactory.java │ │ │ ├── AbstractHttpClientFactory.java │ │ │ ├── BaseHttpMethod.java │ │ │ ├── Callback.java │ │ │ ├── DefaultHttpClientFactory.java │ │ │ ├── HttpClientBeanHolder.java │ │ │ ├── HttpClientConfig.java │ │ │ ├── HttpClientFactory.java │ │ │ ├── HttpRestResult.java │ │ │ ├── HttpUtils.java │ │ │ ├── client │ │ │ │ ├── AbstractNacosRestTemplate.java │ │ │ │ ├── HttpClientRequestInterceptor.java │ │ │ │ ├── InterceptingHttpClientRequest.java │ │ │ │ ├── NacosAsyncRestTemplate.java │ │ │ │ ├── NacosRestTemplate.java │ │ │ │ ├── handler │ │ │ │ │ ├── AbstractResponseHandler.java │ │ │ │ │ ├── BeanResponseHandler.java │ │ │ │ │ ├── ResponseHandler.java │ │ │ │ │ ├── RestResultResponseHandler.java │ │ │ │ │ └── StringResponseHandler.java │ │ │ │ ├── request │ │ │ │ │ ├── AsyncHttpClientRequest.java │ │ │ │ │ ├── DefaultAsyncHttpClientRequest.java │ │ │ │ │ ├── DefaultHttpClientRequest.java │ │ │ │ │ ├── HttpClientRequest.java │ │ │ │ │ └── JdkHttpClientRequest.java │ │ │ │ └── response │ │ │ │ │ ├── DefaultClientHttpResponse.java │ │ │ │ │ ├── HttpClientResponse.java │ │ │ │ │ └── JdkHttpClientResponse.java │ │ │ ├── handler │ │ │ │ ├── RequestHandler.java │ │ │ │ └── ResponseHandler.java │ │ │ └── param │ │ │ │ ├── Header.java │ │ │ │ ├── MediaType.java │ │ │ │ └── Query.java │ │ │ ├── lifecycle │ │ │ └── Closeable.java │ │ │ ├── model │ │ │ ├── RequestHttpEntity.java │ │ │ ├── RestResult.java │ │ │ ├── RestResultUtils.java │ │ │ └── core │ │ │ │ └── IResultCode.java │ │ │ ├── notify │ │ │ ├── DefaultPublisher.java │ │ │ ├── DefaultSharePublisher.java │ │ │ ├── Event.java │ │ │ ├── EventPublisher.java │ │ │ ├── EventPublisherFactory.java │ │ │ ├── NotifyCenter.java │ │ │ ├── ShardedEventPublisher.java │ │ │ ├── SlowEvent.java │ │ │ └── listener │ │ │ │ ├── SmartSubscriber.java │ │ │ │ └── Subscriber.java │ │ │ ├── package-info.java │ │ │ ├── packagescan │ │ │ ├── DefaultPackageScan.java │ │ │ ├── PackageScan.java │ │ │ ├── classreading │ │ │ │ ├── ClassReader.java │ │ │ │ └── Symbol.java │ │ │ ├── resource │ │ │ │ ├── AbstractFileResolvingResource.java │ │ │ │ ├── AbstractResource.java │ │ │ │ ├── AntPathMatcher.java │ │ │ │ ├── ByteArrayResource.java │ │ │ │ ├── ClassPathResource.java │ │ │ │ ├── ContextResource.java │ │ │ │ ├── DefaultResourceLoader.java │ │ │ │ ├── FileSystemResource.java │ │ │ │ ├── FileUrlResource.java │ │ │ │ ├── InputStreamResource.java │ │ │ │ ├── InputStreamSource.java │ │ │ │ ├── PathMatchingResourcePatternResolver.java │ │ │ │ ├── PathResource.java │ │ │ │ ├── ProtocolResolver.java │ │ │ │ ├── Resource.java │ │ │ │ ├── ResourceLoader.java │ │ │ │ ├── ResourcePatternResolver.java │ │ │ │ ├── UrlResource.java │ │ │ │ ├── VfsPatternUtils.java │ │ │ │ ├── VfsResource.java │ │ │ │ ├── VfsUtils.java │ │ │ │ └── WritableResource.java │ │ │ └── util │ │ │ │ ├── NestedExceptionUtils.java │ │ │ │ ├── NestedIoException.java │ │ │ │ ├── PathMatcher.java │ │ │ │ └── ResourceUtils.java │ │ │ ├── remote │ │ │ ├── ConnectionType.java │ │ │ ├── PayloadPackageProvider.java │ │ │ ├── PayloadRegistry.java │ │ │ ├── client │ │ │ │ ├── Connection.java │ │ │ │ ├── ConnectionEventListener.java │ │ │ │ ├── RpcClient.java │ │ │ │ ├── RpcClientFactory.java │ │ │ │ ├── RpcClientStatus.java │ │ │ │ ├── ServerListFactory.java │ │ │ │ ├── ServerRequestHandler.java │ │ │ │ └── grpc │ │ │ │ │ ├── GrpcClient.java │ │ │ │ │ ├── GrpcClusterClient.java │ │ │ │ │ ├── GrpcConnection.java │ │ │ │ │ ├── GrpcSdkClient.java │ │ │ │ │ └── GrpcUtils.java │ │ │ └── exception │ │ │ │ ├── ConnectionAlreadyClosedException.java │ │ │ │ ├── ConnectionBusyException.java │ │ │ │ └── RemoteException.java │ │ │ ├── spi │ │ │ ├── NacosServiceLoader.java │ │ │ └── ServiceLoaderException.java │ │ │ ├── task │ │ │ ├── AbstractDelayTask.java │ │ │ ├── AbstractExecuteTask.java │ │ │ ├── NacosTask.java │ │ │ ├── NacosTaskProcessor.java │ │ │ └── engine │ │ │ │ ├── AbstractNacosTaskExecuteEngine.java │ │ │ │ ├── NacosDelayTaskExecuteEngine.java │ │ │ │ ├── NacosExecuteTaskExecuteEngine.java │ │ │ │ ├── NacosTaskExecuteEngine.java │ │ │ │ └── TaskExecuteWorker.java │ │ │ ├── tls │ │ │ ├── SelfHostnameVerifier.java │ │ │ ├── SelfTrustManager.java │ │ │ ├── TlsFileWatcher.java │ │ │ ├── TlsHelper.java │ │ │ └── TlsSystemConfig.java │ │ │ └── utils │ │ │ ├── AbstractAssert.java │ │ │ ├── AbstractObjectUtils.java │ │ │ ├── ArrayUtils.java │ │ │ ├── ByteUtils.java │ │ │ ├── ClassUtils.java │ │ │ ├── CollectionUtils.java │ │ │ ├── ConcurrentHashSet.java │ │ │ ├── ConvertUtils.java │ │ │ ├── DateFormatUtils.java │ │ │ ├── ExceptionUtil.java │ │ │ ├── HttpMethod.java │ │ │ ├── InetAddressValidator.java │ │ │ ├── InternetAddressUtil.java │ │ │ ├── IoUtils.java │ │ │ ├── JacksonUtils.java │ │ │ ├── LoggerUtils.java │ │ │ ├── MD5Utils.java │ │ │ ├── MapUtil.java │ │ │ ├── NamespaceUtil.java │ │ │ ├── NumberUtils.java │ │ │ ├── Observable.java │ │ │ ├── Observer.java │ │ │ ├── Pair.java │ │ │ ├── Preconditions.java │ │ │ ├── PropertyUtils.java │ │ │ ├── RandomUtils.java │ │ │ ├── ReflectUtils.java │ │ │ ├── ResourceUtils.java │ │ │ ├── StringUtils.java │ │ │ ├── ThreadFactoryBuilder.java │ │ │ ├── ThreadUtils.java │ │ │ ├── TypeUtils.java │ │ │ ├── UuidUtils.java │ │ │ └── VersionUtils.java │ └── resources │ │ └── nacos-version.txt │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── common │ │ ├── AppTest.java │ │ ├── cache │ │ ├── builder │ │ │ └── CacheBuilderTest.java │ │ ├── decorators │ │ │ ├── AutoExpireCacheTest.java │ │ │ ├── LruCacheTest.java │ │ │ └── SynchronizedCacheTest.java │ │ └── impl │ │ │ └── SimpleCacheTest.java │ │ ├── codec │ │ └── Base64Test.java │ │ ├── event │ │ └── ServerConfigChangeEventTest.java │ │ ├── executor │ │ ├── ExecutorFactoryTest.java │ │ ├── NameThreadFactoryTest.java │ │ └── ThreadPoolManagerTest.java │ │ ├── http │ │ ├── HttpUtilsTest.java │ │ ├── handler │ │ │ └── ResponseHandlerTest.java │ │ └── param │ │ │ ├── HeaderTest.java │ │ │ ├── MediaTypeTest.java │ │ │ └── QueryTest.java │ │ ├── notify │ │ └── NotifyCenterTest.java │ │ ├── packagescan │ │ └── PackageScanTest.java │ │ ├── remote │ │ ├── MockPayloadPackageProvider.java │ │ ├── PayloadRegistryTest.java │ │ └── client │ │ │ ├── RpcClientFactoryTest.java │ │ │ ├── RpcClientTest.java │ │ │ └── grpc │ │ │ └── GrpcClientTest.java │ │ ├── spi │ │ ├── NacosServiceLoaderTest.java │ │ ├── SpiTestImpl.java │ │ └── SpiTestInterface.java │ │ ├── task │ │ └── engine │ │ │ ├── NacosDelayTaskExecuteEngineTest.java │ │ │ └── NacosExecuteTaskExecuteEngineTest.java │ │ ├── tls │ │ ├── SelfHostnameVerifierTest.java │ │ └── TlsFileWatcherTest.java │ │ └── utils │ │ ├── ArrayUtilsTest.java │ │ ├── ClassUtilsTest.java │ │ ├── CollectionUtilsTest.java │ │ ├── ConvertUtilsTest.java │ │ ├── DateFormatUtilsTest.java │ │ ├── InternetAddressUtilTest.java │ │ ├── IoUtilsTest.java │ │ ├── JacksonUtilsTest.java │ │ ├── MD5UtilsTest.java │ │ ├── MapUtilTest.java │ │ ├── NamespaceUtilTest.java │ │ ├── NumberUtilsTest.java │ │ ├── PreconditionsTest.java │ │ ├── RandomUtilsTest.java │ │ ├── StringUtilsTest.java │ │ ├── ThreadFactoryBuilderTest.java │ │ ├── TypeUtilsTest.java │ │ └── VersionUtilsTest.java │ └── resources │ └── META-INF │ └── services │ ├── com.alibaba.nacos.common.remote.PayloadPackageProvider │ └── com.alibaba.nacos.common.spi.SpiTestInterface ├── config ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── config │ │ │ └── server │ │ │ ├── Config.java │ │ │ ├── aspect │ │ │ ├── CapacityManagementAspect.java │ │ │ └── RequestLogAspect.java │ │ │ ├── configuration │ │ │ ├── ConditionDistributedEmbedStorage.java │ │ │ ├── ConditionOnEmbeddedStorage.java │ │ │ ├── ConditionOnExternalStorage.java │ │ │ ├── ConditionStandaloneEmbedStorage.java │ │ │ └── NacosConfigConfiguration.java │ │ │ ├── constant │ │ │ ├── Constants.java │ │ │ ├── CounterMode.java │ │ │ └── PropertiesConstant.java │ │ │ ├── controller │ │ │ ├── CapacityController.java │ │ │ ├── ClientMetricsController.java │ │ │ ├── CommunicationController.java │ │ │ ├── ConfigController.java │ │ │ ├── ConfigOpsController.java │ │ │ ├── ConfigServletInner.java │ │ │ ├── HealthController.java │ │ │ ├── HistoryController.java │ │ │ ├── ListenerController.java │ │ │ └── parameters │ │ │ │ └── SameNamespaceCloneConfigBean.java │ │ │ ├── enums │ │ │ └── FileTypeEnum.java │ │ │ ├── exception │ │ │ ├── GlobalExceptionHandler.java │ │ │ ├── NJdbcException.java │ │ │ └── NacosConfigException.java │ │ │ ├── filter │ │ │ ├── CurcuitFilter.java │ │ │ └── NacosWebFilter.java │ │ │ ├── manager │ │ │ ├── TaskManager.java │ │ │ └── TaskManagerMBean.java │ │ │ ├── model │ │ │ ├── AclInfo.java │ │ │ ├── AuthType.java │ │ │ ├── CacheItem.java │ │ │ ├── ConfigAdvanceInfo.java │ │ │ ├── ConfigAllInfo.java │ │ │ ├── ConfigHistoryInfo.java │ │ │ ├── ConfigInfo.java │ │ │ ├── ConfigInfo4Beta.java │ │ │ ├── ConfigInfo4Tag.java │ │ │ ├── ConfigInfoAggr.java │ │ │ ├── ConfigInfoBase.java │ │ │ ├── ConfigInfoBaseEx.java │ │ │ ├── ConfigInfoBetaWrapper.java │ │ │ ├── ConfigInfoChanged.java │ │ │ ├── ConfigInfoEx.java │ │ │ ├── ConfigInfoTagWrapper.java │ │ │ ├── ConfigInfoWrapper.java │ │ │ ├── ConfigKey.java │ │ │ ├── ConfigMetadata.java │ │ │ ├── GroupInfo.java │ │ │ ├── GroupkeyListenserStatus.java │ │ │ ├── HistoryContext.java │ │ │ ├── Page.java │ │ │ ├── RestPageResult.java │ │ │ ├── SameConfigPolicy.java │ │ │ ├── SampleResult.java │ │ │ ├── SubInfo.java │ │ │ ├── SubscriberStatus.java │ │ │ ├── TenantInfo.java │ │ │ ├── app │ │ │ │ ├── ApplicationInfo.java │ │ │ │ ├── ApplicationPublishRecord.java │ │ │ │ ├── GroupKey.java │ │ │ │ └── MonitorInfo.java │ │ │ ├── capacity │ │ │ │ ├── Capacity.java │ │ │ │ ├── GroupCapacity.java │ │ │ │ └── TenantCapacity.java │ │ │ └── event │ │ │ │ ├── ConfigDataChangeEvent.java │ │ │ │ ├── ConfigDumpEvent.java │ │ │ │ ├── DerbyImportEvent.java │ │ │ │ ├── DerbyLoadEvent.java │ │ │ │ ├── LocalDataChangeEvent.java │ │ │ │ ├── RaftDbErrorEvent.java │ │ │ │ └── RaftDbErrorRecoverEvent.java │ │ │ ├── monitor │ │ │ ├── MemoryMonitor.java │ │ │ ├── MetricsMonitor.java │ │ │ ├── PrintGetConfigResponeTask.java │ │ │ ├── PrintMemoryTask.java │ │ │ ├── ResponseMonitor.java │ │ │ └── ThreadTaskQueueMonitorTask.java │ │ │ ├── remote │ │ │ ├── ConfigChangeBatchListenRequestHandler.java │ │ │ ├── ConfigChangeClusterSyncRequestHandler.java │ │ │ ├── ConfigChangeListenContext.java │ │ │ ├── ConfigClusterRpcClientProxy.java │ │ │ ├── ConfigConnectionEventListener.java │ │ │ ├── ConfigPayloadPackageProvider.java │ │ │ ├── ConfigPublishGroupKeyParser.java │ │ │ ├── ConfigPublishGroupParser.java │ │ │ ├── ConfigPublishRequestHandler.java │ │ │ ├── ConfigQueryGroupKeyParser.java │ │ │ ├── ConfigQueryGroupParser.java │ │ │ ├── ConfigQueryRequestHandler.java │ │ │ ├── ConfigRemoveRequestHandler.java │ │ │ ├── InternalConfigChangeNotifier.java │ │ │ └── RpcConfigChangeNotifier.java │ │ │ ├── result │ │ │ └── code │ │ │ │ └── ResultCodeEnum.java │ │ │ ├── service │ │ │ ├── AggrWhitelist.java │ │ │ ├── ClientIpWhiteList.java │ │ │ ├── ClientRecord.java │ │ │ ├── ClientTrackService.java │ │ │ ├── ConfigCacheService.java │ │ │ ├── ConfigChangePublisher.java │ │ │ ├── ConfigSubService.java │ │ │ ├── LongPollingService.java │ │ │ ├── SwitchService.java │ │ │ ├── capacity │ │ │ │ ├── CapacityService.java │ │ │ │ ├── GroupCapacityPersistService.java │ │ │ │ └── TenantCapacityPersistService.java │ │ │ ├── datasource │ │ │ │ ├── DataSourcePoolProperties.java │ │ │ │ ├── DataSourceService.java │ │ │ │ ├── DynamicDataSource.java │ │ │ │ ├── ExternalDataSourceProperties.java │ │ │ │ ├── ExternalDataSourceServiceImpl.java │ │ │ │ └── LocalDataSourceServiceImpl.java │ │ │ ├── dump │ │ │ │ ├── DumpConfigHandler.java │ │ │ │ ├── DumpService.java │ │ │ │ ├── EmbeddedDumpService.java │ │ │ │ ├── ExternalDumpService.java │ │ │ │ ├── processor │ │ │ │ │ ├── DumpAllBetaProcessor.java │ │ │ │ │ ├── DumpAllProcessor.java │ │ │ │ │ ├── DumpAllTagProcessor.java │ │ │ │ │ ├── DumpChangeProcessor.java │ │ │ │ │ └── DumpProcessor.java │ │ │ │ └── task │ │ │ │ │ ├── DumpAllBetaTask.java │ │ │ │ │ ├── DumpAllTagTask.java │ │ │ │ │ ├── DumpAllTask.java │ │ │ │ │ ├── DumpChangeTask.java │ │ │ │ │ └── DumpTask.java │ │ │ ├── merge │ │ │ │ ├── MergeDataTask.java │ │ │ │ ├── MergeDatumService.java │ │ │ │ └── MergeTaskProcessor.java │ │ │ ├── notify │ │ │ │ ├── AsyncNotifyService.java │ │ │ │ ├── HttpClientManager.java │ │ │ │ ├── NotifyService.java │ │ │ │ ├── NotifySingleService.java │ │ │ │ ├── NotifyTask.java │ │ │ │ └── NotifyTaskProcessor.java │ │ │ ├── repository │ │ │ │ ├── PaginationHelper.java │ │ │ │ ├── PersistService.java │ │ │ │ ├── RowMapperManager.java │ │ │ │ ├── embedded │ │ │ │ │ ├── BaseDatabaseOperate.java │ │ │ │ │ ├── DatabaseOperate.java │ │ │ │ │ ├── DerbySnapshotOperation.java │ │ │ │ │ ├── DistributedDatabaseOperateImpl.java │ │ │ │ │ ├── EmbeddedPaginationHelperImpl.java │ │ │ │ │ ├── EmbeddedStoragePersistServiceImpl.java │ │ │ │ │ └── StandaloneDatabaseOperateImpl.java │ │ │ │ └── extrnal │ │ │ │ │ ├── ExternalStoragePaginationHelperImpl.java │ │ │ │ │ └── ExternalStoragePersistServiceImpl.java │ │ │ ├── sql │ │ │ │ ├── EmbeddedStorageContextUtils.java │ │ │ │ ├── ModifyRequest.java │ │ │ │ ├── QueryType.java │ │ │ │ └── SelectRequest.java │ │ │ └── trace │ │ │ │ └── ConfigTraceService.java │ │ │ └── utils │ │ │ ├── AccumulateStatCount.java │ │ │ ├── AppNameUtils.java │ │ │ ├── ConfigExecutor.java │ │ │ ├── ContentUtils.java │ │ │ ├── DerbyUtils.java │ │ │ ├── DiskUtil.java │ │ │ ├── GroupKey.java │ │ │ ├── GroupKey2.java │ │ │ ├── LogUtil.java │ │ │ ├── MD5Util.java │ │ │ ├── ParamUtils.java │ │ │ ├── PropertyUtil.java │ │ │ ├── Protocol.java │ │ │ ├── RegexParser.java │ │ │ ├── RequestUtil.java │ │ │ ├── ResponseUtil.java │ │ │ ├── SimpleCache.java │ │ │ ├── SimpleFlowData.java │ │ │ ├── SimpleIpFlowData.java │ │ │ ├── SimpleReadWriteLock.java │ │ │ ├── StatConstants.java │ │ │ ├── SystemConfig.java │ │ │ ├── TimeUtils.java │ │ │ ├── TimeoutUtils.java │ │ │ ├── TraceLogUtil.java │ │ │ ├── UrlAnalysisUtils.java │ │ │ ├── YamlParserUtil.java │ │ │ └── ZipUtils.java │ └── resources │ │ ├── META-INF │ │ ├── logback │ │ │ └── config-included.xml │ │ ├── nacos-db.sql │ │ ├── schema.sql │ │ ├── services │ │ │ └── com.alibaba.nacos.common.remote.PayloadPackageProvider │ │ └── spring.factories │ │ └── version │ │ └── version.txt │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── config │ │ └── server │ │ ├── configuration │ │ ├── ConditionDistributedEmbedStorageTest.java │ │ ├── ConditionOnEmbeddedStorageTest.java │ │ ├── ConditionOnExternalStorageTest.java │ │ └── ConditionStandaloneEmbedStorageTest.java │ │ ├── constant │ │ ├── ConstantsTest.java │ │ └── CounterModeTest.java │ │ ├── controller │ │ ├── CapacityControllerTest.java │ │ ├── ClientMetricsControllerTest.java │ │ ├── CommunicationControllerTest.java │ │ ├── ConfigControllerTest.java │ │ ├── ConfigOpsControllerTest.java │ │ ├── ConfigServletInnerTest.java │ │ ├── HealthControllerTest.java │ │ ├── HistoryControllerTest.java │ │ └── ListenerControllerTest.java │ │ ├── manager │ │ └── TaskManagerTest.java │ │ ├── model │ │ └── ConfigInfoTest.java │ │ ├── remote │ │ ├── ConfigChangeBatchListenRequestHandlerTest.java │ │ ├── ConfigChangeClusterSyncRequestHandlerTest.java │ │ ├── ConfigChangeListenContextTest.java │ │ ├── ConfigPublishGroupKeyParserTest.java │ │ ├── ConfigPublishGroupParserTest.java │ │ ├── ConfigPublishRequestHandlerTest.java │ │ ├── ConfigQueryGroupKeyParserTest.java │ │ ├── ConfigQueryGroupParserTest.java │ │ ├── ConfigQueryRequestHandlerTest.java │ │ ├── ConfigRemoveRequestHandlerTest.java │ │ ├── InternalConfigChangeNotifierTest.java │ │ └── RpcConfigChangeNotifierTest.java │ │ ├── service │ │ ├── AggrWhitelistTest.java │ │ ├── ClientTrackServiceTest.java │ │ ├── ConfigChangePublisherTest.java │ │ ├── DiskServiceUnitTest.java │ │ ├── capacity │ │ │ ├── CapacityServiceTest.java │ │ │ ├── GroupCapacityPersistServiceTest.java │ │ │ └── TenantCapacityPersistServiceTest.java │ │ ├── datasource │ │ │ ├── DataSourcePoolPropertiesTest.java │ │ │ ├── DynamicDataSourceTest.java │ │ │ ├── ExternalDataSourcePropertiesTest.java │ │ │ ├── ExternalDataSourceServiceImplTest.java │ │ │ └── LocalDataSourceServiceImplTest.java │ │ └── dump │ │ │ └── DumpServiceTest.java │ │ └── utils │ │ ├── AccumulateStatCountTest.java │ │ ├── AppNameUtilsTest.java │ │ ├── ConfigExecutorTest.java │ │ ├── ContentUtilsTest.java │ │ ├── DerbyUtilsTest.java │ │ ├── DiskUtilsTest.java │ │ ├── GroupKey2Test.java │ │ ├── GroupKeyTest.java │ │ ├── LogUtilTest.java │ │ ├── MD5UtilTest.java │ │ ├── ParamUtilsTest.java │ │ ├── PropertyUtilTest.java │ │ ├── ProtocolTest.java │ │ ├── RegexParserTest.java │ │ ├── RequestUtilTest.java │ │ ├── ResponseUtilTest.java │ │ ├── SimpleCacheTest.java │ │ ├── SimpleFlowDataTest.java │ │ ├── SimpleIpFlowDataTest.java │ │ ├── SimpleReadWriteLockTest.java │ │ ├── SystemConfigTest.java │ │ ├── TimeUtilsTest.java │ │ ├── TimeoutUtilsTest.java │ │ ├── TraceLogUtilTest.java │ │ ├── UrlAnalysisUtilsTest.java │ │ ├── YamlParserUtilTest.java │ │ └── ZipUtilsTest.java │ └── resources │ ├── META-INF │ └── services │ │ └── com.alibaba.nacos.common.remote.PayloadPackageProvider │ ├── application.properties │ ├── log4j.properties │ └── user.properties ├── consistency ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── consistency │ │ │ ├── CommandOperations.java │ │ │ ├── Config.java │ │ │ ├── ConsistencyProtocol.java │ │ │ ├── DataOperation.java │ │ │ ├── IdGenerator.java │ │ │ ├── ProtoMessageUtil.java │ │ │ ├── ProtocolMetaData.java │ │ │ ├── RequestProcessor.java │ │ │ ├── SerializeFactory.java │ │ │ ├── Serializer.java │ │ │ ├── ap │ │ │ ├── APProtocol.java │ │ │ └── RequestProcessor4AP.java │ │ │ ├── cp │ │ │ ├── CPProtocol.java │ │ │ ├── MetadataKey.java │ │ │ └── RequestProcessor4CP.java │ │ │ ├── exception │ │ │ ├── ConsistencyException.java │ │ │ └── NoSuchLogProcessorException.java │ │ │ ├── serialize │ │ │ ├── HessianSerializer.java │ │ │ └── JacksonSerializer.java │ │ │ └── snapshot │ │ │ ├── LocalFileMeta.java │ │ │ ├── Reader.java │ │ │ ├── SnapshotOperation.java │ │ │ └── Writer.java │ ├── proto │ │ ├── Data.proto │ │ └── consistency.proto │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.alibaba.nacos.consistency.Serializer │ └── test │ └── java │ └── com │ └── alibaba │ └── nacos │ └── consistency │ ├── ProtoMessageUtilTest.java │ ├── ProtocolMetaDataTest.java │ ├── SerializeFactoryTest.java │ ├── serialize │ └── JacksonSerializerTest.java │ └── snapshot │ ├── LocalFileMetaTest.java │ ├── ReaderTest.java │ └── WriterTest.java ├── console-ui ├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .gitignore ├── .prettierignore ├── .prettierrc ├── README.md ├── build │ ├── copy-dist.js │ ├── copyFile.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── webpack.prod.conf.js ├── package.json ├── public │ └── index.ejs ├── src │ ├── components │ │ ├── BatchHandle │ │ │ ├── BatchHandle.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── CloneDialog │ │ │ ├── CloneDialog.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── DeleteDialog │ │ │ ├── DeleteDialog.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── DiffEditorDialog │ │ │ ├── DiffEditorDialog.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── EditorNameSpace │ │ │ ├── EditorNameSpace.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── ExportDialog │ │ │ ├── ExportDialog.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── ImportDialog │ │ │ ├── ImportDialog.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── MonacoEditor │ │ │ ├── MonacoEditor.tsx │ │ │ ├── constant.ts │ │ │ ├── index.scss │ │ │ └── index.tsx │ │ ├── NameSpaceList │ │ │ ├── NameSpaceList.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── NewNameSpace │ │ │ ├── NewNameSpace.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── RegionGroup │ │ │ ├── RegionGroup.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── ShowCodeing │ │ │ ├── ShowCodeing.js │ │ │ ├── ShowServiceCodeing.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ └── SuccessDialog │ │ │ ├── SuccessDialog.js │ │ │ ├── index.js │ │ │ └── index.scss │ ├── config.js │ ├── constants.js │ ├── globalLib.js │ ├── index.js │ ├── index.scss │ ├── layouts │ │ ├── Header.js │ │ ├── MainLayout.js │ │ ├── index.scss │ │ └── menu.js │ ├── lib.js │ ├── locales │ │ ├── en-US.js │ │ ├── index.js │ │ └── zh-CN.js │ ├── pages │ │ ├── AuthorityControl │ │ │ ├── PermissionsManagement │ │ │ │ ├── NewPermissions.js │ │ │ │ ├── PermissionsManagement.js │ │ │ │ ├── PermissionsManagement.scss │ │ │ │ └── index.js │ │ │ ├── README.md │ │ │ ├── RolesManagement │ │ │ │ ├── NewRole.js │ │ │ │ ├── RolesManagement.js │ │ │ │ ├── RolesManagement.scss │ │ │ │ └── index.js │ │ │ ├── UserManagement │ │ │ │ ├── NewUser.js │ │ │ │ ├── PasswordReset.js │ │ │ │ ├── UserManagement.js │ │ │ │ ├── UserManagement.scss │ │ │ │ └── index.js │ │ │ └── authority.scss │ │ ├── ClusterManagement │ │ │ └── ClusterNodeList │ │ │ │ ├── ClusterNodeList.js │ │ │ │ ├── ClusterNodeList.scss │ │ │ │ └── index.js │ │ ├── ConfigurationManagement │ │ │ ├── ConfigDetail │ │ │ │ ├── ConfigCompared.js │ │ │ │ ├── ConfigDetail.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── ConfigEditor │ │ │ │ ├── ConfigEditor.js │ │ │ │ ├── NewConfigEditor.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── ConfigRollback │ │ │ │ ├── ConfigRollback.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── ConfigSync │ │ │ │ ├── ConfigSync.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── ConfigurationManagement │ │ │ │ ├── ConfigurationManagement.js │ │ │ │ ├── DashboardCard.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── HistoryDetail │ │ │ │ ├── HistoryDetail.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── HistoryRollback │ │ │ │ ├── HistoryRollback.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── ListeningToQuery │ │ │ │ ├── ListeningToQuery.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ └── NewConfig │ │ │ │ ├── NewConfig.js │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ ├── Login │ │ │ ├── Login.jsx │ │ │ ├── index.jsx │ │ │ └── index.scss │ │ ├── NameSpace │ │ │ ├── NameSpace.js │ │ │ ├── index.js │ │ │ └── index.scss │ │ ├── ServiceManagement │ │ │ ├── ServiceDetail │ │ │ │ ├── EditClusterDialog.js │ │ │ │ ├── EditInstanceDialog.js │ │ │ │ ├── EditServiceDialog.js │ │ │ │ ├── InstanceFilter.js │ │ │ │ ├── InstanceTable.js │ │ │ │ ├── ServiceDetail.js │ │ │ │ ├── ServiceDetail.scss │ │ │ │ ├── constant.js │ │ │ │ ├── index.js │ │ │ │ └── util.js │ │ │ ├── ServiceList │ │ │ │ ├── ServiceList.js │ │ │ │ ├── ServiceList.scss │ │ │ │ └── index.js │ │ │ └── SubscriberList │ │ │ │ ├── SubscriberList.js │ │ │ │ ├── SubscriberList.scss │ │ │ │ └── index.js │ │ └── Welcome │ │ │ ├── Welcome.js │ │ │ └── index.js │ ├── reducers │ │ ├── authority.js │ │ ├── base.js │ │ ├── configuration.js │ │ ├── index.js │ │ ├── locale.js │ │ ├── namespace.js │ │ └── subscribers.js │ └── utils │ │ ├── nacosutil.js │ │ ├── request.js │ │ └── validateContent.js ├── test │ ├── .editorconfig │ ├── .gitignore │ ├── README.md │ ├── commons │ │ └── commons.md │ ├── config.json │ ├── hosts │ ├── install.sh │ ├── package.json │ ├── run.bat │ ├── run.sh │ ├── sample │ │ ├── configDetail.spec.js │ │ ├── configurationManagement.spec.js │ │ └── instanceFilter.spec.js │ └── uploadfiles │ │ └── uploadfiles.md └── tsconfig.json ├── console ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ ├── Nacos.java │ │ │ └── console │ │ │ ├── config │ │ │ └── ConsoleConfig.java │ │ │ ├── controller │ │ │ ├── HealthController.java │ │ │ ├── NamespaceController.java │ │ │ └── ServerStateController.java │ │ │ ├── enums │ │ │ └── NamespaceTypeEnum.java │ │ │ ├── exception │ │ │ └── ConsoleExceptionHandler.java │ │ │ ├── filter │ │ │ └── XssFilter.java │ │ │ └── model │ │ │ ├── Namespace.java │ │ │ └── NamespaceAllInfo.java │ └── resources │ │ ├── META-INF │ │ ├── nacos-default.properties │ │ └── schema.sql │ │ ├── application.properties │ │ └── static │ │ ├── console-ui │ │ └── public │ │ │ ├── css │ │ │ ├── bootstrap.css │ │ │ ├── codemirror.css │ │ │ ├── console1412.css │ │ │ ├── font-awesome.css │ │ │ ├── fonts │ │ │ │ ├── aliyun-console-font.eot │ │ │ │ ├── aliyun-console-font.ttf │ │ │ │ ├── aliyun-console-font.woff │ │ │ │ ├── font_515771_emcns5054x3whfr.ttf │ │ │ │ ├── font_515771_emcns5054x3whfr.woff │ │ │ │ ├── roboto-bold.ttf │ │ │ │ ├── roboto-bold.woff │ │ │ │ ├── roboto-bold.woff2 │ │ │ │ ├── roboto-regular.ttf │ │ │ │ ├── roboto-regular.woff │ │ │ │ └── roboto-regular.woff2 │ │ │ ├── icon.css │ │ │ └── merge.css │ │ │ ├── fonts │ │ │ ├── roboto-bold.eot │ │ │ ├── roboto-bold.ttf │ │ │ ├── roboto-bold.woff │ │ │ ├── roboto-bold.woff2 │ │ │ ├── roboto-light.eot │ │ │ ├── roboto-light.ttf │ │ │ ├── roboto-light.woff │ │ │ ├── roboto-light.woff2 │ │ │ ├── roboto-medium.eot │ │ │ ├── roboto-medium.ttf │ │ │ ├── roboto-medium.woff │ │ │ ├── roboto-medium.woff2 │ │ │ ├── roboto-regular.eot │ │ │ ├── roboto-regular.ttf │ │ │ ├── roboto-regular.woff │ │ │ ├── roboto-regular.woff2 │ │ │ ├── roboto-thin.eot │ │ │ ├── roboto-thin.ttf │ │ │ ├── roboto-thin.woff │ │ │ └── roboto-thin.woff2 │ │ │ ├── icons │ │ │ ├── icon-font.eot │ │ │ ├── icon-font.svg │ │ │ ├── icon-font.ttf │ │ │ ├── icon-font.woff │ │ │ └── icon-font.woff2 │ │ │ ├── img │ │ │ ├── black_dot.png │ │ │ ├── favicon.ico │ │ │ ├── logo-2000-390.svg │ │ │ ├── nacos-logo.png │ │ │ └── nacos.png │ │ │ └── js │ │ │ ├── codemirror.addone.fullscreen.js │ │ │ ├── codemirror.addone.json-lint.js │ │ │ ├── codemirror.addone.lint.js │ │ │ ├── codemirror.js │ │ │ ├── codemirror.lib.clike-lint.js │ │ │ ├── codemirror.lib.json-lint.js │ │ │ ├── diff_match_patch.js │ │ │ ├── javascript.js │ │ │ ├── jquery.js │ │ │ ├── loader.js │ │ │ ├── merge.js │ │ │ ├── vs │ │ │ ├── base │ │ │ │ └── worker │ │ │ │ │ └── workerMain.js │ │ │ ├── basic-languages │ │ │ │ └── src │ │ │ │ │ ├── bat.js │ │ │ │ │ ├── coffee.js │ │ │ │ │ ├── cpp.js │ │ │ │ │ ├── csharp.js │ │ │ │ │ ├── css.js │ │ │ │ │ ├── dockerfile.js │ │ │ │ │ ├── fsharp.js │ │ │ │ │ ├── go.js │ │ │ │ │ ├── handlebars.js │ │ │ │ │ ├── html.js │ │ │ │ │ ├── ini.js │ │ │ │ │ ├── java.js │ │ │ │ │ ├── less.js │ │ │ │ │ ├── lua.js │ │ │ │ │ ├── markdown.js │ │ │ │ │ ├── msdax.js │ │ │ │ │ ├── objective-c.js │ │ │ │ │ ├── php.js │ │ │ │ │ ├── postiats.js │ │ │ │ │ ├── powershell.js │ │ │ │ │ ├── pug.js │ │ │ │ │ ├── python.js │ │ │ │ │ ├── r.js │ │ │ │ │ ├── razor.js │ │ │ │ │ ├── ruby.js │ │ │ │ │ ├── sb.js │ │ │ │ │ ├── scss.js │ │ │ │ │ ├── solidity.js │ │ │ │ │ ├── sql.js │ │ │ │ │ ├── swift.js │ │ │ │ │ ├── vb.js │ │ │ │ │ ├── xml.js │ │ │ │ │ └── yaml.js │ │ │ ├── editor │ │ │ │ ├── contrib │ │ │ │ │ └── suggest │ │ │ │ │ │ └── browser │ │ │ │ │ │ └── media │ │ │ │ │ │ ├── String_16x.svg │ │ │ │ │ │ └── String_inverse_16x.svg │ │ │ │ ├── editor.main.css │ │ │ │ ├── editor.main.js │ │ │ │ ├── editor.main.nls.de.js │ │ │ │ ├── editor.main.nls.es.js │ │ │ │ ├── editor.main.nls.fr.js │ │ │ │ ├── editor.main.nls.hu.js │ │ │ │ ├── editor.main.nls.it.js │ │ │ │ ├── editor.main.nls.ja.js │ │ │ │ ├── editor.main.nls.js │ │ │ │ ├── editor.main.nls.ko.js │ │ │ │ ├── editor.main.nls.pt-br.js │ │ │ │ ├── editor.main.nls.ru.js │ │ │ │ ├── editor.main.nls.tr.js │ │ │ │ ├── editor.main.nls.zh-cn.js │ │ │ │ ├── editor.main.nls.zh-tw.js │ │ │ │ └── standalone │ │ │ │ │ └── browser │ │ │ │ │ └── quickOpen │ │ │ │ │ └── symbol-sprite.svg │ │ │ ├── language │ │ │ │ ├── css │ │ │ │ │ ├── cssMode.js │ │ │ │ │ └── cssWorker.js │ │ │ │ ├── html │ │ │ │ │ ├── htmlMode.js │ │ │ │ │ └── htmlWorker.js │ │ │ │ ├── json │ │ │ │ │ ├── jsonMode.js │ │ │ │ │ └── jsonWorker.js │ │ │ │ └── typescript │ │ │ │ │ ├── lib │ │ │ │ │ └── typescriptServices.js │ │ │ │ │ └── src │ │ │ │ │ ├── mode.js │ │ │ │ │ └── worker.js │ │ │ └── loader.js │ │ │ └── xml.js │ │ ├── css │ │ └── main.css │ │ ├── img │ │ ├── black_dot.png │ │ ├── logo-2000-390.svg │ │ └── nacos.png │ │ ├── index.html │ │ ├── js │ │ └── main.js │ │ └── login.html │ └── test │ └── java │ └── com │ └── alibaba │ └── nacos │ └── console │ ├── controller │ └── HealthControllerTest.java │ └── filter │ └── XssFilterTest.java ├── core ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── core │ │ │ ├── ability │ │ │ ├── RemoteAbilityInitializer.java │ │ │ ├── ServerAbilityInitializer.java │ │ │ └── ServerAbilityInitializerHolder.java │ │ │ ├── auth │ │ │ ├── AuthConfig.java │ │ │ ├── AuthFilter.java │ │ │ └── RemoteRequestAuthFilter.java │ │ │ ├── cluster │ │ │ ├── AbstractMemberLookup.java │ │ │ ├── Member.java │ │ │ ├── MemberChangeListener.java │ │ │ ├── MemberLookup.java │ │ │ ├── MemberMetaDataConstants.java │ │ │ ├── MemberUtil.java │ │ │ ├── MembersChangeEvent.java │ │ │ ├── NodeState.java │ │ │ ├── ServerMemberManager.java │ │ │ ├── Task.java │ │ │ ├── lookup │ │ │ │ ├── AddressServerMemberLookup.java │ │ │ │ ├── FileConfigMemberLookup.java │ │ │ │ ├── LookupFactory.java │ │ │ │ └── StandaloneMemberLookup.java │ │ │ └── remote │ │ │ │ └── ClusterRpcClientProxy.java │ │ │ ├── code │ │ │ ├── ControllerMethodsCache.java │ │ │ ├── RequestMappingInfo.java │ │ │ ├── SpringApplicationRunListener.java │ │ │ ├── StandaloneProfileApplicationListener.java │ │ │ └── condition │ │ │ │ ├── ParamRequestCondition.java │ │ │ │ └── PathRequestCondition.java │ │ │ ├── config │ │ │ └── AbstractDynamicConfig.java │ │ │ ├── controller │ │ │ ├── CoreOpsController.java │ │ │ ├── NacosClusterController.java │ │ │ ├── ServerLoaderController.java │ │ │ └── v2 │ │ │ │ ├── CoreOpsV2Controller.java │ │ │ │ └── NacosClusterV2Controller.java │ │ │ ├── distributed │ │ │ ├── AbstractConsistencyProtocol.java │ │ │ ├── ConsistencyConfiguration.java │ │ │ ├── ProtocolExecutor.java │ │ │ ├── ProtocolManager.java │ │ │ ├── distro │ │ │ │ ├── DistroConfig.java │ │ │ │ ├── DistroConstants.java │ │ │ │ ├── DistroProtocol.java │ │ │ │ ├── component │ │ │ │ │ ├── DistroCallback.java │ │ │ │ │ ├── DistroComponentHolder.java │ │ │ │ │ ├── DistroDataProcessor.java │ │ │ │ │ ├── DistroDataStorage.java │ │ │ │ │ ├── DistroFailedTaskHandler.java │ │ │ │ │ └── DistroTransportAgent.java │ │ │ │ ├── entity │ │ │ │ │ ├── DistroData.java │ │ │ │ │ └── DistroKey.java │ │ │ │ ├── exception │ │ │ │ │ └── DistroException.java │ │ │ │ ├── monitor │ │ │ │ │ ├── DistroRecord.java │ │ │ │ │ └── DistroRecordsHolder.java │ │ │ │ └── task │ │ │ │ │ ├── DistroTaskEngineHolder.java │ │ │ │ │ ├── delay │ │ │ │ │ ├── DistroDelayTask.java │ │ │ │ │ ├── DistroDelayTaskExecuteEngine.java │ │ │ │ │ └── DistroDelayTaskProcessor.java │ │ │ │ │ ├── execute │ │ │ │ │ ├── AbstractDistroExecuteTask.java │ │ │ │ │ ├── DistroExecuteTaskExecuteEngine.java │ │ │ │ │ ├── DistroSyncChangeTask.java │ │ │ │ │ └── DistroSyncDeleteTask.java │ │ │ │ │ ├── load │ │ │ │ │ └── DistroLoadDataTask.java │ │ │ │ │ └── verify │ │ │ │ │ ├── DistroVerifyExecuteTask.java │ │ │ │ │ └── DistroVerifyTimedTask.java │ │ │ ├── id │ │ │ │ ├── IdGeneratorManager.java │ │ │ │ └── SnowFlowerIdGenerator.java │ │ │ └── raft │ │ │ │ ├── JRaftMaintainService.java │ │ │ │ ├── JRaftProtocol.java │ │ │ │ ├── JRaftServer.java │ │ │ │ ├── JSnapshotOperation.java │ │ │ │ ├── NacosClosure.java │ │ │ │ ├── NacosStateMachine.java │ │ │ │ ├── RaftConfig.java │ │ │ │ ├── RaftErrorEvent.java │ │ │ │ ├── RaftEvent.java │ │ │ │ ├── RaftSysConstants.java │ │ │ │ ├── exception │ │ │ │ ├── DuplicateRaftGroupException.java │ │ │ │ ├── JRaftException.java │ │ │ │ ├── NoLeaderException.java │ │ │ │ └── NoSuchRaftGroupException.java │ │ │ │ ├── processor │ │ │ │ ├── AbstractProcessor.java │ │ │ │ ├── NacosGetRequestProcessor.java │ │ │ │ ├── NacosLogProcessor.java │ │ │ │ ├── NacosReadRequestProcessor.java │ │ │ │ └── NacosWriteRequestProcessor.java │ │ │ │ └── utils │ │ │ │ ├── FailoverClosure.java │ │ │ │ ├── FailoverClosureImpl.java │ │ │ │ ├── JRaftConstants.java │ │ │ │ ├── JRaftLogOperation.java │ │ │ │ ├── JRaftOps.java │ │ │ │ ├── JRaftUtils.java │ │ │ │ ├── RaftExecutor.java │ │ │ │ ├── RaftOptionsBuilder.java │ │ │ │ └── RetryRunner.java │ │ │ ├── exception │ │ │ ├── ErrorCode.java │ │ │ ├── KvStorageException.java │ │ │ └── SnakflowerException.java │ │ │ ├── listener │ │ │ ├── LoggingApplicationListener.java │ │ │ ├── NacosApplicationListener.java │ │ │ └── StartingApplicationListener.java │ │ │ ├── model │ │ │ ├── request │ │ │ │ ├── LogUpdateRequest.java │ │ │ │ └── LookupUpdateRequest.java │ │ │ └── vo │ │ │ │ └── IdGeneratorVO.java │ │ │ ├── monitor │ │ │ ├── MetricsMonitor.java │ │ │ └── NacosMeterRegistry.java │ │ │ ├── remote │ │ │ ├── AbstractRequestFilter.java │ │ │ ├── BaseRpcServer.java │ │ │ ├── ClientConnectionEventListener.java │ │ │ ├── ClientConnectionEventListenerRegistry.java │ │ │ ├── Connection.java │ │ │ ├── ConnectionManager.java │ │ │ ├── ConnectionMeta.java │ │ │ ├── HealthCheckRequestHandler.java │ │ │ ├── RequestFilters.java │ │ │ ├── RequestHandler.java │ │ │ ├── RequestHandlerRegistry.java │ │ │ ├── RpcAckCallbackSynchronizer.java │ │ │ ├── RpcPushService.java │ │ │ ├── control │ │ │ │ ├── ClientIpMonitorKey.java │ │ │ │ ├── ConnectionIdMonitorKey.java │ │ │ │ ├── MatchMode.java │ │ │ │ ├── MonitorKey.java │ │ │ │ ├── MonitorKeyMatcher.java │ │ │ │ ├── MonitorKeyParser.java │ │ │ │ ├── MonitorType.java │ │ │ │ ├── TpsControl.java │ │ │ │ ├── TpsControlConfig.java │ │ │ │ ├── TpsControlRequestFilter.java │ │ │ │ ├── TpsControlRule.java │ │ │ │ ├── TpsControlRuleChangeEvent.java │ │ │ │ ├── TpsMonitorManager.java │ │ │ │ ├── TpsMonitorPoint.java │ │ │ │ └── TpsRecorder.java │ │ │ ├── core │ │ │ │ ├── RpcAckCallbackInitorOrCleaner.java │ │ │ │ ├── ServerLoaderInfoRequestHandler.java │ │ │ │ └── ServerReloaderRequestHandler.java │ │ │ ├── event │ │ │ │ ├── ConnectionLimitRuleChangeEvent.java │ │ │ │ └── RemotingHeartBeatEvent.java │ │ │ └── grpc │ │ │ │ ├── BaseGrpcServer.java │ │ │ │ ├── GrpcBiStreamRequestAcceptor.java │ │ │ │ ├── GrpcClusterServer.java │ │ │ │ ├── GrpcConnection.java │ │ │ │ ├── GrpcRequestAcceptor.java │ │ │ │ ├── GrpcSdkServer.java │ │ │ │ └── PushAckIdGenerator.java │ │ │ ├── storage │ │ │ ├── StorageFactory.java │ │ │ └── kv │ │ │ │ ├── FileKvStorage.java │ │ │ │ ├── KvStorage.java │ │ │ │ └── MemoryKvStorage.java │ │ │ └── utils │ │ │ ├── ClassUtils.java │ │ │ ├── Commons.java │ │ │ ├── GenericType.java │ │ │ ├── GlobalExecutor.java │ │ │ ├── Loggers.java │ │ │ ├── OverrideParameterRequestWrapper.java │ │ │ ├── RemoteUtils.java │ │ │ ├── ReuseHttpRequest.java │ │ │ ├── ReuseHttpServletRequest.java │ │ │ ├── ReuseUploadFileHttpServletRequest.java │ │ │ ├── StringPool.java │ │ │ ├── TimerContext.java │ │ │ └── WebUtils.java │ └── resources │ │ ├── META-INF │ │ ├── logback │ │ │ └── nacos.xml │ │ ├── services │ │ │ └── com.alibaba.nacos.core.ability.ServerAbilityInitializer │ │ └── spring.factories │ │ └── banner.txt │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── core │ │ ├── ability │ │ ├── RemoteAbilityInitializerTest.java │ │ └── ServerAbilityInitializerHolderTest.java │ │ ├── auth │ │ ├── AuthConfigTest.java │ │ ├── AuthFilterTest.java │ │ └── RemoteRequestAuthFilterTest.java │ │ ├── cluster │ │ ├── MemberUtilTest.java │ │ ├── ServerMemberManagerTest.java │ │ ├── lookup │ │ │ ├── AddressServerMemberLookupTest.java │ │ │ ├── FileConfigMemberLookupTest.java │ │ │ └── LookupFactoryTest.java │ │ └── remote │ │ │ └── ClusterRpcClientProxyTest.java │ │ ├── code │ │ └── condition │ │ │ ├── ParamRequestConditionTest.java │ │ │ └── PathRequestConditionTest.java │ │ ├── controller │ │ ├── CoreOpsControllerTest.java │ │ ├── NacosClusterControllerTest.java │ │ ├── ServerLoaderControllerTest.java │ │ └── v2 │ │ │ ├── CoreOpsV2ControllerTest.java │ │ │ └── NacosClusterV2ControllerTest.java │ │ ├── distributed │ │ ├── distro │ │ │ ├── DistroConfigTest.java │ │ │ ├── component │ │ │ │ └── DistroComponentHolderTest.java │ │ │ ├── entity │ │ │ │ ├── DistroDataTest.java │ │ │ │ └── DistroKeyTest.java │ │ │ ├── monitor │ │ │ │ └── DistroRecordsHolderTest.java │ │ │ └── task │ │ │ │ └── load │ │ │ │ └── DistroLoadDataTaskTest.java │ │ ├── id │ │ │ └── SnowFlowerIdGeneratorTest.java │ │ └── raft │ │ │ ├── JRaftProtocolTest.java │ │ │ ├── JRaftServerTest.java │ │ │ └── processor │ │ │ └── AbstractProcessorTest.java │ │ ├── listener │ │ └── StandaloneProfileApplicationListenerTest.java │ │ ├── model │ │ ├── request │ │ │ ├── LogUpdateRequestTest.java │ │ │ └── LookupUpdateRequestTest.java │ │ └── vo │ │ │ └── IdGeneratorVOTest.java │ │ ├── monitor │ │ └── MetricsMonitorTest.java │ │ ├── remote │ │ ├── ClientConnectionEventListenerRegistryTest.java │ │ ├── ConnectionManagerTest.java │ │ ├── HealthCheckRequestHandlerTest.java │ │ ├── MockPayloadPackageProvider.java │ │ ├── RequestFiltersTest.java │ │ ├── RequestHandlerRegistryTest.java │ │ ├── RpcPushServiceTest.java │ │ ├── control │ │ │ ├── MonitorKeyMatcherTest.java │ │ │ ├── TpsMonitorManagerTest.java │ │ │ ├── TpsMonitorPointTest.java │ │ │ └── TpsRecorderTest.java │ │ ├── core │ │ │ ├── RpcAckCallbackInitorOrCleanerTest.java │ │ │ ├── ServerLoaderInfoRequestHandlerTest.java │ │ │ └── ServerReloaderRequestHandlerTest.java │ │ └── grpc │ │ │ ├── GrpcBiStreamRequestAcceptorTest.java │ │ │ ├── GrpcRequestAcceptorTest.java │ │ │ └── GrpcServerTest.java │ │ ├── storage │ │ ├── FileKvStorageTest.java │ │ ├── MemoryKvStorageTest.java │ │ └── StorageFactoryTest.java │ │ └── utils │ │ ├── ClassUtilsTest.java │ │ ├── OverrideParameterRequestWrapperTest.java │ │ ├── RemoteUtilsTest.java │ │ ├── StringPoolTest.java │ │ ├── SystemUtilsTest.java │ │ └── WebUtilsTest.java │ └── resources │ ├── META-INF │ └── services │ │ └── com.alibaba.nacos.common.remote.PayloadPackageProvider │ └── application.properties ├── distribution ├── LICENSE-BIN ├── NOTICE-BIN ├── bin │ ├── shutdown.cmd │ ├── shutdown.sh │ ├── startup.cmd │ └── startup.sh ├── conf │ ├── 1.4.0-ipv6_support-update.sql │ ├── application.properties │ ├── application.properties.example │ ├── cluster.conf.example │ ├── nacos-logback.xml │ ├── nacos-mysql.sql │ ├── nacos-postgresql.sql │ └── schema.sql ├── pom.xml ├── release-address.xml ├── release-client.xml ├── release-config.xml ├── release-core.xml ├── release-nacos.xml └── release-naming.xml ├── doc ├── Nacos_Logo.png └── arch.png ├── example ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── alibaba │ └── nacos │ └── example │ ├── App.java │ ├── ConfigExample.java │ └── NamingExample.java ├── istio ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── istio │ │ ├── IstioApp.java │ │ ├── api │ │ ├── ApiConstants.java │ │ ├── ApiGenerator.java │ │ └── ApiGeneratorFactory.java │ │ ├── common │ │ ├── AbstractConnection.java │ │ ├── Event.java │ │ ├── EventProcessor.java │ │ ├── EventType.java │ │ ├── NacosResourceManager.java │ │ ├── NacosServiceInfoResourceWatcher.java │ │ ├── ResourceSnapshot.java │ │ └── WatchedStatus.java │ │ ├── mcp │ │ ├── EmptyMcpGenerator.java │ │ ├── McpConnection.java │ │ ├── NacosMcpService.java │ │ └── ServiceEntryMcpGenerator.java │ │ ├── misc │ │ ├── IstioConfig.java │ │ └── Loggers.java │ │ ├── model │ │ ├── IstioService.java │ │ └── ServiceEntryWrapper.java │ │ ├── server │ │ ├── IstioServer.java │ │ └── ServerInterceptor.java │ │ ├── util │ │ ├── IstioCrdUtil.java │ │ ├── IstioExecutor.java │ │ └── NonceGenerator.java │ │ └── xds │ │ ├── EmptyXdsGenerator.java │ │ ├── NacosXdsService.java │ │ ├── ServiceEntryXdsGenerator.java │ │ └── XdsConnection.java │ └── resources │ └── proto │ ├── gogoproto │ └── gogo.proto │ ├── google │ └── protobuf │ │ └── any.proto │ ├── mcp │ ├── Readme.md │ └── v1alpha1 │ │ ├── mcp.proto │ │ ├── metadata.proto │ │ └── resource.proto │ └── networking │ └── v1alpha3 │ ├── destination_rule.proto │ ├── envoy_filter.proto │ ├── gateway.proto │ ├── service_entry.proto │ ├── sidecar.proto │ ├── virtual_service.proto │ ├── workload_entry.proto │ └── workload_group.proto ├── naming ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── naming │ │ │ ├── NamingApp.java │ │ │ ├── ability │ │ │ └── NamingAbilityInitializer.java │ │ │ ├── cluster │ │ │ ├── ServerListManager.java │ │ │ ├── ServerStatus.java │ │ │ ├── ServerStatusManager.java │ │ │ ├── remote │ │ │ │ ├── request │ │ │ │ │ ├── AbstractClusterRequest.java │ │ │ │ │ └── DistroDataRequest.java │ │ │ │ └── response │ │ │ │ │ └── DistroDataResponse.java │ │ │ └── transport │ │ │ │ ├── JacksonSerializer.java │ │ │ │ └── Serializer.java │ │ │ ├── consistency │ │ │ ├── ConsistencyService.java │ │ │ ├── Datum.java │ │ │ ├── DelegateConsistencyServiceImpl.java │ │ │ ├── KeyBuilder.java │ │ │ ├── RecordListener.java │ │ │ ├── ValueChangeEvent.java │ │ │ ├── ephemeral │ │ │ │ ├── EphemeralConsistencyService.java │ │ │ │ └── distro │ │ │ │ │ ├── DataStore.java │ │ │ │ │ ├── DistroConsistencyServiceImpl.java │ │ │ │ │ ├── DistroHttpData.java │ │ │ │ │ ├── DistroHttpRegistry.java │ │ │ │ │ ├── combined │ │ │ │ │ ├── DistroHttpCombinedKey.java │ │ │ │ │ ├── DistroHttpCombinedKeyDelayTask.java │ │ │ │ │ ├── DistroHttpCombinedKeyExecuteTask.java │ │ │ │ │ ├── DistroHttpCombinedKeyTaskFailedHandler.java │ │ │ │ │ └── DistroHttpDelayTaskProcessor.java │ │ │ │ │ ├── component │ │ │ │ │ ├── DistroDataStorageImpl.java │ │ │ │ │ └── DistroHttpAgent.java │ │ │ │ │ └── v2 │ │ │ │ │ ├── DistroClientComponentRegistry.java │ │ │ │ │ ├── DistroClientDataProcessor.java │ │ │ │ │ ├── DistroClientTaskFailedHandler.java │ │ │ │ │ ├── DistroClientTransportAgent.java │ │ │ │ │ └── DistroClientVerifyInfo.java │ │ │ └── persistent │ │ │ │ ├── ClusterVersionJudgement.java │ │ │ │ ├── PersistentConsistencyService.java │ │ │ │ ├── PersistentConsistencyServiceDelegateImpl.java │ │ │ │ ├── PersistentNotifier.java │ │ │ │ ├── impl │ │ │ │ ├── AbstractSnapshotOperation.java │ │ │ │ ├── BasePersistentServiceProcessor.java │ │ │ │ ├── BatchReadResponse.java │ │ │ │ ├── BatchWriteRequest.java │ │ │ │ ├── NamingKvStorage.java │ │ │ │ ├── NamingSnapshotOperation.java │ │ │ │ ├── PersistentServiceProcessor.java │ │ │ │ └── StandalonePersistentServiceProcessor.java │ │ │ │ └── raft │ │ │ │ ├── BaseRaftEvent.java │ │ │ │ ├── LeaderElectFinishedEvent.java │ │ │ │ ├── MakeLeaderEvent.java │ │ │ │ ├── RaftConsistencyServiceImpl.java │ │ │ │ ├── RaftCore.java │ │ │ │ ├── RaftListener.java │ │ │ │ ├── RaftPeer.java │ │ │ │ ├── RaftPeerSet.java │ │ │ │ ├── RaftProxy.java │ │ │ │ └── RaftStore.java │ │ │ ├── constants │ │ │ ├── ClientConstants.java │ │ │ ├── Constants.java │ │ │ ├── FieldsConstants.java │ │ │ ├── PushConstants.java │ │ │ └── RequestConstant.java │ │ │ ├── controllers │ │ │ ├── CatalogController.java │ │ │ ├── ClusterController.java │ │ │ ├── DistroController.java │ │ │ ├── HealthController.java │ │ │ ├── InstanceController.java │ │ │ ├── InstanceControllerV2.java │ │ │ ├── OperatorController.java │ │ │ ├── RaftController.java │ │ │ ├── ServiceController.java │ │ │ ├── ServiceControllerV2.java │ │ │ └── UpgradeOpsController.java │ │ │ ├── core │ │ │ ├── CatalogService.java │ │ │ ├── CatalogServiceV1Impl.java │ │ │ ├── CatalogServiceV2Impl.java │ │ │ ├── Cluster.java │ │ │ ├── ClusterOperator.java │ │ │ ├── ClusterOperatorV1Impl.java │ │ │ ├── ClusterOperatorV2Impl.java │ │ │ ├── DistroMapper.java │ │ │ ├── HealthOperator.java │ │ │ ├── HealthOperatorV1Impl.java │ │ │ ├── HealthOperatorV2Impl.java │ │ │ ├── Instance.java │ │ │ ├── InstanceOperator.java │ │ │ ├── InstanceOperatorClientImpl.java │ │ │ ├── InstanceOperatorServiceImpl.java │ │ │ ├── InstancePatchObject.java │ │ │ ├── Instances.java │ │ │ ├── Service.java │ │ │ ├── ServiceManager.java │ │ │ ├── ServiceOperator.java │ │ │ ├── ServiceOperatorV1Impl.java │ │ │ ├── ServiceOperatorV2Impl.java │ │ │ ├── SubscribeManager.java │ │ │ └── v2 │ │ │ │ ├── ServiceManager.java │ │ │ │ ├── cleaner │ │ │ │ ├── AbstractNamingCleaner.java │ │ │ │ ├── EmptyServiceAutoCleaner.java │ │ │ │ ├── EmptyServiceAutoCleanerV2.java │ │ │ │ ├── ExpiredMetadataCleaner.java │ │ │ │ └── NamingCleaner.java │ │ │ │ ├── client │ │ │ │ ├── AbstractClient.java │ │ │ │ ├── Client.java │ │ │ │ ├── ClientAttributes.java │ │ │ │ ├── ClientSyncData.java │ │ │ │ ├── ClientSyncDatumSnapshot.java │ │ │ │ ├── factory │ │ │ │ │ ├── ClientFactory.java │ │ │ │ │ ├── ClientFactoryHolder.java │ │ │ │ │ └── impl │ │ │ │ │ │ ├── ConnectionBasedClientFactory.java │ │ │ │ │ │ ├── EphemeralIpPortClientFactory.java │ │ │ │ │ │ └── PersistentIpPortClientFactory.java │ │ │ │ ├── impl │ │ │ │ │ ├── ConnectionBasedClient.java │ │ │ │ │ └── IpPortBasedClient.java │ │ │ │ └── manager │ │ │ │ │ ├── ClientManager.java │ │ │ │ │ ├── ClientManagerDelegate.java │ │ │ │ │ └── impl │ │ │ │ │ ├── ConnectionBasedClientManager.java │ │ │ │ │ ├── EphemeralIpPortClientManager.java │ │ │ │ │ └── PersistentIpPortClientManager.java │ │ │ │ ├── event │ │ │ │ ├── client │ │ │ │ │ ├── ClientEvent.java │ │ │ │ │ └── ClientOperationEvent.java │ │ │ │ ├── metadata │ │ │ │ │ └── MetadataEvent.java │ │ │ │ ├── publisher │ │ │ │ │ ├── NamingEventPublisher.java │ │ │ │ │ └── NamingEventPublisherFactory.java │ │ │ │ └── service │ │ │ │ │ └── ServiceEvent.java │ │ │ │ ├── index │ │ │ │ ├── ClientServiceIndexesManager.java │ │ │ │ └── ServiceStorage.java │ │ │ │ ├── metadata │ │ │ │ ├── AbstractMetadataSnapshotOperation.java │ │ │ │ ├── ClusterMetadata.java │ │ │ │ ├── ExpiredMetadataInfo.java │ │ │ │ ├── InstanceMetadata.java │ │ │ │ ├── InstanceMetadataProcessor.java │ │ │ │ ├── InstanceMetadataSnapshotOperation.java │ │ │ │ ├── MetadataOperation.java │ │ │ │ ├── NamingMetadataManager.java │ │ │ │ ├── NamingMetadataOperateService.java │ │ │ │ ├── ServiceMetadata.java │ │ │ │ ├── ServiceMetadataProcessor.java │ │ │ │ └── ServiceMetadataSnapshotOperation.java │ │ │ │ ├── pojo │ │ │ │ ├── HealthCheckInstancePublishInfo.java │ │ │ │ ├── InstancePublishInfo.java │ │ │ │ └── Service.java │ │ │ │ ├── service │ │ │ │ ├── ClientOperationService.java │ │ │ │ ├── ClientOperationServiceProxy.java │ │ │ │ └── impl │ │ │ │ │ ├── EphemeralClientOperationServiceImpl.java │ │ │ │ │ └── PersistentClientOperationServiceImpl.java │ │ │ │ └── upgrade │ │ │ │ ├── DefaultSelfUpgradeChecker.java │ │ │ │ ├── SelfUpgradeChecker.java │ │ │ │ ├── SelfUpgradeCheckerSpiHolder.java │ │ │ │ ├── UpgradeJudgement.java │ │ │ │ ├── UpgradeStates.java │ │ │ │ └── doublewrite │ │ │ │ ├── RefreshStorageDataTask.java │ │ │ │ ├── delay │ │ │ │ ├── DoubleWriteAction.java │ │ │ │ ├── DoubleWriteContent.java │ │ │ │ ├── DoubleWriteDelayTaskEngine.java │ │ │ │ ├── DoubleWriteEventListener.java │ │ │ │ ├── ServiceChangeV1Task.java │ │ │ │ └── ServiceChangeV2Task.java │ │ │ │ └── execute │ │ │ │ ├── AsyncServicesCheckTask.java │ │ │ │ ├── DefaultInstanceUpgradeHelper.java │ │ │ │ ├── DefaultServiceMetadataUpgradeHelper.java │ │ │ │ ├── DoubleWriteInstanceChangeToV1Task.java │ │ │ │ ├── DoubleWriteInstanceChangeToV2Task.java │ │ │ │ ├── DoubleWriteMetadataChangeToV1Task.java │ │ │ │ ├── DoubleWriteMetadataChangeToV2Task.java │ │ │ │ ├── DoubleWriteServiceRemovalToV1Task.java │ │ │ │ ├── DoubleWriteServiceRemovalToV2Task.java │ │ │ │ ├── InstanceUpgradeHelper.java │ │ │ │ └── ServiceMetadataUpgradeHelper.java │ │ │ ├── exception │ │ │ └── ResponseExceptionHandler.java │ │ │ ├── healthcheck │ │ │ ├── ClientBeatCheckTask.java │ │ │ ├── ClientBeatProcessor.java │ │ │ ├── HealthCheckCommon.java │ │ │ ├── HealthCheckProcessor.java │ │ │ ├── HealthCheckProcessorDelegate.java │ │ │ ├── HealthCheckReactor.java │ │ │ ├── HealthCheckStatus.java │ │ │ ├── HealthCheckTask.java │ │ │ ├── HttpHealthCheckProcessor.java │ │ │ ├── MysqlHealthCheckProcessor.java │ │ │ ├── NacosHealthCheckTask.java │ │ │ ├── NoneHealthCheckProcessor.java │ │ │ ├── RsInfo.java │ │ │ ├── TcpSuperSenseProcessor.java │ │ │ ├── extend │ │ │ │ └── HealthCheckExtendProvider.java │ │ │ ├── heartbeat │ │ │ │ ├── AbstractBeatCheckInterceptor.java │ │ │ │ ├── BeatCheckTask.java │ │ │ │ ├── BeatProcessor.java │ │ │ │ ├── ClientBeatCheckTaskV2.java │ │ │ │ ├── ClientBeatProcessorV2.java │ │ │ │ ├── ClientBeatUpdateTask.java │ │ │ │ ├── ExpiredInstanceChecker.java │ │ │ │ ├── InstanceBeatCheckResponsibleInterceptor.java │ │ │ │ ├── InstanceBeatCheckTask.java │ │ │ │ ├── InstanceBeatCheckTaskInterceptorChain.java │ │ │ │ ├── InstanceBeatChecker.java │ │ │ │ ├── InstanceEnableBeatCheckInterceptor.java │ │ │ │ ├── ServiceEnableBeatCheckInterceptor.java │ │ │ │ └── UnhealthyInstanceChecker.java │ │ │ ├── interceptor │ │ │ │ ├── AbstractHealthCheckInterceptor.java │ │ │ │ ├── HealthCheckEnableInterceptor.java │ │ │ │ ├── HealthCheckInterceptorChain.java │ │ │ │ ├── HealthCheckResponsibleInterceptor.java │ │ │ │ └── HealthCheckTaskInterceptWrapper.java │ │ │ └── v2 │ │ │ │ ├── HealthCheckTaskV2.java │ │ │ │ ├── HealthStatusSynchronizer.java │ │ │ │ ├── PersistentHealthStatusSynchronizer.java │ │ │ │ └── processor │ │ │ │ ├── HealthCheckCommonV2.java │ │ │ │ ├── HealthCheckProcessorV2.java │ │ │ │ ├── HealthCheckProcessorV2Delegate.java │ │ │ │ ├── HttpHealthCheckProcessor.java │ │ │ │ ├── MysqlHealthCheckProcessor.java │ │ │ │ ├── NoneHealthCheckProcessor.java │ │ │ │ └── TcpHealthCheckProcessor.java │ │ │ ├── interceptor │ │ │ ├── AbstractNamingInterceptorChain.java │ │ │ ├── Interceptable.java │ │ │ ├── NacosNamingInterceptor.java │ │ │ └── NacosNamingInterceptorChain.java │ │ │ ├── misc │ │ │ ├── ClientConfig.java │ │ │ ├── GlobalConfig.java │ │ │ ├── GlobalExecutor.java │ │ │ ├── HttpClient.java │ │ │ ├── HttpClientManager.java │ │ │ ├── Loggers.java │ │ │ ├── Message.java │ │ │ ├── NamingExecuteTaskDispatcher.java │ │ │ ├── NamingProxy.java │ │ │ ├── NetUtils.java │ │ │ ├── ServerStatusSynchronizer.java │ │ │ ├── ServiceStatusSynchronizer.java │ │ │ ├── SwitchDomain.java │ │ │ ├── SwitchEntry.java │ │ │ ├── SwitchManager.java │ │ │ ├── Synchronizer.java │ │ │ └── UtilsAndCommons.java │ │ │ ├── monitor │ │ │ ├── MetricsMonitor.java │ │ │ ├── NamingTpsMonitor.java │ │ │ ├── PerformanceLoggerThread.java │ │ │ └── TpsMonitorItem.java │ │ │ ├── pojo │ │ │ ├── ClusterInfo.java │ │ │ ├── ClusterStateView.java │ │ │ ├── InstanceOperationContext.java │ │ │ ├── InstanceOperationInfo.java │ │ │ ├── IpAddressInfo.java │ │ │ ├── Record.java │ │ │ ├── ServiceDetailInfo.java │ │ │ ├── ServiceDetailView.java │ │ │ ├── ServiceNameView.java │ │ │ ├── ServiceView.java │ │ │ ├── Subscriber.java │ │ │ ├── Subscribers.java │ │ │ └── instance │ │ │ │ ├── BeatInfoInstanceBuilder.java │ │ │ │ ├── DefaultInstanceIdGenerator.java │ │ │ │ ├── HttpRequestInstanceBuilder.java │ │ │ │ └── InstanceExtensionHandler.java │ │ │ ├── push │ │ │ ├── NamingSubscriberService.java │ │ │ ├── NamingSubscriberServiceAggregationImpl.java │ │ │ ├── NamingSubscriberServiceLocalImpl.java │ │ │ ├── UdpPushService.java │ │ │ ├── v1 │ │ │ │ ├── ClientInfo.java │ │ │ │ ├── DataSource.java │ │ │ │ ├── NamingSubscriberServiceV1Impl.java │ │ │ │ ├── PushClient.java │ │ │ │ └── ServiceChangeEvent.java │ │ │ └── v2 │ │ │ │ ├── NamingSubscriberServiceV2Impl.java │ │ │ │ ├── NoRequiredRetryException.java │ │ │ │ ├── PushConfig.java │ │ │ │ ├── PushDataWrapper.java │ │ │ │ ├── executor │ │ │ │ ├── PushExecutor.java │ │ │ │ ├── PushExecutorDelegate.java │ │ │ │ ├── PushExecutorRpcImpl.java │ │ │ │ ├── PushExecutorUdpImpl.java │ │ │ │ ├── SpiImplPushExecutorHolder.java │ │ │ │ └── SpiPushExecutor.java │ │ │ │ ├── hook │ │ │ │ ├── NacosMonitorPushResultHook.java │ │ │ │ ├── PushResult.java │ │ │ │ ├── PushResultHook.java │ │ │ │ └── PushResultHookHolder.java │ │ │ │ └── task │ │ │ │ ├── PushDelayTask.java │ │ │ │ ├── PushDelayTaskExecuteEngine.java │ │ │ │ └── PushExecuteTask.java │ │ │ ├── remote │ │ │ ├── rpc │ │ │ │ ├── NamingPayloadPackageProvider.java │ │ │ │ ├── filter │ │ │ │ │ └── GrpcRequestFilter.java │ │ │ │ └── handler │ │ │ │ │ ├── DistroDataRequestHandler.java │ │ │ │ │ ├── InstanceRequestHandler.java │ │ │ │ │ ├── ServiceListRequestHandler.java │ │ │ │ │ ├── ServiceQueryRequestHandler.java │ │ │ │ │ └── SubscribeServiceRequestHandler.java │ │ │ └── udp │ │ │ │ ├── AckEntry.java │ │ │ │ ├── AckPacket.java │ │ │ │ └── UdpConnector.java │ │ │ ├── selector │ │ │ ├── LabelSelector.java │ │ │ ├── NoneSelector.java │ │ │ ├── SelectorManager.java │ │ │ ├── context │ │ │ │ ├── CmdbSelectorContextBuilder.java │ │ │ │ └── NoneSelectorContextBuilder.java │ │ │ ├── interpreter │ │ │ │ └── ExpressionInterpreter.java │ │ │ └── v1 │ │ │ │ ├── LabelSelector.java │ │ │ │ ├── NoneSelector.java │ │ │ │ └── Selector.java │ │ │ ├── utils │ │ │ ├── InstanceUtil.java │ │ │ └── ServiceUtil.java │ │ │ └── web │ │ │ ├── CanDistro.java │ │ │ ├── DistroFilter.java │ │ │ ├── DistroIpPortTagGenerator.java │ │ │ ├── DistroServiceNameTagGenerator.java │ │ │ ├── DistroTagGenerator.java │ │ │ ├── DistroTagGeneratorImpl.java │ │ │ ├── NamingConfig.java │ │ │ ├── ServiceNameFilter.java │ │ │ └── TrafficReviseFilter.java │ └── resources │ │ ├── META-INF │ │ ├── logback │ │ │ └── naming-included.xml │ │ └── services │ │ │ ├── com.alibaba.nacos.api.selector.Selector │ │ │ ├── com.alibaba.nacos.api.selector.context.SelectorContextBuilder │ │ │ ├── com.alibaba.nacos.common.remote.PayloadPackageProvider │ │ │ ├── com.alibaba.nacos.core.ability.ServerAbilityInitializer │ │ │ ├── com.alibaba.nacos.naming.core.v2.client.factory.ClientFactory │ │ │ ├── com.alibaba.nacos.naming.healthcheck.heartbeat.AbstractBeatCheckInterceptor │ │ │ ├── com.alibaba.nacos.naming.healthcheck.interceptor.AbstractHealthCheckInterceptor │ │ │ └── com.alibaba.nacos.naming.push.v2.hook.PushResultHook │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── naming │ │ ├── BaseTest.java │ │ ├── ability │ │ └── NamingAbilityInitializerTest.java │ │ ├── cluster │ │ ├── ServerStatusManagerTest.java │ │ ├── remote │ │ │ ├── request │ │ │ │ ├── AbstractClusterRequestTest.java │ │ │ │ └── DistroDataRequestTest.java │ │ │ └── response │ │ │ │ └── DistroDataResponseTest.java │ │ └── transport │ │ │ └── JacksonSerializerTest.java │ │ ├── consistency │ │ ├── DelegateConsistencyServiceImplTest.java │ │ ├── ephemeral │ │ │ └── distro │ │ │ │ ├── DataStoreTest.java │ │ │ │ ├── DistroConsistencyServiceImplTest.java │ │ │ │ └── v2 │ │ │ │ └── DistroClientComponentRegistryTest.java │ │ └── persistent │ │ │ ├── ClusterVersionJudgementTest.java │ │ │ ├── PersistentConsistencyServiceDelegateImplTest.java │ │ │ ├── impl │ │ │ ├── NamingKvStorageTest.java │ │ │ └── NamingSnapshotOperationTest.java │ │ │ └── raft │ │ │ └── RaftPeerSetTest.java │ │ ├── controllers │ │ ├── CatalogControllerTest.java │ │ ├── ClusterControllerTest.java │ │ ├── DistroControllerTest.java │ │ ├── HealthControllerTest.java │ │ ├── InstanceControllerTest.java │ │ ├── InstanceControllerV2Test.java │ │ ├── OperatorControllerTest.java │ │ ├── ServiceControllerTest.java │ │ └── ServiceControllerV2Test.java │ │ ├── core │ │ ├── CatalogServiceV2ImplTest.java │ │ ├── ClusterOperatorV2ImplTest.java │ │ ├── ClusterTest.java │ │ ├── DistroMapperTest.java │ │ ├── DomainTest.java │ │ ├── DomainsManagerTest.java │ │ ├── HealthOperatorV1ImplTest.java │ │ ├── HealthOperatorV2ImplTest.java │ │ ├── InstanceOperatorClientImplTest.java │ │ ├── InstanceTest.java │ │ ├── InstancesTest.java │ │ ├── ServiceManagerTest.java │ │ ├── ServiceOperatorV1ImplTest.java │ │ ├── ServiceOperatorV2ImplTest.java │ │ ├── ServiceTest.java │ │ ├── SubscribeManagerTest.java │ │ └── v2 │ │ │ ├── cleaner │ │ │ ├── EmptyServiceAutoCleanerTest.java │ │ │ ├── EmptyServiceAutoCleanerV2Test.java │ │ │ └── ExpiredMetadataCleanerTest.java │ │ │ ├── client │ │ │ ├── impl │ │ │ │ ├── ConnectionBasedClientTest.java │ │ │ │ └── IpPortBasedClientTest.java │ │ │ └── manager │ │ │ │ ├── ClientManagerDelegateTest.java │ │ │ │ └── impl │ │ │ │ ├── ConnectionBasedClientManagerTest.java │ │ │ │ ├── EphemeralIpPortClientManagerTest.java │ │ │ │ └── PersistentIpPortClientManagerTest.java │ │ │ ├── event │ │ │ └── publisher │ │ │ │ ├── NamingEventPublisherFactoryTest.java │ │ │ │ ├── NamingEventPublisherTest.java │ │ │ │ └── TestEvent.java │ │ │ ├── index │ │ │ ├── ClientServiceIndexesManagerTest.java │ │ │ └── ServiceStorageTest.java │ │ │ ├── metadata │ │ │ ├── MetadataOperationTest.java │ │ │ ├── NamingMetadataManagerTest.java │ │ │ ├── NamingMetadataOperateServiceTest.java │ │ │ ├── ServiceMetadataProcessorTest.java │ │ │ ├── ServiceMetadataSnapshotOperationTest.java │ │ │ └── ServiceMetadataTest.java │ │ │ ├── service │ │ │ ├── ClientOperationServiceProxyTest.java │ │ │ └── impl │ │ │ │ ├── EphemeralClientOperationServiceImplTest.java │ │ │ │ └── PersistentClientOperationServiceImplTest.java │ │ │ └── upgrade │ │ │ ├── MockSelfUpgradeChecker.java │ │ │ ├── UpgradeJudgementTest.java │ │ │ ├── UpgradeStatesTest.java │ │ │ └── doublewrite │ │ │ └── delay │ │ │ └── DoubleWriteEventListenerTest.java │ │ ├── healthcheck │ │ ├── ClientBeatCheckTaskTest.java │ │ ├── heartbeat │ │ │ └── ClientBeatCheckTaskV2Test.java │ │ ├── interceptor │ │ │ └── HealthCheckTaskInterceptWrapperTest.java │ │ └── v2 │ │ │ ├── HealthCheckTaskV2Test.java │ │ │ ├── PersistentHealthStatusSynchronizerTest.java │ │ │ └── processor │ │ │ ├── HealthCheckCommonV2Test.java │ │ │ ├── HealthCheckProcessorV2DelegateTest.java │ │ │ └── HttpHealthCheckProcessorTest.java │ │ ├── misc │ │ ├── ClientConfigTest.java │ │ └── UtilsAndCommonsTest.java │ │ ├── monitor │ │ └── MetricsMonitorTest.java │ │ ├── pojo │ │ ├── SubscriberTest.java │ │ └── instance │ │ │ ├── BeatInfoInstanceBuilderTest.java │ │ │ ├── DefaultInstanceIdGeneratorTest.java │ │ │ ├── HttpRequestInstanceBuilderTest.java │ │ │ └── MockInstanceExtensionHandler.java │ │ ├── push │ │ ├── NamingSubscriberServiceAggregationImplTest.java │ │ ├── v1 │ │ │ ├── ClientInfoTest.java │ │ │ ├── NamingSubscriberServiceV1ImplTest.java │ │ │ └── ServiceChangeEventTest.java │ │ └── v2 │ │ │ ├── NamingSubscriberServiceV2ImplTest.java │ │ │ ├── PushConfigTest.java │ │ │ ├── executor │ │ │ ├── PushExecutorDelegateTest.java │ │ │ ├── PushExecutorRpcImplTest.java │ │ │ ├── PushExecutorUdpImplTest.java │ │ │ └── SpiImplPushExecutorHolderTest.java │ │ │ └── task │ │ │ ├── FixturePushExecutor.java │ │ │ ├── PushDelayTaskExecuteEngineTest.java │ │ │ ├── PushDelayTaskTest.java │ │ │ └── PushExecuteTaskTest.java │ │ ├── raft │ │ └── RaftStoreTest.java │ │ ├── remote │ │ ├── rpc │ │ │ ├── filter │ │ │ │ └── GrpcRequestFilterTest.java │ │ │ └── handler │ │ │ │ ├── DistroDataRequestHandlerTest.java │ │ │ │ ├── InstanceRequestHandlerTest.java │ │ │ │ ├── ServiceListRequestHandlerTest.java │ │ │ │ ├── ServiceQueryRequestHandlerTest.java │ │ │ │ └── SubscribeServiceRequestHandlerTest.java │ │ └── udp │ │ │ └── UdpConnectorTest.java │ │ ├── selector │ │ ├── LabelSelectorTest.java │ │ ├── MockCmdbContextBuilder.java │ │ ├── MockSelector.java │ │ ├── NoneSelectorTest.java │ │ ├── SelectorManagerTest.java │ │ ├── context │ │ │ └── NoneSelectorContextBuilderTest.java │ │ └── v1 │ │ │ └── LabelSelectorTest.java │ │ └── utils │ │ ├── InstanceUtilTest.java │ │ └── ServiceUtilTest.java │ └── resources │ └── META-INF │ └── services │ ├── com.alibaba.nacos.api.selector.Selector │ ├── com.alibaba.nacos.api.selector.context.SelectorContextBuilder │ ├── com.alibaba.nacos.common.remote.PayloadPackageProvider │ ├── com.alibaba.nacos.naming.core.v2.upgrade.SelfUpgradeChecker │ └── com.alibaba.nacos.naming.pojo.instance.InstanceExtensionHandler ├── plugin-default-impl ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── plugin │ │ │ └── auth │ │ │ └── impl │ │ │ ├── CustomAuthenticationProvider.java │ │ │ ├── JwtAuthenticationEntryPoint.java │ │ │ ├── JwtTokenManager.java │ │ │ ├── LdapAuthConfig.java │ │ │ ├── LdapAuthPluginService.java │ │ │ ├── LdapAuthenticationProvider.java │ │ │ ├── NacosAuthConfig.java │ │ │ ├── NacosAuthManager.java │ │ │ ├── NacosAuthPluginService.java │ │ │ ├── configuration │ │ │ └── ConditionOnLdapAuth.java │ │ │ ├── constant │ │ │ ├── AuthConstants.java │ │ │ └── AuthSystemTypes.java │ │ │ ├── controller │ │ │ ├── PermissionController.java │ │ │ ├── RoleController.java │ │ │ └── UserController.java │ │ │ ├── filter │ │ │ └── JwtAuthenticationTokenFilter.java │ │ │ ├── persistence │ │ │ ├── AuthRowMapperManager.java │ │ │ ├── EmbeddedPermissionPersistServiceImpl.java │ │ │ ├── EmbeddedRolePersistServiceImpl.java │ │ │ ├── EmbeddedUserPersistServiceImpl.java │ │ │ ├── ExternalPermissionPersistServiceImpl.java │ │ │ ├── ExternalRolePersistServiceImpl.java │ │ │ ├── ExternalUserPersistServiceImpl.java │ │ │ ├── PermissionInfo.java │ │ │ ├── PermissionPersistService.java │ │ │ ├── RoleInfo.java │ │ │ ├── RolePersistService.java │ │ │ ├── User.java │ │ │ └── UserPersistService.java │ │ │ ├── roles │ │ │ └── NacosRoleServiceImpl.java │ │ │ ├── users │ │ │ ├── NacosUser.java │ │ │ ├── NacosUserDetails.java │ │ │ ├── NacosUserDetailsServiceImpl.java │ │ │ └── User.java │ │ │ └── utils │ │ │ └── PasswordEncoderUtil.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.alibaba.nacos.plugin.auth.spi.server.AuthPluginService │ └── test │ └── java │ └── com │ └── alibaba │ └── nacos │ └── plugin │ └── auth │ └── impl │ ├── JwtTokenManagerTest.java │ ├── controller │ └── UserControllerTest.java │ └── persistence │ ├── EmbeddedPermissionPersistServiceImplTest.java │ ├── EmbeddedRolePersistServiceImplTest.java │ ├── EmbeddedUserPersistServiceImplTest.java │ ├── ExternalPermissionPersistServiceImplTest.java │ ├── ExternalRolePersistServiceImplTest.java │ └── ExternalUserPersistServiceImplTest.java ├── plugin ├── auth │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── plugin │ │ │ └── auth │ │ │ ├── api │ │ │ ├── IdentityContext.java │ │ │ ├── LoginIdentityContext.java │ │ │ ├── Permission.java │ │ │ ├── RequestResource.java │ │ │ └── Resource.java │ │ │ ├── constant │ │ │ ├── ActionTypes.java │ │ │ ├── Constants.java │ │ │ └── SignType.java │ │ │ ├── exception │ │ │ └── AccessException.java │ │ │ └── spi │ │ │ ├── client │ │ │ ├── AbstractClientAuthService.java │ │ │ ├── ClientAuthPluginManager.java │ │ │ └── ClientAuthService.java │ │ │ └── server │ │ │ ├── AuthPluginManager.java │ │ │ └── AuthPluginService.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── plugin │ │ │ └── auth │ │ │ └── spi │ │ │ ├── client │ │ │ └── ClientAuthPluginManagerTest.java │ │ │ ├── mock │ │ │ └── MockClientAuthService.java │ │ │ └── server │ │ │ └── AuthPluginManagerTest.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.alibaba.nacos.plugin.auth.spi.client.AbstractClientAuthService ├── encryption │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── plugin │ │ │ └── encryption │ │ │ ├── EncryptionPluginManager.java │ │ │ ├── handler │ │ │ └── EncryptionHandler.java │ │ │ └── spi │ │ │ └── EncryptionPluginService.java │ │ └── test │ │ └── java │ │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── plugin │ │ └── encryption │ │ ├── EncryptionPluginManagerTest.java │ │ └── handler │ │ └── EncryptionHandlerTest.java └── pom.xml ├── pom.xml ├── resources └── copyright ├── style ├── NacosCheckStyle.xml ├── codeStyle.md └── nacos-code-style-for-idea.xml ├── sys ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── alibaba │ │ │ └── nacos │ │ │ └── sys │ │ │ ├── env │ │ │ ├── Constants.java │ │ │ ├── DatasourceUtil.java │ │ │ ├── EnvUtil.java │ │ │ ├── NacosAutoRefreshPropertySourceLoader.java │ │ │ ├── NacosDefaultPropertySourceEnvironmentPostProcessor.java │ │ │ ├── OperatingSystemBeanManager.java │ │ │ └── OriginTrackedPropertiesLoader.java │ │ │ ├── file │ │ │ ├── FileChangeEvent.java │ │ │ ├── FileWatcher.java │ │ │ └── WatchFileCenter.java │ │ │ └── utils │ │ │ ├── ApplicationUtils.java │ │ │ ├── DiskUtils.java │ │ │ ├── InetUtils.java │ │ │ ├── MethodUtil.java │ │ │ └── PropertiesUtil.java │ └── resources │ │ └── META-INF │ │ ├── nacos-default.properties │ │ └── spring.factories │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── sys │ │ ├── env │ │ ├── EnvUtilWithConfigTest.java │ │ ├── EnvUtilWithoutConfigTest.java │ │ └── NacosDefaultPropertySourceEnvironmentPostProcessorTest.java │ │ └── utils │ │ ├── InetUtilsTest.java │ │ └── PropertiesUtilTest.java │ └── resources │ ├── application-empty.properties │ ├── application-prefix.properties │ ├── application-test.properties │ └── application.properties └── test ├── config-test ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── test │ │ ├── base │ │ ├── BaseClusterTest.java │ │ ├── ConfigCleanUtils.java │ │ ├── HttpClient4Test.java │ │ └── Params.java │ │ └── config │ │ ├── AbstractConfigAPI_CITCase.java │ │ ├── ConfigAPI_CITCase.java │ │ ├── ConfigAPI_With_RootContextPath_CITCase.java │ │ ├── ConfigBeta_CITCase.java │ │ ├── ConfigDerbyImport_CITCase.java │ │ ├── ConfigDerbyRaft_DITCase.java │ │ ├── ConfigExportAndImportAPI_CITCase.java │ │ ├── ConfigLongPollReturnChanges_CITCase.java │ │ ├── ConfigLongPoll_CITCase.java │ │ ├── EmbeddedStorageContextUtils_CITCase.java │ │ └── TextChangeParser.java │ └── resources │ ├── META-INF │ └── services │ │ └── com.alibaba.nacos.api.config.listener.ConfigChangeParser │ ├── application.properties │ ├── logback-test.xml │ └── schema.sql ├── core-test ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── test │ │ ├── base │ │ ├── HttpClient4Test.java │ │ ├── Params.java │ │ └── TextChangeParser.java │ │ ├── common │ │ ├── FileTypeEnum_ITCase.java │ │ ├── NacosAsyncRestTemplate_ITCase.java │ │ ├── NacosRestTemplate_ITCase.java │ │ ├── NacosRestTemplate_Interceptors_ITCase.java │ │ └── WatchFileCenter_ITCase.java │ │ ├── core │ │ ├── SnowFlowerIdGenerator_ITCase.java │ │ ├── auth │ │ │ ├── AuthBase.java │ │ │ ├── ConfigAuth_ITCase.java │ │ │ ├── NamingAuth_ITCase.java │ │ │ ├── Permission_ITCase.java │ │ │ ├── Role_ITCase.java │ │ │ └── User_ITCase.java │ │ ├── cluster │ │ │ ├── MemberLookup_ITCase.java │ │ │ └── ServerMemberManager_ITCase.java │ │ └── code │ │ │ └── ControllerMethodsCacheTest.java │ │ ├── remote │ │ └── NamingTpsMonitorManagerTest.java │ │ └── smoke │ │ └── nacosSmoke_ITCase.java │ └── resources │ ├── META-INF │ └── services │ │ └── com.alibaba.nacos.api.config.listener.ConfigChangeParser │ ├── application.properties │ └── logback-test.xml ├── naming-test ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── alibaba │ │ └── nacos │ │ └── test │ │ ├── base │ │ ├── BaseClusterTest.java │ │ ├── ConfigCleanUtils.java │ │ ├── HttpClient4Test.java │ │ └── Params.java │ │ ├── naming │ │ ├── AbstractInstanceOperate_ITCase.java │ │ ├── AutoDeregisterInstance_ITCase.java │ │ ├── CPInstancesAPI_ITCase.java │ │ ├── ClientBeat_ITCase.java │ │ ├── InstanceOperate_ITCase.java │ │ ├── InstanceOperate_With_RootContextPath_ITCase.java │ │ ├── MultiTenant_ITCase.java │ │ ├── MultiTenant_InstanceAPI_ITCase.java │ │ ├── NamingBase.java │ │ ├── NamingHttpClientProxy_ITCase.java │ │ ├── NamingMaintainService_ITCase.java │ │ ├── NamingRaft_DITCase.java │ │ ├── RandomUtils.java │ │ ├── RestAPI_ITCase.java │ │ ├── SelectInstances_ITCase.java │ │ ├── SelectOneHealthyInstance_ITCase.java │ │ ├── ServiceListTest_ITCase.java │ │ ├── Starter_ITCase.java │ │ ├── SubscribeCluster_ITCase.java │ │ ├── Subscribe_ITCase.java │ │ └── Unsubscribe_ITCase.java │ │ └── utils │ │ └── NamingTestUtils.java │ └── resources │ ├── application.properties │ └── logback-test.xml └── pom.xml /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=java 2 | *.css linguist-language=java 3 | *.html linguist-language=java 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | ## Issue Description 10 | 11 | Type: *bug report* or *feature request* 12 | 13 | ### Describe what happened (or what feature you want) 14 | 15 | 16 | ### Describe what you expected to happen 17 | 18 | 19 | ### How to reproduce it (as minimally and precisely as possible) 20 | 21 | 1. 22 | 2. 23 | 3. 24 | 25 | ### Tell us your environment 26 | 27 | 28 | ### Anything else we need to know? 29 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 17 | 18 | **Is your feature request related to a problem? Please describe.** 19 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 20 | 21 | **Describe the solution you'd like** 22 | A clear and concise description of what you want to happen. 23 | 24 | **Describe alternatives you've considered** 25 | A clear and concise description of any alternative solutions or features you've considered. 26 | 27 | **Additional context** 28 | Add any other context or screenshots about the feature request here. 29 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/old-issue-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Old issue template 3 | about: Describe this issue template's purpose here. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 17 | 18 | ## Issue Description 19 | 20 | Type: *bug report* or *feature request* 21 | 22 | ### Describe what happened (or what feature you want) 23 | 24 | 25 | ### Describe what you expected to happen 26 | 27 | 28 | ### How to reproduce it (as minimally and precisely as possible) 29 | 30 | 1. 31 | 2. 32 | 3. 33 | 34 | ### Tell us your environment 35 | 36 | 37 | ### Anything else we need to know? 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Except this file !.gitignore 2 | .classpath 3 | .project 4 | .settings 5 | target 6 | .idea 7 | .vscode 8 | .DS_Store 9 | .factorypath 10 | /logs 11 | *.iml 12 | *.log 13 | node_modules 14 | test/derby.log 15 | derby.log 16 | work 17 | test/logs 18 | derby.log 19 | yarn.lock 20 | .flattened-pom.xml 21 | -------------------------------------------------------------------------------- /BUILDING: -------------------------------------------------------------------------------- 1 | Build Instructions for NACOS 2 | 3 | ==================================================== 4 | 5 | (1) Prerequisites 6 | 7 | JDK 1.8+ is required in order to compile and run Nacos. 8 | 9 | nacos utilizes Maven as a distribution management and packaging tool. Version 3.0.3 or later is required. 10 | Maven installation and configuration instructions can be found here: 11 | 12 | http://maven.apache.org/run-maven/index.html 13 | 14 | 15 | (2) Run test cases 16 | 17 | Execute the following command in order to compile and run test cases of each components: 18 | 19 | $ mvn test 20 | 21 | 22 | (3) Import projects to Eclipse IDE 23 | 24 | First, generate eclipse project files: 25 | 26 | $ mvn -U eclipse:eclipse 27 | 28 | Then, import to eclipse by specifying the root directory of the project via: 29 | 30 | [File] > [Import] > [Existing Projects into Workspace]. 31 | 32 | 33 | (4) Build distribution packages 34 | 35 | Execute the following command in order to build the tar.gz packages and install JAR into local repository: 36 | 37 | #build nacos 38 | $ mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U 39 | -------------------------------------------------------------------------------- /address/src/main/java/com/alibaba/nacos/address/misc/Loggers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.address.misc; 18 | 19 | import org.slf4j.Logger; 20 | import org.slf4j.LoggerFactory; 21 | 22 | /** 23 | * Loggers holder. 24 | * 25 | * @author pbting 26 | * @date 2019-07-04 4:34 PM 27 | */ 28 | public class Loggers { 29 | 30 | public static final Logger ADDRESS_LOGGER = LoggerFactory.getLogger("com.alibaba.nacos.address.main"); 31 | } 32 | -------------------------------------------------------------------------------- /address/src/main/resources/META-INF/nacos-default.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | -------------------------------------------------------------------------------- /address/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | server.port=8080 17 | server.servlet.context-path=/ 18 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/ability/initializer/AbilityInitializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.ability.initializer; 18 | 19 | /** 20 | * Nacos ability initializer. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public interface AbilityInitializer { 25 | 26 | /** 27 | * Initialize target type abilities content. 28 | * 29 | * @param abilities abilities 30 | */ 31 | void initialize(A abilities); 32 | } 33 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/cmdb/pojo/EntityEventType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.cmdb.pojo; 18 | 19 | /** 20 | * CMDB entity event type. 21 | * 22 | * @author nkorange 23 | * @since 0.7.0 24 | */ 25 | public enum EntityEventType { 26 | 27 | /** 28 | * Add or update entity. 29 | */ 30 | ENTITY_ADD_OR_UPDATE, 31 | /** 32 | * Remove entity. 33 | */ 34 | ENTITY_REMOVE 35 | } 36 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/cmdb/pojo/PreservedEntityTypes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.cmdb.pojo; 18 | 19 | /** 20 | * CMDB preserverd entity type. 21 | * 22 | * @author nkorange 23 | * @since 0.7.0 24 | */ 25 | public enum PreservedEntityTypes { 26 | /** 27 | * Ip. 28 | */ 29 | ip, 30 | /** 31 | * Service. 32 | */ 33 | service 34 | } 35 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/config/PropertyChangeType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.config; 18 | 19 | /** 20 | * Property Change Type. 21 | * 22 | * @author rushsky518 23 | */ 24 | public enum PropertyChangeType { 25 | /** 26 | * add. 27 | */ 28 | ADDED, 29 | /** 30 | * modified. 31 | */ 32 | MODIFIED, 33 | /** 34 | * deleted. 35 | */ 36 | DELETED 37 | } 38 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/config/filter/AbstractConfigFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.config.filter; 18 | 19 | /** 20 | * Config Filter Interface default implementation. 21 | * 22 | * @author luyanbo(RobberPhex) 23 | */ 24 | public abstract class AbstractConfigFilter implements IConfigFilter { 25 | 26 | /** 27 | * init. 28 | * 29 | * @param filterConfig Filter Config 30 | */ 31 | @Override 32 | public void init(IFilterConfig filterConfig) { 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/config/remote/response/ConfigChangeNotifyResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.config.remote.response; 18 | 19 | import com.alibaba.nacos.api.remote.response.Response; 20 | 21 | /** 22 | * config change notify response from client. 23 | * @author liuzunfei 24 | * @version $Id: ConfigChangeNotifyResponse.java, v 0.1 2020年09月01日 2:59 PM liuzunfei Exp $ 25 | */ 26 | public class ConfigChangeNotifyResponse extends Response { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/config/remote/response/cluster/ConfigChangeClusterSyncResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.config.remote.response.cluster; 18 | 19 | import com.alibaba.nacos.api.remote.response.Response; 20 | 21 | /** 22 | * config change sync response on clusters. 23 | * 24 | * @author liuzunfei 25 | * @version $Id: ConfigChangeClusterSyncResponse.java, v 0.1 2020年08月11日 4:32 PM liuzunfei Exp $ 26 | */ 27 | public class ConfigChangeClusterSyncResponse extends Response { 28 | 29 | } 30 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/exception/runtime/NacosLoadException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.exception.runtime; 18 | 19 | /** 20 | * Nacos load exception. 21 | * 22 | * @author hujun 23 | */ 24 | public class NacosLoadException extends RuntimeException { 25 | 26 | private static final long serialVersionUID = 3513491993982295562L; 27 | 28 | public NacosLoadException(String errMsg) { 29 | super(errMsg); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/naming/listener/Event.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.naming.listener; 18 | 19 | /** 20 | * Event Interface. 21 | * 22 | * @author nkorange 23 | */ 24 | public interface Event { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/naming/listener/EventListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.naming.listener; 18 | 19 | /** 20 | * Event Listener. 21 | * 22 | * @author Nacos 23 | */ 24 | public interface EventListener { 25 | 26 | /** 27 | * callback event. 28 | * 29 | * @param event event 30 | */ 31 | void onEvent(Event event); 32 | } 33 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/naming/remote/response/NotifySubscriberResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.naming.remote.response; 18 | 19 | import com.alibaba.nacos.api.remote.response.Response; 20 | 21 | /** 22 | * response for notify service subscribe. 23 | * @author liuzunfei 24 | * @version $Id: NotifySubscriberResponse.java, v 0.1 2020年08月06日 5:28 PM liuzunfei Exp $ 25 | */ 26 | public class NotifySubscriberResponse extends Response { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/naming/spi/generator/IdGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.naming.spi.generator; 18 | 19 | /** 20 | * Generator SPI for Instance Id. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public interface IdGenerator { 25 | 26 | /** 27 | * Generate instance id. 28 | * 29 | * @return instance id 30 | */ 31 | String generateInstanceId(); 32 | } 33 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/Payload.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote; 18 | 19 | /** 20 | * payload class sign. 21 | * 22 | * @author hujun 23 | */ 24 | public interface Payload { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/request/HealthCheckRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.request; 18 | 19 | /** 20 | * request to check server if unimpeded. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ServerCheckRequest.java, v 0.1 2020年07月22日 8:32 PM liuzunfei Exp $ 24 | */ 25 | public class HealthCheckRequest extends InternalRequest { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/request/ServerCheckRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.request; 18 | 19 | /** 20 | * request to check server if unimpeded. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ServerCheckRequest.java, v 0.1 2020年07月22日 8:32 PM liuzunfei Exp $ 24 | */ 25 | public class ServerCheckRequest extends InternalRequest { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/request/ServerLoaderInfoRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.request; 18 | 19 | /** 20 | * get server node loader info. 21 | * @author liuzunfei 22 | * @version $Id: ServerLoaderInfoRequest.java, v 0.1 2020年09月03日 2:45 PM liuzunfei Exp $ 23 | */ 24 | public class ServerLoaderInfoRequest extends InternalRequest { 25 | 26 | public ServerLoaderInfoRequest() { 27 | } 28 | } -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/request/ServerRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.request; 18 | 19 | /** 20 | * ServerPushResponse. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ServerPushResponse.java, v 0.1 2020年07月20日 1:21 PM liuzunfei Exp $ 24 | */ 25 | @SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") 26 | public abstract class ServerRequest extends Request { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/response/ClientDetectionResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.response; 18 | 19 | /** 20 | * response of client active detection check. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ServerCheckResponse.java, v 0.1 2021年01月20日 10:37 PM liuzunfei Exp $ 24 | */ 25 | public class ClientDetectionResponse extends Response { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/response/ConnectResetResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.response; 18 | 19 | /** 20 | * connection reset response. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ConnectResetResponse.java, v 0.1 2020年09月01日 2:43 PM liuzunfei Exp $ 24 | */ 25 | public class ConnectResetResponse extends Response { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/response/HealthCheckResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.response; 18 | 19 | /** 20 | * response of server check. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ServerCheckResponse.java, v 0.1 2020年07月22日 8:37 PM liuzunfei Exp $ 24 | */ 25 | public class HealthCheckResponse extends Response { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/remote/response/ServerReloadResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.remote.response; 18 | 19 | /** 20 | * server reload response. 21 | * 22 | * @author liuzunfei 23 | * @version $Id: ServerReloadResponse.java, v 0.1 2020年11月09日 4:37 PM liuzunfei Exp $ 24 | */ 25 | public class ServerReloadResponse extends Response { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/com/alibaba/nacos/api/selector/NoneSelector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.api.selector; 18 | 19 | /** 20 | * None selector. 21 | * 22 | * @author liaochuntao 23 | * @since 1.0.1 24 | */ 25 | public class NoneSelector extends AbstractSelector { 26 | 27 | public NoneSelector() { 28 | super(SelectorType.none.name()); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /auth/src/main/java/com/alibaba/nacos/auth/parser/http/AbstractHttpResourceParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.auth.parser.http; 18 | 19 | import com.alibaba.nacos.auth.parser.AbstractResourceParser; 20 | 21 | import javax.servlet.http.HttpServletRequest; 22 | 23 | /** 24 | * Abstract Http Resource Parser. 25 | * 26 | * @author xiweng.yy 27 | */ 28 | public abstract class AbstractHttpResourceParser extends AbstractResourceParser { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /auth/src/test/resources/META-INF/services/com.alibaba.nacos.plugin.auth.spi.server.AuthPluginService: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.auth.mock.MockAuthPluginService 18 | -------------------------------------------------------------------------------- /client/src/main/java/com/alibaba/nacos/client/auth/ram/identify/CredentialListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.client.auth.ram.identify; 18 | 19 | /** 20 | * Credential Listener. 21 | * 22 | * @author Nacos 23 | */ 24 | public interface CredentialListener { 25 | 26 | /** 27 | * update Credential. 28 | */ 29 | void onUpdateCredential(); 30 | } 31 | -------------------------------------------------------------------------------- /client/src/main/java/com/alibaba/nacos/client/auth/ram/identify/SpasCredentialLoader.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.client.auth.ram.identify; 18 | 19 | /** 20 | * Spas Credential Loader. 21 | * 22 | * @author Nacos 23 | */ 24 | public interface SpasCredentialLoader { 25 | 26 | /** 27 | * get Credential. 28 | * 29 | * @return Credential 30 | */ 31 | SpasCredential getCredential(); 32 | } 33 | -------------------------------------------------------------------------------- /client/src/main/java/com/alibaba/nacos/client/config/impl/ServerlistChangeEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.client.config.impl; 18 | 19 | import com.alibaba.nacos.common.notify.SlowEvent; 20 | 21 | /** 22 | * Server List Change Event. 23 | * 24 | * @author zongtanghu 25 | */ 26 | public class ServerlistChangeEvent extends SlowEvent { 27 | } 28 | -------------------------------------------------------------------------------- /client/src/main/java/com/alibaba/nacos/client/naming/event/ServerListChangedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.client.naming.event; 18 | 19 | import com.alibaba.nacos.common.notify.SlowEvent; 20 | 21 | /** 22 | * Event of server list changed for naming. 23 | * 24 | * @author gengtuo.ygt 25 | * on 2021/6/7 26 | */ 27 | public class ServerListChangedEvent extends SlowEvent { 28 | } 29 | -------------------------------------------------------------------------------- /client/src/main/resources/META-INF/services/com.alibaba.nacos.api.config.filter.IConfigFilter: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.client.config.filter.impl.ConfigEncryptionFilter -------------------------------------------------------------------------------- /client/src/main/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.client.remote.ClientPayloadPackageProvider -------------------------------------------------------------------------------- /client/src/main/resources/META-INF/services/com.alibaba.nacos.plugin.auth.spi.client.AbstractClientAuthService: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl 19 | com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl 20 | -------------------------------------------------------------------------------- /client/src/test/java/com/alibaba/nacos/client/auth/ram/utils/SignUtilTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.client.auth.ram.utils; 18 | 19 | import org.junit.Assert; 20 | import org.junit.Test; 21 | 22 | public class SignUtilTest { 23 | 24 | @Test 25 | public void testSign() throws Exception { 26 | String actual = SignUtil.sign("aaa", "b"); 27 | Assert.assertEquals("DxyaKScrqL26yXYOuHXE3OwfQ0Y=", actual); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /client/src/test/java/com/alibaba/nacos/client/config/utils/JvmUtilTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * 17 | */ 18 | 19 | package com.alibaba.nacos.client.config.utils; 20 | 21 | import org.junit.Assert; 22 | import org.junit.Test; 23 | 24 | public class JvmUtilTest { 25 | 26 | @Test 27 | public void testIsMultiInstance() { 28 | Boolean multiInstance = JvmUtil.isMultiInstance(); 29 | Assert.assertFalse(multiInstance); 30 | } 31 | } -------------------------------------------------------------------------------- /client/src/test/java/com/alibaba/nacos/client/utils/AppNameUtilsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * 17 | */ 18 | 19 | package com.alibaba.nacos.client.utils; 20 | 21 | import org.junit.Assert; 22 | import org.junit.Test; 23 | 24 | public class AppNameUtilsTest { 25 | 26 | @Test 27 | public void testGetAppName() { 28 | String appName = AppNameUtils.getAppName(); 29 | Assert.assertEquals("unknown", appName); 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /client/src/test/java/com/alibaba/nacos/client/utils/LogUtilsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.client.utils; 18 | 19 | import org.junit.Assert; 20 | import org.junit.Test; 21 | import org.slf4j.Logger; 22 | 23 | public class LogUtilsTest { 24 | 25 | @Test 26 | public void testLogger() { 27 | Logger logger = LogUtils.logger(LogUtilsTest.class); 28 | Assert.assertNotNull(logger); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /client/src/test/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.client.remote.ClientPayloadPackageProvider -------------------------------------------------------------------------------- /cmdb/src/main/java/com/alibaba/nacos/cmdb/CmdbApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.cmdb; 18 | 19 | import org.springframework.boot.SpringApplication; 20 | import org.springframework.boot.autoconfigure.SpringBootApplication; 21 | 22 | /** 23 | * CMDB starter. 24 | * 25 | * @author nkorange 26 | * @since 0.7.0 27 | */ 28 | @SpringBootApplication 29 | public class CmdbApp { 30 | 31 | public static void main(String[] args) { 32 | SpringApplication.run(CmdbApp.class, args); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /cmdb/src/main/java/com/alibaba/nacos/cmdb/service/CmdbWriter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.cmdb.service; 18 | 19 | /** 20 | * CMDB writer. 21 | * 22 | * @author nkorange 23 | * @since 0.7.0 24 | */ 25 | public interface CmdbWriter { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /cmdb/src/main/java/com/alibaba/nacos/cmdb/utils/Loggers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.cmdb.utils; 18 | 19 | import org.slf4j.Logger; 20 | import org.slf4j.LoggerFactory; 21 | 22 | /** 23 | * Loggers holder. 24 | * 25 | * @author nacos 26 | * @since 0.7.0 27 | */ 28 | public class Loggers { 29 | 30 | public static final Logger MAIN = LoggerFactory.getLogger("com.alibaba.nacos.cmdb.main"); 31 | } 32 | -------------------------------------------------------------------------------- /cmdb/src/main/java/com/alibaba/nacos/cmdb/utils/UtilsAndCommons.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.cmdb.utils; 18 | 19 | /** 20 | * Utils and constants. 21 | * 22 | * @author nkorange 23 | * @since 0.7.0 24 | */ 25 | public class UtilsAndCommons { 26 | 27 | private static final String NACOS_SERVER_VERSION = "/v1"; 28 | 29 | public static final String NACOS_CMDB_CONTEXT = NACOS_SERVER_VERSION + "/cmdb"; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /cmdb/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | server.port=8848 17 | server.servlet.context-path=/nacos 18 | nacos.cmdb.dumpTaskInterval=3600 19 | nacos.cmdb.eventTaskInterval=10 20 | nacos.cmdb.loadDataAtStart=true 21 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | comment: 2 | behavior: default 3 | layout: reach,diff,flags,files,footer 4 | require_changes: false 5 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/JustForTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common; 18 | 19 | /** 20 | * Just for test. 21 | * 22 | * @author liaochuntao 23 | */ 24 | public @interface JustForTest { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/constant/RequestUrlConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.constant; 18 | 19 | /** 20 | * Nacos request url constants. 21 | * 22 | * @author chenhao26 23 | */ 24 | public interface RequestUrlConstants { 25 | 26 | String HTTP_PREFIX = "http://"; 27 | String HTTPS_PREFIX = "https://"; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/http/handler/RequestHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.http.handler; 18 | 19 | import com.alibaba.nacos.common.utils.JacksonUtils; 20 | 21 | /** 22 | * Request handler. 23 | * 24 | * @author liaochuntao 25 | */ 26 | public final class RequestHandler { 27 | 28 | public static String parse(Object object) throws Exception { 29 | return JacksonUtils.toJson(object); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/notify/SlowEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.notify; 18 | 19 | /** 20 | * This event share one event-queue. 21 | * 22 | * @author liaochuntao 23 | * @author zongtanghu 24 | */ 25 | @SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule") 26 | public abstract class SlowEvent extends Event { 27 | 28 | @Override 29 | public long sequence() { 30 | return 0; 31 | } 32 | } -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common; -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/remote/PayloadPackageProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.remote; 18 | 19 | import java.util.Set; 20 | 21 | /** 22 | * package provider. 23 | * 24 | * @author hujun 25 | */ 26 | public interface PayloadPackageProvider { 27 | 28 | /** 29 | * get scan package. 30 | * @return scan package list 31 | */ 32 | Set getScanPackage(); 33 | 34 | } 35 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/task/AbstractExecuteTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.task; 18 | 19 | /** 20 | * Abstract task which should be executed immediately. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public abstract class AbstractExecuteTask implements NacosTask, Runnable { 25 | 26 | protected static final long INTERVAL = 3000L; 27 | 28 | @Override 29 | public boolean shouldProcess() { 30 | return true; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/task/NacosTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.task; 18 | 19 | /** 20 | * Nacos task. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public interface NacosTask { 25 | 26 | /** 27 | * Judge Whether this nacos task should do. 28 | * 29 | * @return true means the nacos task should be done, otherwise false 30 | */ 31 | boolean shouldProcess(); 32 | } 33 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/task/NacosTaskProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.task; 18 | 19 | /** 20 | * Task processor. 21 | * 22 | * @author Nacos 23 | */ 24 | public interface NacosTaskProcessor { 25 | 26 | /** 27 | * Process task. 28 | * 29 | * @param task task. 30 | * @return process task result. 31 | */ 32 | boolean process(NacosTask task); 33 | } 34 | -------------------------------------------------------------------------------- /common/src/main/java/com/alibaba/nacos/common/utils/UuidUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.utils; 18 | 19 | import java.util.UUID; 20 | 21 | /** 22 | * UUID utils. 23 | * 24 | * @author nkorange 25 | */ 26 | public class UuidUtils { 27 | 28 | public static String generateUuid() { 29 | return UUID.randomUUID().toString(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /common/src/main/resources/nacos-version.txt: -------------------------------------------------------------------------------- 1 | version=${project.version} 2 | -------------------------------------------------------------------------------- /common/src/test/java/com/alibaba/nacos/common/event/ServerConfigChangeEventTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.event; 18 | 19 | import com.alibaba.nacos.common.notify.Event; 20 | import org.junit.Assert; 21 | import org.junit.Test; 22 | 23 | public class ServerConfigChangeEventTest { 24 | 25 | @Test 26 | public void test() { 27 | Event event = ServerConfigChangeEvent.newEvent(); 28 | Assert.assertTrue(event instanceof ServerConfigChangeEvent); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /common/src/test/java/com/alibaba/nacos/common/http/param/HeaderTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.http.param; 18 | 19 | import org.junit.Test; 20 | 21 | import static org.junit.Assert.assertEquals; 22 | 23 | public class HeaderTest { 24 | 25 | @Test 26 | public void testHeaderKyeIgnoreCase() { 27 | Header header = Header.newInstance(); 28 | header.addParam("Content-Encoding", "gzip"); 29 | assertEquals("gzip", header.getValue("content-encoding")); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /common/src/test/java/com/alibaba/nacos/common/spi/SpiTestImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.spi; 18 | 19 | public class SpiTestImpl implements SpiTestInterface { 20 | } 21 | -------------------------------------------------------------------------------- /common/src/test/java/com/alibaba/nacos/common/spi/SpiTestInterface.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.common.spi; 18 | 19 | public interface SpiTestInterface { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /common/src/test/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.common.remote.MockPayloadPackageProvider -------------------------------------------------------------------------------- /common/src/test/resources/META-INF/services/com.alibaba.nacos.common.spi.SpiTestInterface: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.common.spi.SpiTestImpl -------------------------------------------------------------------------------- /config/src/main/java/com/alibaba/nacos/config/server/manager/TaskManagerMBean.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.config.server.manager; 18 | 19 | /** 20 | * TaskManagerMBean. 21 | * 22 | * @author Nacos 23 | */ 24 | @SuppressWarnings("PMD.ClassNamingShouldBeCamelRule") 25 | public interface TaskManagerMBean { 26 | 27 | /** 28 | * Get task info. 29 | * 30 | * @return info 31 | */ 32 | String getTaskInfos(); 33 | 34 | } 35 | -------------------------------------------------------------------------------- /config/src/main/java/com/alibaba/nacos/config/server/model/AuthType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.config.server.model; 18 | 19 | /** 20 | * Auth type. 21 | * 22 | * @author Nacos 23 | */ 24 | public enum AuthType { 25 | /** 26 | * Auth type. 27 | */ 28 | GROUP, 29 | GROUP_DATAID, 30 | TENANT_GROUP, 31 | TENANT 32 | } 33 | -------------------------------------------------------------------------------- /config/src/main/java/com/alibaba/nacos/config/server/model/SameConfigPolicy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.config.server.model; 18 | 19 | /** 20 | * SameConfigPolicy. 21 | * 22 | * @author klw 23 | */ 24 | public enum SameConfigPolicy { 25 | 26 | /** 27 | * Abort import on duplicate. 28 | */ 29 | ABORT, 30 | 31 | /** 32 | * Skipping on duplicate. 33 | */ 34 | SKIP, 35 | 36 | /** 37 | * Overwrite on duplicate. 38 | */ 39 | OVERWRITE 40 | 41 | } 42 | -------------------------------------------------------------------------------- /config/src/main/java/com/alibaba/nacos/config/server/model/event/RaftDbErrorRecoverEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.config.server.model.event; 18 | 19 | import com.alibaba.nacos.common.JustForTest; 20 | import com.alibaba.nacos.common.notify.Event; 21 | 22 | /** 23 | * RaftDBErrorRecoverEvent. 24 | * 25 | * @author liaochuntao 26 | */ 27 | @JustForTest 28 | public class RaftDbErrorRecoverEvent extends Event { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /config/src/main/java/com/alibaba/nacos/config/server/monitor/PrintGetConfigResponeTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.config.server.monitor; 18 | 19 | import static com.alibaba.nacos.config.server.utils.LogUtil.MEMORY_LOG; 20 | 21 | /** 22 | * PrintGetConfigResponeTask. 23 | * 24 | * @author zongtanghu 25 | */ 26 | public class PrintGetConfigResponeTask implements Runnable { 27 | @Override 28 | public void run() { 29 | MEMORY_LOG.info(ResponseMonitor.getStringForPrint()); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /config/src/main/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.config.server.remote.ConfigPayloadPackageProvider -------------------------------------------------------------------------------- /config/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationContextInitializer=\ 2 | com.alibaba.nacos.config.server.utils.PropertyUtil -------------------------------------------------------------------------------- /config/src/main/resources/version/version.txt: -------------------------------------------------------------------------------- 1 | ${project.version} 2 | -------------------------------------------------------------------------------- /config/src/test/java/com/alibaba/nacos/config/server/utils/SystemConfigTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.config.server.utils; 18 | 19 | import org.junit.Assert; 20 | import org.junit.Test; 21 | 22 | public class SystemConfigTest { 23 | 24 | @Test 25 | public void testGetHostAddress() { 26 | System.setProperty("nacos.server.ip", "127.0.0.1"); 27 | Assert.assertEquals("127.0.0.1", SystemConfig.LOCAL_IP); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /config/src/test/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.config.server.remote.ConfigPayloadPackageProvider -------------------------------------------------------------------------------- /config/src/test/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | -------------------------------------------------------------------------------- /config/src/test/resources/user.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | admin=admin 17 | -------------------------------------------------------------------------------- /consistency/src/main/java/com/alibaba/nacos/consistency/ap/APProtocol.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.consistency.ap; 18 | 19 | import com.alibaba.nacos.consistency.Config; 20 | import com.alibaba.nacos.consistency.ConsistencyProtocol; 21 | 22 | /** 23 | * ap protocol. 24 | * 25 | * @author liaochuntao 26 | */ 27 | @SuppressWarnings("all") 28 | public interface APProtocol extends ConsistencyProtocol { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /consistency/src/main/java/com/alibaba/nacos/consistency/ap/RequestProcessor4AP.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.consistency.ap; 18 | 19 | import com.alibaba.nacos.consistency.RequestProcessor; 20 | 21 | /** 22 | * log processor for ap. 23 | * 24 | * @author liaochuntao 25 | */ 26 | @SuppressWarnings("all") 27 | public abstract class RequestProcessor4AP extends RequestProcessor { 28 | 29 | } 30 | -------------------------------------------------------------------------------- /consistency/src/main/resources/META-INF/services/com.alibaba.nacos.consistency.Serializer: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.consistency.serialize.JacksonSerializer 18 | -------------------------------------------------------------------------------- /console-ui/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/preset-env", 5 | { 6 | "useBuiltIns": "entry" 7 | } 8 | ], 9 | "react-app" 10 | ], 11 | "plugins": [ 12 | [ 13 | "@babel/plugin-proposal-decorators", 14 | { 15 | "legacy": true 16 | } 17 | ], 18 | [ 19 | "babel-plugin-import", 20 | { 21 | "libraryName": "@alifd/next", 22 | "style": true 23 | } 24 | ] 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /console-ui/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [Makefile] 16 | indent_style = tab -------------------------------------------------------------------------------- /console-ui/.eslintignore: -------------------------------------------------------------------------------- 1 | *.svg 2 | *.ejs 3 | .DS_Store 4 | build 5 | node_modules 6 | public -------------------------------------------------------------------------------- /console-ui/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "eslint-config-ali/react", 3 | "parser": "babel-eslint", 4 | "env": {}, 5 | "globals": { 6 | "window": true 7 | }, 8 | "rules": { 9 | "no-shadow": "off", 10 | "no-empty": "off", 11 | "no-useless-escape": "off", 12 | "no-template-curly-in-string": "off", 13 | "no-unused-vars": "off", 14 | "no-tabs": "off", 15 | "no-param-reassign": "off", 16 | "react/no-string-refs": "off", 17 | "react/no-unused-state": "off", 18 | "no-return-assign": "off", 19 | "no-plusplus": "off", 20 | "no-script-url": "off", 21 | "no-mixed-operators": "off", 22 | "react/jsx-indent": "off", 23 | "react/jsx-no-bind": "off", 24 | "react/forbid-prop-types": "off", 25 | "react/no-array-index-key": "off", 26 | "react/sort-comp": "off", 27 | "implicit-arrow-linebreak": "off", 28 | "prefer-const": "off", 29 | "space-before-function-paren": "off", 30 | "generator-star-spacing": "off", 31 | "wrap-iife": "off", 32 | "arrow-parens": "off", 33 | "indent": "off", 34 | "comma-dangle": "off" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /console-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # production 7 | /dist 8 | 9 | # log 10 | yarn-error.log 11 | 12 | # misc 13 | .DS_Store 14 | npm-debug.log* 15 | 16 | # test 17 | test/uirecorder.log 18 | test/reports 19 | test/screenshots/* -------------------------------------------------------------------------------- /console-ui/.prettierignore: -------------------------------------------------------------------------------- 1 | *.svg 2 | *.ejs 3 | .DS_Store 4 | build 5 | node_modules 6 | public -------------------------------------------------------------------------------- /console-ui/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "printWidth": 100, 4 | "semi": true, 5 | "useTabs": false, 6 | "bracketSpacing": true, 7 | "singleQuote": true, 8 | "trailingComma": "es5" 9 | } 10 | -------------------------------------------------------------------------------- /console-ui/README.md: -------------------------------------------------------------------------------- 1 | # 开始项目 2 | 国内访问 npm 比较慢,我们可以使用阿里的镜像, 3 | 在 npm 或者 yarn 命令后面加参数: 4 | > --registry=https://registry.npm.taobao.org 5 | 例: 6 | ``` 7 | npm install --registry=https://registry.npm.taobao.org 8 | yarn --registry=https://registry.npm.taobao.org 9 | ``` 10 | [详情地址: http://npm.taobao.org/](http://npm.taobao.org/) 11 | 12 | ## Node安装 13 | 14 | NodeJS提供了一些安装程序,都可以在[nodejs.org](https://nodejs.org/download/release/) 这里下载并安装。mac系统选择.pkg结尾的文件下载安装。 15 | 注意node版本号过高可能导致 `npm install` 时失败,建议版本: 16 | - node:v8.16.0 17 | - npm:6.4.1 18 | 19 | ## 安装依赖 20 | ```sh 21 | yarn 22 | ``` 23 | 或 24 | ``` 25 | npm install 26 | ``` 27 | 28 | ## 启动 29 | ```sh 30 | yarn start 31 | ``` 32 | 或 33 | ``` 34 | npm start 35 | ``` 36 | 37 | ## 构建打包 38 | ```sh 39 | yarn build 40 | ``` 41 | 或 42 | ``` 43 | npm run build 44 | ``` 45 | ## 46 | 47 | # 代理配置 48 | `build/webpack.dev.conf.js` 49 | 修改proxy属性 50 | 51 | ``` 52 | proxy: [{ 53 | context: ['/'], 54 | changeOrigin: true, 55 | secure: false, 56 | target: 'http://ip:port', 57 | }], 58 | ``` -------------------------------------------------------------------------------- /console-ui/src/components/BatchHandle/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import BatchHandle from './BatchHandle'; 18 | 19 | export default BatchHandle; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/BatchHandle/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/CloneDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import CloneDialog from './CloneDialog'; 18 | 19 | export default CloneDialog; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/CloneDialog/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/DeleteDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import DeleteDialog from './DeleteDialog'; 18 | 19 | export default DeleteDialog; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/DeleteDialog/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/DiffEditorDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import DiffEditorDialog from './DiffEditorDialog'; 18 | 19 | export default DiffEditorDialog; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/DiffEditorDialog/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/EditorNameSpace/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import EditorNameSpace from './EditorNameSpace'; 18 | 19 | export default EditorNameSpace; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/EditorNameSpace/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/ExportDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ExportDialog from './ExportDialog'; 18 | 19 | export default ExportDialog; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/ExportDialog/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/ImportDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ImportDialog from './ImportDialog'; 18 | 19 | export default ImportDialog; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/ImportDialog/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/MonacoEditor/constant.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export const MONACO_OPTIONS: Object = { 18 | codeLens: true, 19 | selectOnLineNumbers: true, 20 | roundedSelection: false, 21 | readOnly: false, 22 | lineNumbersMinChars: true, 23 | theme: 'vs-dark', 24 | wordWrapColumn: 120, 25 | folding: true, 26 | showFoldingControls: 'always', 27 | wordWrap: 'wordWrapColumn', 28 | cursorStyle: 'line', 29 | automaticLayout: true, 30 | }; 31 | -------------------------------------------------------------------------------- /console-ui/src/components/MonacoEditor/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/MonacoEditor/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import MonacoEditor from './MonacoEditor'; 18 | 19 | export default MonacoEditor; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/NameSpaceList/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import NameSpaceList from './NameSpaceList'; 18 | 19 | export default NameSpaceList; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/NameSpaceList/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/NewNameSpace/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import NewNameSpace from './NewNameSpace'; 18 | 19 | export default NewNameSpace; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/NewNameSpace/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/RegionGroup/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import RegionGroup from './RegionGroup'; 18 | 19 | export default RegionGroup; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/RegionGroup/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/ShowCodeing/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ShowCodeing from './ShowCodeing'; 18 | 19 | export default ShowCodeing; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/ShowCodeing/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/components/SuccessDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import SuccessDialog from './SuccessDialog'; 18 | 19 | export default SuccessDialog; 20 | -------------------------------------------------------------------------------- /console-ui/src/components/SuccessDialog/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/locales/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import enUS from './en-US'; 18 | import zhCN from './zh-CN'; 19 | 20 | export default { enUS, zhCN }; 21 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/PermissionsManagement/PermissionsManagement.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/PermissionsManagement/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import PermissionsManagement from './PermissionsManagement'; 18 | 19 | export default PermissionsManagement; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/README.md: -------------------------------------------------------------------------------- 1 | # 权限控制 2 | 3 | > AuthorityControl 4 | 5 | 1. UserManagement => 用户管理 6 | 2. RolesManagement => 角色管理 7 | 3. PermissionsManagement => 权限管理 -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/RolesManagement/RolesManagement.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/RolesManagement/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import RolesManagement from './RolesManagement'; 18 | 19 | export default RolesManagement; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/UserManagement/UserManagement.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | @import '../authority.scss'; 17 | 18 | .users-pagination { 19 | float: right; 20 | margin-top: 20px; 21 | } 22 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/UserManagement/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import UserManagement from './UserManagement'; 18 | 19 | export default UserManagement; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/AuthorityControl/authority.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | .filter-panel { 18 | text-align: right; 19 | padding: 10px 0; 20 | } 21 | -------------------------------------------------------------------------------- /console-ui/src/pages/ClusterManagement/ClusterNodeList/ClusterNodeList.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | .cluster-management { 18 | .page-title { 19 | height: 30px; 20 | width: 100%; 21 | line-height: 30px; 22 | margin: 0 0 20px; 23 | padding: 0 0 0 10px; 24 | border-left: 3px solid #09c; 25 | color: #ccc; 26 | } 27 | .title-item { 28 | font-size: 14px; 29 | color: #000; 30 | margin-right: 8px; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /console-ui/src/pages/ClusterManagement/ClusterNodeList/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ClusterNodeList from './ClusterNodeList'; 18 | 19 | export default ClusterNodeList; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigDetail/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ConfigDetail from './ConfigDetail'; 18 | 19 | export default ConfigDetail; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigDetail/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | .button-list { 17 | text-align: right; 18 | button { 19 | margin-left: 1em; 20 | font-size: 14px; 21 | } 22 | } 23 | 24 | .editor-full-screen { 25 | width: 100%; 26 | height: 100%; 27 | position: fixed; 28 | top: 0; 29 | left: 0; 30 | z-index: 100; 31 | } 32 | .editor-normal { 33 | clear: both; 34 | } 35 | 36 | .more-item.hide { 37 | display: none; 38 | } -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigEditor/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ConfigEditor from './NewConfigEditor'; 18 | 19 | export default ConfigEditor; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigRollback/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ConfigRollback from './ConfigRollback'; 18 | 19 | export default ConfigRollback; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigRollback/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigSync/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ConfigSync from './ConfigSync'; 18 | 19 | export default ConfigSync; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigSync/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ConfigurationManagement from './ConfigurationManagement'; 18 | 19 | export default ConfigurationManagement; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | .next-pagination-size-selector { 18 | position: static !important; 19 | } 20 | .configuration-table { 21 | margin-bottom: 20px; 22 | } 23 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/HistoryDetail/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import HistoryDetail from './HistoryDetail'; 18 | 19 | export default HistoryDetail; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/HistoryDetail/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/HistoryRollback/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import HistoryRollback from './HistoryRollback'; 18 | 19 | export default HistoryRollback; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/HistoryRollback/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ListeningToQuery/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ListeningToQuery from './ListeningToQuery'; 18 | 19 | export default ListeningToQuery; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/ListeningToQuery/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/NewConfig/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import NewConfig from './NewConfig'; 18 | 19 | export default NewConfig; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ConfigurationManagement/NewConfig/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | .new-config-form { 18 | margin-top: 36px; 19 | } 20 | 21 | .more-item.hide { 22 | display: none; 23 | } 24 | 25 | .editor-full-screen { 26 | width: 100%; 27 | height: 100%; 28 | position: fixed; 29 | top: 0; 30 | left: 0; 31 | z-index: 100; 32 | } 33 | 34 | .editor-normal { 35 | clear: both; 36 | } -------------------------------------------------------------------------------- /console-ui/src/pages/Login/index.jsx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import Login from './Login'; 18 | 19 | export default Login; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/NameSpace/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import NameSpace from './NameSpace'; 18 | 19 | export default NameSpace; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/NameSpace/index.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /console-ui/src/pages/ServiceManagement/ServiceDetail/constant.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export const DIALOG_FORM_LAYOUT = { 18 | labelCol: { fixedSpan: 6 }, 19 | wrapperCol: { span: 18 }, 20 | }; 21 | 22 | export const HEALTHY_COLOR_MAPPING = { 23 | true: 'green', 24 | false: 'red', 25 | }; 26 | 27 | export const MONACO_READONLY_OPTIONS = { 28 | readOnly: true, 29 | }; 30 | 31 | export const METADATA_SEPARATOR = ','; 32 | 33 | export const METADATA_ENTER = '\r\n'; 34 | -------------------------------------------------------------------------------- /console-ui/src/pages/ServiceManagement/ServiceDetail/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ServiceDetail from './ServiceDetail'; 18 | 19 | export default ServiceDetail; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ServiceManagement/ServiceDetail/util.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export const isDiff = function(prev, next) { 18 | if (prev.size !== next.size) return true; 19 | 20 | let isDiff = false; 21 | next.forEach((value, key) => { 22 | isDiff = value !== prev.get(key); 23 | }); 24 | 25 | return isDiff; 26 | }; 27 | -------------------------------------------------------------------------------- /console-ui/src/pages/ServiceManagement/ServiceList/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import ServiceList from './ServiceList'; 18 | 19 | export default ServiceList; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/ServiceManagement/SubscriberList/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import SubscriberList from './SubscriberList'; 18 | 19 | export default SubscriberList; 20 | -------------------------------------------------------------------------------- /console-ui/src/pages/Welcome/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import Welcome from './Welcome'; 18 | 19 | export default Welcome; 20 | -------------------------------------------------------------------------------- /console-ui/src/reducers/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import locale from './locale'; 18 | import base from './base'; 19 | import subscribers from './subscribers'; 20 | import authority from './authority'; 21 | import namespace from './namespace'; 22 | import configuration from './configuration'; 23 | 24 | export default { locale, base, subscribers, authority, namespace, configuration }; 25 | -------------------------------------------------------------------------------- /console-ui/test/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | # Apply for all files 8 | [*] 9 | 10 | charset = utf-8 11 | 12 | indent_style = space 13 | indent_size = 4 14 | 15 | end_of_line = lf 16 | insert_final_newline = true 17 | trim_trailing_whitespace = true 18 | -------------------------------------------------------------------------------- /console-ui/test/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | node_modules 4 | npm-debug.log 5 | uirecorder.log 6 | reports 7 | screenshots/**/*.png 8 | screenshots/**/*.html 9 | screenshots/**/*.json 10 | -------------------------------------------------------------------------------- /console-ui/test/README.md: -------------------------------------------------------------------------------- 1 | ## 使用说明 2 | 3 | ### 安装依赖 4 | ```sh 5 | npm install uirecorder mocha -g 6 | npm install 7 | ``` 8 | 9 | ### 安装chrome浏览器插件 10 | ```sh 11 | npm run installdriver 12 | ``` 13 | 14 | ### 开始录制测试用例 15 | ```sh 16 | // xxx.spec.js 为你的测试用例文件名称 17 | uirecorder sample/xxx.spec.js 18 | ``` 19 | 20 | ### 回归测试 21 | #### 启动服务 22 | ```sh 23 | npm run server 24 | ``` 25 | 26 | #### 单个文件测试 27 | ```sh 28 | // xxx.spec.js 为你的测试用例文件名称 29 | npm run singletest sample/xxx.spec.js 30 | ``` 31 | 32 | #### 并发测试 33 | ```sh 34 | npm run paralleltest 35 | ``` 36 | 37 | ### 查看报告 38 | ```sh 39 | open reports/index.html 40 | ``` -------------------------------------------------------------------------------- /console-ui/test/commons/commons.md: -------------------------------------------------------------------------------- 1 | Please save common test case here. -------------------------------------------------------------------------------- /console-ui/test/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "webdriver": { 3 | "host": "127.0.0.1", 4 | "port": "4444", 5 | "browsers": "chrome" 6 | }, 7 | "vars": {}, 8 | "recorder": { 9 | "pathAttrs": "data-id,data-name,type,data-type,role,data-role,data-value", 10 | "attrValueBlack": "", 11 | "classValueBlack": "", 12 | "hideBeforeExpect": "" 13 | } 14 | } -------------------------------------------------------------------------------- /console-ui/test/hosts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console-ui/test/hosts -------------------------------------------------------------------------------- /console-ui/test/install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ls ~/nvm || git clone https://github.com/creationix/nvm.git ~/nvm 3 | source ~/nvm/nvm.sh 4 | nvm install v7.10.0 5 | npm install 6 | -------------------------------------------------------------------------------- /console-ui/test/run.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%1" neq "" ( 4 | npm run singletest %1 %2 5 | ) else ( 6 | npm run paralleltest 7 | ) 8 | -------------------------------------------------------------------------------- /console-ui/test/run.sh: -------------------------------------------------------------------------------- 1 | if [ "$1" = "" ]; then 2 | npm run paralleltest 3 | else 4 | npm run singletest $1 $2 5 | fi 6 | -------------------------------------------------------------------------------- /console-ui/test/uploadfiles/uploadfiles.md: -------------------------------------------------------------------------------- 1 | Please save upload files here. 2 | -------------------------------------------------------------------------------- /console-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strictNullChecks": true, 4 | "moduleResolution": "node", 5 | "experimentalDecorators": true, 6 | "jsx": "preserve", 7 | "noUnusedParameters": true, 8 | "noUnusedLocals": true, 9 | "noImplicitAny": false, 10 | "target": "es6", 11 | "lib": ["dom", "es7"] 12 | }, 13 | "include": [ 14 | "src/**/*" 15 | ], 16 | "exclude": [ 17 | "node_modules", 18 | "**/*.spec.ts", 19 | ] 20 | } -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-bold.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-bold.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-light.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-light.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-light.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-light.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-medium.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-medium.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-regular.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-regular.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-thin.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-thin.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/icons/icon-font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/icons/icon-font.eot -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/icons/icon-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/icons/icon-font.ttf -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/icons/icon-font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/icons/icon-font.woff -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/icons/icon-font.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/icons/icon-font.woff2 -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/img/black_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/img/black_dot.png -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/img/favicon.ico -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/img/nacos-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/img/nacos-logo.png -------------------------------------------------------------------------------- /console/src/main/resources/static/console-ui/public/img/nacos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/console-ui/public/img/nacos.png -------------------------------------------------------------------------------- /console/src/main/resources/static/img/black_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/img/black_dot.png -------------------------------------------------------------------------------- /console/src/main/resources/static/img/nacos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/console/src/main/resources/static/img/nacos.png -------------------------------------------------------------------------------- /core/src/main/java/com/alibaba/nacos/core/distributed/raft/utils/RetryRunner.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.core.distributed.raft.utils; 18 | 19 | /** 20 | * Retry function. 21 | * 22 | * @author liaochuntao 23 | */ 24 | @FunctionalInterface 25 | public interface RetryRunner { 26 | 27 | /** 28 | * Tasks that require retry. 29 | */ 30 | void run(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/alibaba/nacos/core/model/request/LookupUpdateRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.core.model.request; 18 | 19 | /** 20 | * Update member lookup type. 21 | * 22 | * @author wuzhiguo 23 | */ 24 | public class LookupUpdateRequest { 25 | 26 | private String type; 27 | 28 | public String getType() { 29 | return type; 30 | } 31 | 32 | public void setType(String type) { 33 | this.type = type; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/com.alibaba.nacos.core.ability.ServerAbilityInitializer: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.core.ability.RemoteAbilityInitializer 18 | -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | # ApplicationListener 2 | org.springframework.context.ApplicationListener=\ 3 | com.alibaba.nacos.core.code.StandaloneProfileApplicationListener 4 | # SpringApplicationRunListener 5 | org.springframework.boot.SpringApplicationRunListener=\ 6 | com.alibaba.nacos.core.code.SpringApplicationRunListener 7 | -------------------------------------------------------------------------------- /core/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ,--. 3 | ,--.'| 4 | ,--,: : | Nacos ${application.version} 5 | ,`--.'`| ' : ,---. Running in ${nacos.mode} mode, ${nacos.function.mode} function modules 6 | | : : | | ' ,'\ .--.--. Port: ${server.port} 7 | : | \ | : ,--.--. ,---. / / | / / ' Pid: ${pid} 8 | | : ' '; | / \ / \. ; ,. :| : /`./ Console: http://${nacos.local.ip}:${server.port}${server.servlet.contextPath}/index.html 9 | ' ' ;. ;.--. .-. | / / '' | |: :| : ;_ 10 | | | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io 11 | ' : | ; .' ," .--.; |' ; :__| : | `----. \ 12 | | | '`--' / / ,. |' | '.'|\ \ / / /`--' / 13 | ' : | ; : .' \ : : `----' '--'. / 14 | ; |.' | , .-./\ \ / `--'---' 15 | '---' `--`---' `----' 16 | -------------------------------------------------------------------------------- /core/src/test/java/com/alibaba/nacos/core/ability/ServerAbilityInitializerHolderTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.core.ability; 18 | 19 | import org.junit.Test; 20 | 21 | import static org.junit.Assert.assertEquals; 22 | 23 | public class ServerAbilityInitializerHolderTest { 24 | 25 | @Test 26 | public void testGetInitializers() { 27 | assertEquals(1, ServerAbilityInitializerHolder.getInstance().getInitializers().size()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/src/test/java/com/alibaba/nacos/core/model/request/LookupUpdateRequestTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.core.model.request; 18 | 19 | import org.junit.Assert; 20 | import org.junit.Test; 21 | 22 | public class LookupUpdateRequestTest { 23 | 24 | @Test 25 | public void test() { 26 | LookupUpdateRequest request = new LookupUpdateRequest(); 27 | request.setType("type"); 28 | 29 | Assert.assertEquals(request.getType(), "type"); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/src/test/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.core.remote.MockPayloadPackageProvider -------------------------------------------------------------------------------- /core/src/test/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | -------------------------------------------------------------------------------- /distribution/bin/shutdown.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | rem Licensed under the Apache License, Version 2.0 (the "License"); 4 | rem you may not use this file except in compliance with the License. 5 | rem You may obtain a copy of the License at 6 | rem 7 | rem http://www.apache.org/licenses/LICENSE-2.0 8 | rem 9 | rem Unless required by applicable law or agreed to in writing, software 10 | rem distributed under the License is distributed on an "AS IS" BASIS, 11 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | rem See the License for the specific language governing permissions and 13 | rem limitations under the License. 14 | if not exist "%JAVA_HOME%\bin\jps.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1 15 | 16 | setlocal 17 | 18 | set "PATH=%JAVA_HOME%\bin;%PATH%" 19 | 20 | echo killing nacos server 21 | 22 | for /f "tokens=1" %%i in ('jps -m ^| find "nacos.nacos"') do ( taskkill /F /PID %%i ) 23 | 24 | echo Done! 25 | -------------------------------------------------------------------------------- /distribution/bin/shutdown.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | cd `dirname $0`/../target 16 | target_dir=`pwd` 17 | 18 | pid=`ps ax | grep -i 'nacos.nacos' | grep ${target_dir} | grep java | grep -v grep | awk '{print $1}'` 19 | if [ -z "$pid" ] ; then 20 | echo "No nacosServer running." 21 | exit -1; 22 | fi 23 | 24 | echo "The nacosServer(${pid}) is running..." 25 | 26 | kill ${pid} 27 | 28 | echo "Send shutdown request to nacosServer(${pid}) OK" 29 | -------------------------------------------------------------------------------- /distribution/conf/cluster.conf.example: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | #it is ip 18 | #example 19 | 192.168.16.101:8847 20 | 192.168.16.102 21 | 192.168.16.103 22 | -------------------------------------------------------------------------------- /doc/Nacos_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/doc/Nacos_Logo.png -------------------------------------------------------------------------------- /doc/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudan110/nacos/f0585bf7872f63b97b4ca5e1abfe4f2dd2ba2fc9/doc/arch.png -------------------------------------------------------------------------------- /istio/src/main/java/com/alibaba/nacos/istio/common/EventType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.istio.common; 18 | 19 | /** 20 | * @author special.fy 21 | */ 22 | public enum EventType { 23 | 24 | /** 25 | * The service info of nacos changes. 26 | */ 27 | Service, 28 | 29 | /** 30 | * The endpoints of service change. 31 | */ 32 | Endpoint; 33 | } 34 | -------------------------------------------------------------------------------- /istio/src/main/java/com/alibaba/nacos/istio/misc/Loggers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.istio.misc; 18 | 19 | import org.slf4j.Logger; 20 | import org.slf4j.LoggerFactory; 21 | 22 | /** 23 | * Loggers Holder. 24 | * 25 | * @author nkorange 26 | * @since 1.1.4 27 | */ 28 | public class Loggers { 29 | 30 | public static final Logger MAIN = LoggerFactory.getLogger("com.alibaba.nacos.istio.main"); 31 | } 32 | -------------------------------------------------------------------------------- /istio/src/main/java/com/alibaba/nacos/istio/util/NonceGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.istio.util; 18 | 19 | import com.alibaba.nacos.common.utils.UuidUtils; 20 | 21 | /** 22 | * @author special.fy 23 | */ 24 | public class NonceGenerator { 25 | 26 | public static String generateNonce() { 27 | return UuidUtils.generateUuid().replace("-", ""); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/core/v2/cleaner/NamingCleaner.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.core.v2.cleaner; 18 | 19 | /** 20 | * Nacos naming cleaner. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public interface NamingCleaner { 25 | 26 | /** 27 | * The type which be cleaned. 28 | * 29 | * @return cleaned type 30 | */ 31 | String getType(); 32 | 33 | /** 34 | * Do clean operation. 35 | */ 36 | void doClean(); 37 | } 38 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/core/v2/upgrade/doublewrite/delay/DoubleWriteAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.core.v2.upgrade.doublewrite.delay; 18 | 19 | /** 20 | * Indicate write actions. 21 | * 22 | * @author gengtuo.ygt 23 | * on 2021/5/13 24 | */ 25 | public enum DoubleWriteAction { 26 | 27 | /** 28 | * Update. 29 | */ 30 | UPDATE, 31 | /** 32 | * Remove. 33 | */ 34 | REMOVE; 35 | } 36 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/healthcheck/heartbeat/BeatCheckTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.healthcheck.heartbeat; 18 | 19 | /** 20 | * Check and update statues of ephemeral instances, remove them if they have been expired. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public interface BeatCheckTask extends Runnable { 25 | 26 | /** 27 | * Task key. 28 | * 29 | * @return task key 30 | */ 31 | String taskKey(); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/healthcheck/heartbeat/BeatProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.healthcheck.heartbeat; 18 | 19 | /** 20 | * Thread to update ephemeral instance triggered by client beat. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public interface BeatProcessor extends Runnable { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/misc/Message.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.misc; 18 | 19 | /** 20 | * message. 21 | * 22 | * @author nacos 23 | */ 24 | public class Message { 25 | 26 | private String data; 27 | 28 | public String getData() { 29 | return data; 30 | } 31 | 32 | public void setData(String data) { 33 | this.data = data; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/push/v1/DataSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.push.v1; 18 | 19 | /** 20 | * Data source for naming push. 21 | * 22 | * @author nacos 23 | */ 24 | public interface DataSource { 25 | 26 | /** 27 | * Get push data for a specified client. 28 | * 29 | * @param client target client 30 | * @return data to push 31 | * @throws Exception exception 32 | */ 33 | String getData(PushClient client) throws Exception; 34 | } 35 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/remote/udp/AckPacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.remote.udp; 18 | 19 | /** 20 | * UDP ack packet. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public class AckPacket { 25 | 26 | public String type; 27 | 28 | public long lastRefTime; 29 | 30 | public String data; 31 | } 32 | -------------------------------------------------------------------------------- /naming/src/main/java/com/alibaba/nacos/naming/web/CanDistro.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.naming.web; 18 | 19 | import java.lang.annotation.Retention; 20 | import java.lang.annotation.RetentionPolicy; 21 | 22 | /** 23 | * Annotation to determine if method should be redirected. 24 | * 25 | * @author nkorange 26 | * @since 1.0.0 27 | */ 28 | @Retention(RetentionPolicy.RUNTIME) 29 | public @interface CanDistro { 30 | 31 | } 32 | -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.api.selector.Selector: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.naming.selector.LabelSelector 19 | com.alibaba.nacos.naming.selector.NoneSelector -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.api.selector.context.SelectorContextBuilder: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.naming.selector.context.CmdbSelectorContextBuilder 19 | com.alibaba.nacos.naming.selector.context.NoneSelectorContextBuilder -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.naming.remote.rpc.NamingPayloadPackageProvider -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.core.ability.ServerAbilityInitializer: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.ability.NamingAbilityInitializer 18 | -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.naming.core.v2.client.factory.ClientFactory: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.core.v2.client.factory.impl.ConnectionBasedClientFactory 18 | com.alibaba.nacos.naming.core.v2.client.factory.impl.EphemeralIpPortClientFactory 19 | com.alibaba.nacos.naming.core.v2.client.factory.impl.PersistentIpPortClientFactory 20 | -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.naming.healthcheck.heartbeat.AbstractBeatCheckInterceptor: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.healthcheck.heartbeat.ServiceEnableBeatCheckInterceptor 18 | com.alibaba.nacos.naming.healthcheck.heartbeat.InstanceEnableBeatCheckInterceptor 19 | com.alibaba.nacos.naming.healthcheck.heartbeat.InstanceBeatCheckResponsibleInterceptor 20 | -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.naming.healthcheck.interceptor.AbstractHealthCheckInterceptor: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.healthcheck.interceptor.HealthCheckEnableInterceptor 18 | com.alibaba.nacos.naming.healthcheck.interceptor.HealthCheckResponsibleInterceptor 19 | -------------------------------------------------------------------------------- /naming/src/main/resources/META-INF/services/com.alibaba.nacos.naming.push.v2.hook.PushResultHook: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.push.v2.hook.NacosMonitorPushResultHook 18 | -------------------------------------------------------------------------------- /naming/src/test/resources/META-INF/services/com.alibaba.nacos.api.selector.Selector: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.selector.MockSelector -------------------------------------------------------------------------------- /naming/src/test/resources/META-INF/services/com.alibaba.nacos.api.selector.context.SelectorContextBuilder: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.naming.selector.MockCmdbContextBuilder -------------------------------------------------------------------------------- /naming/src/test/resources/META-INF/services/com.alibaba.nacos.common.remote.PayloadPackageProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # 17 | 18 | com.alibaba.nacos.naming.remote.rpc.NamingPayloadPackageProvider -------------------------------------------------------------------------------- /naming/src/test/resources/META-INF/services/com.alibaba.nacos.naming.core.v2.upgrade.SelfUpgradeChecker: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.core.v2.upgrade.MockSelfUpgradeChecker 18 | -------------------------------------------------------------------------------- /naming/src/test/resources/META-INF/services/com.alibaba.nacos.naming.pojo.instance.InstanceExtensionHandler: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2020 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.naming.pojo.instance.MockInstanceExtensionHandler 18 | -------------------------------------------------------------------------------- /plugin-default-impl/src/main/java/com/alibaba/nacos/plugin/auth/impl/LdapAuthPluginService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.plugin.auth.impl; 18 | 19 | import com.alibaba.nacos.plugin.auth.impl.constant.AuthConstants; 20 | 21 | /** 22 | * ldap auth plugin service. 23 | * @author onewe 24 | */ 25 | public class LdapAuthPluginService extends NacosAuthPluginService { 26 | 27 | @Override 28 | public String getAuthServiceName() { 29 | return AuthConstants.LDAP_AUTH_PLUGIN_TYPE; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /plugin-default-impl/src/main/java/com/alibaba/nacos/plugin/auth/impl/constant/AuthSystemTypes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.plugin.auth.impl.constant; 18 | 19 | /** 20 | * Types of all auth implementations. 21 | * 22 | * @author nkorange 23 | * @author mai.jh 24 | * @since 1.2.0 25 | */ 26 | public enum AuthSystemTypes { 27 | 28 | /** 29 | * Nacos builtin auth system. 30 | */ 31 | NACOS, 32 | /** 33 | * LDAP. 34 | */ 35 | LDAP 36 | } 37 | -------------------------------------------------------------------------------- /plugin-default-impl/src/main/resources/META-INF/services/com.alibaba.nacos.plugin.auth.spi.server.AuthPluginService: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.plugin.auth.impl.NacosAuthPluginService 18 | com.alibaba.nacos.plugin.auth.impl.LdapAuthPluginService -------------------------------------------------------------------------------- /plugin/auth/src/main/java/com/alibaba/nacos/plugin/auth/constant/SignType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.plugin.auth.constant; 18 | 19 | /** 20 | * Auth sign type. 21 | * 22 | * @author xiweng.yy 23 | */ 24 | public class SignType { 25 | 26 | public static final String NAMING = "naming"; 27 | 28 | public static final String CONFIG = "config"; 29 | 30 | public static final String CONSOLE = "console"; 31 | 32 | public static final String SPECIFIED = "specified"; 33 | } 34 | -------------------------------------------------------------------------------- /plugin/auth/src/test/resources/META-INF/services/com.alibaba.nacos.plugin.auth.spi.client.AbstractClientAuthService: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.plugin.auth.spi.mock.MockClientAuthService 18 | -------------------------------------------------------------------------------- /resources/copyright: -------------------------------------------------------------------------------- 1 | 2 | Copyright 1999-2021 Alibaba Group Holding Ltd. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | -------------------------------------------------------------------------------- /sys/src/main/java/com/alibaba/nacos/sys/env/DatasourceUtil.java: -------------------------------------------------------------------------------- 1 | package com.alibaba.nacos.sys.env; 2 | 3 | import com.alibaba.nacos.common.utils.StringUtils; 4 | 5 | /** 6 | * 数据源工具类 7 | * 8 | * @author wangtan 9 | * @date 2021-06-11 15:11:57 10 | * @since 1.0.0 11 | */ 12 | public class DatasourceUtil { 13 | 14 | public static final String SPRING_DATASOURCE_PLATFORM = "spring.datasource.platform"; 15 | 16 | public static final String MYSQL = "mysql"; 17 | 18 | public static final String POSTGRESQL = "postgresql"; 19 | 20 | public static String datasourcePlatform = ""; 21 | 22 | /** 23 | * Don't let anyone else instantiate this class 24 | */ 25 | private DatasourceUtil() { 26 | } 27 | 28 | /** 29 | * 获取当前数据源类型 30 | * 31 | * @return String 32 | * @author wangtan 33 | * @date 2021-06-11 15:17:39 34 | * @since 1.0.0 35 | */ 36 | public static String getDatasourcePlatform() { 37 | if (StringUtils.isBlank(datasourcePlatform)) { 38 | datasourcePlatform = EnvUtil.getProperty(SPRING_DATASOURCE_PLATFORM, ""); 39 | } 40 | return datasourcePlatform; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /sys/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | # EnvironmentPostProcessor 2 | org.springframework.boot.env.EnvironmentPostProcessor=\ 3 | com.alibaba.nacos.sys.env.NacosDefaultPropertySourceEnvironmentPostProcessor 4 | # ApplicationContextInitializer 5 | org.springframework.context.ApplicationContextInitializer=\ 6 | com.alibaba.nacos.sys.utils.ApplicationUtils -------------------------------------------------------------------------------- /sys/src/test/java/com/alibaba/nacos/sys/utils/InetUtilsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.alibaba.nacos.sys.utils; 18 | 19 | import com.alibaba.nacos.sys.env.EnvUtil; 20 | import org.junit.Before; 21 | import org.springframework.core.env.StandardEnvironment; 22 | 23 | public class InetUtilsTest { 24 | 25 | @Before 26 | public void setUp() { 27 | EnvUtil.setEnvironment(new StandardEnvironment()); 28 | } 29 | } -------------------------------------------------------------------------------- /sys/src/test/resources/application-empty.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | -------------------------------------------------------------------------------- /sys/src/test/resources/application-prefix.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | nacos.prefix.one.value=1 18 | nacos.prefix.two.value=2 19 | nacos.prefix.three.value=3 20 | nacos.other.prefix.one.value=1 21 | -------------------------------------------------------------------------------- /sys/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | nacos.core.sys.basic.processors=10 18 | -------------------------------------------------------------------------------- /sys/src/test/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | name=test-1 18 | -------------------------------------------------------------------------------- /test/config-test/src/test/resources/META-INF/services/com.alibaba.nacos.api.config.listener.ConfigChangeParser: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.test.config.TextChangeParser 18 | -------------------------------------------------------------------------------- /test/core-test/src/test/resources/META-INF/services/com.alibaba.nacos.api.config.listener.ConfigChangeParser: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | com.alibaba.nacos.test.base.TextChangeParser 18 | -------------------------------------------------------------------------------- /test/naming-test/src/test/java/com/alibaba/nacos/test/naming/Starter_ITCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2018 Alibaba Group Holding Ltd. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.alibaba.nacos.test.naming; 17 | 18 | /** 19 | * @author nkorange 20 | */ 21 | public class Starter_ITCase { 22 | } 23 | --------------------------------------------------------------------------------