diff --git a/cmd/tk/create_source.go b/cmd/tk/create_source.go
index c6226e0fe1c5e4cb083d188d632e20fa7d9b0057..c3cb26cd8b041e6939b32160d0aa22469784b57f 100644
--- a/cmd/tk/create_source.go
+++ b/cmd/tk/create_source.go
@@ -43,6 +43,7 @@ var (
 	sourceGitSemver string
 	sourceUsername  string
 	sourcePassword  string
+	sourceVerbose   bool
 )
 
 func init() {
@@ -51,6 +52,8 @@ func init() {
 	createSourceCmd.Flags().StringVar(&sourceGitSemver, "git-semver", "", "git tag semver range")
 	createSourceCmd.Flags().StringVarP(&sourceUsername, "username", "u", "", "basic authentication username")
 	createSourceCmd.Flags().StringVarP(&sourcePassword, "password", "p", "", "basic authentication password")
+	createSourceCmd.Flags().BoolVarP(&sourceVerbose, "verbose", "", false, "print generated source object")
+
 	createCmd.AddCommand(createSourceCmd)
 }
 
@@ -121,7 +124,10 @@ func createSourceCmdRun(cmd *cobra.Command, args []string) error {
 	if err := writer.Flush(); err != nil {
 		return fmt.Errorf("source flush failed: %w", err)
 	}
-	fmt.Print(data.String())
+
+	if sourceVerbose {
+		fmt.Print(data.String())
+	}
 
 	command := fmt.Sprintf("echo '%s' | kubectl apply -f-", data.String())
 	c := exec.Command("/bin/sh", "-c", command)