Repository: fission/fission
Pull request #1497 (2020-01-20 07:41:53)

Follow kubernetes APIs directory structure


<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/fission/fission/1497)
<!-- Reviewable:end -->


codecov[bot]: # [Codecov](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=h1) Report
> Merging [#1497](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=desc) into [master](https://codecov.io/gh/fission/fission/commit/bb3e6d69071a360ddc16ae4e252b94de6e82f942?src=pr&el=desc) will **increase** coverage by `0.01%`.
> The diff coverage is `59.57%`.

[![Impacted file tree graph](https://codecov.io/gh/fission/fission/pull/1497/graphs/tree.svg?width=650&token=mBWjJYSfIK&height=150&src=pr)](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #1497      +/-   ##
==========================================
+ Coverage    30.9%   30.91%   +0.01%     
==========================================
  Files          61       61              
  Lines        4993     4991       -2     
==========================================
  Hits         1543     1543              
+ Misses       3226     3224       -2     
  Partials      224      224
```


| [Impacted Files](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pkg/router/functionReferenceResolver.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL3JvdXRlci9mdW5jdGlvblJlZmVyZW5jZVJlc29sdmVyLmdv) | `16.09% <ø> (ø)` | :arrow_up: |
| [pkg/fission-cli/cmd/httptrigger/list.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL2Zpc3Npb24tY2xpL2NtZC9odHRwdHJpZ2dlci9saXN0Lmdv) | `0% <ø> (ø)` | :arrow_up: |
| [pkg/fission-cli/cmd/httptrigger/parse.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL2Zpc3Npb24tY2xpL2NtZC9odHRwdHJpZ2dlci9wYXJzZS5nbw==) | `100% <ø> (ø)` | :arrow_up: |
| [pkg/fission-cli/cmd/function/update.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL2Zpc3Npb24tY2xpL2NtZC9mdW5jdGlvbi91cGRhdGUuZ28=) | `0% <ø> (ø)` | :arrow_up: |
| [pkg/router/functionHandler.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL3JvdXRlci9mdW5jdGlvbkhhbmRsZXIuZ28=) | `42.33% <ø> (ø)` | :arrow_up: |
| [pkg/fission-cli/cmd/httptrigger/update.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL2Zpc3Npb24tY2xpL2NtZC9odHRwdHJpZ2dlci91cGRhdGUuZ28=) | `0% <ø> (ø)` | :arrow_up: |
| [pkg/utils/utils.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL3V0aWxzL3V0aWxzLmdv) | `10.37% <ø> (ø)` | :arrow_up: |
| [pkg/mqtrigger/messageQueue/nats.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL21xdHJpZ2dlci9tZXNzYWdlUXVldWUvbmF0cy5nbw==) | `0% <ø> (ø)` | :arrow_up: |
| [pkg/fission-cli/cmd/function/create.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL2Zpc3Npb24tY2xpL2NtZC9mdW5jdGlvbi9jcmVhdGUuZ28=) | `28.9% <ø> (ø)` | :arrow_up: |
| [pkg/mqtrigger/messageQueue/kafka.go](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree#diff-cGtnL21xdHJpZ2dlci9tZXNzYWdlUXVldWUva2Fma2EuZ28=) | `0% <ø> (ø)` | :arrow_up: |
| ... and [19 more](https://codecov.io/gh/fission/fission/pull/1497/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=footer). Last update [bb3e6d6...dfa28e3](https://codecov.io/gh/fission/fission/pull/1497?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Patch:
diff --git a/cmd/preupgradechecks/preupgradechecks.go b/cmd/preupgradechecks/preupgradechecks.go
index 4fac3912..5de5f1c9 100644
--- a/cmd/preupgradechecks/preupgradechecks.go
+++ b/cmd/preupgradechecks/preupgradechecks.go
@@ -27,7 +27,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/utils"
 )
@@ -89,7 +89,7 @@ func (client *PreUpgradeTaskClient) VerifyFunctionSpecReferences() {
 	var fList *fv1.FunctionList
 
 	for i := 0; i < maxRetries; i++ {
-		fList, err = client.fissionClient.V1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
+		fList, err = client.fissionClient.CoreV1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err == nil {
 			break
 		}
@@ -167,12 +167,12 @@ func (client *PreUpgradeTaskClient) RemoveClusterAdminRolesForFissionSAs() {
 // This is because, we just deleted the ClusterRoleBindings for these service accounts in the previous function and
 // for the existing functions to work, we need to give these SAs the right privileges
 func (client *PreUpgradeTaskClient) NeedRoleBindings() bool {
-	pkgList, err := client.fissionClient.V1().Packages(metav1.NamespaceDefault).List(metav1.ListOptions{})
+	pkgList, err := client.fissionClient.CoreV1().Packages(metav1.NamespaceDefault).List(metav1.ListOptions{})
 	if err == nil && len(pkgList.Items) > 0 {
 		return true
 	}
 
-	fnList, err := client.fissionClient.V1().Functions(metav1.NamespaceDefault).List(metav1.ListOptions{})
+	fnList, err := client.fissionClient.CoreV1().Functions(metav1.NamespaceDefault).List(metav1.ListOptions{})
 	if err == nil && len(fnList.Items) > 0 {
 		return true
 	}
diff --git a/pkg/apis/README.md b/pkg/apis/README.md
index 7464112f..43e39478 100644
--- a/pkg/apis/README.md
+++ b/pkg/apis/README.md
@@ -5,11 +5,11 @@
 
 ``` bash
 $ cd $GOPATH/src/github.com/fission/fission/
-$ $GOPATH/src/k8s.io/code-generator/generate-groups.sh \
+$ bash $GOPATH/src/k8s.io/code-generator/generate-groups.sh \
     all \
-    github.com/fission/fission/pkg/apis/genclient/v1 \
+    github.com/fission/fission/pkg/apis/genclient \
     github.com/fission/fission/pkg/apis \
-    fission.io:v1 \
+    "core:v1" \
     --go-header-file $GOPATH/src/github.com/fission/fission/pkg/apis/boilerplate.txt
 ```
 
diff --git a/pkg/apis/fission.io/v1/const.go b/pkg/apis/core/v1/const.go
similarity index 100%
rename from pkg/apis/fission.io/v1/const.go
rename to pkg/apis/core/v1/const.go
diff --git a/pkg/apis/fission.io/v1/doc.go b/pkg/apis/core/v1/doc.go
similarity index 73%
rename from pkg/apis/fission.io/v1/doc.go
rename to pkg/apis/core/v1/doc.go
index b6989b84..e551462f 100644
--- a/pkg/apis/fission.io/v1/doc.go
+++ b/pkg/apis/core/v1/doc.go
@@ -17,10 +17,15 @@ limitations under the License.
 // This file tells deepcopy-gen to generate deepcopy methods for all structs in the package.
 // For more details, please visit https://blog.openshift.com/kubernetes-deep-dive-code-generation-customresources/
 
-// +k8s:deepcopy-gen=package,register
+// +k8s:deepcopy-gen=package
 // +k8s:defaulter-gen=TypeMeta
 // +groupName=fission.io
-// +groupGoName=V1
+// +groupGoName=core
+//
+// In order not to break the backward compatibility, keep coreV1 types stay
+// at "fission.io" group instead of moving them to "core.fission.io".
+// If the value of group is different from the one we register, the
+// CRD client will not be able to get anything from the API server.
 package v1
 
 const (
diff --git a/pkg/apis/fission.io/v1/register.go b/pkg/apis/core/v1/register.go
similarity index 89%
rename from pkg/apis/fission.io/v1/register.go
rename to pkg/apis/core/v1/register.go
index 7a661dd1..f0c844aa 100644
--- a/pkg/apis/fission.io/v1/register.go
+++ b/pkg/apis/core/v1/register.go
@@ -22,6 +22,10 @@ import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
 )
 
+// In order not to break the backward compatibility, keep coreV1 types stay
+// at "fission.io" group instead of moving them to "core.fission.io".
+// If the value of group is different from the one we register, the
+// CRD client will not be able to get anything from the API server.
 var SchemeGroupVersion = schema.GroupVersion{Group: "fission.io", Version: "v1"}
 
 var (
diff --git a/pkg/apis/fission.io/v1/tool/README.md b/pkg/apis/core/v1/tool/README.md
similarity index 100%
rename from pkg/apis/fission.io/v1/tool/README.md
rename to pkg/apis/core/v1/tool/README.md
diff --git a/pkg/apis/fission.io/v1/tool/boilerplate.generatego.txt b/pkg/apis/core/v1/tool/boilerplate.generatego.txt
similarity index 100%
rename from pkg/apis/fission.io/v1/tool/boilerplate.generatego.txt
rename to pkg/apis/core/v1/tool/boilerplate.generatego.txt
diff --git a/pkg/apis/fission.io/v1/tool/swagger.sh b/pkg/apis/core/v1/tool/swagger.sh
similarity index 100%
rename from pkg/apis/fission.io/v1/tool/swagger.sh
rename to pkg/apis/core/v1/tool/swagger.sh
diff --git a/pkg/apis/fission.io/v1/tool/swagger_type_docs.go b/pkg/apis/core/v1/tool/swagger_type_docs.go
similarity index 100%
rename from pkg/apis/fission.io/v1/tool/swagger_type_docs.go
rename to pkg/apis/core/v1/tool/swagger_type_docs.go
diff --git a/pkg/apis/fission.io/v1/tool/update-generated-swagger-docs.sh b/pkg/apis/core/v1/tool/update-generated-swagger-docs.sh
similarity index 100%
rename from pkg/apis/fission.io/v1/tool/update-generated-swagger-docs.sh
rename to pkg/apis/core/v1/tool/update-generated-swagger-docs.sh
diff --git a/pkg/apis/fission.io/v1/types.go b/pkg/apis/core/v1/types.go
similarity index 100%
rename from pkg/apis/fission.io/v1/types.go
rename to pkg/apis/core/v1/types.go
diff --git a/pkg/apis/fission.io/v1/validation.go b/pkg/apis/core/v1/validation.go
similarity index 100%
rename from pkg/apis/fission.io/v1/validation.go
rename to pkg/apis/core/v1/validation.go
diff --git a/pkg/apis/fission.io/v1/zz_generated.deepcopy.go b/pkg/apis/core/v1/zz_generated.deepcopy.go
similarity index 100%
rename from pkg/apis/fission.io/v1/zz_generated.deepcopy.go
rename to pkg/apis/core/v1/zz_generated.deepcopy.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/clientset.go b/pkg/apis/genclient/clientset/versioned/clientset.go
similarity index 86%
rename from pkg/apis/genclient/v1/clientset/versioned/clientset.go
rename to pkg/apis/genclient/clientset/versioned/clientset.go
index 1adb8982..9dc5c434 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/clientset.go
+++ b/pkg/apis/genclient/clientset/versioned/clientset.go
@@ -21,7 +21,7 @@ package versioned
 import (
 	"fmt"
 
-	v1v1 "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/typed/core/v1"
 	discovery "k8s.io/client-go/discovery"
 	rest "k8s.io/client-go/rest"
 	flowcontrol "k8s.io/client-go/util/flowcontrol"
@@ -29,19 +29,19 @@ import (
 
 type Interface interface {
 	Discovery() discovery.DiscoveryInterface
-	V1V1() v1v1.V1V1Interface
+	CoreV1() corev1.CoreV1Interface
 }
 
 // Clientset contains the clients for groups. Each group has exactly one
 // version included in a Clientset.
 type Clientset struct {
 	*discovery.DiscoveryClient
-	v1V1 *v1v1.V1V1Client
+	coreV1 *corev1.CoreV1Client
 }
 
-// V1V1 retrieves the V1V1Client
-func (c *Clientset) V1V1() v1v1.V1V1Interface {
-	return c.v1V1
+// CoreV1 retrieves the CoreV1Client
+func (c *Clientset) CoreV1() corev1.CoreV1Interface {
+	return c.coreV1
 }
 
 // Discovery retrieves the DiscoveryClient
@@ -65,7 +65,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
 	}
 	var cs Clientset
 	var err error
-	cs.v1V1, err = v1v1.NewForConfig(&configShallowCopy)
+	cs.coreV1, err = corev1.NewForConfig(&configShallowCopy)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +81,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
 // panics if there is an error in the config.
 func NewForConfigOrDie(c *rest.Config) *Clientset {
 	var cs Clientset
-	cs.v1V1 = v1v1.NewForConfigOrDie(c)
+	cs.coreV1 = corev1.NewForConfigOrDie(c)
 
 	cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
 	return &cs
@@ -90,7 +90,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
 // New creates a new Clientset for the given RESTClient.
 func New(c rest.Interface) *Clientset {
 	var cs Clientset
-	cs.v1V1 = v1v1.New(c)
+	cs.coreV1 = corev1.New(c)
 
 	cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
 	return &cs
diff --git a/pkg/apis/genclient/v1/clientset/versioned/doc.go b/pkg/apis/genclient/clientset/versioned/doc.go
similarity index 100%
rename from pkg/apis/genclient/v1/clientset/versioned/doc.go
rename to pkg/apis/genclient/clientset/versioned/doc.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/fake/clientset_generated.go b/pkg/apis/genclient/clientset/versioned/fake/clientset_generated.go
similarity index 84%
rename from pkg/apis/genclient/v1/clientset/versioned/fake/clientset_generated.go
rename to pkg/apis/genclient/clientset/versioned/fake/clientset_generated.go
index 948654c0..d218adfc 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/fake/clientset_generated.go
+++ b/pkg/apis/genclient/clientset/versioned/fake/clientset_generated.go
@@ -19,9 +19,9 @@ limitations under the License.
 package fake
 
 import (
-	clientset "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	v1v1 "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1"
-	fakev1v1 "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake"
+	clientset "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	corev1 "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/typed/core/v1"
+	fakecorev1 "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake"
 	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/apimachinery/pkg/watch"
 	"k8s.io/client-go/discovery"
@@ -76,7 +76,7 @@ func (c *Clientset) Tracker() testing.ObjectTracker {
 
 var _ clientset.Interface = &Clientset{}
 
-// V1V1 retrieves the V1V1Client
-func (c *Clientset) V1V1() v1v1.V1V1Interface {
-	return &fakev1v1.FakeV1V1{Fake: &c.Fake}
+// CoreV1 retrieves the CoreV1Client
+func (c *Clientset) CoreV1() corev1.CoreV1Interface {
+	return &fakecorev1.FakeCoreV1{Fake: &c.Fake}
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/fake/doc.go b/pkg/apis/genclient/clientset/versioned/fake/doc.go
similarity index 100%
rename from pkg/apis/genclient/v1/clientset/versioned/fake/doc.go
rename to pkg/apis/genclient/clientset/versioned/fake/doc.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/fake/register.go b/pkg/apis/genclient/clientset/versioned/fake/register.go
similarity index 95%
rename from pkg/apis/genclient/v1/clientset/versioned/fake/register.go
rename to pkg/apis/genclient/clientset/versioned/fake/register.go
index 363e1e2f..f49186bb 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/fake/register.go
+++ b/pkg/apis/genclient/clientset/versioned/fake/register.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	v1v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -31,7 +31,7 @@ var scheme = runtime.NewScheme()
 var codecs = serializer.NewCodecFactory(scheme)
 var parameterCodec = runtime.NewParameterCodec(scheme)
 var localSchemeBuilder = runtime.SchemeBuilder{
-	v1v1.AddToScheme,
+	corev1.AddToScheme,
 }
 
 // AddToScheme adds all types of this clientset into the given scheme. This allows composition
diff --git a/pkg/apis/genclient/v1/clientset/versioned/scheme/doc.go b/pkg/apis/genclient/clientset/versioned/scheme/doc.go
similarity index 100%
rename from pkg/apis/genclient/v1/clientset/versioned/scheme/doc.go
rename to pkg/apis/genclient/clientset/versioned/scheme/doc.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/scheme/register.go b/pkg/apis/genclient/clientset/versioned/scheme/register.go
similarity index 95%
rename from pkg/apis/genclient/v1/clientset/versioned/scheme/register.go
rename to pkg/apis/genclient/clientset/versioned/scheme/register.go
index a1ec1ee7..e4955f8f 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/scheme/register.go
+++ b/pkg/apis/genclient/clientset/versioned/scheme/register.go
@@ -19,7 +19,7 @@ limitations under the License.
 package scheme
 
 import (
-	v1v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -31,7 +31,7 @@ var Scheme = runtime.NewScheme()
 var Codecs = serializer.NewCodecFactory(Scheme)
 var ParameterCodec = runtime.NewParameterCodec(Scheme)
 var localSchemeBuilder = runtime.SchemeBuilder{
-	v1v1.AddToScheme,
+	corev1.AddToScheme,
 }
 
 // AddToScheme adds all types of this clientset into the given scheme. This allows composition
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/canaryconfig.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/canaryconfig.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/canaryconfig.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/canaryconfig.go
index e589a0fe..dd417df7 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/canaryconfig.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/canaryconfig.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -56,7 +56,7 @@ type canaryConfigs struct {
 }
 
 // newCanaryConfigs returns a CanaryConfigs
-func newCanaryConfigs(c *V1V1Client, namespace string) *canaryConfigs {
+func newCanaryConfigs(c *CoreV1Client, namespace string) *canaryConfigs {
 	return &canaryConfigs{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fission.io_client.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/core_client.go
similarity index 59%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fission.io_client.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/core_client.go
index 965ae293..a9d682d7 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fission.io_client.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/core_client.go
@@ -19,12 +19,12 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	"github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	"github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	rest "k8s.io/client-go/rest"
 )
 
-type V1V1Interface interface {
+type CoreV1Interface interface {
 	RESTClient() rest.Interface
 	CanaryConfigsGetter
 	EnvironmentsGetter
@@ -36,45 +36,45 @@ type V1V1Interface interface {
 	TimeTriggersGetter
 }
 
-// V1V1Client is used to interact with features provided by the fission.io group.
-type V1V1Client struct {
+// CoreV1Client is used to interact with features provided by the fission.io group.
+type CoreV1Client struct {
 	restClient rest.Interface
 }
 
-func (c *V1V1Client) CanaryConfigs(namespace string) CanaryConfigInterface {
+func (c *CoreV1Client) CanaryConfigs(namespace string) CanaryConfigInterface {
 	return newCanaryConfigs(c, namespace)
 }
 
-func (c *V1V1Client) Environments(namespace string) EnvironmentInterface {
+func (c *CoreV1Client) Environments(namespace string) EnvironmentInterface {
 	return newEnvironments(c, namespace)
 }
 
-func (c *V1V1Client) Functions(namespace string) FunctionInterface {
+func (c *CoreV1Client) Functions(namespace string) FunctionInterface {
 	return newFunctions(c, namespace)
 }
 
-func (c *V1V1Client) HTTPTriggers(namespace string) HTTPTriggerInterface {
+func (c *CoreV1Client) HTTPTriggers(namespace string) HTTPTriggerInterface {
 	return newHTTPTriggers(c, namespace)
 }
 
-func (c *V1V1Client) KubernetesWatchTriggers(namespace string) KubernetesWatchTriggerInterface {
+func (c *CoreV1Client) KubernetesWatchTriggers(namespace string) KubernetesWatchTriggerInterface {
 	return newKubernetesWatchTriggers(c, namespace)
 }
 
-func (c *V1V1Client) MessageQueueTriggers(namespace string) MessageQueueTriggerInterface {
+func (c *CoreV1Client) MessageQueueTriggers(namespace string) MessageQueueTriggerInterface {
 	return newMessageQueueTriggers(c, namespace)
 }
 
-func (c *V1V1Client) Packages(namespace string) PackageInterface {
+func (c *CoreV1Client) Packages(namespace string) PackageInterface {
 	return newPackages(c, namespace)
 }
 
-func (c *V1V1Client) TimeTriggers(namespace string) TimeTriggerInterface {
+func (c *CoreV1Client) TimeTriggers(namespace string) TimeTriggerInterface {
 	return newTimeTriggers(c, namespace)
 }
 
-// NewForConfig creates a new V1V1Client for the given config.
-func NewForConfig(c *rest.Config) (*V1V1Client, error) {
+// NewForConfig creates a new CoreV1Client for the given config.
+func NewForConfig(c *rest.Config) (*CoreV1Client, error) {
 	config := *c
 	if err := setConfigDefaults(&config); err != nil {
 		return nil, err
@@ -83,12 +83,12 @@ func NewForConfig(c *rest.Config) (*V1V1Client, error) {
 	if err != nil {
 		return nil, err
 	}
-	return &V1V1Client{client}, nil
+	return &CoreV1Client{client}, nil
 }
 
-// NewForConfigOrDie creates a new V1V1Client for the given config and
+// NewForConfigOrDie creates a new CoreV1Client for the given config and
 // panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *V1V1Client {
+func NewForConfigOrDie(c *rest.Config) *CoreV1Client {
 	client, err := NewForConfig(c)
 	if err != nil {
 		panic(err)
@@ -96,9 +96,9 @@ func NewForConfigOrDie(c *rest.Config) *V1V1Client {
 	return client
 }
 
-// New creates a new V1V1Client for the given RESTClient.
-func New(c rest.Interface) *V1V1Client {
-	return &V1V1Client{c}
+// New creates a new CoreV1Client for the given RESTClient.
+func New(c rest.Interface) *CoreV1Client {
+	return &CoreV1Client{c}
 }
 
 func setConfigDefaults(config *rest.Config) error {
@@ -116,7 +116,7 @@ func setConfigDefaults(config *rest.Config) error {
 
 // RESTClient returns a RESTClient that is used to communicate
 // with API server by this client implementation.
-func (c *V1V1Client) RESTClient() rest.Interface {
+func (c *CoreV1Client) RESTClient() rest.Interface {
 	if c == nil {
 		return nil
 	}
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/doc.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/doc.go
similarity index 100%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/doc.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/doc.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/environment.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/environment.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/environment.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/environment.go
index 24772f40..22865280 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/environment.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/environment.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -55,7 +55,7 @@ type environments struct {
 }
 
 // newEnvironments returns a Environments
-func newEnvironments(c *V1V1Client, namespace string) *environments {
+func newEnvironments(c *CoreV1Client, namespace string) *environments {
 	return &environments{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/doc.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/doc.go
similarity index 100%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/doc.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/doc.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_canaryconfig.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go
similarity index 72%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_canaryconfig.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go
index 6540db6d..9e2cf3d1 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_canaryconfig.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeCanaryConfigs implements CanaryConfigInterface
 type FakeCanaryConfigs struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var canaryconfigsResource = schema.GroupVersionResource{Group: "fission.io", Ver
 var canaryconfigsKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "CanaryConfig"}
 
 // Get takes name of the _canaryConfig, and returns the corresponding canaryConfig object, and an error if there is any.
-func (c *FakeCanaryConfigs) Get(name string, options v1.GetOptions) (result *fissioniov1.CanaryConfig, err error) {
+func (c *FakeCanaryConfigs) Get(name string, options v1.GetOptions) (result *corev1.CanaryConfig, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(canaryconfigsResource, c.ns, name), &fissioniov1.CanaryConfig{})
+		Invokes(testing.NewGetAction(canaryconfigsResource, c.ns, name), &corev1.CanaryConfig{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.CanaryConfig), err
+	return obj.(*corev1.CanaryConfig), err
 }
 
 // List takes label and field selectors, and returns the list of CanaryConfigs that match those selectors.
-func (c *FakeCanaryConfigs) List(opts v1.ListOptions) (result *fissioniov1.CanaryConfigList, err error) {
+func (c *FakeCanaryConfigs) List(opts v1.ListOptions) (result *corev1.CanaryConfigList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(canaryconfigsResource, canaryconfigsKind, c.ns, opts), &fissioniov1.CanaryConfigList{})
+		Invokes(testing.NewListAction(canaryconfigsResource, canaryconfigsKind, c.ns, opts), &corev1.CanaryConfigList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeCanaryConfigs) List(opts v1.ListOptions) (result *fissioniov1.Canar
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.CanaryConfigList{ListMeta: obj.(*fissioniov1.CanaryConfigList).ListMeta}
-	for _, item := range obj.(*fissioniov1.CanaryConfigList).Items {
+	list := &corev1.CanaryConfigList{ListMeta: obj.(*corev1.CanaryConfigList).ListMeta}
+	for _, item := range obj.(*corev1.CanaryConfigList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,43 +79,43 @@ func (c *FakeCanaryConfigs) Watch(opts v1.ListOptions) (watch.Interface, error)
 }
 
 // Create takes the representation of a _canaryConfig and creates it.  Returns the server's representation of the canaryConfig, and an error, if there is any.
-func (c *FakeCanaryConfigs) Create(_canaryConfig *fissioniov1.CanaryConfig) (result *fissioniov1.CanaryConfig, err error) {
+func (c *FakeCanaryConfigs) Create(_canaryConfig *corev1.CanaryConfig) (result *corev1.CanaryConfig, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(canaryconfigsResource, c.ns, _canaryConfig), &fissioniov1.CanaryConfig{})
+		Invokes(testing.NewCreateAction(canaryconfigsResource, c.ns, _canaryConfig), &corev1.CanaryConfig{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.CanaryConfig), err
+	return obj.(*corev1.CanaryConfig), err
 }
 
 // Update takes the representation of a _canaryConfig and updates it. Returns the server's representation of the canaryConfig, and an error, if there is any.
-func (c *FakeCanaryConfigs) Update(_canaryConfig *fissioniov1.CanaryConfig) (result *fissioniov1.CanaryConfig, err error) {
+func (c *FakeCanaryConfigs) Update(_canaryConfig *corev1.CanaryConfig) (result *corev1.CanaryConfig, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(canaryconfigsResource, c.ns, _canaryConfig), &fissioniov1.CanaryConfig{})
+		Invokes(testing.NewUpdateAction(canaryconfigsResource, c.ns, _canaryConfig), &corev1.CanaryConfig{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.CanaryConfig), err
+	return obj.(*corev1.CanaryConfig), err
 }
 
 // UpdateStatus was generated because the type contains a Status member.
 // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakeCanaryConfigs) UpdateStatus(_canaryConfig *fissioniov1.CanaryConfig) (*fissioniov1.CanaryConfig, error) {
+func (c *FakeCanaryConfigs) UpdateStatus(_canaryConfig *corev1.CanaryConfig) (*corev1.CanaryConfig, error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateSubresourceAction(canaryconfigsResource, "status", c.ns, _canaryConfig), &fissioniov1.CanaryConfig{})
+		Invokes(testing.NewUpdateSubresourceAction(canaryconfigsResource, "status", c.ns, _canaryConfig), &corev1.CanaryConfig{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.CanaryConfig), err
+	return obj.(*corev1.CanaryConfig), err
 }
 
 // Delete takes name of the _canaryConfig and deletes it. Returns an error if one occurs.
 func (c *FakeCanaryConfigs) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(canaryconfigsResource, c.ns, name), &fissioniov1.CanaryConfig{})
+		Invokes(testing.NewDeleteAction(canaryconfigsResource, c.ns, name), &corev1.CanaryConfig{})
 
 	return err
 }
@@ -124,17 +124,17 @@ func (c *FakeCanaryConfigs) Delete(name string, options *v1.DeleteOptions) error
 func (c *FakeCanaryConfigs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(canaryconfigsResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.CanaryConfigList{})
+	_, err := c.Fake.Invokes(action, &corev1.CanaryConfigList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched canaryConfig.
-func (c *FakeCanaryConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.CanaryConfig, err error) {
+func (c *FakeCanaryConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.CanaryConfig, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(canaryconfigsResource, c.ns, name, pt, data, subresources...), &fissioniov1.CanaryConfig{})
+		Invokes(testing.NewPatchSubresourceAction(canaryconfigsResource, c.ns, name, pt, data, subresources...), &corev1.CanaryConfig{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.CanaryConfig), err
+	return obj.(*corev1.CanaryConfig), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_fission.io_client.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_core_client.go
similarity index 60%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_fission.io_client.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_core_client.go
index 6300f3ae..076f3f9b 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_fission.io_client.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_core_client.go
@@ -19,50 +19,50 @@ limitations under the License.
 package fake
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/typed/core/v1"
 	rest "k8s.io/client-go/rest"
 	testing "k8s.io/client-go/testing"
 )
 
-type FakeV1V1 struct {
+type FakeCoreV1 struct {
 	*testing.Fake
 }
 
-func (c *FakeV1V1) CanaryConfigs(namespace string) v1.CanaryConfigInterface {
+func (c *FakeCoreV1) CanaryConfigs(namespace string) v1.CanaryConfigInterface {
 	return &FakeCanaryConfigs{c, namespace}
 }
 
-func (c *FakeV1V1) Environments(namespace string) v1.EnvironmentInterface {
+func (c *FakeCoreV1) Environments(namespace string) v1.EnvironmentInterface {
 	return &FakeEnvironments{c, namespace}
 }
 
-func (c *FakeV1V1) Functions(namespace string) v1.FunctionInterface {
+func (c *FakeCoreV1) Functions(namespace string) v1.FunctionInterface {
 	return &FakeFunctions{c, namespace}
 }
 
-func (c *FakeV1V1) HTTPTriggers(namespace string) v1.HTTPTriggerInterface {
+func (c *FakeCoreV1) HTTPTriggers(namespace string) v1.HTTPTriggerInterface {
 	return &FakeHTTPTriggers{c, namespace}
 }
 
-func (c *FakeV1V1) KubernetesWatchTriggers(namespace string) v1.KubernetesWatchTriggerInterface {
+func (c *FakeCoreV1) KubernetesWatchTriggers(namespace string) v1.KubernetesWatchTriggerInterface {
 	return &FakeKubernetesWatchTriggers{c, namespace}
 }
 
-func (c *FakeV1V1) MessageQueueTriggers(namespace string) v1.MessageQueueTriggerInterface {
+func (c *FakeCoreV1) MessageQueueTriggers(namespace string) v1.MessageQueueTriggerInterface {
 	return &FakeMessageQueueTriggers{c, namespace}
 }
 
-func (c *FakeV1V1) Packages(namespace string) v1.PackageInterface {
+func (c *FakeCoreV1) Packages(namespace string) v1.PackageInterface {
 	return &FakePackages{c, namespace}
 }
 
-func (c *FakeV1V1) TimeTriggers(namespace string) v1.TimeTriggerInterface {
+func (c *FakeCoreV1) TimeTriggers(namespace string) v1.TimeTriggerInterface {
 	return &FakeTimeTriggers{c, namespace}
 }
 
 // RESTClient returns a RESTClient that is used to communicate
 // with API server by this client implementation.
-func (c *FakeV1V1) RESTClient() rest.Interface {
+func (c *FakeCoreV1) RESTClient() rest.Interface {
 	var ret *rest.RESTClient
 	return ret
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_environment.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_environment.go
similarity index 74%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_environment.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_environment.go
index bdce1fdb..b9f065d1 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_environment.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_environment.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeEnvironments implements EnvironmentInterface
 type FakeEnvironments struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var environmentsResource = schema.GroupVersionResource{Group: "fission.io", Vers
 var environmentsKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "Environment"}
 
 // Get takes name of the _environment, and returns the corresponding environment object, and an error if there is any.
-func (c *FakeEnvironments) Get(name string, options v1.GetOptions) (result *fissioniov1.Environment, err error) {
+func (c *FakeEnvironments) Get(name string, options v1.GetOptions) (result *corev1.Environment, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(environmentsResource, c.ns, name), &fissioniov1.Environment{})
+		Invokes(testing.NewGetAction(environmentsResource, c.ns, name), &corev1.Environment{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Environment), err
+	return obj.(*corev1.Environment), err
 }
 
 // List takes label and field selectors, and returns the list of Environments that match those selectors.
-func (c *FakeEnvironments) List(opts v1.ListOptions) (result *fissioniov1.EnvironmentList, err error) {
+func (c *FakeEnvironments) List(opts v1.ListOptions) (result *corev1.EnvironmentList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(environmentsResource, environmentsKind, c.ns, opts), &fissioniov1.EnvironmentList{})
+		Invokes(testing.NewListAction(environmentsResource, environmentsKind, c.ns, opts), &corev1.EnvironmentList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeEnvironments) List(opts v1.ListOptions) (result *fissioniov1.Enviro
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.EnvironmentList{ListMeta: obj.(*fissioniov1.EnvironmentList).ListMeta}
-	for _, item := range obj.(*fissioniov1.EnvironmentList).Items {
+	list := &corev1.EnvironmentList{ListMeta: obj.(*corev1.EnvironmentList).ListMeta}
+	for _, item := range obj.(*corev1.EnvironmentList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,31 +79,31 @@ func (c *FakeEnvironments) Watch(opts v1.ListOptions) (watch.Interface, error) {
 }
 
 // Create takes the representation of a _environment and creates it.  Returns the server's representation of the environment, and an error, if there is any.
-func (c *FakeEnvironments) Create(_environment *fissioniov1.Environment) (result *fissioniov1.Environment, err error) {
+func (c *FakeEnvironments) Create(_environment *corev1.Environment) (result *corev1.Environment, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(environmentsResource, c.ns, _environment), &fissioniov1.Environment{})
+		Invokes(testing.NewCreateAction(environmentsResource, c.ns, _environment), &corev1.Environment{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Environment), err
+	return obj.(*corev1.Environment), err
 }
 
 // Update takes the representation of a _environment and updates it. Returns the server's representation of the environment, and an error, if there is any.
-func (c *FakeEnvironments) Update(_environment *fissioniov1.Environment) (result *fissioniov1.Environment, err error) {
+func (c *FakeEnvironments) Update(_environment *corev1.Environment) (result *corev1.Environment, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(environmentsResource, c.ns, _environment), &fissioniov1.Environment{})
+		Invokes(testing.NewUpdateAction(environmentsResource, c.ns, _environment), &corev1.Environment{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Environment), err
+	return obj.(*corev1.Environment), err
 }
 
 // Delete takes name of the _environment and deletes it. Returns an error if one occurs.
 func (c *FakeEnvironments) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(environmentsResource, c.ns, name), &fissioniov1.Environment{})
+		Invokes(testing.NewDeleteAction(environmentsResource, c.ns, name), &corev1.Environment{})
 
 	return err
 }
@@ -112,17 +112,17 @@ func (c *FakeEnvironments) Delete(name string, options *v1.DeleteOptions) error
 func (c *FakeEnvironments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(environmentsResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.EnvironmentList{})
+	_, err := c.Fake.Invokes(action, &corev1.EnvironmentList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched environment.
-func (c *FakeEnvironments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.Environment, err error) {
+func (c *FakeEnvironments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.Environment, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(environmentsResource, c.ns, name, pt, data, subresources...), &fissioniov1.Environment{})
+		Invokes(testing.NewPatchSubresourceAction(environmentsResource, c.ns, name, pt, data, subresources...), &corev1.Environment{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Environment), err
+	return obj.(*corev1.Environment), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_function.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_function.go
similarity index 75%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_function.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_function.go
index fac2ed79..a23256f7 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_function.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_function.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeFunctions implements FunctionInterface
 type FakeFunctions struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var functionsResource = schema.GroupVersionResource{Group: "fission.io", Version
 var functionsKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "Function"}
 
 // Get takes name of the _function, and returns the corresponding function object, and an error if there is any.
-func (c *FakeFunctions) Get(name string, options v1.GetOptions) (result *fissioniov1.Function, err error) {
+func (c *FakeFunctions) Get(name string, options v1.GetOptions) (result *corev1.Function, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(functionsResource, c.ns, name), &fissioniov1.Function{})
+		Invokes(testing.NewGetAction(functionsResource, c.ns, name), &corev1.Function{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Function), err
+	return obj.(*corev1.Function), err
 }
 
 // List takes label and field selectors, and returns the list of Functions that match those selectors.
-func (c *FakeFunctions) List(opts v1.ListOptions) (result *fissioniov1.FunctionList, err error) {
+func (c *FakeFunctions) List(opts v1.ListOptions) (result *corev1.FunctionList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(functionsResource, functionsKind, c.ns, opts), &fissioniov1.FunctionList{})
+		Invokes(testing.NewListAction(functionsResource, functionsKind, c.ns, opts), &corev1.FunctionList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeFunctions) List(opts v1.ListOptions) (result *fissioniov1.FunctionL
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.FunctionList{ListMeta: obj.(*fissioniov1.FunctionList).ListMeta}
-	for _, item := range obj.(*fissioniov1.FunctionList).Items {
+	list := &corev1.FunctionList{ListMeta: obj.(*corev1.FunctionList).ListMeta}
+	for _, item := range obj.(*corev1.FunctionList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,31 +79,31 @@ func (c *FakeFunctions) Watch(opts v1.ListOptions) (watch.Interface, error) {
 }
 
 // Create takes the representation of a _function and creates it.  Returns the server's representation of the function, and an error, if there is any.
-func (c *FakeFunctions) Create(_function *fissioniov1.Function) (result *fissioniov1.Function, err error) {
+func (c *FakeFunctions) Create(_function *corev1.Function) (result *corev1.Function, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(functionsResource, c.ns, _function), &fissioniov1.Function{})
+		Invokes(testing.NewCreateAction(functionsResource, c.ns, _function), &corev1.Function{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Function), err
+	return obj.(*corev1.Function), err
 }
 
 // Update takes the representation of a _function and updates it. Returns the server's representation of the function, and an error, if there is any.
-func (c *FakeFunctions) Update(_function *fissioniov1.Function) (result *fissioniov1.Function, err error) {
+func (c *FakeFunctions) Update(_function *corev1.Function) (result *corev1.Function, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(functionsResource, c.ns, _function), &fissioniov1.Function{})
+		Invokes(testing.NewUpdateAction(functionsResource, c.ns, _function), &corev1.Function{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Function), err
+	return obj.(*corev1.Function), err
 }
 
 // Delete takes name of the _function and deletes it. Returns an error if one occurs.
 func (c *FakeFunctions) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(functionsResource, c.ns, name), &fissioniov1.Function{})
+		Invokes(testing.NewDeleteAction(functionsResource, c.ns, name), &corev1.Function{})
 
 	return err
 }
@@ -112,17 +112,17 @@ func (c *FakeFunctions) Delete(name string, options *v1.DeleteOptions) error {
 func (c *FakeFunctions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(functionsResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.FunctionList{})
+	_, err := c.Fake.Invokes(action, &corev1.FunctionList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched function.
-func (c *FakeFunctions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.Function, err error) {
+func (c *FakeFunctions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.Function, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(functionsResource, c.ns, name, pt, data, subresources...), &fissioniov1.Function{})
+		Invokes(testing.NewPatchSubresourceAction(functionsResource, c.ns, name, pt, data, subresources...), &corev1.Function{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Function), err
+	return obj.(*corev1.Function), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_httptrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go
similarity index 74%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_httptrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go
index f182cc3b..a443969d 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_httptrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeHTTPTriggers implements HTTPTriggerInterface
 type FakeHTTPTriggers struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var httptriggersResource = schema.GroupVersionResource{Group: "fission.io", Vers
 var httptriggersKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "HTTPTrigger"}
 
 // Get takes name of the _hTTPTrigger, and returns the corresponding hTTPTrigger object, and an error if there is any.
-func (c *FakeHTTPTriggers) Get(name string, options v1.GetOptions) (result *fissioniov1.HTTPTrigger, err error) {
+func (c *FakeHTTPTriggers) Get(name string, options v1.GetOptions) (result *corev1.HTTPTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(httptriggersResource, c.ns, name), &fissioniov1.HTTPTrigger{})
+		Invokes(testing.NewGetAction(httptriggersResource, c.ns, name), &corev1.HTTPTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.HTTPTrigger), err
+	return obj.(*corev1.HTTPTrigger), err
 }
 
 // List takes label and field selectors, and returns the list of HTTPTriggers that match those selectors.
-func (c *FakeHTTPTriggers) List(opts v1.ListOptions) (result *fissioniov1.HTTPTriggerList, err error) {
+func (c *FakeHTTPTriggers) List(opts v1.ListOptions) (result *corev1.HTTPTriggerList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(httptriggersResource, httptriggersKind, c.ns, opts), &fissioniov1.HTTPTriggerList{})
+		Invokes(testing.NewListAction(httptriggersResource, httptriggersKind, c.ns, opts), &corev1.HTTPTriggerList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeHTTPTriggers) List(opts v1.ListOptions) (result *fissioniov1.HTTPTr
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.HTTPTriggerList{ListMeta: obj.(*fissioniov1.HTTPTriggerList).ListMeta}
-	for _, item := range obj.(*fissioniov1.HTTPTriggerList).Items {
+	list := &corev1.HTTPTriggerList{ListMeta: obj.(*corev1.HTTPTriggerList).ListMeta}
+	for _, item := range obj.(*corev1.HTTPTriggerList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,31 +79,31 @@ func (c *FakeHTTPTriggers) Watch(opts v1.ListOptions) (watch.Interface, error) {
 }
 
 // Create takes the representation of a _hTTPTrigger and creates it.  Returns the server's representation of the hTTPTrigger, and an error, if there is any.
-func (c *FakeHTTPTriggers) Create(_hTTPTrigger *fissioniov1.HTTPTrigger) (result *fissioniov1.HTTPTrigger, err error) {
+func (c *FakeHTTPTriggers) Create(_hTTPTrigger *corev1.HTTPTrigger) (result *corev1.HTTPTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(httptriggersResource, c.ns, _hTTPTrigger), &fissioniov1.HTTPTrigger{})
+		Invokes(testing.NewCreateAction(httptriggersResource, c.ns, _hTTPTrigger), &corev1.HTTPTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.HTTPTrigger), err
+	return obj.(*corev1.HTTPTrigger), err
 }
 
 // Update takes the representation of a _hTTPTrigger and updates it. Returns the server's representation of the hTTPTrigger, and an error, if there is any.
-func (c *FakeHTTPTriggers) Update(_hTTPTrigger *fissioniov1.HTTPTrigger) (result *fissioniov1.HTTPTrigger, err error) {
+func (c *FakeHTTPTriggers) Update(_hTTPTrigger *corev1.HTTPTrigger) (result *corev1.HTTPTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(httptriggersResource, c.ns, _hTTPTrigger), &fissioniov1.HTTPTrigger{})
+		Invokes(testing.NewUpdateAction(httptriggersResource, c.ns, _hTTPTrigger), &corev1.HTTPTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.HTTPTrigger), err
+	return obj.(*corev1.HTTPTrigger), err
 }
 
 // Delete takes name of the _hTTPTrigger and deletes it. Returns an error if one occurs.
 func (c *FakeHTTPTriggers) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(httptriggersResource, c.ns, name), &fissioniov1.HTTPTrigger{})
+		Invokes(testing.NewDeleteAction(httptriggersResource, c.ns, name), &corev1.HTTPTrigger{})
 
 	return err
 }
@@ -112,17 +112,17 @@ func (c *FakeHTTPTriggers) Delete(name string, options *v1.DeleteOptions) error
 func (c *FakeHTTPTriggers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(httptriggersResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.HTTPTriggerList{})
+	_, err := c.Fake.Invokes(action, &corev1.HTTPTriggerList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched hTTPTrigger.
-func (c *FakeHTTPTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.HTTPTrigger, err error) {
+func (c *FakeHTTPTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.HTTPTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(httptriggersResource, c.ns, name, pt, data, subresources...), &fissioniov1.HTTPTrigger{})
+		Invokes(testing.NewPatchSubresourceAction(httptriggersResource, c.ns, name, pt, data, subresources...), &corev1.HTTPTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.HTTPTrigger), err
+	return obj.(*corev1.HTTPTrigger), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_kuberneteswatchtrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go
similarity index 73%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_kuberneteswatchtrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go
index 7226dcc0..53e5f6a2 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_kuberneteswatchtrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeKubernetesWatchTriggers implements KubernetesWatchTriggerInterface
 type FakeKubernetesWatchTriggers struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var kuberneteswatchtriggersResource = schema.GroupVersionResource{Group: "fissio
 var kuberneteswatchtriggersKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "KubernetesWatchTrigger"}
 
 // Get takes name of the _kubernetesWatchTrigger, and returns the corresponding kubernetesWatchTrigger object, and an error if there is any.
-func (c *FakeKubernetesWatchTriggers) Get(name string, options v1.GetOptions) (result *fissioniov1.KubernetesWatchTrigger, err error) {
+func (c *FakeKubernetesWatchTriggers) Get(name string, options v1.GetOptions) (result *corev1.KubernetesWatchTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(kuberneteswatchtriggersResource, c.ns, name), &fissioniov1.KubernetesWatchTrigger{})
+		Invokes(testing.NewGetAction(kuberneteswatchtriggersResource, c.ns, name), &corev1.KubernetesWatchTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.KubernetesWatchTrigger), err
+	return obj.(*corev1.KubernetesWatchTrigger), err
 }
 
 // List takes label and field selectors, and returns the list of KubernetesWatchTriggers that match those selectors.
-func (c *FakeKubernetesWatchTriggers) List(opts v1.ListOptions) (result *fissioniov1.KubernetesWatchTriggerList, err error) {
+func (c *FakeKubernetesWatchTriggers) List(opts v1.ListOptions) (result *corev1.KubernetesWatchTriggerList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(kuberneteswatchtriggersResource, kuberneteswatchtriggersKind, c.ns, opts), &fissioniov1.KubernetesWatchTriggerList{})
+		Invokes(testing.NewListAction(kuberneteswatchtriggersResource, kuberneteswatchtriggersKind, c.ns, opts), &corev1.KubernetesWatchTriggerList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeKubernetesWatchTriggers) List(opts v1.ListOptions) (result *fission
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.KubernetesWatchTriggerList{ListMeta: obj.(*fissioniov1.KubernetesWatchTriggerList).ListMeta}
-	for _, item := range obj.(*fissioniov1.KubernetesWatchTriggerList).Items {
+	list := &corev1.KubernetesWatchTriggerList{ListMeta: obj.(*corev1.KubernetesWatchTriggerList).ListMeta}
+	for _, item := range obj.(*corev1.KubernetesWatchTriggerList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,31 +79,31 @@ func (c *FakeKubernetesWatchTriggers) Watch(opts v1.ListOptions) (watch.Interfac
 }
 
 // Create takes the representation of a _kubernetesWatchTrigger and creates it.  Returns the server's representation of the kubernetesWatchTrigger, and an error, if there is any.
-func (c *FakeKubernetesWatchTriggers) Create(_kubernetesWatchTrigger *fissioniov1.KubernetesWatchTrigger) (result *fissioniov1.KubernetesWatchTrigger, err error) {
+func (c *FakeKubernetesWatchTriggers) Create(_kubernetesWatchTrigger *corev1.KubernetesWatchTrigger) (result *corev1.KubernetesWatchTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(kuberneteswatchtriggersResource, c.ns, _kubernetesWatchTrigger), &fissioniov1.KubernetesWatchTrigger{})
+		Invokes(testing.NewCreateAction(kuberneteswatchtriggersResource, c.ns, _kubernetesWatchTrigger), &corev1.KubernetesWatchTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.KubernetesWatchTrigger), err
+	return obj.(*corev1.KubernetesWatchTrigger), err
 }
 
 // Update takes the representation of a _kubernetesWatchTrigger and updates it. Returns the server's representation of the kubernetesWatchTrigger, and an error, if there is any.
-func (c *FakeKubernetesWatchTriggers) Update(_kubernetesWatchTrigger *fissioniov1.KubernetesWatchTrigger) (result *fissioniov1.KubernetesWatchTrigger, err error) {
+func (c *FakeKubernetesWatchTriggers) Update(_kubernetesWatchTrigger *corev1.KubernetesWatchTrigger) (result *corev1.KubernetesWatchTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(kuberneteswatchtriggersResource, c.ns, _kubernetesWatchTrigger), &fissioniov1.KubernetesWatchTrigger{})
+		Invokes(testing.NewUpdateAction(kuberneteswatchtriggersResource, c.ns, _kubernetesWatchTrigger), &corev1.KubernetesWatchTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.KubernetesWatchTrigger), err
+	return obj.(*corev1.KubernetesWatchTrigger), err
 }
 
 // Delete takes name of the _kubernetesWatchTrigger and deletes it. Returns an error if one occurs.
 func (c *FakeKubernetesWatchTriggers) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(kuberneteswatchtriggersResource, c.ns, name), &fissioniov1.KubernetesWatchTrigger{})
+		Invokes(testing.NewDeleteAction(kuberneteswatchtriggersResource, c.ns, name), &corev1.KubernetesWatchTrigger{})
 
 	return err
 }
@@ -112,17 +112,17 @@ func (c *FakeKubernetesWatchTriggers) Delete(name string, options *v1.DeleteOpti
 func (c *FakeKubernetesWatchTriggers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(kuberneteswatchtriggersResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.KubernetesWatchTriggerList{})
+	_, err := c.Fake.Invokes(action, &corev1.KubernetesWatchTriggerList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched kubernetesWatchTrigger.
-func (c *FakeKubernetesWatchTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.KubernetesWatchTrigger, err error) {
+func (c *FakeKubernetesWatchTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.KubernetesWatchTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(kuberneteswatchtriggersResource, c.ns, name, pt, data, subresources...), &fissioniov1.KubernetesWatchTrigger{})
+		Invokes(testing.NewPatchSubresourceAction(kuberneteswatchtriggersResource, c.ns, name, pt, data, subresources...), &corev1.KubernetesWatchTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.KubernetesWatchTrigger), err
+	return obj.(*corev1.KubernetesWatchTrigger), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_messagequeuetrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go
similarity index 74%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_messagequeuetrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go
index f838f37f..adf58036 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_messagequeuetrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeMessageQueueTriggers implements MessageQueueTriggerInterface
 type FakeMessageQueueTriggers struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var messagequeuetriggersResource = schema.GroupVersionResource{Group: "fission.i
 var messagequeuetriggersKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "MessageQueueTrigger"}
 
 // Get takes name of the _messageQueueTrigger, and returns the corresponding messageQueueTrigger object, and an error if there is any.
-func (c *FakeMessageQueueTriggers) Get(name string, options v1.GetOptions) (result *fissioniov1.MessageQueueTrigger, err error) {
+func (c *FakeMessageQueueTriggers) Get(name string, options v1.GetOptions) (result *corev1.MessageQueueTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(messagequeuetriggersResource, c.ns, name), &fissioniov1.MessageQueueTrigger{})
+		Invokes(testing.NewGetAction(messagequeuetriggersResource, c.ns, name), &corev1.MessageQueueTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.MessageQueueTrigger), err
+	return obj.(*corev1.MessageQueueTrigger), err
 }
 
 // List takes label and field selectors, and returns the list of MessageQueueTriggers that match those selectors.
-func (c *FakeMessageQueueTriggers) List(opts v1.ListOptions) (result *fissioniov1.MessageQueueTriggerList, err error) {
+func (c *FakeMessageQueueTriggers) List(opts v1.ListOptions) (result *corev1.MessageQueueTriggerList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(messagequeuetriggersResource, messagequeuetriggersKind, c.ns, opts), &fissioniov1.MessageQueueTriggerList{})
+		Invokes(testing.NewListAction(messagequeuetriggersResource, messagequeuetriggersKind, c.ns, opts), &corev1.MessageQueueTriggerList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeMessageQueueTriggers) List(opts v1.ListOptions) (result *fissioniov
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.MessageQueueTriggerList{ListMeta: obj.(*fissioniov1.MessageQueueTriggerList).ListMeta}
-	for _, item := range obj.(*fissioniov1.MessageQueueTriggerList).Items {
+	list := &corev1.MessageQueueTriggerList{ListMeta: obj.(*corev1.MessageQueueTriggerList).ListMeta}
+	for _, item := range obj.(*corev1.MessageQueueTriggerList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,31 +79,31 @@ func (c *FakeMessageQueueTriggers) Watch(opts v1.ListOptions) (watch.Interface,
 }
 
 // Create takes the representation of a _messageQueueTrigger and creates it.  Returns the server's representation of the messageQueueTrigger, and an error, if there is any.
-func (c *FakeMessageQueueTriggers) Create(_messageQueueTrigger *fissioniov1.MessageQueueTrigger) (result *fissioniov1.MessageQueueTrigger, err error) {
+func (c *FakeMessageQueueTriggers) Create(_messageQueueTrigger *corev1.MessageQueueTrigger) (result *corev1.MessageQueueTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(messagequeuetriggersResource, c.ns, _messageQueueTrigger), &fissioniov1.MessageQueueTrigger{})
+		Invokes(testing.NewCreateAction(messagequeuetriggersResource, c.ns, _messageQueueTrigger), &corev1.MessageQueueTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.MessageQueueTrigger), err
+	return obj.(*corev1.MessageQueueTrigger), err
 }
 
 // Update takes the representation of a _messageQueueTrigger and updates it. Returns the server's representation of the messageQueueTrigger, and an error, if there is any.
-func (c *FakeMessageQueueTriggers) Update(_messageQueueTrigger *fissioniov1.MessageQueueTrigger) (result *fissioniov1.MessageQueueTrigger, err error) {
+func (c *FakeMessageQueueTriggers) Update(_messageQueueTrigger *corev1.MessageQueueTrigger) (result *corev1.MessageQueueTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(messagequeuetriggersResource, c.ns, _messageQueueTrigger), &fissioniov1.MessageQueueTrigger{})
+		Invokes(testing.NewUpdateAction(messagequeuetriggersResource, c.ns, _messageQueueTrigger), &corev1.MessageQueueTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.MessageQueueTrigger), err
+	return obj.(*corev1.MessageQueueTrigger), err
 }
 
 // Delete takes name of the _messageQueueTrigger and deletes it. Returns an error if one occurs.
 func (c *FakeMessageQueueTriggers) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(messagequeuetriggersResource, c.ns, name), &fissioniov1.MessageQueueTrigger{})
+		Invokes(testing.NewDeleteAction(messagequeuetriggersResource, c.ns, name), &corev1.MessageQueueTrigger{})
 
 	return err
 }
@@ -112,17 +112,17 @@ func (c *FakeMessageQueueTriggers) Delete(name string, options *v1.DeleteOptions
 func (c *FakeMessageQueueTriggers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(messagequeuetriggersResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.MessageQueueTriggerList{})
+	_, err := c.Fake.Invokes(action, &corev1.MessageQueueTriggerList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched messageQueueTrigger.
-func (c *FakeMessageQueueTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.MessageQueueTrigger, err error) {
+func (c *FakeMessageQueueTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.MessageQueueTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(messagequeuetriggersResource, c.ns, name, pt, data, subresources...), &fissioniov1.MessageQueueTrigger{})
+		Invokes(testing.NewPatchSubresourceAction(messagequeuetriggersResource, c.ns, name, pt, data, subresources...), &corev1.MessageQueueTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.MessageQueueTrigger), err
+	return obj.(*corev1.MessageQueueTrigger), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_package.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_package.go
similarity index 73%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_package.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_package.go
index c1555df9..8c765e09 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_package.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_package.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakePackages implements PackageInterface
 type FakePackages struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var packagesResource = schema.GroupVersionResource{Group: "fission.io", Version:
 var packagesKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "Package"}
 
 // Get takes name of the _package, and returns the corresponding package object, and an error if there is any.
-func (c *FakePackages) Get(name string, options v1.GetOptions) (result *fissioniov1.Package, err error) {
+func (c *FakePackages) Get(name string, options v1.GetOptions) (result *corev1.Package, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(packagesResource, c.ns, name), &fissioniov1.Package{})
+		Invokes(testing.NewGetAction(packagesResource, c.ns, name), &corev1.Package{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Package), err
+	return obj.(*corev1.Package), err
 }
 
 // List takes label and field selectors, and returns the list of Packages that match those selectors.
-func (c *FakePackages) List(opts v1.ListOptions) (result *fissioniov1.PackageList, err error) {
+func (c *FakePackages) List(opts v1.ListOptions) (result *corev1.PackageList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(packagesResource, packagesKind, c.ns, opts), &fissioniov1.PackageList{})
+		Invokes(testing.NewListAction(packagesResource, packagesKind, c.ns, opts), &corev1.PackageList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakePackages) List(opts v1.ListOptions) (result *fissioniov1.PackageLis
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.PackageList{ListMeta: obj.(*fissioniov1.PackageList).ListMeta}
-	for _, item := range obj.(*fissioniov1.PackageList).Items {
+	list := &corev1.PackageList{ListMeta: obj.(*corev1.PackageList).ListMeta}
+	for _, item := range obj.(*corev1.PackageList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,43 +79,43 @@ func (c *FakePackages) Watch(opts v1.ListOptions) (watch.Interface, error) {
 }
 
 // Create takes the representation of a _package and creates it.  Returns the server's representation of the package, and an error, if there is any.
-func (c *FakePackages) Create(_package *fissioniov1.Package) (result *fissioniov1.Package, err error) {
+func (c *FakePackages) Create(_package *corev1.Package) (result *corev1.Package, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(packagesResource, c.ns, _package), &fissioniov1.Package{})
+		Invokes(testing.NewCreateAction(packagesResource, c.ns, _package), &corev1.Package{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Package), err
+	return obj.(*corev1.Package), err
 }
 
 // Update takes the representation of a _package and updates it. Returns the server's representation of the package, and an error, if there is any.
-func (c *FakePackages) Update(_package *fissioniov1.Package) (result *fissioniov1.Package, err error) {
+func (c *FakePackages) Update(_package *corev1.Package) (result *corev1.Package, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(packagesResource, c.ns, _package), &fissioniov1.Package{})
+		Invokes(testing.NewUpdateAction(packagesResource, c.ns, _package), &corev1.Package{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Package), err
+	return obj.(*corev1.Package), err
 }
 
 // UpdateStatus was generated because the type contains a Status member.
 // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakePackages) UpdateStatus(_package *fissioniov1.Package) (*fissioniov1.Package, error) {
+func (c *FakePackages) UpdateStatus(_package *corev1.Package) (*corev1.Package, error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateSubresourceAction(packagesResource, "status", c.ns, _package), &fissioniov1.Package{})
+		Invokes(testing.NewUpdateSubresourceAction(packagesResource, "status", c.ns, _package), &corev1.Package{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Package), err
+	return obj.(*corev1.Package), err
 }
 
 // Delete takes name of the _package and deletes it. Returns an error if one occurs.
 func (c *FakePackages) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(packagesResource, c.ns, name), &fissioniov1.Package{})
+		Invokes(testing.NewDeleteAction(packagesResource, c.ns, name), &corev1.Package{})
 
 	return err
 }
@@ -124,17 +124,17 @@ func (c *FakePackages) Delete(name string, options *v1.DeleteOptions) error {
 func (c *FakePackages) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(packagesResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.PackageList{})
+	_, err := c.Fake.Invokes(action, &corev1.PackageList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched package.
-func (c *FakePackages) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.Package, err error) {
+func (c *FakePackages) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.Package, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(packagesResource, c.ns, name, pt, data, subresources...), &fissioniov1.Package{})
+		Invokes(testing.NewPatchSubresourceAction(packagesResource, c.ns, name, pt, data, subresources...), &corev1.Package{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.Package), err
+	return obj.(*corev1.Package), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_timetrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go
similarity index 74%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_timetrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go
index a3ba56c0..aff78bf5 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/fake/fake_timetrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package fake
 
 import (
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	labels "k8s.io/apimachinery/pkg/labels"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -30,7 +30,7 @@ import (
 
 // FakeTimeTriggers implements TimeTriggerInterface
 type FakeTimeTriggers struct {
-	Fake *FakeV1V1
+	Fake *FakeCoreV1
 	ns   string
 }
 
@@ -39,20 +39,20 @@ var timetriggersResource = schema.GroupVersionResource{Group: "fission.io", Vers
 var timetriggersKind = schema.GroupVersionKind{Group: "fission.io", Version: "v1", Kind: "TimeTrigger"}
 
 // Get takes name of the _timeTrigger, and returns the corresponding timeTrigger object, and an error if there is any.
-func (c *FakeTimeTriggers) Get(name string, options v1.GetOptions) (result *fissioniov1.TimeTrigger, err error) {
+func (c *FakeTimeTriggers) Get(name string, options v1.GetOptions) (result *corev1.TimeTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(timetriggersResource, c.ns, name), &fissioniov1.TimeTrigger{})
+		Invokes(testing.NewGetAction(timetriggersResource, c.ns, name), &corev1.TimeTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.TimeTrigger), err
+	return obj.(*corev1.TimeTrigger), err
 }
 
 // List takes label and field selectors, and returns the list of TimeTriggers that match those selectors.
-func (c *FakeTimeTriggers) List(opts v1.ListOptions) (result *fissioniov1.TimeTriggerList, err error) {
+func (c *FakeTimeTriggers) List(opts v1.ListOptions) (result *corev1.TimeTriggerList, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewListAction(timetriggersResource, timetriggersKind, c.ns, opts), &fissioniov1.TimeTriggerList{})
+		Invokes(testing.NewListAction(timetriggersResource, timetriggersKind, c.ns, opts), &corev1.TimeTriggerList{})
 
 	if obj == nil {
 		return nil, err
@@ -62,8 +62,8 @@ func (c *FakeTimeTriggers) List(opts v1.ListOptions) (result *fissioniov1.TimeTr
 	if label == nil {
 		label = labels.Everything()
 	}
-	list := &fissioniov1.TimeTriggerList{ListMeta: obj.(*fissioniov1.TimeTriggerList).ListMeta}
-	for _, item := range obj.(*fissioniov1.TimeTriggerList).Items {
+	list := &corev1.TimeTriggerList{ListMeta: obj.(*corev1.TimeTriggerList).ListMeta}
+	for _, item := range obj.(*corev1.TimeTriggerList).Items {
 		if label.Matches(labels.Set(item.Labels)) {
 			list.Items = append(list.Items, item)
 		}
@@ -79,31 +79,31 @@ func (c *FakeTimeTriggers) Watch(opts v1.ListOptions) (watch.Interface, error) {
 }
 
 // Create takes the representation of a _timeTrigger and creates it.  Returns the server's representation of the timeTrigger, and an error, if there is any.
-func (c *FakeTimeTriggers) Create(_timeTrigger *fissioniov1.TimeTrigger) (result *fissioniov1.TimeTrigger, err error) {
+func (c *FakeTimeTriggers) Create(_timeTrigger *corev1.TimeTrigger) (result *corev1.TimeTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(timetriggersResource, c.ns, _timeTrigger), &fissioniov1.TimeTrigger{})
+		Invokes(testing.NewCreateAction(timetriggersResource, c.ns, _timeTrigger), &corev1.TimeTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.TimeTrigger), err
+	return obj.(*corev1.TimeTrigger), err
 }
 
 // Update takes the representation of a _timeTrigger and updates it. Returns the server's representation of the timeTrigger, and an error, if there is any.
-func (c *FakeTimeTriggers) Update(_timeTrigger *fissioniov1.TimeTrigger) (result *fissioniov1.TimeTrigger, err error) {
+func (c *FakeTimeTriggers) Update(_timeTrigger *corev1.TimeTrigger) (result *corev1.TimeTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(timetriggersResource, c.ns, _timeTrigger), &fissioniov1.TimeTrigger{})
+		Invokes(testing.NewUpdateAction(timetriggersResource, c.ns, _timeTrigger), &corev1.TimeTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.TimeTrigger), err
+	return obj.(*corev1.TimeTrigger), err
 }
 
 // Delete takes name of the _timeTrigger and deletes it. Returns an error if one occurs.
 func (c *FakeTimeTriggers) Delete(name string, options *v1.DeleteOptions) error {
 	_, err := c.Fake.
-		Invokes(testing.NewDeleteAction(timetriggersResource, c.ns, name), &fissioniov1.TimeTrigger{})
+		Invokes(testing.NewDeleteAction(timetriggersResource, c.ns, name), &corev1.TimeTrigger{})
 
 	return err
 }
@@ -112,17 +112,17 @@ func (c *FakeTimeTriggers) Delete(name string, options *v1.DeleteOptions) error
 func (c *FakeTimeTriggers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
 	action := testing.NewDeleteCollectionAction(timetriggersResource, c.ns, listOptions)
 
-	_, err := c.Fake.Invokes(action, &fissioniov1.TimeTriggerList{})
+	_, err := c.Fake.Invokes(action, &corev1.TimeTriggerList{})
 	return err
 }
 
 // Patch applies the patch and returns the patched timeTrigger.
-func (c *FakeTimeTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *fissioniov1.TimeTrigger, err error) {
+func (c *FakeTimeTriggers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *corev1.TimeTrigger, err error) {
 	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(timetriggersResource, c.ns, name, pt, data, subresources...), &fissioniov1.TimeTrigger{})
+		Invokes(testing.NewPatchSubresourceAction(timetriggersResource, c.ns, name, pt, data, subresources...), &corev1.TimeTrigger{})
 
 	if obj == nil {
 		return nil, err
 	}
-	return obj.(*fissioniov1.TimeTrigger), err
+	return obj.(*corev1.TimeTrigger), err
 }
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/function.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/function.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/function.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/function.go
index 0315501c..26b63e35 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/function.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/function.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -55,7 +55,7 @@ type functions struct {
 }
 
 // newFunctions returns a Functions
-func newFunctions(c *V1V1Client, namespace string) *functions {
+func newFunctions(c *CoreV1Client, namespace string) *functions {
 	return &functions{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/generated_expansion.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/generated_expansion.go
similarity index 100%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/generated_expansion.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/generated_expansion.go
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/httptrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/httptrigger.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/httptrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/httptrigger.go
index 28e2c902..f1bc46cb 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/httptrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/httptrigger.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -55,7 +55,7 @@ type hTTPTriggers struct {
 }
 
 // newHTTPTriggers returns a HTTPTriggers
-func newHTTPTriggers(c *V1V1Client, namespace string) *hTTPTriggers {
+func newHTTPTriggers(c *CoreV1Client, namespace string) *hTTPTriggers {
 	return &hTTPTriggers{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/kuberneteswatchtrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/kuberneteswatchtrigger.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/kuberneteswatchtrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/kuberneteswatchtrigger.go
index c0f8353f..6a195fcd 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/kuberneteswatchtrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/kuberneteswatchtrigger.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -55,7 +55,7 @@ type kubernetesWatchTriggers struct {
 }
 
 // newKubernetesWatchTriggers returns a KubernetesWatchTriggers
-func newKubernetesWatchTriggers(c *V1V1Client, namespace string) *kubernetesWatchTriggers {
+func newKubernetesWatchTriggers(c *CoreV1Client, namespace string) *kubernetesWatchTriggers {
 	return &kubernetesWatchTriggers{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/messagequeuetrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/messagequeuetrigger.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/messagequeuetrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/messagequeuetrigger.go
index 703191c1..260fb69b 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/messagequeuetrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/messagequeuetrigger.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -55,7 +55,7 @@ type messageQueueTriggers struct {
 }
 
 // newMessageQueueTriggers returns a MessageQueueTriggers
-func newMessageQueueTriggers(c *V1V1Client, namespace string) *messageQueueTriggers {
+func newMessageQueueTriggers(c *CoreV1Client, namespace string) *messageQueueTriggers {
 	return &messageQueueTriggers{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/package.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/package.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/package.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/package.go
index 83ffe65b..97b1aac6 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/package.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/package.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -56,7 +56,7 @@ type packages struct {
 }
 
 // newPackages returns a Packages
-func newPackages(c *V1V1Client, namespace string) *packages {
+func newPackages(c *CoreV1Client, namespace string) *packages {
 	return &packages{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/timetrigger.go b/pkg/apis/genclient/clientset/versioned/typed/core/v1/timetrigger.go
similarity index 96%
rename from pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/timetrigger.go
rename to pkg/apis/genclient/clientset/versioned/typed/core/v1/timetrigger.go
index a0f732e6..6c9ebf21 100644
--- a/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1/timetrigger.go
+++ b/pkg/apis/genclient/clientset/versioned/typed/core/v1/timetrigger.go
@@ -21,8 +21,8 @@ package v1
 import (
 	"time"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	scheme "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/scheme"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
+	scheme "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/scheme"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	types "k8s.io/apimachinery/pkg/types"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -55,7 +55,7 @@ type timeTriggers struct {
 }
 
 // newTimeTriggers returns a TimeTriggers
-func newTimeTriggers(c *V1V1Client, namespace string) *timeTriggers {
+func newTimeTriggers(c *CoreV1Client, namespace string) *timeTriggers {
 	return &timeTriggers{
 		client: c.RESTClient(),
 		ns:     namespace,
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/interface.go b/pkg/apis/genclient/informers/externalversions/core/interface.go
similarity index 89%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/interface.go
rename to pkg/apis/genclient/informers/externalversions/core/interface.go
index 755df464..308a152a 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/interface.go
+++ b/pkg/apis/genclient/informers/externalversions/core/interface.go
@@ -16,11 +16,11 @@ limitations under the License.
 
 // Code generated by informer-gen. DO NOT EDIT.
 
-package fission
+package core
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/core/v1"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
 )
 
 // Interface provides access to each of this group's versions.
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/canaryconfig.go b/pkg/apis/genclient/informers/externalversions/core/v1/canaryconfig.go
similarity index 85%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/canaryconfig.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/canaryconfig.go
index efd91b26..289adc27 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/canaryconfig.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/canaryconfig.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredCanaryConfigInformer(client versioned.Interface, namespace strin
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().CanaryConfigs(namespace).List(options)
+				return client.CoreV1().CanaryConfigs(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().CanaryConfigs(namespace).Watch(options)
+				return client.CoreV1().CanaryConfigs(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.CanaryConfig{},
+		&corev1.CanaryConfig{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_canaryConfigInformer) defaultInformer(client versioned.Interface, resy
 }
 
 func (f *_canaryConfigInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.CanaryConfig{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.CanaryConfig{}, f.defaultInformer)
 }
 
 func (f *_canaryConfigInformer) Lister() v1.CanaryConfigLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/environment.go b/pkg/apis/genclient/informers/externalversions/core/v1/environment.go
similarity index 86%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/environment.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/environment.go
index 62d61829..c4b4dfb8 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/environment.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/environment.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredEnvironmentInformer(client versioned.Interface, namespace string
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().Environments(namespace).List(options)
+				return client.CoreV1().Environments(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().Environments(namespace).Watch(options)
+				return client.CoreV1().Environments(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.Environment{},
+		&corev1.Environment{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_environmentInformer) defaultInformer(client versioned.Interface, resyn
 }
 
 func (f *_environmentInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.Environment{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.Environment{}, f.defaultInformer)
 }
 
 func (f *_environmentInformer) Lister() v1.EnvironmentLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/function.go b/pkg/apis/genclient/informers/externalversions/core/v1/function.go
similarity index 86%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/function.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/function.go
index 45e31d80..83405b1f 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/function.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/function.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredFunctionInformer(client versioned.Interface, namespace string, r
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().Functions(namespace).List(options)
+				return client.CoreV1().Functions(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().Functions(namespace).Watch(options)
+				return client.CoreV1().Functions(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.Function{},
+		&corev1.Function{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_functionInformer) defaultInformer(client versioned.Interface, resyncPe
 }
 
 func (f *_functionInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.Function{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.Function{}, f.defaultInformer)
 }
 
 func (f *_functionInformer) Lister() v1.FunctionLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/httptrigger.go b/pkg/apis/genclient/informers/externalversions/core/v1/httptrigger.go
similarity index 86%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/httptrigger.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/httptrigger.go
index 07688447..a7bf86f2 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/httptrigger.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/httptrigger.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredHTTPTriggerInformer(client versioned.Interface, namespace string
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().HTTPTriggers(namespace).List(options)
+				return client.CoreV1().HTTPTriggers(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().HTTPTriggers(namespace).Watch(options)
+				return client.CoreV1().HTTPTriggers(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.HTTPTrigger{},
+		&corev1.HTTPTrigger{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_hTTPTriggerInformer) defaultInformer(client versioned.Interface, resyn
 }
 
 func (f *_hTTPTriggerInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.HTTPTrigger{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.HTTPTrigger{}, f.defaultInformer)
 }
 
 func (f *_hTTPTriggerInformer) Lister() v1.HTTPTriggerLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/interface.go b/pkg/apis/genclient/informers/externalversions/core/v1/interface.go
similarity index 98%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/interface.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/interface.go
index 1003e0ec..71c61bab 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/interface.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/interface.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
 )
 
 // Interface provides access to all the informers in this group version.
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/kuberneteswatchtrigger.go b/pkg/apis/genclient/informers/externalversions/core/v1/kuberneteswatchtrigger.go
similarity index 85%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/kuberneteswatchtrigger.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/kuberneteswatchtrigger.go
index d43f658b..4220921e 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/kuberneteswatchtrigger.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/kuberneteswatchtrigger.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredKubernetesWatchTriggerInformer(client versioned.Interface, names
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().KubernetesWatchTriggers(namespace).List(options)
+				return client.CoreV1().KubernetesWatchTriggers(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().KubernetesWatchTriggers(namespace).Watch(options)
+				return client.CoreV1().KubernetesWatchTriggers(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.KubernetesWatchTrigger{},
+		&corev1.KubernetesWatchTrigger{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_kubernetesWatchTriggerInformer) defaultInformer(client versioned.Inter
 }
 
 func (f *_kubernetesWatchTriggerInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.KubernetesWatchTrigger{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.KubernetesWatchTrigger{}, f.defaultInformer)
 }
 
 func (f *_kubernetesWatchTriggerInformer) Lister() v1.KubernetesWatchTriggerLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/messagequeuetrigger.go b/pkg/apis/genclient/informers/externalversions/core/v1/messagequeuetrigger.go
similarity index 85%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/messagequeuetrigger.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/messagequeuetrigger.go
index a91e8ab2..caf55469 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/messagequeuetrigger.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/messagequeuetrigger.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredMessageQueueTriggerInformer(client versioned.Interface, namespac
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().MessageQueueTriggers(namespace).List(options)
+				return client.CoreV1().MessageQueueTriggers(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().MessageQueueTriggers(namespace).Watch(options)
+				return client.CoreV1().MessageQueueTriggers(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.MessageQueueTrigger{},
+		&corev1.MessageQueueTrigger{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_messageQueueTriggerInformer) defaultInformer(client versioned.Interfac
 }
 
 func (f *_messageQueueTriggerInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.MessageQueueTrigger{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.MessageQueueTrigger{}, f.defaultInformer)
 }
 
 func (f *_messageQueueTriggerInformer) Lister() v1.MessageQueueTriggerLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/package.go b/pkg/apis/genclient/informers/externalversions/core/v1/package.go
similarity index 86%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/package.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/package.go
index 35163a5a..9f6b5a56 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/package.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/package.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredPackageInformer(client versioned.Interface, namespace string, re
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().Packages(namespace).List(options)
+				return client.CoreV1().Packages(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().Packages(namespace).Watch(options)
+				return client.CoreV1().Packages(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.Package{},
+		&corev1.Package{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_packageInformer) defaultInformer(client versioned.Interface, resyncPer
 }
 
 func (f *_packageInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.Package{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.Package{}, f.defaultInformer)
 }
 
 func (f *_packageInformer) Lister() v1.PackageLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/timetrigger.go b/pkg/apis/genclient/informers/externalversions/core/v1/timetrigger.go
similarity index 86%
rename from pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/timetrigger.go
rename to pkg/apis/genclient/informers/externalversions/core/v1/timetrigger.go
index 915531e4..3d68dfc2 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/fission.io/v1/timetrigger.go
+++ b/pkg/apis/genclient/informers/externalversions/core/v1/timetrigger.go
@@ -21,10 +21,10 @@ package v1
 import (
 	time "time"
 
-	fissioniov1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
-	v1 "github.com/fission/fission/pkg/apis/genclient/v1/listers/fission.io/v1"
+	corev1 "github.com/fission/fission/pkg/apis/core/v1"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
+	v1 "github.com/fission/fission/pkg/apis/genclient/listers/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	watch "k8s.io/apimachinery/pkg/watch"
@@ -61,16 +61,16 @@ func NewFilteredTimeTriggerInformer(client versioned.Interface, namespace string
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().TimeTriggers(namespace).List(options)
+				return client.CoreV1().TimeTriggers(namespace).List(options)
 			},
 			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
 				if tweakListOptions != nil {
 					tweakListOptions(&options)
 				}
-				return client.V1V1().TimeTriggers(namespace).Watch(options)
+				return client.CoreV1().TimeTriggers(namespace).Watch(options)
 			},
 		},
-		&fissioniov1.TimeTrigger{},
+		&corev1.TimeTrigger{},
 		resyncPeriod,
 		indexers,
 	)
@@ -81,7 +81,7 @@ func (f *_timeTriggerInformer) defaultInformer(client versioned.Interface, resyn
 }
 
 func (f *_timeTriggerInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&fissioniov1.TimeTrigger{}, f.defaultInformer)
+	return f.factory.InformerFor(&corev1.TimeTrigger{}, f.defaultInformer)
 }
 
 func (f *_timeTriggerInformer) Lister() v1.TimeTriggerLister {
diff --git a/pkg/apis/genclient/v1/informers/externalversions/factory.go b/pkg/apis/genclient/informers/externalversions/factory.go
similarity index 94%
rename from pkg/apis/genclient/v1/informers/externalversions/factory.go
rename to pkg/apis/genclient/informers/externalversions/factory.go
index 79f41773..c35193a9 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/factory.go
+++ b/pkg/apis/genclient/informers/externalversions/factory.go
@@ -23,9 +23,9 @@ import (
 	sync "sync"
 	time "time"
 
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	fissionio "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/fission.io"
-	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
+	core "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/core"
+	internalinterfaces "github.com/fission/fission/pkg/apis/genclient/informers/externalversions/internalinterfaces"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -172,9 +172,9 @@ type SharedInformerFactory interface {
 	ForResource(resource schema.GroupVersionResource) (GenericInformer, error)
 	WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
 
-	V1() fissionio.Interface
+	Core() core.Interface
 }
 
-func (f *sharedInformerFactory) V1() fissionio.Interface {
-	return fissionio.New(f, f.namespace, f.tweakListOptions)
+func (f *sharedInformerFactory) Core() core.Interface {
+	return core.New(f, f.namespace, f.tweakListOptions)
 }
diff --git a/pkg/apis/genclient/v1/informers/externalversions/generic.go b/pkg/apis/genclient/informers/externalversions/generic.go
similarity index 84%
rename from pkg/apis/genclient/v1/informers/externalversions/generic.go
rename to pkg/apis/genclient/informers/externalversions/generic.go
index 4cb97af6..b587b4dc 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/generic.go
+++ b/pkg/apis/genclient/informers/externalversions/generic.go
@@ -21,7 +21,7 @@ package externalversions
 import (
 	"fmt"
 
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	schema "k8s.io/apimachinery/pkg/runtime/schema"
 	cache "k8s.io/client-go/tools/cache"
 )
@@ -54,21 +54,21 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource
 	switch resource {
 	// Group=fission.io, Version=v1
 	case v1.SchemeGroupVersion.WithResource("canaryconfigs"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().CanaryConfigs().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().CanaryConfigs().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("environments"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().Environments().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Environments().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("functions"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().Functions().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Functions().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("httptriggers"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().HTTPTriggers().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().HTTPTriggers().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("kuberneteswatchtriggers"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().KubernetesWatchTriggers().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().KubernetesWatchTriggers().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("messagequeuetriggers"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().MessageQueueTriggers().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().MessageQueueTriggers().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("packages"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().Packages().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Packages().Informer()}, nil
 	case v1.SchemeGroupVersion.WithResource("timetriggers"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.V1().V1().TimeTriggers().Informer()}, nil
+		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().TimeTriggers().Informer()}, nil
 
 	}
 
diff --git a/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces/factory_interfaces.go b/pkg/apis/genclient/informers/externalversions/internalinterfaces/factory_interfaces.go
similarity index 94%
rename from pkg/apis/genclient/v1/informers/externalversions/internalinterfaces/factory_interfaces.go
rename to pkg/apis/genclient/informers/externalversions/internalinterfaces/factory_interfaces.go
index 2e66b81a..9dacb07a 100644
--- a/pkg/apis/genclient/v1/informers/externalversions/internalinterfaces/factory_interfaces.go
+++ b/pkg/apis/genclient/informers/externalversions/internalinterfaces/factory_interfaces.go
@@ -21,7 +21,7 @@ package internalinterfaces
 import (
 	time "time"
 
-	versioned "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
+	versioned "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	runtime "k8s.io/apimachinery/pkg/runtime"
 	cache "k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/canaryconfig.go b/pkg/apis/genclient/listers/core/v1/canaryconfig.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/canaryconfig.go
rename to pkg/apis/genclient/listers/core/v1/canaryconfig.go
index 78437354..e7f41ef3 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/canaryconfig.go
+++ b/pkg/apis/genclient/listers/core/v1/canaryconfig.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/environment.go b/pkg/apis/genclient/listers/core/v1/environment.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/environment.go
rename to pkg/apis/genclient/listers/core/v1/environment.go
index b475a3e4..119dcd65 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/environment.go
+++ b/pkg/apis/genclient/listers/core/v1/environment.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/expansion_generated.go b/pkg/apis/genclient/listers/core/v1/expansion_generated.go
similarity index 100%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/expansion_generated.go
rename to pkg/apis/genclient/listers/core/v1/expansion_generated.go
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/function.go b/pkg/apis/genclient/listers/core/v1/function.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/function.go
rename to pkg/apis/genclient/listers/core/v1/function.go
index ceadf192..7b471bfb 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/function.go
+++ b/pkg/apis/genclient/listers/core/v1/function.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/httptrigger.go b/pkg/apis/genclient/listers/core/v1/httptrigger.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/httptrigger.go
rename to pkg/apis/genclient/listers/core/v1/httptrigger.go
index 85a37ea3..ae6e8201 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/httptrigger.go
+++ b/pkg/apis/genclient/listers/core/v1/httptrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/kuberneteswatchtrigger.go b/pkg/apis/genclient/listers/core/v1/kuberneteswatchtrigger.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/kuberneteswatchtrigger.go
rename to pkg/apis/genclient/listers/core/v1/kuberneteswatchtrigger.go
index 54b5c821..9e9efcbe 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/kuberneteswatchtrigger.go
+++ b/pkg/apis/genclient/listers/core/v1/kuberneteswatchtrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/messagequeuetrigger.go b/pkg/apis/genclient/listers/core/v1/messagequeuetrigger.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/messagequeuetrigger.go
rename to pkg/apis/genclient/listers/core/v1/messagequeuetrigger.go
index 67cbdabe..2188e9a7 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/messagequeuetrigger.go
+++ b/pkg/apis/genclient/listers/core/v1/messagequeuetrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/package.go b/pkg/apis/genclient/listers/core/v1/package.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/package.go
rename to pkg/apis/genclient/listers/core/v1/package.go
index 9245e41b..ec1a3af9 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/package.go
+++ b/pkg/apis/genclient/listers/core/v1/package.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/apis/genclient/v1/listers/fission.io/v1/timetrigger.go b/pkg/apis/genclient/listers/core/v1/timetrigger.go
similarity index 98%
rename from pkg/apis/genclient/v1/listers/fission.io/v1/timetrigger.go
rename to pkg/apis/genclient/listers/core/v1/timetrigger.go
index 5e5467b0..acbc8e97 100644
--- a/pkg/apis/genclient/v1/listers/fission.io/v1/timetrigger.go
+++ b/pkg/apis/genclient/listers/core/v1/timetrigger.go
@@ -19,7 +19,7 @@ limitations under the License.
 package v1
 
 import (
-	v1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	v1 "github.com/fission/fission/pkg/apis/core/v1"
 	"k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/tools/cache"
diff --git a/pkg/buildermgr/common.go b/pkg/buildermgr/common.go
index 2c256d61..e7436f6b 100644
--- a/pkg/buildermgr/common.go
+++ b/pkg/buildermgr/common.go
@@ -28,7 +28,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/builder"
 	builderClient "github.com/fission/fission/pkg/builder/client"
 	"github.com/fission/fission/pkg/crd"
@@ -47,7 +47,7 @@ import (
 func buildPackage(ctx context.Context, logger *zap.Logger, fissionClient *crd.FissionClient, envBuilderNamespace string,
 	storageSvcUrl string, pkg *fv1.Package) (uploadResp *fetcher.ArchiveUploadResponse, buildLogs string, err error) {
 
-	env, err := fissionClient.V1().Environments(pkg.Spec.Environment.Namespace).Get(pkg.Spec.Environment.Name, metav1.GetOptions{})
+	env, err := fissionClient.CoreV1().Environments(pkg.Spec.Environment.Namespace).Get(pkg.Spec.Environment.Name, metav1.GetOptions{})
 	if err != nil {
 		e := "error getting environment CRD info"
 		logger.Error(e, zap.Error(err))
@@ -140,7 +140,7 @@ func updatePackage(logger *zap.Logger, fissionClient *crd.FissionClient,
 	}
 
 	// update package spec
-	pkg, err := fissionClient.V1().Packages(pkg.ObjectMeta.Namespace).Update(pkg)
+	pkg, err := fissionClient.CoreV1().Packages(pkg.ObjectMeta.Namespace).Update(pkg)
 	if err != nil {
 		e := "error updating package"
 		logger.Error(e, zap.Error(err))
diff --git a/pkg/buildermgr/envwatcher.go b/pkg/buildermgr/envwatcher.go
index c50c6412..c220c509 100644
--- a/pkg/buildermgr/envwatcher.go
+++ b/pkg/buildermgr/envwatcher.go
@@ -32,7 +32,7 @@ import (
 	"k8s.io/apimachinery/pkg/watch"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/util"
 	fetcherConfig "github.com/fission/fission/pkg/fetcher/config"
@@ -147,7 +147,7 @@ func (envw *environmentWatcher) getLabels(envName string, envNamespace string, e
 func (envw *environmentWatcher) watchEnvironments() {
 	rv := ""
 	for {
-		wi, err := envw.fissionClient.V1().Environments(metav1.NamespaceAll).Watch(metav1.ListOptions{
+		wi, err := envw.fissionClient.CoreV1().Environments(metav1.NamespaceAll).Watch(metav1.ListOptions{
 			ResourceVersion: rv,
 		})
 		if err != nil {
@@ -181,7 +181,7 @@ func (envw *environmentWatcher) watchEnvironments() {
 func (envw *environmentWatcher) sync() {
 	maxRetries := 10
 	for i := 0; i < maxRetries; i++ {
-		envList, err := envw.fissionClient.V1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
+		envList, err := envw.fissionClient.CoreV1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			if utils.IsNetworkError(err) {
 				envw.logger.Error("error syncing environment CRD resources due to network error, retrying later", zap.Error(err))
diff --git a/pkg/buildermgr/pkgwatcher.go b/pkg/buildermgr/pkgwatcher.go
index 38367a6a..84fa80dc 100644
--- a/pkg/buildermgr/pkgwatcher.go
+++ b/pkg/buildermgr/pkgwatcher.go
@@ -29,7 +29,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/cache"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/utils"
@@ -97,7 +97,7 @@ func (pkgw *packageWatcher) build(buildCache *cache.Cache, srcpkg *fv1.Package)
 		return
 	}
 
-	env, err := pkgw.fissionClient.V1().Environments(pkg.Spec.Environment.Namespace).Get(pkg.Spec.Environment.Name, metav1.GetOptions{})
+	env, err := pkgw.fissionClient.CoreV1().Environments(pkg.Spec.Environment.Namespace).Get(pkg.Spec.Environment.Name, metav1.GetOptions{})
 	if k8serrors.IsNotFound(err) {
 		e := "environment does not exist"
 		pkgw.logger.Error(e, zap.String("environment", pkg.Spec.Environment.Name))
@@ -180,7 +180,7 @@ func (pkgw *packageWatcher) build(buildCache *cache.Cache, srcpkg *fv1.Package)
 
 			pkgw.logger.Info("starting package info update", zap.String("package_name", pkg.ObjectMeta.Name))
 
-			fnList, err := pkgw.fissionClient.V1().
+			fnList, err := pkgw.fissionClient.CoreV1().
 				Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
 			if err != nil {
 				e := "error getting function list"
@@ -197,7 +197,7 @@ func (pkgw *packageWatcher) build(buildCache *cache.Cache, srcpkg *fv1.Package)
 					fn.Spec.Package.PackageRef.ResourceVersion != pkg.ObjectMeta.ResourceVersion {
 					fn.Spec.Package.PackageRef.ResourceVersion = pkg.ObjectMeta.ResourceVersion
 					// update CRD
-					_, err = pkgw.fissionClient.V1().Functions(fn.ObjectMeta.Namespace).Update(&fn)
+					_, err = pkgw.fissionClient.CoreV1().Functions(fn.ObjectMeta.Namespace).Update(&fn)
 					if err != nil {
 						e := "error updating function package resource version"
 						pkgw.logger.Error(e, zap.Error(err))
@@ -231,7 +231,7 @@ func (pkgw *packageWatcher) build(buildCache *cache.Cache, srcpkg *fv1.Package)
 func (pkgw *packageWatcher) watchPackages(fissionClient *crd.FissionClient,
 	kubernetesClient *kubernetes.Clientset, builderNamespace string) {
 	buildCache := cache.MakeCache(0, 0)
-	lw := k8sCache.NewListWatchFromClient(pkgw.fissionClient.V1().RESTClient(), "packages", apiv1.NamespaceAll, fields.Everything())
+	lw := k8sCache.NewListWatchFromClient(pkgw.fissionClient.CoreV1().RESTClient(), "packages", apiv1.NamespaceAll, fields.Everything())
 	pkgStore, controller := k8sCache.NewInformer(lw, &fv1.Package{}, 60*time.Second, k8sCache.ResourceEventHandlerFuncs{
 		AddFunc: func(obj interface{}) {
 			pkg := obj.(*fv1.Package)
diff --git a/pkg/canaryconfigmgr/canaryConfigMgr.go b/pkg/canaryconfigmgr/canaryConfigMgr.go
index 474ac5ce..ac00f928 100644
--- a/pkg/canaryconfigmgr/canaryConfigMgr.go
+++ b/pkg/canaryconfigmgr/canaryConfigMgr.go
@@ -33,7 +33,7 @@ import (
 	"k8s.io/client-go/rest"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 )
 
@@ -242,7 +242,7 @@ func (canaryCfgMgr *canaryConfigMgr) RollForwardOrBack(canaryConfig *fv1.CanaryC
 	}
 
 	// get the http trigger object associated with this canary config
-	triggerObj, err := canaryCfgMgr.fissionClient.V1().HTTPTriggers(canaryConfig.ObjectMeta.Namespace).Get(canaryConfig.Spec.Trigger, metav1.GetOptions{})
+	triggerObj, err := canaryCfgMgr.fissionClient.CoreV1().HTTPTriggers(canaryConfig.ObjectMeta.Namespace).Get(canaryConfig.Spec.Trigger, metav1.GetOptions{})
 	if err != nil {
 		// if the http trigger is not found, then give up processing this config.
 		if k8serrors.IsNotFound(err) {
@@ -361,7 +361,7 @@ func (canaryCfgMgr *canaryConfigMgr) RollForwardOrBack(canaryConfig *fv1.CanaryC
 
 func (canaryCfgMgr *canaryConfigMgr) updateHttpTriggerWithRetries(triggerName, triggerNamespace string, fnWeights map[string]int) (err error) {
 	for i := 0; i < maxRetries; i++ {
-		triggerObj, err := canaryCfgMgr.fissionClient.V1().HTTPTriggers(triggerNamespace).Get(triggerName, metav1.GetOptions{})
+		triggerObj, err := canaryCfgMgr.fissionClient.CoreV1().HTTPTriggers(triggerNamespace).Get(triggerName, metav1.GetOptions{})
 		if err != nil {
 			e := "error getting http trigger object"
 			canaryCfgMgr.logger.Error(e, zap.Error(err), zap.String("trigger_name", triggerName), zap.String("trigger_namespace", triggerNamespace))
@@ -370,7 +370,7 @@ func (canaryCfgMgr *canaryConfigMgr) updateHttpTriggerWithRetries(triggerName, t
 
 		triggerObj.Spec.FunctionReference.FunctionWeights = fnWeights
 
-		_, err = canaryCfgMgr.fissionClient.V1().HTTPTriggers(triggerNamespace).Update(triggerObj)
+		_, err = canaryCfgMgr.fissionClient.CoreV1().HTTPTriggers(triggerNamespace).Update(triggerObj)
 		switch {
 		case err == nil:
 			canaryCfgMgr.logger.Debug("updated http trigger", zap.String("trigger_name", triggerName), zap.String("trigger_namespace", triggerNamespace))
@@ -396,7 +396,7 @@ func (canaryCfgMgr *canaryConfigMgr) updateHttpTriggerWithRetries(triggerName, t
 
 func (canaryCfgMgr *canaryConfigMgr) updateCanaryConfigStatusWithRetries(cfgName, cfgNamespace string, status string) (err error) {
 	for i := 0; i < maxRetries; i++ {
-		canaryCfgObj, err := canaryCfgMgr.fissionClient.V1().CanaryConfigs(cfgNamespace).Get(cfgName, metav1.GetOptions{})
+		canaryCfgObj, err := canaryCfgMgr.fissionClient.CoreV1().CanaryConfigs(cfgNamespace).Get(cfgName, metav1.GetOptions{})
 		if err != nil {
 			e := "error getting http canary config object"
 			canaryCfgMgr.logger.Error(e,
@@ -414,7 +414,7 @@ func (canaryCfgMgr *canaryConfigMgr) updateCanaryConfigStatusWithRetries(cfgName
 
 		canaryCfgObj.Status.Status = status
 
-		_, err = canaryCfgMgr.fissionClient.V1().CanaryConfigs(cfgNamespace).Update(canaryCfgObj)
+		_, err = canaryCfgMgr.fissionClient.CoreV1().CanaryConfigs(cfgNamespace).Update(canaryCfgObj)
 		switch {
 		case err == nil:
 			canaryCfgMgr.logger.Info("updated canary config",
diff --git a/pkg/controller/canaryConfigApi.go b/pkg/controller/canaryConfigApi.go
index dc8f6a26..36b8d13d 100644
--- a/pkg/controller/canaryConfigApi.go
+++ b/pkg/controller/canaryConfigApi.go
@@ -29,7 +29,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 	config "github.com/fission/fission/pkg/featureconfig"
 )
@@ -122,7 +122,7 @@ func (a *API) CanaryConfigApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	canaryCfgNew, err := a.fissionClient.V1().CanaryConfigs(canaryCfg.ObjectMeta.Namespace).Create(&canaryCfg)
+	canaryCfgNew, err := a.fissionClient.CoreV1().CanaryConfigs(canaryCfg.ObjectMeta.Namespace).Create(&canaryCfg)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -153,7 +153,7 @@ func (a *API) CanaryConfigApiGet(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	canaryCfg, err := a.fissionClient.V1().CanaryConfigs(ns).Get(name, metav1.GetOptions{})
+	canaryCfg, err := a.fissionClient.CoreV1().CanaryConfigs(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -180,7 +180,7 @@ func (a *API) CanaryConfigApiList(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	canaryCfgs, err := a.fissionClient.V1().CanaryConfigs(ns).List(metav1.ListOptions{})
+	canaryCfgs, err := a.fissionClient.CoreV1().CanaryConfigs(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -215,7 +215,7 @@ func (a *API) CanaryConfigApiUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	canayCfgNew, err := a.fissionClient.V1().CanaryConfigs(c.ObjectMeta.Namespace).Update(&c)
+	canayCfgNew, err := a.fissionClient.CoreV1().CanaryConfigs(c.ObjectMeta.Namespace).Update(&c)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -244,7 +244,7 @@ func (a *API) CanaryConfigApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().CanaryConfigs(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().CanaryConfigs(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/client/v1/canaryconfig.go b/pkg/controller/client/v1/canaryconfig.go
index 4dd420ce..eac719c3 100644
--- a/pkg/controller/client/v1/canaryconfig.go
+++ b/pkg/controller/client/v1/canaryconfig.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 type (
diff --git a/pkg/controller/client/v1/environment.go b/pkg/controller/client/v1/environment.go
index d794bb7a..528c759d 100644
--- a/pkg/controller/client/v1/environment.go
+++ b/pkg/controller/client/v1/environment.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/generator/encoder"
 	v1generator "github.com/fission/fission/pkg/generator/v1"
 )
diff --git a/pkg/controller/client/v1/function.go b/pkg/controller/client/v1/function.go
index 33701ec7..796b117e 100644
--- a/pkg/controller/client/v1/function.go
+++ b/pkg/controller/client/v1/function.go
@@ -22,7 +22,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client/rest"
 )
 
diff --git a/pkg/controller/client/v1/httptrigger.go b/pkg/controller/client/v1/httptrigger.go
index d30f24b2..afa59ecc 100644
--- a/pkg/controller/client/v1/httptrigger.go
+++ b/pkg/controller/client/v1/httptrigger.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 type (
diff --git a/pkg/controller/client/v1/kuberneteswatchtrigger.go b/pkg/controller/client/v1/kuberneteswatchtrigger.go
index 7a988314..9589f8b3 100644
--- a/pkg/controller/client/v1/kuberneteswatchtrigger.go
+++ b/pkg/controller/client/v1/kuberneteswatchtrigger.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
diff --git a/pkg/controller/client/v1/mqtrigger.go b/pkg/controller/client/v1/mqtrigger.go
index 9aadfbf2..bba52d2b 100644
--- a/pkg/controller/client/v1/mqtrigger.go
+++ b/pkg/controller/client/v1/mqtrigger.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 type (
diff --git a/pkg/controller/client/v1/package.go b/pkg/controller/client/v1/package.go
index 64a7995a..e2a9cc9f 100644
--- a/pkg/controller/client/v1/package.go
+++ b/pkg/controller/client/v1/package.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 type (
diff --git a/pkg/controller/client/v1/timetrigger.go b/pkg/controller/client/v1/timetrigger.go
index a19939db..c4fc6b56 100644
--- a/pkg/controller/client/v1/timetrigger.go
+++ b/pkg/controller/client/v1/timetrigger.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 type (
diff --git a/pkg/controller/config.go b/pkg/controller/config.go
index f43e030d..45009f9d 100644
--- a/pkg/controller/config.go
+++ b/pkg/controller/config.go
@@ -31,7 +31,7 @@ import (
 func ConfigCanaryFeature(context context.Context, logger *zap.Logger, fissionClient *crd.FissionClient, kubeClient *kubernetes.Clientset, featureConfig *config.FeatureConfig, featureStatus map[string]string) error {
 	// start the appropriate controller
 	if featureConfig.CanaryConfig.IsEnabled {
-		canaryCfgMgr, err := canaryconfigmgr.MakeCanaryConfigMgr(logger, fissionClient, kubeClient, fissionClient.V1().RESTClient(),
+		canaryCfgMgr, err := canaryconfigmgr.MakeCanaryConfigMgr(logger, fissionClient, kubeClient, fissionClient.CoreV1().RESTClient(),
 			featureConfig.CanaryConfig.PrometheusSvc)
 		if err != nil {
 			featureStatus[config.CanaryFeature] = err.Error()
diff --git a/pkg/controller/environmentApi.go b/pkg/controller/environmentApi.go
index 898e8898..2e0479d6 100644
--- a/pkg/controller/environmentApi.go
+++ b/pkg/controller/environmentApi.go
@@ -28,7 +28,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -105,7 +105,7 @@ func (a *API) EnvironmentApiList(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceAll
 	}
 
-	envs, err := a.fissionClient.V1().Environments(ns).List(metav1.ListOptions{})
+	envs, err := a.fissionClient.CoreV1().Environments(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -142,7 +142,7 @@ func (a *API) EnvironmentApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	enew, err := a.fissionClient.V1().Environments(env.ObjectMeta.Namespace).Create(&env)
+	enew, err := a.fissionClient.CoreV1().Environments(env.ObjectMeta.Namespace).Create(&env)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -167,7 +167,7 @@ func (a *API) EnvironmentApiGet(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	env, err := a.fissionClient.V1().Environments(ns).Get(name, metav1.GetOptions{})
+	env, err := a.fissionClient.CoreV1().Environments(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -205,7 +205,7 @@ func (a *API) EnvironmentApiUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	enew, err := a.fissionClient.V1().Environments(env.ObjectMeta.Namespace).Update(&env)
+	enew, err := a.fissionClient.CoreV1().Environments(env.ObjectMeta.Namespace).Update(&env)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -229,7 +229,7 @@ func (a *API) EnvironmentApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().Environments(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().Environments(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/functionApi.go b/pkg/controller/functionApi.go
index e384b9d1..82e82140 100644
--- a/pkg/controller/functionApi.go
+++ b/pkg/controller/functionApi.go
@@ -39,7 +39,7 @@ import (
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -116,7 +116,7 @@ func (a *API) FunctionApiList(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceAll
 	}
 
-	funcs, err := a.fissionClient.V1().Functions(ns).List(metav1.ListOptions{})
+	funcs, err := a.fissionClient.CoreV1().Functions(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -152,7 +152,7 @@ func (a *API) FunctionApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	fnew, err := a.fissionClient.V1().Functions(f.ObjectMeta.Namespace).Create(&f)
+	fnew, err := a.fissionClient.CoreV1().Functions(f.ObjectMeta.Namespace).Create(&f)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -176,7 +176,7 @@ func (a *API) FunctionApiGet(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	f, err := a.fissionClient.V1().Functions(ns).Get(name, metav1.GetOptions{})
+	f, err := a.fissionClient.CoreV1().Functions(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -213,7 +213,7 @@ func (a *API) FunctionApiUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	fnew, err := a.fissionClient.V1().Functions(f.ObjectMeta.Namespace).Update(&f)
+	fnew, err := a.fissionClient.CoreV1().Functions(f.ObjectMeta.Namespace).Update(&f)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -235,7 +235,7 @@ func (a *API) FunctionApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().Functions(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().Functions(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -298,7 +298,7 @@ func (a *API) FunctionPodLogs(w http.ResponseWriter, r *http.Request) {
 		podNs = ns
 	}
 
-	f, err := a.fissionClient.V1().Functions(ns).Get(fnName, metav1.GetOptions{})
+	f, err := a.fissionClient.CoreV1().Functions(ns).Get(fnName, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/httpTriggerApi.go b/pkg/controller/httpTriggerApi.go
index 2c62fdc1..380d9065 100644
--- a/pkg/controller/httpTriggerApi.go
+++ b/pkg/controller/httpTriggerApi.go
@@ -28,7 +28,7 @@ import (
 	"github.com/gorilla/mux"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -105,7 +105,7 @@ func (a *API) HTTPTriggerApiList(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceAll
 	}
 
-	triggers, err := a.fissionClient.V1().HTTPTriggers(ns).List(metav1.ListOptions{})
+	triggers, err := a.fissionClient.CoreV1().HTTPTriggers(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -122,7 +122,7 @@ func (a *API) HTTPTriggerApiList(w http.ResponseWriter, r *http.Request) {
 
 // checkHTTPTriggerDuplicates checks whether the tuple (Method, Host, URL) is duplicate or not.
 func (a *API) checkHTTPTriggerDuplicates(t *fv1.HTTPTrigger) error {
-	triggers, err := a.fissionClient.V1().HTTPTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
+	triggers, err := a.fissionClient.CoreV1().HTTPTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
 	if err != nil {
 		return err
 	}
@@ -168,7 +168,7 @@ func (a *API) HTTPTriggerApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	tnew, err := a.fissionClient.V1().HTTPTriggers(t.ObjectMeta.Namespace).Create(&t)
+	tnew, err := a.fissionClient.CoreV1().HTTPTriggers(t.ObjectMeta.Namespace).Create(&t)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -192,7 +192,7 @@ func (a *API) HTTPTriggerApiGet(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	t, err := a.fissionClient.V1().HTTPTriggers(ns).Get(name, metav1.GetOptions{})
+	t, err := a.fissionClient.CoreV1().HTTPTriggers(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -236,7 +236,7 @@ func (a *API) HTTPTriggerApiUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	tnew, err := a.fissionClient.V1().HTTPTriggers(t.ObjectMeta.Namespace).Update(&t)
+	tnew, err := a.fissionClient.CoreV1().HTTPTriggers(t.ObjectMeta.Namespace).Update(&t)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -258,7 +258,7 @@ func (a *API) HTTPTriggerApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().HTTPTriggers(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().HTTPTriggers(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/mqTriggerApi.go b/pkg/controller/mqTriggerApi.go
index e8e9b6a7..ca4b8274 100644
--- a/pkg/controller/mqTriggerApi.go
+++ b/pkg/controller/mqTriggerApi.go
@@ -27,7 +27,7 @@ import (
 	"github.com/gorilla/mux"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -105,7 +105,7 @@ func (a *API) MessageQueueTriggerApiList(w http.ResponseWriter, r *http.Request)
 		ns = metav1.NamespaceAll
 	}
 
-	triggers, err := a.fissionClient.V1().MessageQueueTriggers(ns).List(metav1.ListOptions{})
+	triggers, err := a.fissionClient.CoreV1().MessageQueueTriggers(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -139,7 +139,7 @@ func (a *API) MessageQueueTriggerApiCreate(w http.ResponseWriter, r *http.Reques
 		return
 	}
 
-	tnew, err := a.fissionClient.V1().MessageQueueTriggers(mqTrigger.ObjectMeta.Namespace).Create(&mqTrigger)
+	tnew, err := a.fissionClient.CoreV1().MessageQueueTriggers(mqTrigger.ObjectMeta.Namespace).Create(&mqTrigger)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -162,7 +162,7 @@ func (a *API) MessageQueueTriggerApiGet(w http.ResponseWriter, r *http.Request)
 		ns = metav1.NamespaceDefault
 	}
 
-	mqTrigger, err := a.fissionClient.V1().MessageQueueTriggers(ns).Get(name, metav1.GetOptions{})
+	mqTrigger, err := a.fissionClient.CoreV1().MessageQueueTriggers(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -198,7 +198,7 @@ func (a *API) MessageQueueTriggerApiUpdate(w http.ResponseWriter, r *http.Reques
 		return
 	}
 
-	tnew, err := a.fissionClient.V1().MessageQueueTriggers(mqTrigger.ObjectMeta.Namespace).Update(&mqTrigger)
+	tnew, err := a.fissionClient.CoreV1().MessageQueueTriggers(mqTrigger.ObjectMeta.Namespace).Update(&mqTrigger)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -220,7 +220,7 @@ func (a *API) MessageQueueTriggerApiDelete(w http.ResponseWriter, r *http.Reques
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().MessageQueueTriggers(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().MessageQueueTriggers(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/packageApi.go b/pkg/controller/packageApi.go
index 1f175552..0a96c022 100644
--- a/pkg/controller/packageApi.go
+++ b/pkg/controller/packageApi.go
@@ -29,7 +29,7 @@ import (
 	"github.com/gorilla/mux"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -105,7 +105,7 @@ func (a *API) PackageApiList(w http.ResponseWriter, r *http.Request) {
 	if len(ns) == 0 {
 		ns = metav1.NamespaceAll
 	}
-	funcs, err := a.fissionClient.V1().Packages(ns).List(metav1.ListOptions{})
+	funcs, err := a.fissionClient.CoreV1().Packages(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -155,7 +155,7 @@ func (a *API) PackageApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	fnew, err := a.fissionClient.V1().Packages(f.ObjectMeta.Namespace).Create(&f)
+	fnew, err := a.fissionClient.CoreV1().Packages(f.ObjectMeta.Namespace).Create(&f)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -180,7 +180,7 @@ func (a *API) PackageApiGet(w http.ResponseWriter, r *http.Request) {
 	}
 	raw := r.FormValue("raw") // just the deployment pkg
 
-	f, err := a.fissionClient.V1().Packages(ns).Get(name, metav1.GetOptions{})
+	f, err := a.fissionClient.CoreV1().Packages(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -222,7 +222,7 @@ func (a *API) PackageApiUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	fnew, err := a.fissionClient.V1().Packages(f.ObjectMeta.Namespace).Update(&f)
+	fnew, err := a.fissionClient.CoreV1().Packages(f.ObjectMeta.Namespace).Update(&f)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -244,7 +244,7 @@ func (a *API) PackageApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().Packages(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().Packages(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/timeTriggerApi.go b/pkg/controller/timeTriggerApi.go
index e72f2613..e0951df0 100644
--- a/pkg/controller/timeTriggerApi.go
+++ b/pkg/controller/timeTriggerApi.go
@@ -28,7 +28,7 @@ import (
 	"github.com/robfig/cron"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -105,7 +105,7 @@ func (a *API) TimeTriggerApiList(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceAll
 	}
 
-	triggers, err := a.fissionClient.V1().TimeTriggers(ns).List(metav1.ListOptions{})
+	triggers, err := a.fissionClient.CoreV1().TimeTriggers(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -149,7 +149,7 @@ func (a *API) TimeTriggerApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	tnew, err := a.fissionClient.V1().TimeTriggers(t.ObjectMeta.Namespace).Create(&t)
+	tnew, err := a.fissionClient.CoreV1().TimeTriggers(t.ObjectMeta.Namespace).Create(&t)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -173,7 +173,7 @@ func (a *API) TimeTriggerApiGet(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	t, err := a.fissionClient.V1().TimeTriggers(ns).Get(name, metav1.GetOptions{})
+	t, err := a.fissionClient.CoreV1().TimeTriggers(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -218,7 +218,7 @@ func (a *API) TimeTriggerApiUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	tnew, err := a.fissionClient.V1().TimeTriggers(t.ObjectMeta.Namespace).Update(&t)
+	tnew, err := a.fissionClient.CoreV1().TimeTriggers(t.ObjectMeta.Namespace).Update(&t)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -240,7 +240,7 @@ func (a *API) TimeTriggerApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().TimeTriggers(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().TimeTriggers(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/controller/watchApi.go b/pkg/controller/watchApi.go
index cbef07bf..c6a0417d 100644
--- a/pkg/controller/watchApi.go
+++ b/pkg/controller/watchApi.go
@@ -27,7 +27,7 @@ import (
 	"github.com/gorilla/mux"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
@@ -104,7 +104,7 @@ func (a *API) WatchApiList(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceAll
 	}
 
-	watches, err := a.fissionClient.V1().KubernetesWatchTriggers(ns).List(metav1.ListOptions{})
+	watches, err := a.fissionClient.CoreV1().KubernetesWatchTriggers(ns).List(metav1.ListOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -142,7 +142,7 @@ func (a *API) WatchApiCreate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	wnew, err := a.fissionClient.V1().KubernetesWatchTriggers(watch.ObjectMeta.Namespace).Create(&watch)
+	wnew, err := a.fissionClient.CoreV1().KubernetesWatchTriggers(watch.ObjectMeta.Namespace).Create(&watch)
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -166,7 +166,7 @@ func (a *API) WatchApiGet(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	watch, err := a.fissionClient.V1().KubernetesWatchTriggers(ns).Get(name, metav1.GetOptions{})
+	watch, err := a.fissionClient.CoreV1().KubernetesWatchTriggers(ns).Get(name, metav1.GetOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
@@ -194,7 +194,7 @@ func (a *API) WatchApiDelete(w http.ResponseWriter, r *http.Request) {
 		ns = metav1.NamespaceDefault
 	}
 
-	err := a.fissionClient.V1().KubernetesWatchTriggers(ns).Delete(name, &metav1.DeleteOptions{})
+	err := a.fissionClient.CoreV1().KubernetesWatchTriggers(ns).Delete(name, &metav1.DeleteOptions{})
 	if err != nil {
 		a.respondWithError(w, err)
 		return
diff --git a/pkg/crd/client.go b/pkg/crd/client.go
index 7da03680..7fe7d7ed 100644
--- a/pkg/crd/client.go
+++ b/pkg/crd/client.go
@@ -28,13 +28,12 @@ import (
 	"k8s.io/client-go/rest"
 	"k8s.io/client-go/tools/clientcmd"
 
-	clientset "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned"
-	genv1 "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1"
+	genClientset "github.com/fission/fission/pkg/apis/genclient/clientset/versioned"
 )
 
 type (
 	FissionClient struct {
-		crdClient clientset.Interface
+		genClientset.Interface
 	}
 )
 
@@ -81,28 +80,21 @@ func MakeFissionClient() (*FissionClient, *kubernetes.Clientset, *apiextensionsc
 	}
 
 	// make a CRD REST client with the config
-	crdClient, err := clientset.NewForConfig(config)
+	crdClient, err := genClientset.NewForConfig(config)
 	if err != nil {
 		return nil, nil, nil, err
 	}
 
 	fc := &FissionClient{
-		crdClient: crdClient,
+		Interface: crdClient,
 	}
 	return fc, kubeClient, apiExtClient, nil
 }
 
-// V1 returns the instance of v1 rest client.
-// The only reason to have this function is to avoid
-// using V1V1() in codebase.
-func (fc *FissionClient) V1() genv1.V1V1Interface {
-	return fc.crdClient.V1V1()
-}
-
 func (fc *FissionClient) WaitForCRDs() error {
 	start := time.Now()
 	for {
-		fi := fc.crdClient.V1V1().Functions(metav1.NamespaceDefault)
+		fi := fc.CoreV1().Functions(metav1.NamespaceDefault)
 		_, err := fi.List(metav1.ListOptions{})
 		if err != nil {
 			time.Sleep(100 * time.Millisecond)
diff --git a/pkg/executor/api.go b/pkg/executor/api.go
index fb912221..6f7ecb45 100644
--- a/pkg/executor/api.go
+++ b/pkg/executor/api.go
@@ -31,7 +31,7 @@ import (
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 	"github.com/fission/fission/pkg/executor/client"
 )
@@ -51,7 +51,7 @@ func (executor *Executor) getServiceForFunctionApi(w http.ResponseWriter, r *htt
 		return
 	}
 
-	fn, err := executor.fissionClient.V1().Functions(m.Namespace).Get(m.Name, metav1.GetOptions{})
+	fn, err := executor.fissionClient.CoreV1().Functions(m.Namespace).Get(m.Name, metav1.GetOptions{})
 	if err != nil {
 		if k8serrors.IsNotFound(err) {
 			http.Error(w, "Failed to find function", http.StatusNotFound)
diff --git a/pkg/executor/client/client.go b/pkg/executor/client/client.go
index 2fd658d1..36a3a837 100644
--- a/pkg/executor/client/client.go
+++ b/pkg/executor/client/client.go
@@ -32,7 +32,7 @@ import (
 	"golang.org/x/net/context/ctxhttp"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 )
 
diff --git a/pkg/executor/cms/cmscontroller.go b/pkg/executor/cms/cmscontroller.go
index 2d8661b2..96556fa1 100644
--- a/pkg/executor/cms/cmscontroller.go
+++ b/pkg/executor/cms/cmscontroller.go
@@ -28,7 +28,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	"k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/executortype"
 )
@@ -93,7 +93,7 @@ func initConfigmapController(logger *zap.Logger, fissionClient *crd.FissionClien
 }
 
 func getConfigmapRelatedFuncs(logger *zap.Logger, m *metav1.ObjectMeta, fissionClient *crd.FissionClient) ([]fv1.Function, error) {
-	funcList, err := fissionClient.V1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
+	funcList, err := fissionClient.CoreV1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
 	if err != nil {
 		return nil, err
 	}
@@ -140,7 +140,7 @@ func initSecretController(logger *zap.Logger, fissionClient *crd.FissionClient,
 }
 
 func getSecretRelatedFuncs(logger *zap.Logger, m *metav1.ObjectMeta, fissionClient *crd.FissionClient) ([]fv1.Function, error) {
-	funcList, err := fissionClient.V1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
+	funcList, err := fissionClient.CoreV1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/executor/executor.go b/pkg/executor/executor.go
index b9f76b40..f9070980 100644
--- a/pkg/executor/executor.go
+++ b/pkg/executor/executor.go
@@ -31,7 +31,7 @@ import (
 	"github.com/prometheus/client_golang/prometheus/promhttp"
 	"go.uber.org/zap"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/cms"
 	"github.com/fission/fission/pkg/executor/executortype"
@@ -236,7 +236,7 @@ func StartExecutor(logger *zap.Logger, functionNamespace string, envBuilderNames
 
 	ndm := newdeploy.MakeNewDeploy(
 		logger,
-		fissionClient, kubernetesClient, fissionClient.V1().RESTClient(),
+		fissionClient, kubernetesClient, fissionClient.CoreV1().RESTClient(),
 		functionNamespace, fetcherConfig, executorInstanceID)
 
 	executorTypes := make(map[fv1.ExecutorType]executortype.ExecutorType)
diff --git a/pkg/executor/executortype/executortype.go b/pkg/executor/executortype/executortype.go
index 864d2aae..20c2921b 100644
--- a/pkg/executor/executortype/executortype.go
+++ b/pkg/executor/executortype/executortype.go
@@ -20,7 +20,7 @@ import (
 	"context"
 	"go.uber.org/zap"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/executor/fscache"
 )
 
diff --git a/pkg/executor/executortype/newdeploy/newdeploy.go b/pkg/executor/executortype/newdeploy/newdeploy.go
index 6df5629a..1bf2d409 100644
--- a/pkg/executor/executortype/newdeploy/newdeploy.go
+++ b/pkg/executor/executortype/newdeploy/newdeploy.go
@@ -33,7 +33,7 @@ import (
 	"k8s.io/apimachinery/pkg/util/intstr"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/executor/util"
 	"github.com/fission/fission/pkg/utils"
 )
diff --git a/pkg/executor/executortype/newdeploy/newdeploymgr.go b/pkg/executor/executortype/newdeploy/newdeploymgr.go
index 4797a5d4..909fa0ac 100644
--- a/pkg/executor/executortype/newdeploy/newdeploymgr.go
+++ b/pkg/executor/executortype/newdeploy/newdeploymgr.go
@@ -39,7 +39,7 @@ import (
 	"k8s.io/client-go/rest"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/executortype"
 	"github.com/fission/fission/pkg/executor/fscache"
@@ -204,7 +204,7 @@ func (deploy *NewDeploy) IsValid(fsvc *fscache.FuncSvc) bool {
 // RefreshFuncPods deleted pods related to the function so that new pods are replenished
 func (deploy *NewDeploy) RefreshFuncPods(logger *zap.Logger, f fv1.Function) error {
 
-	env, err := deploy.fissionClient.V1().Environments(f.Spec.Environment.Namespace).Get(f.Spec.Environment.Name, metav1.GetOptions{})
+	env, err := deploy.fissionClient.CoreV1().Environments(f.Spec.Environment.Namespace).Get(f.Spec.Environment.Name, metav1.GetOptions{})
 	if err != nil {
 		return err
 	}
@@ -244,7 +244,7 @@ func (deploy *NewDeploy) RefreshFuncPods(logger *zap.Logger, f fv1.Function) err
 }
 
 func (deploy *NewDeploy) AdoptExistingResources() {
-	fnList, err := deploy.fissionClient.V1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
+	fnList, err := deploy.fissionClient.CoreV1().Functions(metav1.NamespaceAll).List(metav1.ListOptions{})
 	if err != nil {
 		deploy.logger.Error("error getting function list", zap.Error(err))
 		return
@@ -363,7 +363,7 @@ func (deploy *NewDeploy) initEnvController() (k8sCache.Store, k8sCache.Controlle
 				deploy.logger.Debug("Updating all function of the environment that changed, old env:", zap.Any("environment", oldEnv))
 				funcs := deploy.getEnvFunctions(&newEnv.ObjectMeta)
 				for _, f := range funcs {
-					function, err := deploy.fissionClient.V1().Functions(f.ObjectMeta.Namespace).Get(f.ObjectMeta.Name, metav1.GetOptions{})
+					function, err := deploy.fissionClient.CoreV1().Functions(f.ObjectMeta.Namespace).Get(f.ObjectMeta.Name, metav1.GetOptions{})
 					if err != nil {
 						deploy.logger.Error("Error getting function", zap.Error(err), zap.Any("function", function))
 						continue
@@ -381,7 +381,7 @@ func (deploy *NewDeploy) initEnvController() (k8sCache.Store, k8sCache.Controlle
 }
 
 func (deploy *NewDeploy) getEnvFunctions(m *metav1.ObjectMeta) []fv1.Function {
-	funcList, err := deploy.fissionClient.V1().Functions(m.Namespace).List(metav1.ListOptions{})
+	funcList, err := deploy.fissionClient.CoreV1().Functions(m.Namespace).List(metav1.ListOptions{})
 	if err != nil {
 		deploy.logger.Error("Error getting functions for env", zap.Error(err), zap.Any("environment", m))
 	}
@@ -435,7 +435,7 @@ func (deploy *NewDeploy) deleteFunction(fn *fv1.Function) error {
 }
 
 func (deploy *NewDeploy) fnCreate(fn *fv1.Function) (*fscache.FuncSvc, error) {
-	env, err := deploy.fissionClient.V1().
+	env, err := deploy.fissionClient.CoreV1().
 		Environments(fn.Spec.Environment.Namespace).
 		Get(fn.Spec.Environment.Name, metav1.GetOptions{})
 	if err != nil {
@@ -642,7 +642,7 @@ func (deploy *NewDeploy) updateFunction(oldFn *fv1.Function, newFn *fv1.Function
 	}
 
 	if deployChanged {
-		env, err := deploy.fissionClient.V1().Environments(newFn.Spec.Environment.Namespace).
+		env, err := deploy.fissionClient.CoreV1().Environments(newFn.Spec.Environment.Namespace).
 			Get(newFn.Spec.Environment.Name, metav1.GetOptions{})
 		if err != nil {
 			deploy.updateStatus(oldFn, err, "failed to get environment while updating function")
@@ -773,7 +773,7 @@ func (deploy *NewDeploy) idleObjectReaper() {
 	for {
 		time.Sleep(pollSleep)
 
-		envs, err := deploy.fissionClient.V1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
+		envs, err := deploy.fissionClient.CoreV1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			deploy.logger.Fatal("failed to get environment list", zap.Error(err))
 		}
@@ -802,7 +802,7 @@ func (deploy *NewDeploy) idleObjectReaper() {
 					zap.String("function", fsvc.Name))
 			}
 
-			fn, err := deploy.fissionClient.V1().Functions(fsvc.Function.Namespace).Get(fsvc.Function.Name, metav1.GetOptions{})
+			fn, err := deploy.fissionClient.CoreV1().Functions(fsvc.Function.Namespace).Get(fsvc.Function.Name, metav1.GetOptions{})
 			if err != nil {
 				// Newdeploy manager handles the function delete event and clean cache/kubeobjs itself,
 				// so we ignore the not found error for functions with newdeploy executor type here.
diff --git a/pkg/executor/executortype/poolmgr/funcwatcher.go b/pkg/executor/executortype/poolmgr/funcwatcher.go
index 548a63f2..13c777da 100644
--- a/pkg/executor/executortype/poolmgr/funcwatcher.go
+++ b/pkg/executor/executortype/poolmgr/funcwatcher.go
@@ -28,7 +28,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/utils"
 )
@@ -43,7 +43,7 @@ func (gpm *GenericPoolManager) makeFuncController(fissionClient *crd.FissionClie
 	kubernetesClient *kubernetes.Clientset, fissionfnNamespace string, istioEnabled bool) (k8sCache.Store, k8sCache.Controller) {
 
 	resyncPeriod := 30 * time.Second
-	lw := k8sCache.NewListWatchFromClient(fissionClient.V1().RESTClient(), "functions", metav1.NamespaceAll, fields.Everything())
+	lw := k8sCache.NewListWatchFromClient(fissionClient.CoreV1().RESTClient(), "functions", metav1.NamespaceAll, fields.Everything())
 
 	funcStore, controller := k8sCache.NewInformer(lw, &fv1.Function{}, resyncPeriod,
 		k8sCache.ResourceEventHandlerFuncs{
diff --git a/pkg/executor/executortype/poolmgr/gp.go b/pkg/executor/executortype/poolmgr/gp.go
index 968e6f06..1ff54800 100644
--- a/pkg/executor/executortype/poolmgr/gp.go
+++ b/pkg/executor/executortype/poolmgr/gp.go
@@ -39,7 +39,7 @@ import (
 	"k8s.io/apimachinery/pkg/util/intstr"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/fscache"
 	"github.com/fission/fission/pkg/executor/util"
diff --git a/pkg/executor/executortype/poolmgr/gpm.go b/pkg/executor/executortype/poolmgr/gpm.go
index 81023bb0..b8fa8fda 100644
--- a/pkg/executor/executortype/poolmgr/gpm.go
+++ b/pkg/executor/executortype/poolmgr/gpm.go
@@ -36,7 +36,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/cache"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/executortype"
@@ -207,7 +207,7 @@ func (gpm *GenericPoolManager) IsValid(fsvc *fscache.FuncSvc) bool {
 
 func (gpm *GenericPoolManager) RefreshFuncPods(logger *zap.Logger, f fv1.Function) error {
 
-	env, err := gpm.fissionClient.V1().Environments(f.Spec.Environment.Namespace).Get(f.Spec.Environment.Name, metav1.GetOptions{})
+	env, err := gpm.fissionClient.CoreV1().Environments(f.Spec.Environment.Namespace).Get(f.Spec.Environment.Name, metav1.GetOptions{})
 	if err != nil {
 		return err
 	}
@@ -248,7 +248,7 @@ func (gpm *GenericPoolManager) RefreshFuncPods(logger *zap.Logger, f fv1.Functio
 }
 
 func (gpm *GenericPoolManager) AdoptExistingResources() {
-	envs, err := gpm.fissionClient.V1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
+	envs, err := gpm.fissionClient.CoreV1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
 	if err != nil {
 		gpm.logger.Error("error getting environment list", zap.Error(err))
 		return
@@ -484,7 +484,7 @@ func (gpm *GenericPoolManager) getFunctionEnv(fn *fv1.Function) (*fv1.Environmen
 	}
 
 	// Get env from controller
-	env, err = gpm.fissionClient.V1().Environments(fn.Spec.Environment.Namespace).Get(fn.Spec.Environment.Name, metav1.GetOptions{})
+	env, err = gpm.fissionClient.CoreV1().Environments(fn.Spec.Environment.Namespace).Get(fn.Spec.Environment.Name, metav1.GetOptions{})
 	if err != nil {
 		return nil, err
 	}
@@ -500,7 +500,7 @@ func (gpm *GenericPoolManager) eagerPoolCreator() {
 	pollSleep := 2 * time.Second
 	for {
 		// get list of envs from controller
-		envs, err := gpm.fissionClient.V1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
+		envs, err := gpm.fissionClient.CoreV1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			if utils.IsNetworkError(err) {
 				gpm.logger.Error("encountered network error, retrying", zap.Error(err))
@@ -557,7 +557,7 @@ func (gpm *GenericPoolManager) idleObjectReaper() {
 	for {
 		time.Sleep(pollSleep)
 
-		envs, err := gpm.fissionClient.V1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
+		envs, err := gpm.fissionClient.CoreV1().Environments(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			gpm.logger.Fatal("failed to get environment list", zap.Error(err))
 		}
diff --git a/pkg/executor/executortype/poolmgr/packagewatcher.go b/pkg/executor/executortype/poolmgr/packagewatcher.go
index 15c9bb12..917a716d 100644
--- a/pkg/executor/executortype/poolmgr/packagewatcher.go
+++ b/pkg/executor/executortype/poolmgr/packagewatcher.go
@@ -26,7 +26,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 )
 
@@ -35,7 +35,7 @@ func (gpm *GenericPoolManager) makePkgController(fissionClient *crd.FissionClien
 	kubernetesClient *kubernetes.Clientset, fissionfnNamespace string) (k8sCache.Store, k8sCache.Controller) {
 
 	resyncPeriod := 30 * time.Second
-	lw := k8sCache.NewListWatchFromClient(fissionClient.V1().RESTClient(), "packages", metav1.NamespaceAll, fields.Everything())
+	lw := k8sCache.NewListWatchFromClient(fissionClient.CoreV1().RESTClient(), "packages", metav1.NamespaceAll, fields.Everything())
 	pkgStore, controller := k8sCache.NewInformer(lw, &fv1.Package{}, resyncPeriod,
 		k8sCache.ResourceEventHandlerFuncs{
 			AddFunc: func(obj interface{}) {
diff --git a/pkg/executor/fscache/functionServiceCache.go b/pkg/executor/fscache/functionServiceCache.go
index ddb12457..d80cb805 100644
--- a/pkg/executor/fscache/functionServiceCache.go
+++ b/pkg/executor/fscache/functionServiceCache.go
@@ -26,7 +26,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/types"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/cache"
 	"github.com/fission/fission/pkg/crd"
 	ferror "github.com/fission/fission/pkg/error"
diff --git a/pkg/executor/reaper/reaper.go b/pkg/executor/reaper/reaper.go
index eedac454..c4cccc47 100644
--- a/pkg/executor/reaper/reaper.go
+++ b/pkg/executor/reaper/reaper.go
@@ -25,7 +25,7 @@ import (
 	meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/utils"
 )
@@ -204,7 +204,7 @@ func CleanupRoleBindings(logger *zap.Logger, client *kubernetes.Clientset, fissi
 
 			// in order to find out if there are any functions that need this role-binding in role-binding namespace,
 			// we can list the functions once per role-binding.
-			funcList, err := fissionClient.V1().Functions(roleBinding.Namespace).List(meta_v1.ListOptions{})
+			funcList, err := fissionClient.CoreV1().Functions(roleBinding.Namespace).List(meta_v1.ListOptions{})
 			if err != nil {
 				logger.Error("error fetching function list in namespace", zap.Error(err), zap.String("namespace", roleBinding.Namespace))
 				continue
@@ -251,7 +251,7 @@ func CleanupRoleBindings(logger *zap.Logger, client *kubernetes.Clientset, fissi
 				// else if its a secret-configmap-rb, we have only one SA which is fission-fetcher
 				if roleBinding.Name == fv1.PackageGetterRB {
 					// check if there is an env obj in saNs
-					envList, err := fissionClient.V1().Environments(saNs).List(meta_v1.ListOptions{})
+					envList, err := fissionClient.CoreV1().Environments(saNs).List(meta_v1.ListOptions{})
 					if err != nil {
 						logger.Error("error fetching environment list in service account namespace", zap.Error(err), zap.String("namespace", saNs))
 						continue
diff --git a/pkg/fetcher/config/config.go b/pkg/fetcher/config/config.go
index d6e02fcf..9f76285b 100644
--- a/pkg/fetcher/config/config.go
+++ b/pkg/fetcher/config/config.go
@@ -15,7 +15,7 @@ import (
 	"k8s.io/apimachinery/pkg/util/intstr"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fetcher"
 	"github.com/fission/fission/pkg/utils"
 )
diff --git a/pkg/fetcher/fetcher.go b/pkg/fetcher/fetcher.go
index b97ed4a2..da041dc8 100644
--- a/pkg/fetcher/fetcher.go
+++ b/pkg/fetcher/fetcher.go
@@ -36,7 +36,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	ferror "github.com/fission/fission/pkg/error"
 	"github.com/fission/fission/pkg/error/network"
@@ -550,7 +550,7 @@ func (fetcher *Fetcher) unarchive(src string, dst string) error {
 func (fetcher *Fetcher) getPkgInformation(req FunctionFetchRequest) (pkg *fv1.Package, err error) {
 	maxRetries := 5
 	for i := 0; i < maxRetries; i++ {
-		pkg, err = fetcher.fissionClient.V1().Packages(req.Package.Namespace).Get(req.Package.Name, metav1.GetOptions{})
+		pkg, err = fetcher.fissionClient.CoreV1().Packages(req.Package.Namespace).Get(req.Package.Name, metav1.GetOptions{})
 		if err == nil {
 			return pkg, nil
 		}
diff --git a/pkg/fetcher/types.go b/pkg/fetcher/types.go
index 3203d0af..1dd1e551 100644
--- a/pkg/fetcher/types.go
+++ b/pkg/fetcher/types.go
@@ -19,7 +19,7 @@ package fetcher
 import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 //
diff --git a/pkg/fission-cli/cmd/canaryconfig/create.go b/pkg/fission-cli/cmd/canaryconfig/create.go
index 8d5a85c5..d8e0c117 100644
--- a/pkg/fission-cli/cmd/canaryconfig/create.go
+++ b/pkg/fission-cli/cmd/canaryconfig/create.go
@@ -23,7 +23,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/canaryconfig/update.go b/pkg/fission-cli/cmd/canaryconfig/update.go
index a80a1219..6cbfc791 100644
--- a/pkg/fission-cli/cmd/canaryconfig/update.go
+++ b/pkg/fission-cli/cmd/canaryconfig/update.go
@@ -23,7 +23,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/environment/create.go b/pkg/fission-cli/cmd/environment/create.go
index 01d06155..d14781c4 100644
--- a/pkg/fission-cli/cmd/environment/create.go
+++ b/pkg/fission-cli/cmd/environment/create.go
@@ -23,7 +23,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	"github.com/fission/fission/pkg/fission-cli/cmd/spec"
diff --git a/pkg/fission-cli/cmd/environment/update.go b/pkg/fission-cli/cmd/environment/update.go
index 67bb8cb0..67f82e63 100644
--- a/pkg/fission-cli/cmd/environment/update.go
+++ b/pkg/fission-cli/cmd/environment/update.go
@@ -23,7 +23,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/function/create.go b/pkg/fission-cli/cmd/function/create.go
index 6dd2f460..d10da43b 100644
--- a/pkg/fission-cli/cmd/function/create.go
+++ b/pkg/fission-cli/cmd/function/create.go
@@ -26,7 +26,7 @@ import (
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
diff --git a/pkg/fission-cli/cmd/function/update.go b/pkg/fission-cli/cmd/function/update.go
index 0b48dcf8..295bf11f 100644
--- a/pkg/fission-cli/cmd/function/update.go
+++ b/pkg/fission-cli/cmd/function/update.go
@@ -23,7 +23,7 @@ import (
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	_package "github.com/fission/fission/pkg/fission-cli/cmd/package"
diff --git a/pkg/fission-cli/cmd/httptrigger/create.go b/pkg/fission-cli/cmd/httptrigger/create.go
index 7f9ba793..304f51fd 100644
--- a/pkg/fission-cli/cmd/httptrigger/create.go
+++ b/pkg/fission-cli/cmd/httptrigger/create.go
@@ -25,7 +25,7 @@ import (
 	"github.com/satori/go.uuid"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
diff --git a/pkg/fission-cli/cmd/httptrigger/get.go b/pkg/fission-cli/cmd/httptrigger/get.go
index ea63f484..22791251 100644
--- a/pkg/fission-cli/cmd/httptrigger/get.go
+++ b/pkg/fission-cli/cmd/httptrigger/get.go
@@ -25,7 +25,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/httptrigger/list.go b/pkg/fission-cli/cmd/httptrigger/list.go
index 529d051b..36f6aa55 100644
--- a/pkg/fission-cli/cmd/httptrigger/list.go
+++ b/pkg/fission-cli/cmd/httptrigger/list.go
@@ -19,7 +19,7 @@ package httptrigger
 import (
 	"github.com/pkg/errors"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/httptrigger/parse.go b/pkg/fission-cli/cmd/httptrigger/parse.go
index 5027ed84..d75c2dcd 100644
--- a/pkg/fission-cli/cmd/httptrigger/parse.go
+++ b/pkg/fission-cli/cmd/httptrigger/parse.go
@@ -20,7 +20,7 @@ import (
 	"fmt"
 	"strings"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 // GetIngressConfig returns an IngressConfig based on user inputs; return error if any.
diff --git a/pkg/fission-cli/cmd/httptrigger/update.go b/pkg/fission-cli/cmd/httptrigger/update.go
index 4a6fe985..19f1760d 100644
--- a/pkg/fission-cli/cmd/httptrigger/update.go
+++ b/pkg/fission-cli/cmd/httptrigger/update.go
@@ -22,7 +22,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	"github.com/fission/fission/pkg/fission-cli/console"
diff --git a/pkg/fission-cli/cmd/kubewatch/create.go b/pkg/fission-cli/cmd/kubewatch/create.go
index 90296859..8b8e9032 100644
--- a/pkg/fission-cli/cmd/kubewatch/create.go
+++ b/pkg/fission-cli/cmd/kubewatch/create.go
@@ -23,7 +23,7 @@ import (
 	uuid "github.com/satori/go.uuid"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	"github.com/fission/fission/pkg/fission-cli/cmd/spec"
diff --git a/pkg/fission-cli/cmd/mqtrigger/create.go b/pkg/fission-cli/cmd/mqtrigger/create.go
index d1004312..136bd78a 100644
--- a/pkg/fission-cli/cmd/mqtrigger/create.go
+++ b/pkg/fission-cli/cmd/mqtrigger/create.go
@@ -23,7 +23,7 @@ import (
 	uuid "github.com/satori/go.uuid"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	"github.com/fission/fission/pkg/fission-cli/cmd/spec"
diff --git a/pkg/fission-cli/cmd/mqtrigger/update.go b/pkg/fission-cli/cmd/mqtrigger/update.go
index d6d9f44f..d81f0f03 100644
--- a/pkg/fission-cli/cmd/mqtrigger/update.go
+++ b/pkg/fission-cli/cmd/mqtrigger/update.go
@@ -22,7 +22,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/package/create.go b/pkg/fission-cli/cmd/package/create.go
index a76ec683..45bc5e30 100644
--- a/pkg/fission-cli/cmd/package/create.go
+++ b/pkg/fission-cli/cmd/package/create.go
@@ -27,7 +27,7 @@ import (
 	uuid "github.com/satori/go.uuid"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
diff --git a/pkg/fission-cli/cmd/package/get.go b/pkg/fission-cli/cmd/package/get.go
index dec01061..198f97fe 100644
--- a/pkg/fission-cli/cmd/package/get.go
+++ b/pkg/fission-cli/cmd/package/get.go
@@ -23,7 +23,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	pkgutil "github.com/fission/fission/pkg/fission-cli/cmd/package/util"
diff --git a/pkg/fission-cli/cmd/package/package.go b/pkg/fission-cli/cmd/package/package.go
index 18ca5499..4022f21c 100644
--- a/pkg/fission-cli/cmd/package/package.go
+++ b/pkg/fission-cli/cmd/package/package.go
@@ -29,7 +29,7 @@ import (
 	"github.com/mholt/archiver"
 	"github.com/pkg/errors"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	pkgutil "github.com/fission/fission/pkg/fission-cli/cmd/package/util"
 	"github.com/fission/fission/pkg/fission-cli/cmd/spec"
diff --git a/pkg/fission-cli/cmd/package/rebuild.go b/pkg/fission-cli/cmd/package/rebuild.go
index 6339b8a8..4d53635a 100644
--- a/pkg/fission-cli/cmd/package/rebuild.go
+++ b/pkg/fission-cli/cmd/package/rebuild.go
@@ -22,7 +22,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/package/update.go b/pkg/fission-cli/cmd/package/update.go
index 83367b22..1f3ceae7 100644
--- a/pkg/fission-cli/cmd/package/update.go
+++ b/pkg/fission-cli/cmd/package/update.go
@@ -24,7 +24,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
diff --git a/pkg/fission-cli/cmd/package/util/util.go b/pkg/fission-cli/cmd/package/util/util.go
index 7508ac58..06173596 100644
--- a/pkg/fission-cli/cmd/package/util/util.go
+++ b/pkg/fission-cli/cmd/package/util/util.go
@@ -30,7 +30,7 @@ import (
 	"github.com/pkg/errors"
 	uuid "github.com/satori/go.uuid"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	storageSvcClient "github.com/fission/fission/pkg/storagesvc/client"
 	"github.com/fission/fission/pkg/utils"
diff --git a/pkg/fission-cli/cmd/spec/apply.go b/pkg/fission-cli/cmd/spec/apply.go
index afaece81..ab9a3b01 100644
--- a/pkg/fission-cli/cmd/spec/apply.go
+++ b/pkg/fission-cli/cmd/spec/apply.go
@@ -31,7 +31,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
diff --git a/pkg/fission-cli/cmd/spec/buildwatch.go b/pkg/fission-cli/cmd/spec/buildwatch.go
index a4c611dc..3bb2c035 100644
--- a/pkg/fission-cli/cmd/spec/buildwatch.go
+++ b/pkg/fission-cli/cmd/spec/buildwatch.go
@@ -24,7 +24,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/fission-cli/cmd/package/util"
 )
diff --git a/pkg/fission-cli/cmd/spec/list.go b/pkg/fission-cli/cmd/spec/list.go
index c1e3183b..0c165298 100644
--- a/pkg/fission-cli/cmd/spec/list.go
+++ b/pkg/fission-cli/cmd/spec/list.go
@@ -25,7 +25,7 @@ import (
 
 	"github.com/pkg/errors"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/cmd/spec/spec.go b/pkg/fission-cli/cmd/spec/spec.go
index 3a70ca44..936cb37a 100644
--- a/pkg/fission-cli/cmd/spec/spec.go
+++ b/pkg/fission-cli/cmd/spec/spec.go
@@ -29,7 +29,7 @@ import (
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd/spec/types"
 	"github.com/fission/fission/pkg/fission-cli/console"
diff --git a/pkg/fission-cli/cmd/spec/validate.go b/pkg/fission-cli/cmd/spec/validate.go
index 3a829979..82761702 100644
--- a/pkg/fission-cli/cmd/spec/validate.go
+++ b/pkg/fission-cli/cmd/spec/validate.go
@@ -27,7 +27,7 @@ import (
 	"github.com/hashicorp/go-multierror"
 	"github.com/pkg/errors"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	"github.com/fission/fission/pkg/fission-cli/console"
diff --git a/pkg/fission-cli/cmd/support/resources/crd.go b/pkg/fission-cli/cmd/support/resources/crd.go
index 9522f2bd..97028d66 100644
--- a/pkg/fission-cli/cmd/support/resources/crd.go
+++ b/pkg/fission-cli/cmd/support/resources/crd.go
@@ -21,7 +21,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/fission-cli/console"
 )
diff --git a/pkg/fission-cli/cmd/timetrigger/create.go b/pkg/fission-cli/cmd/timetrigger/create.go
index 41f4e08a..5883aefe 100644
--- a/pkg/fission-cli/cmd/timetrigger/create.go
+++ b/pkg/fission-cli/cmd/timetrigger/create.go
@@ -26,7 +26,7 @@ import (
 	uuid "github.com/satori/go.uuid"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd/spec"
diff --git a/pkg/fission-cli/cmd/timetrigger/update.go b/pkg/fission-cli/cmd/timetrigger/update.go
index 422b1170..a0ebace8 100644
--- a/pkg/fission-cli/cmd/timetrigger/update.go
+++ b/pkg/fission-cli/cmd/timetrigger/update.go
@@ -22,7 +22,7 @@ import (
 	"github.com/pkg/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
 	"github.com/fission/fission/pkg/fission-cli/cmd"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
diff --git a/pkg/fission-cli/flag/flag.go b/pkg/fission-cli/flag/flag.go
index b5eba354..690536b6 100644
--- a/pkg/fission-cli/flag/flag.go
+++ b/pkg/fission-cli/flag/flag.go
@@ -22,7 +22,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
 )
 
diff --git a/pkg/generator/v1/environment.go b/pkg/generator/v1/environment.go
index 8eaf2c53..bdcf940b 100644
--- a/pkg/generator/v1/environment.go
+++ b/pkg/generator/v1/environment.go
@@ -19,7 +19,7 @@ package v1
 import (
 	"github.com/pkg/errors"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/generator"
 	"github.com/fission/fission/pkg/generator/encoder"
 )
diff --git a/pkg/kubewatcher/kubewatcher.go b/pkg/kubewatcher/kubewatcher.go
index 9cc77fb2..68497119 100644
--- a/pkg/kubewatcher/kubewatcher.go
+++ b/pkg/kubewatcher/kubewatcher.go
@@ -35,7 +35,7 @@ import (
 	"k8s.io/apimachinery/pkg/watch"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	ferror "github.com/fission/fission/pkg/error"
 	"github.com/fission/fission/pkg/publisher"
 	"github.com/fission/fission/pkg/utils"
diff --git a/pkg/kubewatcher/watchSync.go b/pkg/kubewatcher/watchSync.go
index 97b5fb78..61c658ec 100644
--- a/pkg/kubewatcher/watchSync.go
+++ b/pkg/kubewatcher/watchSync.go
@@ -46,7 +46,7 @@ func MakeWatchSync(logger *zap.Logger, client *crd.FissionClient, kubeWatcher *K
 func (ws *WatchSync) syncSvc() {
 	// TODO watch instead of polling
 	for {
-		watches, err := ws.client.V1().KubernetesWatchTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
+		watches, err := ws.client.CoreV1().KubernetesWatchTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			ws.logger.Fatal("failed to get Kubernetes watch trigger list", zap.Error(err))
 		}
diff --git a/pkg/logger/logger.go b/pkg/logger/logger.go
index 1447db18..64d72565 100644
--- a/pkg/logger/logger.go
+++ b/pkg/logger/logger.go
@@ -31,7 +31,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/utils"
 )
diff --git a/pkg/mqtrigger/messageQueue/asq.go b/pkg/mqtrigger/messageQueue/asq.go
index df4ace01..f6911389 100644
--- a/pkg/mqtrigger/messageQueue/asq.go
+++ b/pkg/mqtrigger/messageQueue/asq.go
@@ -33,7 +33,7 @@ import (
 	"github.com/pkg/errors"
 	"go.uber.org/zap"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 // TODO: some of these constants should probably be environment variables
diff --git a/pkg/mqtrigger/messageQueue/kafka.go b/pkg/mqtrigger/messageQueue/kafka.go
index 8d91e1bb..b0d3e458 100644
--- a/pkg/mqtrigger/messageQueue/kafka.go
+++ b/pkg/mqtrigger/messageQueue/kafka.go
@@ -31,7 +31,7 @@ import (
 	"github.com/pkg/errors"
 	"go.uber.org/zap"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/utils"
 )
 
diff --git a/pkg/mqtrigger/messageQueue/messageQueue.go b/pkg/mqtrigger/messageQueue/messageQueue.go
index 9098e1bd..e56968c4 100644
--- a/pkg/mqtrigger/messageQueue/messageQueue.go
+++ b/pkg/mqtrigger/messageQueue/messageQueue.go
@@ -25,7 +25,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 )
 
@@ -164,7 +164,7 @@ func (mqt *MessageQueueTriggerManager) delTrigger(m *metav1.ObjectMeta) {
 func (mqt *MessageQueueTriggerManager) syncTriggers() {
 	for {
 		// get new set of triggers
-		newTriggers, err := mqt.fissionClient.V1().MessageQueueTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
+		newTriggers, err := mqt.fissionClient.CoreV1().MessageQueueTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			if utils.IsNetworkError(err) {
 				mqt.logger.Error("encountered network error, will retry", zap.Error(err))
diff --git a/pkg/mqtrigger/messageQueue/nats.go b/pkg/mqtrigger/messageQueue/nats.go
index 99a047aa..d02564e5 100644
--- a/pkg/mqtrigger/messageQueue/nats.go
+++ b/pkg/mqtrigger/messageQueue/nats.go
@@ -27,7 +27,7 @@ import (
 	nsUtil "github.com/nats-io/nats-streaming-server/util"
 	"go.uber.org/zap"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/utils"
 )
 
diff --git a/pkg/router/functionHandler.go b/pkg/router/functionHandler.go
index 2a44450f..8996a10e 100644
--- a/pkg/router/functionHandler.go
+++ b/pkg/router/functionHandler.go
@@ -34,7 +34,7 @@ import (
 	"go.uber.org/zap"
 	k8stypes "k8s.io/apimachinery/pkg/types"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	ferror "github.com/fission/fission/pkg/error"
 	"github.com/fission/fission/pkg/error/network"
diff --git a/pkg/router/functionReferenceResolver.go b/pkg/router/functionReferenceResolver.go
index 67e2784e..87af231c 100644
--- a/pkg/router/functionReferenceResolver.go
+++ b/pkg/router/functionReferenceResolver.go
@@ -24,7 +24,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/cache"
 )
 
diff --git a/pkg/router/httpTriggers.go b/pkg/router/httpTriggers.go
index e4ca8b2b..f3b2e7d7 100644
--- a/pkg/router/httpTriggers.go
+++ b/pkg/router/httpTriggers.go
@@ -30,7 +30,7 @@ import (
 	"k8s.io/client-go/rest"
 	k8sCache "k8s.io/client-go/tools/cache"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	executorClient "github.com/fission/fission/pkg/executor/client"
 	"github.com/fission/fission/pkg/throttler"
diff --git a/pkg/router/ingress.go b/pkg/router/ingress.go
index 828fddd6..a79405cf 100644
--- a/pkg/router/ingress.go
+++ b/pkg/router/ingress.go
@@ -25,7 +25,7 @@ import (
 	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/router/util"
 )
 
diff --git a/pkg/router/router.go b/pkg/router/router.go
index 999f2f92..cea5f8b8 100644
--- a/pkg/router/router.go
+++ b/pkg/router/router.go
@@ -220,7 +220,7 @@ func Start(logger *zap.Logger, port int, executorUrl string) {
 			zap.Bool("default", displayAccessLog))
 	}
 
-	triggers, _, fnStore := makeHTTPTriggerSet(logger.Named("triggerset"), fmap, fissionClient, kubeClient, executor, fissionClient.V1().RESTClient(), &tsRoundTripperParams{
+	triggers, _, fnStore := makeHTTPTriggerSet(logger.Named("triggerset"), fmap, fissionClient, kubeClient, executor, fissionClient.CoreV1().RESTClient(), &tsRoundTripperParams{
 		timeout:           timeout,
 		timeoutExponent:   timeoutExponent,
 		disableKeepAlive:  disableKeepAlive,
diff --git a/pkg/router/util/util.go b/pkg/router/util/util.go
index ee591198..d9aacf17 100644
--- a/pkg/router/util/util.go
+++ b/pkg/router/util/util.go
@@ -21,7 +21,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/util/intstr"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func GetIngressSpec(namespace string, trigger *fv1.HTTPTrigger) *v1beta1.Ingress {
diff --git a/pkg/storagesvc/archivePruner.go b/pkg/storagesvc/archivePruner.go
index 770c19bf..ee35043c 100644
--- a/pkg/storagesvc/archivePruner.go
+++ b/pkg/storagesvc/archivePruner.go
@@ -80,7 +80,7 @@ func (pruner *ArchivePruner) getOrphanArchives() {
 	var archiveID string
 
 	// get all pkgs from kubernetes
-	pkgList, err := pruner.crdClient.V1().Packages(metav1.NamespaceAll).List(metav1.ListOptions{})
+	pkgList, err := pruner.crdClient.CoreV1().Packages(metav1.NamespaceAll).List(metav1.ListOptions{})
 	if err != nil {
 		pruner.logger.Error("error getting package list from kubernetes", zap.Error(err))
 		return
diff --git a/pkg/timer/timer.go b/pkg/timer/timer.go
index 5548f3ad..c8a7566d 100644
--- a/pkg/timer/timer.go
+++ b/pkg/timer/timer.go
@@ -20,7 +20,7 @@ import (
 	"github.com/robfig/cron"
 	"go.uber.org/zap"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/publisher"
 	"github.com/fission/fission/pkg/utils"
diff --git a/pkg/timer/timerSync.go b/pkg/timer/timerSync.go
index 2ff2e470..5e9678a6 100644
--- a/pkg/timer/timerSync.go
+++ b/pkg/timer/timerSync.go
@@ -46,7 +46,7 @@ func MakeTimerSync(logger *zap.Logger, fissionClient *crd.FissionClient, timer *
 
 func (ws *TimerSync) syncSvc() {
 	for {
-		triggers, err := ws.fissionClient.V1().TimeTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
+		triggers, err := ws.fissionClient.CoreV1().TimeTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
 		if err != nil {
 			if utils.IsNetworkError(err) {
 				ws.logger.Info("encountered a network error - will retry", zap.Error(err))
diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go
index d1f918ef..85d32c22 100644
--- a/pkg/utils/utils.go
+++ b/pkg/utils/utils.go
@@ -36,7 +36,7 @@ import (
 	apiv1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func UrlForFunction(name, namespace string) string {


Test patch:
diff --git a/pkg/controller/api_test.go b/pkg/controller/api_test.go
index 29b27d3d..b19992cc 100644
--- a/pkg/controller/api_test.go
+++ b/pkg/controller/api_test.go
@@ -32,7 +32,7 @@ import (
 	"k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/controller/client"
 	"github.com/fission/fission/pkg/controller/client/rest"
 	ferror "github.com/fission/fission/pkg/error"
diff --git a/pkg/crd/crd_test.go b/pkg/crd/crd_test.go
index 7b8929ee..01b774aa 100644
--- a/pkg/crd/crd_test.go
+++ b/pkg/crd/crd_test.go
@@ -25,8 +25,8 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
-	genv1 "github.com/fission/fission/pkg/apis/genclient/v1/clientset/versioned/typed/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
+	genInformerCoreV1 "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/typed/core/v1"
 )
 
 func panicIf(err error) {
@@ -35,7 +35,7 @@ func panicIf(err error) {
 	}
 }
 
-func functionTests(crdClient genv1.V1V1Interface) {
+func functionTests(crdClient genInformerCoreV1.CoreV1Interface) {
 	// sample function object
 	function := &fv1.Function{
 		TypeMeta: metav1.TypeMeta{
@@ -135,7 +135,7 @@ func functionTests(crdClient genv1.V1V1Interface) {
 
 }
 
-func environmentTests(crdClient genv1.V1V1Interface) {
+func environmentTests(crdClient genInformerCoreV1.CoreV1Interface) {
 	// sample environment object
 	environment := &fv1.Environment{
 		TypeMeta: metav1.TypeMeta{
@@ -229,7 +229,7 @@ func environmentTests(crdClient genv1.V1V1Interface) {
 
 }
 
-func httpTriggerTests(crdClient genv1.V1V1Interface) {
+func httpTriggerTests(crdClient genInformerCoreV1.CoreV1Interface) {
 	// sample httpTrigger object
 	httpTrigger := &fv1.HTTPTrigger{
 		TypeMeta: metav1.TypeMeta{
@@ -321,7 +321,7 @@ func httpTriggerTests(crdClient genv1.V1V1Interface) {
 
 }
 
-func kubernetesWatchTriggerTests(crdClient genv1.V1V1Interface) {
+func kubernetesWatchTriggerTests(crdClient genInformerCoreV1.CoreV1Interface) {
 	// sample kubernetesWatchTrigger object
 	kubernetesWatchTrigger := &fv1.KubernetesWatchTrigger{
 		TypeMeta: metav1.TypeMeta{
@@ -440,8 +440,8 @@ func TestCrd(t *testing.T) {
 	panicIf(err)
 
 	// rest client with knowledge about our crd types
-	functionTests(fc.crdClient.V1V1())
-	environmentTests(fc.crdClient.V1V1())
-	httpTriggerTests(fc.crdClient.V1V1())
-	kubernetesWatchTriggerTests(fc.crdClient.V1V1())
+	functionTests(fc.CoreV1())
+	environmentTests(fc.CoreV1())
+	httpTriggerTests(fc.CoreV1())
+	kubernetesWatchTriggerTests(fc.CoreV1())
 }
diff --git a/pkg/executor/executor_test.go b/pkg/executor/executor_test.go
index a7467c1f..b3e5677d 100644
--- a/pkg/executor/executor_test.go
+++ b/pkg/executor/executor_test.go
@@ -38,7 +38,7 @@ import (
 	"k8s.io/apimachinery/pkg/util/intstr"
 	"k8s.io/client-go/kubernetes"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/crd"
 	"github.com/fission/fission/pkg/executor/client"
 )
@@ -141,7 +141,7 @@ func TestExecutor(t *testing.T) {
 	}
 
 	// create an env on the cluster
-	env, err := fissionClient.V1().Environments(fissionNs).Create(&fv1.Environment{
+	env, err := fissionClient.CoreV1().Environments(fissionNs).Create(&fv1.Environment{
 		ObjectMeta: metav1.ObjectMeta{
 			Name:      "nodejs",
 			Namespace: fissionNs,
@@ -194,7 +194,7 @@ func TestExecutor(t *testing.T) {
 			Deployment:  deployment,
 		},
 	}
-	p, err = fissionClient.V1().Packages(fissionNs).Create(p)
+	p, err = fissionClient.CoreV1().Packages(fissionNs).Create(p)
 	if err != nil {
 		log.Panicf("failed to create package: %v", err)
 	}
@@ -216,7 +216,7 @@ func TestExecutor(t *testing.T) {
 			},
 		},
 	}
-	_, err = fissionClient.V1().Functions(fissionNs).Create(f)
+	_, err = fissionClient.CoreV1().Functions(fissionNs).Create(f)
 	if err != nil {
 		log.Panicf("failed to create function: %v", err)
 	}
diff --git a/pkg/executor/fscache/functionServiceCache_test.go b/pkg/executor/fscache/functionServiceCache_test.go
index 385c8774..d8a390ec 100644
--- a/pkg/executor/fscache/functionServiceCache_test.go
+++ b/pkg/executor/fscache/functionServiceCache_test.go
@@ -9,7 +9,7 @@ import (
 	apiv1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func panicIf(err error) {
diff --git a/pkg/fission-cli/cmd/function/function_test.go b/pkg/fission-cli/cmd/function/function_test.go
index a1cf7806..c00cef75 100644
--- a/pkg/fission-cli/cmd/function/function_test.go
+++ b/pkg/fission-cli/cmd/function/function_test.go
@@ -22,7 +22,7 @@ import (
 
 	"github.com/stretchr/testify/assert"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/fission-cli/cliwrapper/driver/dummy"
 	flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
 )
diff --git a/pkg/fission-cli/cmd/httptrigger/parse_test.go b/pkg/fission-cli/cmd/httptrigger/parse_test.go
index 95862204..252a7c81 100644
--- a/pkg/fission-cli/cmd/httptrigger/parse_test.go
+++ b/pkg/fission-cli/cmd/httptrigger/parse_test.go
@@ -20,7 +20,7 @@ import (
 	"reflect"
 	"testing"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func Test_GetIngressConfig(t *testing.T) {
diff --git a/pkg/fission-cli/cmd/package/util/util_test.go b/pkg/fission-cli/cmd/package/util/util_test.go
index 3d97e2de..b26408a1 100644
--- a/pkg/fission-cli/cmd/package/util/util_test.go
+++ b/pkg/fission-cli/cmd/package/util/util_test.go
@@ -7,7 +7,7 @@ import (
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func TestPrintPackageSummary(t *testing.T) {
diff --git a/pkg/mqtrigger/messageQueue/asq_test.go b/pkg/mqtrigger/messageQueue/asq_test.go
index d28d6134..8018181f 100644
--- a/pkg/mqtrigger/messageQueue/asq_test.go
+++ b/pkg/mqtrigger/messageQueue/asq_test.go
@@ -31,7 +31,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 const (
diff --git a/pkg/router/functionHandler_test.go b/pkg/router/functionHandler_test.go
index ec83bb4d..d3e14405 100644
--- a/pkg/router/functionHandler_test.go
+++ b/pkg/router/functionHandler_test.go
@@ -30,7 +30,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func createBackendService(testResponseString string) *url.URL {
diff --git a/pkg/router/router_test.go b/pkg/router/router_test.go
index 3c2345cc..be786ed8 100644
--- a/pkg/router/router_test.go
+++ b/pkg/router/router_test.go
@@ -25,7 +25,7 @@ import (
 	"go.uber.org/zap"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 	"github.com/fission/fission/pkg/throttler"
 )
 
diff --git a/pkg/router/util/util_test.go b/pkg/router/util/util_test.go
index 3bdd1c3d..086d6998 100644
--- a/pkg/router/util/util_test.go
+++ b/pkg/router/util/util_test.go
@@ -24,7 +24,7 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/util/intstr"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func TestGetIngressSpec(t *testing.T) {
diff --git a/pkg/utils/utils_test.go b/pkg/utils/utils_test.go
index 41c3347c..125a3558 100644
--- a/pkg/utils/utils_test.go
+++ b/pkg/utils/utils_test.go
@@ -22,7 +22,7 @@ import (
 	"reflect"
 	"testing"
 
-	fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
+	fv1 "github.com/fission/fission/pkg/apis/core/v1"
 )
 
 func TestIsURL(t *testing.T) {