diff --git a/src/main/java/io/streamnative/pulsar/manager/PulsarManagerApplication.java b/src/main/java/org/apache/pulsar/manager/PulsarManagerApplication.java
similarity index 91%
rename from src/main/java/io/streamnative/pulsar/manager/PulsarManagerApplication.java
rename to src/main/java/org/apache/pulsar/manager/PulsarManagerApplication.java
index 0142c9c..1505a02 100644
--- a/src/main/java/io/streamnative/pulsar/manager/PulsarManagerApplication.java
+++ b/src/main/java/org/apache/pulsar/manager/PulsarManagerApplication.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager;
+package org.apache.pulsar.manager;
 
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
@@ -20,7 +20,7 @@
 
 @SpringBootApplication
 @EnableZuulProxy
-@MapperScan("io.streamnative.pulsar.manager.mapper")
+@MapperScan("org.apache.pulsar.manager.mapper")
 public class PulsarManagerApplication {
 
 	public static void main(String[] args) {
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/BookiesController.java b/src/main/java/org/apache/pulsar/manager/controller/BookiesController.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/controller/BookiesController.java
rename to src/main/java/org/apache/pulsar/manager/controller/BookiesController.java
index 9722116..7794659 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/BookiesController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/BookiesController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.service.BookiesService;
+import org.apache.pulsar.manager.service.BookiesService;
 import io.swagger.annotations.*;
 import org.hibernate.validator.constraints.Range;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/BrokerStatsController.java b/src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/controller/BrokerStatsController.java
rename to src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java
index 7ddd224..4fea44b 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/BrokerStatsController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
-import io.streamnative.pulsar.manager.service.BrokerStatsService;
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.BrokerStatsService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/BrokerTokensController.java b/src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/controller/BrokerTokensController.java
rename to src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java
index 6af6890..a3a758b 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/BrokerTokensController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
 import com.github.pagehelper.Page;
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.entity.BrokerTokenEntity;
-import io.streamnative.pulsar.manager.entity.BrokerTokensRepository;
-import io.streamnative.pulsar.manager.service.JwtService;
+import org.apache.pulsar.manager.entity.BrokerTokenEntity;
+import org.apache.pulsar.manager.entity.BrokerTokensRepository;
+import org.apache.pulsar.manager.service.JwtService;
 import io.swagger.annotations.*;
 import org.hibernate.validator.constraints.Range;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/BrokersController.java b/src/main/java/org/apache/pulsar/manager/controller/BrokersController.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/controller/BrokersController.java
rename to src/main/java/org/apache/pulsar/manager/controller/BrokersController.java
index 4e6b7d5..6b4a3c1 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/BrokersController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/BrokersController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
-import io.streamnative.pulsar.manager.service.BrokersService;
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.BrokersService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/ClustersController.java b/src/main/java/org/apache/pulsar/manager/controller/ClustersController.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/controller/ClustersController.java
rename to src/main/java/org/apache/pulsar/manager/controller/ClustersController.java
index 0db4043..c8fc738 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/ClustersController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/ClustersController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
-import io.streamnative.pulsar.manager.service.ClustersService;
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.ClustersService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/EnvironmentsController.java b/src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/controller/EnvironmentsController.java
rename to src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java
index d7dea7f..587eadf 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/EnvironmentsController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java
@@ -11,14 +11,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
 import com.github.pagehelper.Page;
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/LoginController.java b/src/main/java/org/apache/pulsar/manager/controller/LoginController.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/controller/LoginController.java
rename to src/main/java/org/apache/pulsar/manager/controller/LoginController.java
index 12f20a6..8f1411e 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/LoginController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/LoginController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.service.JwtService;
+import org.apache.pulsar.manager.service.JwtService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/NamespacesController.java b/src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/controller/NamespacesController.java
rename to src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java
index 7a35a19..8976e97 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/NamespacesController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
-import io.streamnative.pulsar.manager.service.NamespacesService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.NamespacesService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/TenantsController.java b/src/main/java/org/apache/pulsar/manager/controller/TenantsController.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/controller/TenantsController.java
rename to src/main/java/org/apache/pulsar/manager/controller/TenantsController.java
index 66d6a9d..0502575 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/TenantsController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/TenantsController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
-import io.streamnative.pulsar.manager.service.TenantsService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.TenantsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/TopicsController.java b/src/main/java/org/apache/pulsar/manager/controller/TopicsController.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/controller/TopicsController.java
rename to src/main/java/org/apache/pulsar/manager/controller/TopicsController.java
index e3682d4..93aaa02 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/TopicsController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/TopicsController.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller;
+package org.apache.pulsar.manager.controller;
 
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
-import io.streamnative.pulsar.manager.service.TopicsService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.TopicsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/exception/CustomizeExceptionHandler.java b/src/main/java/org/apache/pulsar/manager/controller/exception/CustomizeExceptionHandler.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/controller/exception/CustomizeExceptionHandler.java
rename to src/main/java/org/apache/pulsar/manager/controller/exception/CustomizeExceptionHandler.java
index 6506a0f..6195779 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/exception/CustomizeExceptionHandler.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/exception/CustomizeExceptionHandler.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller.exception;
+package org.apache.pulsar.manager.controller.exception;
 
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/exception/ErrorResource.java b/src/main/java/org/apache/pulsar/manager/controller/exception/ErrorResource.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/controller/exception/ErrorResource.java
rename to src/main/java/org/apache/pulsar/manager/controller/exception/ErrorResource.java
index d898336..e7b7b7e 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/exception/ErrorResource.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/exception/ErrorResource.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller.exception;
+package org.apache.pulsar.manager.controller.exception;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonRootName;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/exception/ErrorResourceSerializer.java b/src/main/java/org/apache/pulsar/manager/controller/exception/ErrorResourceSerializer.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/controller/exception/ErrorResourceSerializer.java
rename to src/main/java/org/apache/pulsar/manager/controller/exception/ErrorResourceSerializer.java
index 6eda74f..6280b11 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/exception/ErrorResourceSerializer.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/exception/ErrorResourceSerializer.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller.exception;
+package org.apache.pulsar.manager.controller.exception;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/exception/FieldErrorResource.java b/src/main/java/org/apache/pulsar/manager/controller/exception/FieldErrorResource.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/controller/exception/FieldErrorResource.java
rename to src/main/java/org/apache/pulsar/manager/controller/exception/FieldErrorResource.java
index 850b90b..9b32702 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/exception/FieldErrorResource.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/exception/FieldErrorResource.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller.exception;
+package org.apache.pulsar.manager.controller.exception;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import lombok.Getter;
diff --git a/src/main/java/io/streamnative/pulsar/manager/controller/exception/InvalidRequestException.java b/src/main/java/org/apache/pulsar/manager/controller/exception/InvalidRequestException.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/controller/exception/InvalidRequestException.java
rename to src/main/java/org/apache/pulsar/manager/controller/exception/InvalidRequestException.java
index 782567b..659cf58 100644
--- a/src/main/java/io/streamnative/pulsar/manager/controller/exception/InvalidRequestException.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/exception/InvalidRequestException.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.controller.exception;
+package org.apache.pulsar.manager.controller.exception;
 
 import org.springframework.validation.Errors;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/BrokerTokensRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/BrokerTokensRepositoryImpl.java
similarity index 88%
rename from src/main/java/io/streamnative/pulsar/manager/dao/BrokerTokensRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/BrokerTokensRepositoryImpl.java
index 50218bb..68873d1 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/BrokerTokensRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/BrokerTokensRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.BrokerTokenEntity;
-import io.streamnative.pulsar.manager.entity.BrokerTokensRepository;
-import io.streamnative.pulsar.manager.mapper.BrokerTokensMapper;
+import org.apache.pulsar.manager.entity.BrokerTokenEntity;
+import org.apache.pulsar.manager.entity.BrokerTokensRepository;
+import org.apache.pulsar.manager.mapper.BrokerTokensMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/ConsumersStatsRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/ConsumersStatsRepositoryImpl.java
similarity index 91%
rename from src/main/java/io/streamnative/pulsar/manager/dao/ConsumersStatsRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/ConsumersStatsRepositoryImpl.java
index 3258a8b..a59bfe9 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/ConsumersStatsRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/ConsumersStatsRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.ConsumerStatsEntity;
-import io.streamnative.pulsar.manager.entity.ConsumersStatsRepository;
-import io.streamnative.pulsar.manager.mapper.ConsumerStatsMapper;
+import org.apache.pulsar.manager.entity.ConsumerStatsEntity;
+import org.apache.pulsar.manager.entity.ConsumersStatsRepository;
+import org.apache.pulsar.manager.mapper.ConsumerStatsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/EnvironmentsRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/EnvironmentsRepositoryImpl.java
similarity index 90%
rename from src/main/java/io/streamnative/pulsar/manager/dao/EnvironmentsRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/EnvironmentsRepositoryImpl.java
index 4cd1299..a0b570a 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/EnvironmentsRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/EnvironmentsRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.mapper.EnvironmentsMapper;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.mapper.EnvironmentsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/PublishersStatsRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/PublishersStatsRepositoryImpl.java
similarity index 87%
rename from src/main/java/io/streamnative/pulsar/manager/dao/PublishersStatsRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/PublishersStatsRepositoryImpl.java
index d835d5b..6c40efe 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/PublishersStatsRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/PublishersStatsRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.PublisherStatsEntity;
-import io.streamnative.pulsar.manager.entity.PublishersStatsRepository;
-import io.streamnative.pulsar.manager.mapper.PublishersStatsMapper;
+import org.apache.pulsar.manager.entity.PublisherStatsEntity;
+import org.apache.pulsar.manager.entity.PublishersStatsRepository;
+import org.apache.pulsar.manager.mapper.PublishersStatsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/ReplicationsStatsRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/ReplicationsStatsRepositoryImpl.java
similarity index 87%
rename from src/main/java/io/streamnative/pulsar/manager/dao/ReplicationsStatsRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/ReplicationsStatsRepositoryImpl.java
index 34f4a2a..393e451 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/ReplicationsStatsRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/ReplicationsStatsRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.ReplicationStatsEntity;
-import io.streamnative.pulsar.manager.entity.ReplicationsStatsRepository;
-import io.streamnative.pulsar.manager.mapper.ReplicationsStatsMapper;
+import org.apache.pulsar.manager.entity.ReplicationStatsEntity;
+import org.apache.pulsar.manager.entity.ReplicationsStatsRepository;
+import org.apache.pulsar.manager.mapper.ReplicationsStatsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/SubscriptionsStatsRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/SubscriptionsStatsRepositoryImpl.java
similarity index 87%
rename from src/main/java/io/streamnative/pulsar/manager/dao/SubscriptionsStatsRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/SubscriptionsStatsRepositoryImpl.java
index 370e53d..06b70a0 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/SubscriptionsStatsRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/SubscriptionsStatsRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.SubscriptionStatsEntity;
-import io.streamnative.pulsar.manager.entity.SubscriptionsStatsRepository;
-import io.streamnative.pulsar.manager.mapper.SubscriptionsStatsMapper;
+import org.apache.pulsar.manager.entity.SubscriptionStatsEntity;
+import org.apache.pulsar.manager.entity.SubscriptionsStatsRepository;
+import org.apache.pulsar.manager.mapper.SubscriptionsStatsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/dao/TopicsStatsRepositoryImpl.java b/src/main/java/org/apache/pulsar/manager/dao/TopicsStatsRepositoryImpl.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/dao/TopicsStatsRepositoryImpl.java
rename to src/main/java/org/apache/pulsar/manager/dao/TopicsStatsRepositoryImpl.java
index 2e54a91..a5990b1 100644
--- a/src/main/java/io/streamnative/pulsar/manager/dao/TopicsStatsRepositoryImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/dao/TopicsStatsRepositoryImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity;
-import io.streamnative.pulsar.manager.entity.TopicsStatsRepository;
-import io.streamnative.pulsar.manager.mapper.TopicsStatsMapper;
+import org.apache.pulsar.manager.entity.TopicStatsEntity;
+import org.apache.pulsar.manager.entity.TopicsStatsRepository;
+import org.apache.pulsar.manager.mapper.TopicsStatsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/BrokerTokenEntity.java b/src/main/java/org/apache/pulsar/manager/entity/BrokerTokenEntity.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/entity/BrokerTokenEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/BrokerTokenEntity.java
index 680e412..d8bc124 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/BrokerTokenEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/BrokerTokenEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/BrokerTokensRepository.java b/src/main/java/org/apache/pulsar/manager/entity/BrokerTokensRepository.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/entity/BrokerTokensRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/BrokerTokensRepository.java
index a2e392b..a67e375 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/BrokerTokensRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/BrokerTokensRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/ConsumerStatsEntity.java b/src/main/java/org/apache/pulsar/manager/entity/ConsumerStatsEntity.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/entity/ConsumerStatsEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/ConsumerStatsEntity.java
index 35b884e..ff950e3 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/ConsumerStatsEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/ConsumerStatsEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/ConsumersStatsRepository.java b/src/main/java/org/apache/pulsar/manager/entity/ConsumersStatsRepository.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/entity/ConsumersStatsRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/ConsumersStatsRepository.java
index 1cb69ae..20c6d65 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/ConsumersStatsRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/ConsumersStatsRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/EnvironmentEntity.java b/src/main/java/org/apache/pulsar/manager/entity/EnvironmentEntity.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/entity/EnvironmentEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/EnvironmentEntity.java
index e2340f7..956bac8 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/EnvironmentEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/EnvironmentEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/EnvironmentsRepository.java b/src/main/java/org/apache/pulsar/manager/entity/EnvironmentsRepository.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/entity/EnvironmentsRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/EnvironmentsRepository.java
index 88aae4c..7e65fd4 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/EnvironmentsRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/EnvironmentsRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PublisherStatsEntity.java b/src/main/java/org/apache/pulsar/manager/entity/PublisherStatsEntity.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PublisherStatsEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/PublisherStatsEntity.java
index 05dec15..ceff8e8 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PublisherStatsEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PublisherStatsEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PublishersStatsRepository.java b/src/main/java/org/apache/pulsar/manager/entity/PublishersStatsRepository.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PublishersStatsRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/PublishersStatsRepository.java
index 98f5fcc..7065d30 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PublishersStatsRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PublishersStatsRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerConsumerStats.java b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerConsumerStats.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerConsumerStats.java
rename to src/main/java/org/apache/pulsar/manager/entity/PulsarManagerConsumerStats.java
index 3eb2c22..a9830fa 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerConsumerStats.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerConsumerStats.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerPublisherStats.java b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerPublisherStats.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerPublisherStats.java
rename to src/main/java/org/apache/pulsar/manager/entity/PulsarManagerPublisherStats.java
index a92e186..28fd8bb 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerPublisherStats.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerPublisherStats.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerReplicatorStats.java b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerReplicatorStats.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerReplicatorStats.java
rename to src/main/java/org/apache/pulsar/manager/entity/PulsarManagerReplicatorStats.java
index 7afb15a..5ec7be8 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerReplicatorStats.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerReplicatorStats.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerSubscriptionStats.java b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerSubscriptionStats.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerSubscriptionStats.java
rename to src/main/java/org/apache/pulsar/manager/entity/PulsarManagerSubscriptionStats.java
index 877807c..784765a 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerSubscriptionStats.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerSubscriptionStats.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerTopicStats.java b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerTopicStats.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerTopicStats.java
rename to src/main/java/org/apache/pulsar/manager/entity/PulsarManagerTopicStats.java
index 29a5cf8..649bdaf 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/PulsarManagerTopicStats.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/PulsarManagerTopicStats.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/ReplicationStatsEntity.java b/src/main/java/org/apache/pulsar/manager/entity/ReplicationStatsEntity.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/entity/ReplicationStatsEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/ReplicationStatsEntity.java
index cfcd4ec..a8b0399 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/ReplicationStatsEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/ReplicationStatsEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/ReplicationsStatsRepository.java b/src/main/java/org/apache/pulsar/manager/entity/ReplicationsStatsRepository.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/entity/ReplicationsStatsRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/ReplicationsStatsRepository.java
index 75e4866..e01332f 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/ReplicationsStatsRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/ReplicationsStatsRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/SubscriptionStatsEntity.java b/src/main/java/org/apache/pulsar/manager/entity/SubscriptionStatsEntity.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/entity/SubscriptionStatsEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/SubscriptionStatsEntity.java
index c117063..b0ba3ce 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/SubscriptionStatsEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/SubscriptionStatsEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/SubscriptionsStatsRepository.java b/src/main/java/org/apache/pulsar/manager/entity/SubscriptionsStatsRepository.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/entity/SubscriptionsStatsRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/SubscriptionsStatsRepository.java
index 2fe8fe8..f51c1eb 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/SubscriptionsStatsRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/SubscriptionsStatsRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/TopicStatsEntity.java b/src/main/java/org/apache/pulsar/manager/entity/TopicStatsEntity.java
similarity index 98%
rename from src/main/java/io/streamnative/pulsar/manager/entity/TopicStatsEntity.java
rename to src/main/java/org/apache/pulsar/manager/entity/TopicStatsEntity.java
index 11089df..5ca1107 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/TopicStatsEntity.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/TopicStatsEntity.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import lombok.Data;
 import lombok.Getter;
diff --git a/src/main/java/io/streamnative/pulsar/manager/entity/TopicsStatsRepository.java b/src/main/java/org/apache/pulsar/manager/entity/TopicsStatsRepository.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/entity/TopicsStatsRepository.java
rename to src/main/java/org/apache/pulsar/manager/entity/TopicsStatsRepository.java
index aaa21ae..98e688a 100644
--- a/src/main/java/io/streamnative/pulsar/manager/entity/TopicsStatsRepository.java
+++ b/src/main/java/org/apache/pulsar/manager/entity/TopicsStatsRepository.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.entity;
+package org.apache.pulsar.manager.entity;
 
 import com.github.pagehelper.Page;
 import org.springframework.stereotype.Repository;
diff --git a/src/main/java/io/streamnative/pulsar/manager/interceptor/AdminHandlerInterceptor.java b/src/main/java/org/apache/pulsar/manager/interceptor/AdminHandlerInterceptor.java
similarity index 91%
rename from src/main/java/io/streamnative/pulsar/manager/interceptor/AdminHandlerInterceptor.java
rename to src/main/java/org/apache/pulsar/manager/interceptor/AdminHandlerInterceptor.java
index 8df8550..3fc8e01 100644
--- a/src/main/java/io/streamnative/pulsar/manager/interceptor/AdminHandlerInterceptor.java
+++ b/src/main/java/org/apache/pulsar/manager/interceptor/AdminHandlerInterceptor.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.interceptor;
+package org.apache.pulsar.manager.interceptor;
 
 import com.google.common.collect.Maps;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.service.JwtService;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.service.JwtService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.lang.Nullable;
 import org.springframework.stereotype.Component;
diff --git a/src/main/java/io/streamnative/pulsar/manager/interceptor/WebAppConfigurer.java b/src/main/java/org/apache/pulsar/manager/interceptor/WebAppConfigurer.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/interceptor/WebAppConfigurer.java
rename to src/main/java/org/apache/pulsar/manager/interceptor/WebAppConfigurer.java
index 0c25c4d..818e294 100644
--- a/src/main/java/io/streamnative/pulsar/manager/interceptor/WebAppConfigurer.java
+++ b/src/main/java/org/apache/pulsar/manager/interceptor/WebAppConfigurer.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.interceptor;
+package org.apache.pulsar.manager.interceptor;
 
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/BrokerTokensMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/BrokerTokensMapper.java
similarity index 92%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/BrokerTokensMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/BrokerTokensMapper.java
index cce260e..e9c5290 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/BrokerTokensMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/BrokerTokensMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.BrokerTokenEntity;
+import org.apache.pulsar.manager.entity.BrokerTokenEntity;
 import org.apache.ibatis.annotations.*;
 
 /**
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/ConsumerStatsMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/ConsumerStatsMapper.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/ConsumerStatsMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/ConsumerStatsMapper.java
index c66876a..b1be1ea 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/ConsumerStatsMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/ConsumerStatsMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.ConsumerStatsEntity;
+import org.apache.pulsar.manager.entity.ConsumerStatsEntity;
 import org.apache.ibatis.annotations.*;
 
 @Mapper
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/EnvironmentsMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/EnvironmentsMapper.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/EnvironmentsMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/EnvironmentsMapper.java
index a8d9409..77abd91 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/EnvironmentsMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/EnvironmentsMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
 import org.apache.ibatis.annotations.*;
 
 import java.util.List;
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/PublishersStatsMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/PublishersStatsMapper.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/PublishersStatsMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/PublishersStatsMapper.java
index f98a382..dc7e3f0 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/PublishersStatsMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/PublishersStatsMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.PublisherStatsEntity;
+import org.apache.pulsar.manager.entity.PublisherStatsEntity;
 import org.apache.ibatis.annotations.*;
 
 @Mapper
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/ReplicationsStatsMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/ReplicationsStatsMapper.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/ReplicationsStatsMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/ReplicationsStatsMapper.java
index 36ccc4f..5ff349e 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/ReplicationsStatsMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/ReplicationsStatsMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.ReplicationStatsEntity;
+import org.apache.pulsar.manager.entity.ReplicationStatsEntity;
 import org.apache.ibatis.annotations.*;
 
 @Mapper
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/SubscriptionsStatsMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/SubscriptionsStatsMapper.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/SubscriptionsStatsMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/SubscriptionsStatsMapper.java
index ec57cb9..557881d 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/SubscriptionsStatsMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/SubscriptionsStatsMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.SubscriptionStatsEntity;
+import org.apache.pulsar.manager.entity.SubscriptionStatsEntity;
 import org.apache.ibatis.annotations.*;
 
 @Mapper
diff --git a/src/main/java/io/streamnative/pulsar/manager/mapper/TopicsStatsMapper.java b/src/main/java/org/apache/pulsar/manager/mapper/TopicsStatsMapper.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/mapper/TopicsStatsMapper.java
rename to src/main/java/org/apache/pulsar/manager/mapper/TopicsStatsMapper.java
index bc08c8d..1309244 100644
--- a/src/main/java/io/streamnative/pulsar/manager/mapper/TopicsStatsMapper.java
+++ b/src/main/java/org/apache/pulsar/manager/mapper/TopicsStatsMapper.java
@@ -11,10 +11,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.mapper;
+package org.apache.pulsar.manager.mapper;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity;
+import org.apache.pulsar.manager.entity.TopicStatsEntity;
 import org.apache.ibatis.annotations.*;
 
 import java.util.List;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/BookiesService.java b/src/main/java/org/apache/pulsar/manager/service/BookiesService.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/service/BookiesService.java
rename to src/main/java/org/apache/pulsar/manager/service/BookiesService.java
index 4479670..e738f0e 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/BookiesService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/BookiesService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import java.util.Map;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/BrokerStatsService.java b/src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/service/BrokerStatsService.java
rename to src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java
index 6e0b91f..8e75d3b 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/BrokerStatsService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 public interface BrokerStatsService {
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/BrokersService.java b/src/main/java/org/apache/pulsar/manager/service/BrokersService.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/service/BrokersService.java
rename to src/main/java/org/apache/pulsar/manager/service/BrokersService.java
index eeb7b49..f4bf825 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/BrokersService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/BrokersService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import java.util.Map;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/ClustersService.java b/src/main/java/org/apache/pulsar/manager/service/ClustersService.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/service/ClustersService.java
rename to src/main/java/org/apache/pulsar/manager/service/ClustersService.java
index 5bd1f03..4733ec7 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/ClustersService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/ClustersService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import java.util.Map;
 import java.util.function.Function;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/EnvironmentCacheService.java b/src/main/java/org/apache/pulsar/manager/service/EnvironmentCacheService.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/service/EnvironmentCacheService.java
rename to src/main/java/org/apache/pulsar/manager/service/EnvironmentCacheService.java
index 2ed6357..6bf9889 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/EnvironmentCacheService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/EnvironmentCacheService.java
@@ -11,9 +11,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
 import javax.servlet.http.HttpServletRequest;
 
 public interface EnvironmentCacheService {
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/JwtService.java b/src/main/java/org/apache/pulsar/manager/service/JwtService.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/service/JwtService.java
rename to src/main/java/org/apache/pulsar/manager/service/JwtService.java
index da953b4..64d5162 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/JwtService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/JwtService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import io.jsonwebtoken.Claims;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/NamespacesService.java b/src/main/java/org/apache/pulsar/manager/service/NamespacesService.java
similarity index 94%
rename from src/main/java/io/streamnative/pulsar/manager/service/NamespacesService.java
rename to src/main/java/org/apache/pulsar/manager/service/NamespacesService.java
index c1dea4c..091148a 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/NamespacesService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/NamespacesService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/TenantsService.java b/src/main/java/org/apache/pulsar/manager/service/TenantsService.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/service/TenantsService.java
rename to src/main/java/org/apache/pulsar/manager/service/TenantsService.java
index cf8d3d0..001f4d8 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/TenantsService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/TenantsService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import org.springframework.stereotype.Service;
 
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/TopicsService.java b/src/main/java/org/apache/pulsar/manager/service/TopicsService.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/service/TopicsService.java
rename to src/main/java/org/apache/pulsar/manager/service/TopicsService.java
index 328dbad..4ae0cdc 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/TopicsService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/TopicsService.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/BookiesServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/BookiesServiceImpl.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/BookiesServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/BookiesServiceImpl.java
index 49e195c..f661c9f 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/BookiesServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/BookiesServiceImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.google.common.collect.Maps;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.service.BookiesService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.service.BookiesService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/BrokerStatsServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
similarity index 92%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
index c328e4f..5a52e51 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
@@ -11,30 +11,30 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 
 import java.text.DecimalFormat;
-import io.streamnative.pulsar.manager.service.BrokerStatsService;
-import io.streamnative.pulsar.manager.service.BrokersService;
-import io.streamnative.pulsar.manager.service.ClustersService;
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
-import io.streamnative.pulsar.manager.entity.ConsumerStatsEntity;
-import io.streamnative.pulsar.manager.entity.ConsumersStatsRepository;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.entity.PublisherStatsEntity;
-import io.streamnative.pulsar.manager.entity.PublishersStatsRepository;
-import io.streamnative.pulsar.manager.entity.PulsarManagerTopicStats;
-import io.streamnative.pulsar.manager.entity.ReplicationStatsEntity;
-import io.streamnative.pulsar.manager.entity.ReplicationsStatsRepository;
-import io.streamnative.pulsar.manager.entity.SubscriptionStatsEntity;
-import io.streamnative.pulsar.manager.entity.SubscriptionsStatsRepository;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity;
-import io.streamnative.pulsar.manager.entity.TopicsStatsRepository;
+import org.apache.pulsar.manager.service.BrokerStatsService;
+import org.apache.pulsar.manager.service.BrokersService;
+import org.apache.pulsar.manager.service.ClustersService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.entity.ConsumerStatsEntity;
+import org.apache.pulsar.manager.entity.ConsumersStatsRepository;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.entity.PublisherStatsEntity;
+import org.apache.pulsar.manager.entity.PublishersStatsRepository;
+import org.apache.pulsar.manager.entity.PulsarManagerTopicStats;
+import org.apache.pulsar.manager.entity.ReplicationStatsEntity;
+import org.apache.pulsar.manager.entity.ReplicationsStatsRepository;
+import org.apache.pulsar.manager.entity.SubscriptionStatsEntity;
+import org.apache.pulsar.manager.entity.SubscriptionsStatsRepository;
+import org.apache.pulsar.manager.entity.TopicStatsEntity;
+import org.apache.pulsar.manager.entity.TopicsStatsRepository;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/BrokersServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/BrokersServiceImpl.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/BrokersServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/BrokersServiceImpl.java
index cd6496f..46bfba7 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/BrokersServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/BrokersServiceImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.google.common.collect.Maps;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.service.BrokersService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.service.BrokersService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/ClustersServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/ClustersServiceImpl.java
similarity index 93%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/ClustersServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/ClustersServiceImpl.java
index 92820a3..920e4d3 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/ClustersServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/ClustersServiceImpl.java
@@ -11,14 +11,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.google.common.collect.Maps;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.service.BrokersService;
-import io.streamnative.pulsar.manager.service.ClustersService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.service.BrokersService;
+import org.apache.pulsar.manager.service.ClustersService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import java.util.function.Function;
 
 import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java
index 7a8dd8a..b5fcaa5 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java
@@ -11,17 +11,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.github.pagehelper.Page;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/JwtServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/JwtServiceImpl.java
similarity index 97%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/JwtServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/JwtServiceImpl.java
index 51cc684..ce2cbe7 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/JwtServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/JwtServiceImpl.java
@@ -11,11 +11,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import io.jsonwebtoken.*;
 import io.jsonwebtoken.security.Keys;
-import io.streamnative.pulsar.manager.service.JwtService;
+import org.apache.pulsar.manager.service.JwtService;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.pulsar.broker.authentication.utils.AuthTokenUtils;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/NamespacesServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/NamespacesServiceImpl.java
similarity index 92%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/NamespacesServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/NamespacesServiceImpl.java
index e1e19e2..fb48dff 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/NamespacesServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/NamespacesServiceImpl.java
@@ -11,17 +11,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.github.pagehelper.Page;
 import com.google.common.collect.Maps;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity;
-import io.streamnative.pulsar.manager.entity.TopicsStatsRepository;
-import io.streamnative.pulsar.manager.service.NamespacesService;
-import io.streamnative.pulsar.manager.service.TopicsService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.entity.TopicStatsEntity;
+import org.apache.pulsar.manager.entity.TopicsStatsRepository;
+import org.apache.pulsar.manager.service.NamespacesService;
+import org.apache.pulsar.manager.service.TopicsService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/TenantsServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/TenantsServiceImpl.java
similarity index 95%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/TenantsServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/TenantsServiceImpl.java
index 5017e7d..2751986 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/TenantsServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/TenantsServiceImpl.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.google.common.collect.Maps;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.service.TenantsService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.service.TenantsService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.slf4j.Logger;
diff --git a/src/main/java/io/streamnative/pulsar/manager/service/impl/TopicsServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/service/impl/TopicsServiceImpl.java
rename to src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java
index ff25b2b..34abde9 100644
--- a/src/main/java/io/streamnative/pulsar/manager/service/impl/TopicsServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java
@@ -11,17 +11,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service.impl;
+package org.apache.pulsar.manager.service.impl;
 
 import com.github.pagehelper.Page;
 import com.google.common.collect.Maps;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity.TopicStatsSummary;
-import io.streamnative.pulsar.manager.entity.TopicsStatsRepository;
-import io.streamnative.pulsar.manager.service.TopicsService;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.entity.TopicStatsEntity;
+import org.apache.pulsar.manager.entity.TopicStatsEntity.TopicStatsSummary;
+import org.apache.pulsar.manager.entity.TopicsStatsRepository;
+import org.apache.pulsar.manager.service.TopicsService;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/io/streamnative/pulsar/manager/swagger/SwaggerConfig.java b/src/main/java/org/apache/pulsar/manager/swagger/SwaggerConfig.java
similarity index 91%
rename from src/main/java/io/streamnative/pulsar/manager/swagger/SwaggerConfig.java
rename to src/main/java/org/apache/pulsar/manager/swagger/SwaggerConfig.java
index 1eb1f2a..50f87c3 100644
--- a/src/main/java/io/streamnative/pulsar/manager/swagger/SwaggerConfig.java
+++ b/src/main/java/org/apache/pulsar/manager/swagger/SwaggerConfig.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.swagger;
+package org.apache.pulsar.manager.swagger;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -35,7 +35,7 @@
         return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(apiInfo())
                 .select()
-                .apis(RequestHandlerSelectors.basePackage("com.manager.pulsar.controller"))
+                .apis(RequestHandlerSelectors.basePackage("org.apache.pulsar.manager.controller"))
                 .paths(PathSelectors.any())
                 .build();
     }
diff --git a/src/main/java/io/streamnative/pulsar/manager/utils/HttpUtil.java b/src/main/java/org/apache/pulsar/manager/utils/HttpUtil.java
similarity index 98%
rename from src/main/java/io/streamnative/pulsar/manager/utils/HttpUtil.java
rename to src/main/java/org/apache/pulsar/manager/utils/HttpUtil.java
index f5f30e7..f08b7d4 100644
--- a/src/main/java/io/streamnative/pulsar/manager/utils/HttpUtil.java
+++ b/src/main/java/org/apache/pulsar/manager/utils/HttpUtil.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.utils;
+package org.apache.pulsar.manager.utils;
 
 import org.apache.http.HttpStatus;
 import org.apache.http.client.config.RequestConfig;
diff --git a/src/main/java/io/streamnative/pulsar/manager/zuul/EnvironmentForward.java b/src/main/java/org/apache/pulsar/manager/zuul/EnvironmentForward.java
similarity index 96%
rename from src/main/java/io/streamnative/pulsar/manager/zuul/EnvironmentForward.java
rename to src/main/java/org/apache/pulsar/manager/zuul/EnvironmentForward.java
index 96dfd77..6b5eafa 100644
--- a/src/main/java/io/streamnative/pulsar/manager/zuul/EnvironmentForward.java
+++ b/src/main/java/org/apache/pulsar/manager/zuul/EnvironmentForward.java
@@ -11,9 +11,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.zuul;
+package org.apache.pulsar.manager.zuul;
 
-import io.streamnative.pulsar.manager.service.EnvironmentCacheService;
+import org.apache.pulsar.manager.service.EnvironmentCacheService;
 import com.netflix.zuul.ZuulFilter;
 import com.netflix.zuul.context.RequestContext;
 import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/io/streamnative/pulsar/manager/zuul/LocationHeaderRewritingFilter.java b/src/main/java/org/apache/pulsar/manager/zuul/LocationHeaderRewritingFilter.java
similarity index 98%
rename from src/main/java/io/streamnative/pulsar/manager/zuul/LocationHeaderRewritingFilter.java
rename to src/main/java/org/apache/pulsar/manager/zuul/LocationHeaderRewritingFilter.java
index f00c647..4ab871f 100644
--- a/src/main/java/io/streamnative/pulsar/manager/zuul/LocationHeaderRewritingFilter.java
+++ b/src/main/java/org/apache/pulsar/manager/zuul/LocationHeaderRewritingFilter.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.zuul;
+package org.apache.pulsar.manager.zuul;
 
 import com.netflix.util.Pair;
 import com.netflix.zuul.ZuulFilter;
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 1c9f766..dbace83 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -20,9 +20,9 @@
 logging.file=pulsar-manager.log
 
 # DEBUG print execute sql
-logging.level.io.streamnative=DEBUG
+logging.level.org.apache=DEBUG
 
-mybatis.type-aliases-package=io.streamnative.pulsar.manager
+mybatis.type-aliases-package=org.apache.pulsar.manager
 
 # database connection
 
diff --git a/src/test/java/io/streamnative/pulsar/manager/PulsarManagerApplicationTests.java b/src/test/java/org/apache/pulsar/manager/PulsarManagerApplicationTests.java
similarity index 90%
rename from src/test/java/io/streamnative/pulsar/manager/PulsarManagerApplicationTests.java
rename to src/test/java/org/apache/pulsar/manager/PulsarManagerApplicationTests.java
index 0d36e6c..a72b285 100644
--- a/src/test/java/io/streamnative/pulsar/manager/PulsarManagerApplicationTests.java
+++ b/src/test/java/org/apache/pulsar/manager/PulsarManagerApplicationTests.java
@@ -11,9 +11,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager;
+package org.apache.pulsar.manager;
 
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
diff --git a/src/test/java/io/streamnative/pulsar/manager/dao/BrokerTokensRepositoryImplTest.java b/src/test/java/org/apache/pulsar/manager/dao/BrokerTokensRepositoryImplTest.java
similarity index 89%
rename from src/test/java/io/streamnative/pulsar/manager/dao/BrokerTokensRepositoryImplTest.java
rename to src/test/java/org/apache/pulsar/manager/dao/BrokerTokensRepositoryImplTest.java
index 1c4317f..caedd68 100644
--- a/src/test/java/io/streamnative/pulsar/manager/dao/BrokerTokensRepositoryImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/dao/BrokerTokensRepositoryImplTest.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.entity.BrokerTokenEntity;
-import io.streamnative.pulsar.manager.entity.BrokerTokensRepository;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.entity.BrokerTokenEntity;
+import org.apache.pulsar.manager.entity.BrokerTokensRepository;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/src/test/java/io/streamnative/pulsar/manager/dao/EnvironmentsRepositoryImplTest.java b/src/test/java/org/apache/pulsar/manager/dao/EnvironmentsRepositoryImplTest.java
similarity index 91%
rename from src/test/java/io/streamnative/pulsar/manager/dao/EnvironmentsRepositoryImplTest.java
rename to src/test/java/org/apache/pulsar/manager/dao/EnvironmentsRepositoryImplTest.java
index fbf59eb..e2553cd 100644
--- a/src/test/java/io/streamnative/pulsar/manager/dao/EnvironmentsRepositoryImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/dao/EnvironmentsRepositoryImplTest.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.dao;
+package org.apache.pulsar.manager.dao;
 
 import com.github.pagehelper.Page;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/src/test/java/io/streamnative/pulsar/manager/profiles/HerdDBTestProfile.java b/src/test/java/org/apache/pulsar/manager/profiles/HerdDBTestProfile.java
similarity index 96%
rename from src/test/java/io/streamnative/pulsar/manager/profiles/HerdDBTestProfile.java
rename to src/test/java/org/apache/pulsar/manager/profiles/HerdDBTestProfile.java
index d47cc4a..cb90ddc 100644
--- a/src/test/java/io/streamnative/pulsar/manager/profiles/HerdDBTestProfile.java
+++ b/src/test/java/org/apache/pulsar/manager/profiles/HerdDBTestProfile.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.profiles;
+package org.apache.pulsar.manager.profiles;
 
 import java.io.IOException;
 import javax.sql.DataSource;
diff --git a/src/test/java/io/streamnative/pulsar/manager/profiles/SqliteDBTestProfile.java b/src/test/java/org/apache/pulsar/manager/profiles/SqliteDBTestProfile.java
similarity index 97%
rename from src/test/java/io/streamnative/pulsar/manager/profiles/SqliteDBTestProfile.java
rename to src/test/java/org/apache/pulsar/manager/profiles/SqliteDBTestProfile.java
index fb5a9aa..56676bc 100644
--- a/src/test/java/io/streamnative/pulsar/manager/profiles/SqliteDBTestProfile.java
+++ b/src/test/java/org/apache/pulsar/manager/profiles/SqliteDBTestProfile.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.profiles;
+package org.apache.pulsar.manager.profiles;
 
 import java.io.IOException;
 import java.nio.file.Files;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/BookiesServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/BookiesServiceImplTest.java
similarity index 93%
rename from src/test/java/io/streamnative/pulsar/manager/service/BookiesServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/BookiesServiceImplTest.java
index e04aa06..12902c8 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/BookiesServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/BookiesServiceImplTest.java
@@ -11,12 +11,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/BrokerStatsServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/BrokerStatsServiceImplTest.java
similarity index 94%
rename from src/test/java/io/streamnative/pulsar/manager/service/BrokerStatsServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/BrokerStatsServiceImplTest.java
index 0abe3df..17a4f7f 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/BrokerStatsServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/BrokerStatsServiceImplTest.java
@@ -11,23 +11,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.github.pagehelper.Page;
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.entity.ConsumerStatsEntity;
-import io.streamnative.pulsar.manager.entity.ConsumersStatsRepository;
-import io.streamnative.pulsar.manager.entity.PublisherStatsEntity;
-import io.streamnative.pulsar.manager.entity.PublishersStatsRepository;
-import io.streamnative.pulsar.manager.entity.ReplicationsStatsRepository;
-import io.streamnative.pulsar.manager.entity.SubscriptionStatsEntity;
-import io.streamnative.pulsar.manager.entity.SubscriptionsStatsRepository;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
-import io.streamnative.pulsar.manager.entity.ReplicationStatsEntity;
-import io.streamnative.pulsar.manager.entity.TopicStatsEntity;
-import io.streamnative.pulsar.manager.entity.TopicsStatsRepository;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.entity.ConsumerStatsEntity;
+import org.apache.pulsar.manager.entity.ConsumersStatsRepository;
+import org.apache.pulsar.manager.entity.PublisherStatsEntity;
+import org.apache.pulsar.manager.entity.PublishersStatsRepository;
+import org.apache.pulsar.manager.entity.ReplicationsStatsRepository;
+import org.apache.pulsar.manager.entity.SubscriptionStatsEntity;
+import org.apache.pulsar.manager.entity.SubscriptionsStatsRepository;
+import org.apache.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.entity.ReplicationStatsEntity;
+import org.apache.pulsar.manager.entity.TopicStatsEntity;
+import org.apache.pulsar.manager.entity.TopicsStatsRepository;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/BrokerTokensServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/BrokerTokensServiceImplTest.java
similarity index 91%
rename from src/test/java/io/streamnative/pulsar/manager/service/BrokerTokensServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/BrokerTokensServiceImplTest.java
index bb53f2e..06ec665 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/BrokerTokensServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/BrokerTokensServiceImplTest.java
@@ -11,11 +11,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import io.jsonwebtoken.Claims;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/BrokersServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/BrokersServiceImplTest.java
similarity index 91%
rename from src/test/java/io/streamnative/pulsar/manager/service/BrokersServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/BrokersServiceImplTest.java
index a369f02..ddd17c5 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/BrokersServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/BrokersServiceImplTest.java
@@ -11,13 +11,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/ClustersServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/ClustersServiceImplTest.java
similarity index 93%
rename from src/test/java/io/streamnative/pulsar/manager/service/ClustersServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/ClustersServiceImplTest.java
index 51948e5..bfc1e07 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/ClustersServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/ClustersServiceImplTest.java
@@ -11,12 +11,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/EnvironmentCacheServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/EnvironmentCacheServiceImplTest.java
similarity index 95%
rename from src/test/java/io/streamnative/pulsar/manager/service/EnvironmentCacheServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/EnvironmentCacheServiceImplTest.java
index cfdd194..95bef54 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/EnvironmentCacheServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/EnvironmentCacheServiceImplTest.java
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -19,11 +19,11 @@
 import static org.mockito.Matchers.eq;
 
 import com.google.gson.Gson;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.entity.EnvironmentEntity;
-import io.streamnative.pulsar.manager.entity.EnvironmentsRepository;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.entity.EnvironmentEntity;
+import org.apache.pulsar.manager.entity.EnvironmentsRepository;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import java.util.NoSuchElementException;
 import org.apache.pulsar.common.policies.data.ClusterData;
 import org.junit.After;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/NamespacesServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/NamespacesServiceImplTest.java
similarity index 95%
rename from src/test/java/io/streamnative/pulsar/manager/service/NamespacesServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/NamespacesServiceImplTest.java
index e36b625..3ba6d28 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/NamespacesServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/NamespacesServiceImplTest.java
@@ -11,12 +11,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/TenantsServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/TenantsServiceImplTest.java
similarity index 93%
rename from src/test/java/io/streamnative/pulsar/manager/service/TenantsServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/TenantsServiceImplTest.java
index 7c06822..7170846 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/TenantsServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/TenantsServiceImplTest.java
@@ -11,12 +11,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/io/streamnative/pulsar/manager/service/TopicsServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java
similarity index 96%
rename from src/test/java/io/streamnative/pulsar/manager/service/TopicsServiceImplTest.java
rename to src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java
index 2ec31de..a865d81 100644
--- a/src/test/java/io/streamnative/pulsar/manager/service/TopicsServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java
@@ -11,12 +11,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package io.streamnative.pulsar.manager.service;
+package org.apache.pulsar.manager.service;
 
 import com.google.common.collect.Maps;
-import io.streamnative.pulsar.manager.PulsarManagerApplication;
-import io.streamnative.pulsar.manager.profiles.HerdDBTestProfile;
-import io.streamnative.pulsar.manager.utils.HttpUtil;
+import org.apache.pulsar.manager.PulsarManagerApplication;
+import org.apache.pulsar.manager.profiles.HerdDBTestProfile;
+import org.apache.pulsar.manager.utils.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Assert;
 import org.junit.Test;
