diff --git a/cmd/gotk/create_helmrelease.go b/cmd/gotk/create_helmrelease.go
index d78278be6e06de26899148d13a6ce02749de53dd..780c469bcf133015ab44f6c345b8839a2c8a15eb 100644
--- a/cmd/gotk/create_helmrelease.go
+++ b/cmd/gotk/create_helmrelease.go
@@ -20,7 +20,6 @@ import (
 	"context"
 	"fmt"
 	"io/ioutil"
-	"strings"
 
 	"github.com/spf13/cobra"
 	corev1 "k8s.io/api/core/v1"
@@ -119,14 +118,13 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	if hrSource == "" {
 		return fmt.Errorf("source is required")
 	}
-	hrSourceElements := strings.Split(hrSource, "/")
-	if len(hrSourceElements) != 2 {
+	sourceKind, sourceName := utils.parseObjectKindName(hrSource)
+	if sourceKind == "" {
 		return fmt.Errorf("invalid source '%s', must be in format <kind>/<name>", hrSource)
 	}
-	hrSourceKind, hrSourceName := hrSourceElements[0], hrSourceElements[1]
-	if !utils.containsItemString(supportedHelmChartSourceKinds, hrSourceKind) {
+	if !utils.containsItemString(supportedHelmChartSourceKinds, sourceKind) {
 		return fmt.Errorf("source kind %s is not supported, can be %v",
-			hrSourceKind, supportedHelmChartSourceKinds)
+			sourceKind, supportedHelmChartSourceKinds)
 	}
 	if hrChart == "" {
 		return fmt.Errorf("chart name or path is required")
@@ -159,8 +157,8 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 					Chart:   hrChart,
 					Version: hrChartVersion,
 					SourceRef: helmv2.CrossNamespaceObjectReference{
-						Kind: hrSourceKind,
-						Name: hrSourceName,
+						Kind: sourceKind,
+						Name: sourceName,
 					},
 				},
 			},
diff --git a/cmd/gotk/create_kustomization.go b/cmd/gotk/create_kustomization.go
index c6e884e50bcfb878dc67a4600a14b0c5671d8944..5dca097bee49617bffc0c796be196aaef6b957bc 100644
--- a/cmd/gotk/create_kustomization.go
+++ b/cmd/gotk/create_kustomization.go
@@ -39,7 +39,7 @@ var createKsCmd = &cobra.Command{
 	Use:     "kustomization [name]",
 	Aliases: []string{"ks"},
 	Short:   "Create or update a Kustomization resource",
-	Long:    "The kustomization source create command generates a Kustomize resource for a given GitRepository source.",
+	Long:    "The kustomization source create command generates a Kustomize resource for a given source.",
 	Example: `  # Create a Kustomization resource from a source at a given path
   gotk create kustomization contour \
     --source=contour \
@@ -85,7 +85,7 @@ var (
 
 func init() {
 	createKsCmd.Flags().StringVar(&ksSource, "source", "",
-		"source that contains the Kubernetes manifests, format '<kind>/<name>' where kind can be GitRepository or Bucket, if kind is not specified it defaults to GitRepository")
+		"source that contains the Kubernetes manifests in the format '[<kind>/]<name>', where kind can be GitRepository or Bucket, if kind is not specified it defaults to GitRepository")
 	createKsCmd.Flags().StringVar(&ksPath, "path", "./", "path to the directory containing the Kustomization file")
 	createKsCmd.Flags().BoolVar(&ksPrune, "prune", false, "enable garbage collection")
 	createKsCmd.Flags().StringArrayVar(&ksHealthCheck, "health-check", nil, "workload to be included in the health assessment, in the format '<kind>/<name>.<namespace>'")
@@ -109,15 +109,13 @@ func createKsCmdRun(cmd *cobra.Command, args []string) error {
 		return fmt.Errorf("source is required")
 	}
 
-	ksSourceKind := sourcev1.GitRepositoryKind
-	ksSourceName := ksSource
-	ksSourceElements := strings.Split(ksSource, "/")
-	if len(ksSourceElements) == 2 {
-		ksSourceKind, ksSourceName = ksSourceElements[0], ksSourceElements[1]
-		if !utils.containsItemString(supportedKustomizationSourceKinds, ksSourceKind) {
-			return fmt.Errorf("source kind %s is not supported, can be %v",
-				ksSourceKind, supportedKustomizationSourceKinds)
-		}
+	sourceKind, sourceName := utils.parseObjectKindName(ksSource)
+	if sourceKind == "" {
+		sourceKind = sourcev1.GitRepositoryKind
+	}
+	if !utils.containsItemString(supportedKustomizationSourceKinds, sourceKind) {
+		return fmt.Errorf("source kind %s is not supported, can be %v",
+			sourceKind, supportedKustomizationSourceKinds)
 	}
 
 	if ksPath == "" {
@@ -150,8 +148,8 @@ func createKsCmdRun(cmd *cobra.Command, args []string) error {
 			Path:  ksPath,
 			Prune: ksPrune,
 			SourceRef: kustomizev1.CrossNamespaceSourceReference{
-				Kind: ksSourceKind,
-				Name: ksSourceName,
+				Kind: sourceKind,
+				Name: sourceName,
 			},
 			Suspend:    false,
 			Validation: ksValidation,
diff --git a/cmd/gotk/utils.go b/cmd/gotk/utils.go
index e1e7c75209423835721feba4c9f9fd31734f7db5..17a5a38635a9ef0ae5f62d8f9e075c2ea7cc331e 100644
--- a/cmd/gotk/utils.go
+++ b/cmd/gotk/utils.go
@@ -180,6 +180,17 @@ func (*Utils) containsItemString(s []string, e string) bool {
 	return false
 }
 
+func (*Utils) parseObjectKindName(input string) (string, string) {
+	kind := ""
+	name := input
+	parts := strings.Split(input, "/")
+	if len(parts) == 2 {
+		kind, name = parts[0], parts[1]
+	}
+
+	return kind, name
+}
+
 func (*Utils) makeDependsOn(deps []string) []dependency.CrossNamespaceDependencyReference {
 	refs := []dependency.CrossNamespaceDependencyReference{}
 	for _, dep := range deps {
diff --git a/docs/cmd/gotk_create_kustomization.md b/docs/cmd/gotk_create_kustomization.md
index 9792283b7a5f989dfc870dcca482b2490f3847df..b42eee1ac5108ebf982dd591438710ea29f19573 100644
--- a/docs/cmd/gotk_create_kustomization.md
+++ b/docs/cmd/gotk_create_kustomization.md
@@ -4,7 +4,7 @@ Create or update a Kustomization resource
 
 ### Synopsis
 
-The kustomization source create command generates a Kustomize resource for a given GitRepository source.
+The kustomization source create command generates a Kustomize resource for a given source.
 
 ```
 gotk create kustomization [name] [flags]
@@ -54,7 +54,7 @@ gotk create kustomization [name] [flags]
       --prune                           enable garbage collection
       --sa-name string                  service account name
       --sa-namespace string             service account namespace
-      --source string                   source that contains the Kubernetes manifests, format '<kind>/<name>' where kind can be GitRepository or Bucket, if kind is not specified it defaults to GitRepository
+      --source string                   source that contains the Kubernetes manifests in the format '[<kind>/]<name>', where kind can be GitRepository or Bucket, if kind is not specified it defaults to GitRepository
       --validation string               validate the manifests before applying them on the cluster, can be 'client' or 'server'
 ```