diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index adac0afd95c3c65d7c5eb799b1950672d8d14098..4a94c12812374bd07a75672f40ea6736c033a438 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -3,7 +3,8 @@ on:
   push:
     branches:
       - docs*
-      - master
+    tags:
+      - '*'
 
 jobs:
   build:
diff --git a/cmd/gotk/create_kustomization.go b/cmd/gotk/create_kustomization.go
index dc8749173a9f270cba25b005ac83e76620b80435..95364dbe5a807be3c59b5bebcaf77f63b6b1dd33 100644
--- a/cmd/gotk/create_kustomization.go
+++ b/cmd/gotk/create_kustomization.go
@@ -179,9 +179,8 @@ func createKsCmdRun(cmd *cobra.Command, args []string) error {
 				Namespace: nameNs[1],
 			}
 
-			//TODO: (stefan) define the API version as a constant in the API package
 			if kind == helmv2.HelmReleaseKind {
-				check.APIVersion = "helm.toolkit.fluxcd.io/v2alpha1"
+				check.APIVersion = helmv2.GroupVersion.String()
 			}
 			healthChecks = append(healthChecks, check)
 		}
diff --git a/cmd/gotk/create_tenant.go b/cmd/gotk/create_tenant.go
new file mode 100644
index 0000000000000000000000000000000000000000..7345e0064309f24d7f9b691fbb61acdad12a8930
--- /dev/null
+++ b/cmd/gotk/create_tenant.go
@@ -0,0 +1,201 @@
+/*
+Copyright 2020 The Flux CD contributors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package main
+
+import (
+	"bytes"
+	"context"
+	"fmt"
+
+	"github.com/spf13/cobra"
+	corev1 "k8s.io/api/core/v1"
+	rbacv1 "k8s.io/api/rbac/v1"
+	"k8s.io/apimachinery/pkg/api/equality"
+	"k8s.io/apimachinery/pkg/api/errors"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/types"
+	"sigs.k8s.io/controller-runtime/pkg/client"
+	"sigs.k8s.io/yaml"
+)
+
+var createTenantCmd = &cobra.Command{
+	Use:   "tenant",
+	Short: "Create or update a tenant",
+	Long: `
+The create tenant command generates a namespace and a role binding to limit the
+reconcilers scope to the tenant namespace.`,
+	RunE: createTenantCmdRun,
+}
+
+func init() {
+	createCmd.AddCommand(createTenantCmd)
+}
+
+func createTenantCmdRun(cmd *cobra.Command, args []string) error {
+	if len(args) < 1 {
+		return fmt.Errorf("tenant name is required")
+	}
+	tenant := args[0]
+
+	objLabels, err := parseLabels()
+	if err != nil {
+		return err
+	}
+
+	namespace := corev1.Namespace{
+		ObjectMeta: metav1.ObjectMeta{
+			Name:   tenant,
+			Labels: objLabels,
+		},
+	}
+
+	roleBinding := rbacv1.RoleBinding{
+		ObjectMeta: metav1.ObjectMeta{
+			Name:      "gotk-reconciler",
+			Namespace: tenant,
+			Labels:    objLabels,
+		},
+		Subjects: []rbacv1.Subject{
+			{
+				APIGroup: "rbac.authorization.k8s.io",
+				Kind:     "User",
+				Name:     fmt.Sprintf("gotk:%s:reconciler", tenant),
+			},
+		},
+		RoleRef: rbacv1.RoleRef{
+			APIGroup: "rbac.authorization.k8s.io",
+			Kind:     "ClusterRole",
+			Name:     "cluster-admin",
+		},
+	}
+
+	if export {
+		return exportTenant(namespace, roleBinding)
+	}
+
+	ctx, cancel := context.WithTimeout(context.Background(), timeout)
+	defer cancel()
+
+	kubeClient, err := utils.kubeClient(kubeconfig)
+	if err != nil {
+		return err
+	}
+
+	logger.Actionf("applying namespace %s", namespace.Name)
+	if err := upsertNamespace(ctx, kubeClient, namespace); err != nil {
+		return err
+	}
+
+	logger.Actionf("applying role binding %s", roleBinding.Name)
+	if err := upsertRoleBinding(ctx, kubeClient, roleBinding); err != nil {
+		return err
+	}
+
+	logger.Successf("tenant setup completed")
+	return nil
+}
+
+func upsertNamespace(ctx context.Context, kubeClient client.Client, namespace corev1.Namespace) error {
+	namespacedName := types.NamespacedName{
+		Namespace: namespace.GetNamespace(),
+		Name:      namespace.GetName(),
+	}
+
+	var existing corev1.Namespace
+	err := kubeClient.Get(ctx, namespacedName, &existing)
+	if err != nil {
+		if errors.IsNotFound(err) {
+			if err := kubeClient.Create(ctx, &namespace); err != nil {
+				return err
+			} else {
+				return nil
+			}
+		}
+		return err
+	}
+
+	if !equality.Semantic.DeepDerivative(namespace.Labels, existing.Labels) {
+		existing.Labels = namespace.Labels
+		if err := kubeClient.Update(ctx, &existing); err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
+
+func upsertRoleBinding(ctx context.Context, kubeClient client.Client, roleBinding rbacv1.RoleBinding) error {
+	namespacedName := types.NamespacedName{
+		Namespace: roleBinding.GetNamespace(),
+		Name:      roleBinding.GetName(),
+	}
+
+	var existing rbacv1.RoleBinding
+	err := kubeClient.Get(ctx, namespacedName, &existing)
+	if err != nil {
+		if errors.IsNotFound(err) {
+			if err := kubeClient.Create(ctx, &roleBinding); err != nil {
+				return err
+			} else {
+				return nil
+			}
+		}
+		return err
+	}
+
+	if !equality.Semantic.DeepDerivative(roleBinding.Subjects, existing.Subjects) ||
+		!equality.Semantic.DeepDerivative(roleBinding.RoleRef, existing.RoleRef) ||
+		!equality.Semantic.DeepDerivative(roleBinding.Labels, existing.Labels) {
+		if err := kubeClient.Delete(ctx, &existing); err != nil {
+			return err
+		}
+		if err := kubeClient.Create(ctx, &roleBinding); err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
+
+func exportTenant(namespace corev1.Namespace, roleBinding rbacv1.RoleBinding) error {
+	namespace.TypeMeta = metav1.TypeMeta{
+		APIVersion: "v1",
+		Kind:       "Namespace",
+	}
+	data, err := yaml.Marshal(namespace)
+	if err != nil {
+		return err
+	}
+
+	fmt.Println("---")
+	data = bytes.Replace(data, []byte("spec: {}\n"), []byte(""), 1)
+	fmt.Println(resourceToString(data))
+
+	roleBinding.TypeMeta = metav1.TypeMeta{
+		APIVersion: "rbac.authorization.k8s.io/v1",
+		Kind:       "RoleBinding",
+	}
+	data, err = yaml.Marshal(roleBinding)
+	if err != nil {
+		return err
+	}
+
+	fmt.Println("---")
+	fmt.Println(resourceToString(data))
+
+	return nil
+}
diff --git a/cmd/gotk/export.go b/cmd/gotk/export.go
index 8a6d9f168b5d5d6f632d7c7e1bf8e007ac1aba54..750def2ec4541f8e4869d5b19fb6fcccf2992eb9 100644
--- a/cmd/gotk/export.go
+++ b/cmd/gotk/export.go
@@ -17,6 +17,8 @@ limitations under the License.
 package main
 
 import (
+	"bytes"
+
 	"github.com/spf13/cobra"
 )
 
@@ -35,3 +37,9 @@ func init() {
 
 	rootCmd.AddCommand(exportCmd)
 }
+
+func resourceToString(data []byte) string {
+	data = bytes.Replace(data, []byte("creationTimestamp: null\n"), []byte(""), 1)
+	data = bytes.Replace(data, []byte("status: {}\n"), []byte(""), 1)
+	return string(data)
+}
diff --git a/cmd/gotk/export_helmrelease.go b/cmd/gotk/export_helmrelease.go
index 583c271987dec29d59ea391b33b0702ec30f17b8..12bfc021e1417be95980fef0692fc6652ba22efe 100644
--- a/cmd/gotk/export_helmrelease.go
+++ b/cmd/gotk/export_helmrelease.go
@@ -115,6 +115,6 @@ func exportHelmRelease(helmRelease helmv2.HelmRelease) error {
 	}
 
 	fmt.Println("---")
-	fmt.Println(string(data))
+	fmt.Println(resourceToString(data))
 	return nil
 }
diff --git a/cmd/gotk/export_kustomization.go b/cmd/gotk/export_kustomization.go
index b3adcf6c21439d322a598ae6ead65d97d205b7fc..e901012d0fef5eb7bb8f8470cd571b7d63aefe61 100644
--- a/cmd/gotk/export_kustomization.go
+++ b/cmd/gotk/export_kustomization.go
@@ -115,6 +115,6 @@ func exportKs(kustomization kustomizev1.Kustomization) error {
 	}
 
 	fmt.Println("---")
-	fmt.Println(string(data))
+	fmt.Println(resourceToString(data))
 	return nil
 }
diff --git a/cmd/gotk/export_source_git.go b/cmd/gotk/export_source_git.go
index 01af0602c5c2a440bfdd62960450f79814bd4951..5b9eb6a6a9662f40b4adbc7e0a5a3a3bd8643f27 100644
--- a/cmd/gotk/export_source_git.go
+++ b/cmd/gotk/export_source_git.go
@@ -125,7 +125,7 @@ func exportGit(source sourcev1.GitRepository) error {
 	}
 
 	fmt.Println("---")
-	fmt.Println(string(data))
+	fmt.Println(resourceToString(data))
 	return nil
 }
 
@@ -160,7 +160,7 @@ func exportGitCredentials(ctx context.Context, kubeClient client.Client, source
 		}
 
 		fmt.Println("---")
-		fmt.Println(string(data))
+		fmt.Println(resourceToString(data))
 	}
 	return nil
 }
diff --git a/cmd/gotk/export_source_helm.go b/cmd/gotk/export_source_helm.go
index 80dd67000553698a8b2ea2cd6daeb66cd283e885..061b16a9153f9547506577621a9e6b4c89bdfa5c 100644
--- a/cmd/gotk/export_source_helm.go
+++ b/cmd/gotk/export_source_helm.go
@@ -125,7 +125,7 @@ func exportHelmRepository(source sourcev1.HelmRepository) error {
 	}
 
 	fmt.Println("---")
-	fmt.Println(string(data))
+	fmt.Println(resourceToString(data))
 	return nil
 }
 
@@ -160,7 +160,7 @@ func exportHelmCredentials(ctx context.Context, kubeClient client.Client, source
 		}
 
 		fmt.Println("---")
-		fmt.Println(string(data))
+		fmt.Println(resourceToString(data))
 	}
 	return nil
 }
diff --git a/cmd/gotk/main.go b/cmd/gotk/main.go
index 039e26f194f23949a781ee021569079c4dd659dc..8add651e88dd5a7ab2647aa27a8bdef23835d7cf 100644
--- a/cmd/gotk/main.go
+++ b/cmd/gotk/main.go
@@ -117,12 +117,9 @@ var (
 )
 
 func init() {
-	rootCmd.PersistentFlags().StringVar(&namespace, "namespace", defaultNamespace,
-		"the namespace scope for this operation")
-	rootCmd.PersistentFlags().DurationVarP(&timeout, "timeout", "", 5*time.Minute,
-		"timeout for this operation")
-	rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "", false,
-		"print generated objects")
+	rootCmd.PersistentFlags().StringVarP(&namespace, "namespace", "n", defaultNamespace, "the namespace scope for this operation")
+	rootCmd.PersistentFlags().DurationVar(&timeout, "timeout", 5*time.Minute, "timeout for this operation")
+	rootCmd.PersistentFlags().BoolVar(&verbose, "verbose", false, "print generated objects")
 }
 
 func main() {
diff --git a/cmd/gotk/utils.go b/cmd/gotk/utils.go
index e1dae097a8da2e50bb902b17f4417cc70b2e7bcd..16d0d6bf9fdc78a44ecbf618f120407a7d0bc3f1 100644
--- a/cmd/gotk/utils.go
+++ b/cmd/gotk/utils.go
@@ -27,6 +27,7 @@ import (
 	"text/template"
 
 	corev1 "k8s.io/api/core/v1"
+	rbacv1 "k8s.io/api/rbac/v1"
 	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/client-go/tools/clientcmd"
 	"sigs.k8s.io/controller-runtime/pkg/client"
@@ -118,6 +119,7 @@ func (*Utils) kubeClient(config string) (client.Client, error) {
 
 	scheme := runtime.NewScheme()
 	_ = corev1.AddToScheme(scheme)
+	_ = rbacv1.AddToScheme(scheme)
 	_ = sourcev1.AddToScheme(scheme)
 	_ = kustomizev1.AddToScheme(scheme)
 	_ = helmv2.AddToScheme(scheme)
diff --git a/docs/cmd/gotk.md b/docs/cmd/gotk.md
index d2c6b4263a94faf8d0df9b38d01a16e08802dbc9..7c4c8d60f64abe8f976038d730a70a493af705bc 100644
--- a/docs/cmd/gotk.md
+++ b/docs/cmd/gotk.md
@@ -69,7 +69,7 @@ Command line utility for assembling Kubernetes CD pipelines the GitOps way.
 ```
   -h, --help                help for gotk
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_bootstrap.md b/docs/cmd/gotk_bootstrap.md
index 6ac1ec1fbb0247c87b65fdfb07a7aacd94df74de..3ef57578c3d163dcc922ec5ec1e13619d5b075f0 100644
--- a/docs/cmd/gotk_bootstrap.md
+++ b/docs/cmd/gotk_bootstrap.md
@@ -24,7 +24,7 @@ The bootstrap sub-commands bootstrap the toolkit components on the targeted Git
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_bootstrap_github.md b/docs/cmd/gotk_bootstrap_github.md
index 7c8620c6881947b7ba337c446d4e8a9e2998f929..fd04d8d8a77fd11be7000005ba94b7133f2944e5 100644
--- a/docs/cmd/gotk_bootstrap_github.md
+++ b/docs/cmd/gotk_bootstrap_github.md
@@ -63,7 +63,7 @@ gotk bootstrap github [flags]
       --image-pull-secret string   Kubernetes secret name used for pulling the toolkit images from a private registry
       --kubeconfig string          path to the kubeconfig file (default "~/.kube/config")
       --log-level string           set the controllers log level (default "info")
-      --namespace string           the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string           the namespace scope for this operation (default "gitops-system")
       --registry string            container registry where the toolkit images are published (default "ghcr.io/fluxcd")
       --timeout duration           timeout for this operation (default 5m0s)
       --verbose                    print generated objects
diff --git a/docs/cmd/gotk_bootstrap_gitlab.md b/docs/cmd/gotk_bootstrap_gitlab.md
index 899a437f4d781672d019ecb891814e5c6f70fc42..ba9bae8290938fcec31f6861fc597ccbb320485b 100644
--- a/docs/cmd/gotk_bootstrap_gitlab.md
+++ b/docs/cmd/gotk_bootstrap_gitlab.md
@@ -60,7 +60,7 @@ gotk bootstrap gitlab [flags]
       --image-pull-secret string   Kubernetes secret name used for pulling the toolkit images from a private registry
       --kubeconfig string          path to the kubeconfig file (default "~/.kube/config")
       --log-level string           set the controllers log level (default "info")
-      --namespace string           the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string           the namespace scope for this operation (default "gitops-system")
       --registry string            container registry where the toolkit images are published (default "ghcr.io/fluxcd")
       --timeout duration           timeout for this operation (default 5m0s)
       --verbose                    print generated objects
diff --git a/docs/cmd/gotk_check.md b/docs/cmd/gotk_check.md
index c0fcff777498c4a57434d8468a62b553ca745f59..0da685e4e1ca992e5eaa16479b2bdf4b13361201 100644
--- a/docs/cmd/gotk_check.md
+++ b/docs/cmd/gotk_check.md
@@ -34,7 +34,7 @@ gotk check [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_completion.md b/docs/cmd/gotk_completion.md
index 64d126dc29349a98fcc1d95c2682cdd4138a4754..b3348e3eae3059aeaede65d5782803c70387af42 100644
--- a/docs/cmd/gotk_completion.md
+++ b/docs/cmd/gotk_completion.md
@@ -16,7 +16,7 @@ The completion sub-command generates completion scripts for various shells
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_completion_bash.md b/docs/cmd/gotk_completion_bash.md
index 12a7a39821d598a8541ce72e63d3c1f7910d2ebc..451b690da61efc5c38670a999afb78d4efa15144 100644
--- a/docs/cmd/gotk_completion_bash.md
+++ b/docs/cmd/gotk_completion_bash.md
@@ -34,7 +34,7 @@ command -v gotk >/dev/null && . <(gotk completion bash)
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_completion_fish.md b/docs/cmd/gotk_completion_fish.md
index 1db17f52c43d11393b24633682e73fc0638c924f..39bf5760adb38a06c715a8e40d8ebfeedbe1e468 100644
--- a/docs/cmd/gotk_completion_fish.md
+++ b/docs/cmd/gotk_completion_fish.md
@@ -35,7 +35,7 @@ See http://fishshell.com/docs/current/index.html#completion-own for more details
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_completion_powershell.md b/docs/cmd/gotk_completion_powershell.md
index 8941f291ac5d544cbf3445dfcf21263c01251431..67c3982d2f50f86c404df8366ae3008266910a6c 100644
--- a/docs/cmd/gotk_completion_powershell.md
+++ b/docs/cmd/gotk_completion_powershell.md
@@ -41,7 +41,7 @@ gotk completion >> gotk-completions.ps1
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_completion_zsh.md b/docs/cmd/gotk_completion_zsh.md
index 8e3449b30ee26110a23aebf0ef4318df396ade66..2bfb7f3698485165bb5d90444c6b0ff6c5f5297f 100644
--- a/docs/cmd/gotk_completion_zsh.md
+++ b/docs/cmd/gotk_completion_zsh.md
@@ -42,7 +42,7 @@ mv _gotk ~/.zprezto/modules/completion/external/src/  # zprezto
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_create.md b/docs/cmd/gotk_create.md
index f16fe7d02d45929a244cc2efbbe8092297d88e2d..b9a0bda1cdd983b4f4a2b76af3009575890120da 100644
--- a/docs/cmd/gotk_create.md
+++ b/docs/cmd/gotk_create.md
@@ -19,7 +19,7 @@ The create sub-commands generate sources and resources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
@@ -30,4 +30,5 @@ The create sub-commands generate sources and resources.
 * [gotk create helmrelease](gotk_create_helmrelease.md)	 - Create or update a HelmRelease resource
 * [gotk create kustomization](gotk_create_kustomization.md)	 - Create or update a Kustomization resource
 * [gotk create source](gotk_create_source.md)	 - Create or update sources
+* [gotk create tenant](gotk_create_tenant.md)	 - Create or update a tenant
 
diff --git a/docs/cmd/gotk_create_helmrelease.md b/docs/cmd/gotk_create_helmrelease.md
index d0115542f83acb7853b56c366a0733c2d2bd5cfe..e1d254f4e3147d1044b331b0a0cd77d5f7e3369f 100644
--- a/docs/cmd/gotk_create_helmrelease.md
+++ b/docs/cmd/gotk_create_helmrelease.md
@@ -73,7 +73,7 @@ gotk create helmrelease [name] [flags]
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
       --label strings       set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_create_kustomization.md b/docs/cmd/gotk_create_kustomization.md
index e87a9311fa89813d3d23e0aa5c77774642aad224..3f0ad7cad8d42bf55f8d350aa356d545824ff4e1 100644
--- a/docs/cmd/gotk_create_kustomization.md
+++ b/docs/cmd/gotk_create_kustomization.md
@@ -69,7 +69,7 @@ gotk create kustomization [name] [flags]
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
       --label strings       set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_create_source.md b/docs/cmd/gotk_create_source.md
index 3cc93193c6ce0a0bac6f6fe723633283c27a93a7..a75c25a262e71838794b424722c41ccde1b01a86 100644
--- a/docs/cmd/gotk_create_source.md
+++ b/docs/cmd/gotk_create_source.md
@@ -19,7 +19,7 @@ The create source sub-commands generate sources.
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
       --label strings       set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_create_source_git.md b/docs/cmd/gotk_create_source_git.md
index bdf6f9be624269d535127a9db9bf938bf25130a8..91c80960ba39b511355d1237eed1ba9a6ef902da 100644
--- a/docs/cmd/gotk_create_source_git.md
+++ b/docs/cmd/gotk_create_source_git.md
@@ -74,7 +74,7 @@ gotk create source git [name] [flags]
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
       --label strings       set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_create_source_helm.md b/docs/cmd/gotk_create_source_helm.md
index 5c9a3bbbb1ee4aa050ad49e9cbc56b83fb67b851..84d55ce4e01dd9be61428d9e8a13c4ed73ad19c5 100644
--- a/docs/cmd/gotk_create_source_helm.md
+++ b/docs/cmd/gotk_create_source_helm.md
@@ -54,7 +54,7 @@ gotk create source helm [name] [flags]
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
       --label strings       set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_create_tenant.md b/docs/cmd/gotk_create_tenant.md
new file mode 100644
index 0000000000000000000000000000000000000000..f79a7bc8600c732d66a242b1927fb7a95447aa56
--- /dev/null
+++ b/docs/cmd/gotk_create_tenant.md
@@ -0,0 +1,36 @@
+## gotk create tenant
+
+Create or update a tenant
+
+### Synopsis
+
+
+The create tenant command generates a namespace and a role binding to limit the
+reconcilers scope to the tenant namespace.
+
+```
+gotk create tenant [flags]
+```
+
+### Options
+
+```
+  -h, --help   help for tenant
+```
+
+### Options inherited from parent commands
+
+```
+      --export              export in YAML format to stdout
+      --interval duration   source sync interval (default 1m0s)
+      --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
+      --label strings       set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
+      --timeout duration    timeout for this operation (default 5m0s)
+      --verbose             print generated objects
+```
+
+### SEE ALSO
+
+* [gotk create](gotk_create.md)	 - Create or update sources and resources
+
diff --git a/docs/cmd/gotk_delete.md b/docs/cmd/gotk_delete.md
index 75d2f5e8e922118a712369ba0ec0196c8a81df64..dec228b77e12e75871cce9e37bad67a7ad7601b2 100644
--- a/docs/cmd/gotk_delete.md
+++ b/docs/cmd/gotk_delete.md
@@ -17,7 +17,7 @@ The delete sub-commands delete sources and resources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_delete_helmrelease.md b/docs/cmd/gotk_delete_helmrelease.md
index c46a17555461953df1fd70aa45226fa3d15635d8..9ceaf7e605c507dd5baf59536b1902da7e30bc0d 100644
--- a/docs/cmd/gotk_delete_helmrelease.md
+++ b/docs/cmd/gotk_delete_helmrelease.md
@@ -28,7 +28,7 @@ gotk delete helmrelease [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
   -s, --silent              delete resource without asking for confirmation
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
diff --git a/docs/cmd/gotk_delete_kustomization.md b/docs/cmd/gotk_delete_kustomization.md
index 919f92f517f96f7852f21aac1e44881884a5cd5f..c0c3d2f3b40bb29ddfcfd656a77a5e91f0a51ea3 100644
--- a/docs/cmd/gotk_delete_kustomization.md
+++ b/docs/cmd/gotk_delete_kustomization.md
@@ -28,7 +28,7 @@ gotk delete kustomization [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
   -s, --silent              delete resource without asking for confirmation
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
diff --git a/docs/cmd/gotk_delete_source.md b/docs/cmd/gotk_delete_source.md
index 7bb32eca974739c57df78d72b45c2cf1db49e6b1..180ba57ec051c02224149cc731e4f92b8acb036e 100644
--- a/docs/cmd/gotk_delete_source.md
+++ b/docs/cmd/gotk_delete_source.md
@@ -16,7 +16,7 @@ The delete source sub-commands delete sources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
   -s, --silent              delete resource without asking for confirmation
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
diff --git a/docs/cmd/gotk_delete_source_git.md b/docs/cmd/gotk_delete_source_git.md
index 2087440a8979679f7318a19967eb3d30c981b6ac..6f312458d0363509bcfc6b7b32d5224c47039337 100644
--- a/docs/cmd/gotk_delete_source_git.md
+++ b/docs/cmd/gotk_delete_source_git.md
@@ -28,7 +28,7 @@ gotk delete source git [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
   -s, --silent              delete resource without asking for confirmation
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
diff --git a/docs/cmd/gotk_delete_source_helm.md b/docs/cmd/gotk_delete_source_helm.md
index 2698668e0ecf283ff09521cfc8e4f9e0b457ce76..955508b1e947762cb895e28521ffa63971bc447d 100644
--- a/docs/cmd/gotk_delete_source_helm.md
+++ b/docs/cmd/gotk_delete_source_helm.md
@@ -28,7 +28,7 @@ gotk delete source helm [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
   -s, --silent              delete resource without asking for confirmation
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
diff --git a/docs/cmd/gotk_export.md b/docs/cmd/gotk_export.md
index a41ffe787f56b265c7c98d0e40b15ef2a6c1dff0..2f9898e15af17edba7d5d38a9ae08b20f213d678 100644
--- a/docs/cmd/gotk_export.md
+++ b/docs/cmd/gotk_export.md
@@ -17,7 +17,7 @@ The export sub-commands export resources in YAML format.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_export_helmrelease.md b/docs/cmd/gotk_export_helmrelease.md
index 0499987b4102e8df48131dc9a989bc4d3b2da5eb..7c76144ebe8e14a9a59647e57385fd3fb4dba1d5 100644
--- a/docs/cmd/gotk_export_helmrelease.md
+++ b/docs/cmd/gotk_export_helmrelease.md
@@ -32,7 +32,7 @@ gotk export helmrelease [name] [flags]
 ```
       --all                 select all resources
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_export_kustomization.md b/docs/cmd/gotk_export_kustomization.md
index d4a75b51382c62e235e09c880ca4710ecb5f7ef9..a70565e7f39459501df73faa04e2363478ca3f8d 100644
--- a/docs/cmd/gotk_export_kustomization.md
+++ b/docs/cmd/gotk_export_kustomization.md
@@ -32,7 +32,7 @@ gotk export kustomization [name] [flags]
 ```
       --all                 select all resources
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_export_source.md b/docs/cmd/gotk_export_source.md
index 6f7438a86f39b4692969066e4cef57d7d2abb0a3..5cbf32fdbcdc21131630711a97810a3ae2b4570e 100644
--- a/docs/cmd/gotk_export_source.md
+++ b/docs/cmd/gotk_export_source.md
@@ -18,7 +18,7 @@ The export source sub-commands export sources in YAML format.
 ```
       --all                 select all resources
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_export_source_git.md b/docs/cmd/gotk_export_source_git.md
index c10e06e34cbbbae6f48bee1d892cb8ee06b9f9ae..2eff4dff4c0616ab673750b1bb03740bf603ca7e 100644
--- a/docs/cmd/gotk_export_source_git.md
+++ b/docs/cmd/gotk_export_source_git.md
@@ -32,7 +32,7 @@ gotk export source git [name] [flags]
 ```
       --all                 select all resources
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
       --with-credentials    include credential secrets
diff --git a/docs/cmd/gotk_export_source_helm.md b/docs/cmd/gotk_export_source_helm.md
index 5c734d2d60088130d4021103ece60db32f821fa8..2921eab8413cf299ac1ae58d20558b8f1577507a 100644
--- a/docs/cmd/gotk_export_source_helm.md
+++ b/docs/cmd/gotk_export_source_helm.md
@@ -32,7 +32,7 @@ gotk export source helm [name] [flags]
 ```
       --all                 select all resources
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
       --with-credentials    include credential secrets
diff --git a/docs/cmd/gotk_get.md b/docs/cmd/gotk_get.md
index aeb7e81e3b7ca47dded6b8c4ff4d639488becfaf..d0f86a11c5005f4a3406d83e5ef9405141844996 100644
--- a/docs/cmd/gotk_get.md
+++ b/docs/cmd/gotk_get.md
@@ -16,7 +16,7 @@ The get sub-commands print the statuses of sources and resources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_get_helmreleases.md b/docs/cmd/gotk_get_helmreleases.md
index 1087ec2f516635a3e02b4bfb7c6d7995c65a05f4..c251f3a335da0556e8629ff5e9b776dfe2b50b3d 100644
--- a/docs/cmd/gotk_get_helmreleases.md
+++ b/docs/cmd/gotk_get_helmreleases.md
@@ -28,7 +28,7 @@ gotk get helmreleases [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_get_kustomizations.md b/docs/cmd/gotk_get_kustomizations.md
index be82136dee0f1d9b8ec841d22ba8e7ac6f464d38..56f931110372f9ee70467d8945ca7b3f1f3b533b 100644
--- a/docs/cmd/gotk_get_kustomizations.md
+++ b/docs/cmd/gotk_get_kustomizations.md
@@ -28,7 +28,7 @@ gotk get kustomizations [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_get_sources.md b/docs/cmd/gotk_get_sources.md
index 38ff058c5774edc7a951341f95681cddcbe98085..efcfdb7c2cb949d4e0f3510ab9e2bd9a169485af 100644
--- a/docs/cmd/gotk_get_sources.md
+++ b/docs/cmd/gotk_get_sources.md
@@ -16,7 +16,7 @@ The get source sub-commands print the statuses of the sources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_get_sources_git.md b/docs/cmd/gotk_get_sources_git.md
index d57658a431e41c9e13fed63638a7e4d922aa9d6b..a4d9f73f5baaf5647ca6d7f52111b448c93958b1 100644
--- a/docs/cmd/gotk_get_sources_git.md
+++ b/docs/cmd/gotk_get_sources_git.md
@@ -28,7 +28,7 @@ gotk get sources git [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_get_sources_helm.md b/docs/cmd/gotk_get_sources_helm.md
index 730d8bd4333ef7fed89154344d0415a9478ee1ed..277192e166d51098f103f7fbbc4dc68bf18067e9 100644
--- a/docs/cmd/gotk_get_sources_helm.md
+++ b/docs/cmd/gotk_get_sources_helm.md
@@ -28,7 +28,7 @@ gotk get sources helm [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_install.md b/docs/cmd/gotk_install.md
index d92d1503aa509c28ea9ea93e5fa90d8dc15c9ee6..dcf10cfd16215f87977cbeea09278c3ba8cbbba8 100644
--- a/docs/cmd/gotk_install.md
+++ b/docs/cmd/gotk_install.md
@@ -48,7 +48,7 @@ gotk install [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_reconcile.md b/docs/cmd/gotk_reconcile.md
index d39c8cabceaa44d00c02d083bc24a5fb424fe26f..96a4ede394aad7b06e64d2e15939fadc5bfdba0e 100644
--- a/docs/cmd/gotk_reconcile.md
+++ b/docs/cmd/gotk_reconcile.md
@@ -16,7 +16,7 @@ The reconcile sub-commands trigger a reconciliation of sources and resources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_reconcile_helmrelease.md b/docs/cmd/gotk_reconcile_helmrelease.md
index 2761f4d5b9ea87d8ad418cf5897f259cc22d9361..2729d6f404d0b51e808c28140b6269571fca2f42 100644
--- a/docs/cmd/gotk_reconcile_helmrelease.md
+++ b/docs/cmd/gotk_reconcile_helmrelease.md
@@ -33,7 +33,7 @@ gotk reconcile helmrelease [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_reconcile_kustomization.md b/docs/cmd/gotk_reconcile_kustomization.md
index b4dc089fe7bca3877ef5647c5a9eb28f2144c452..3e19cc11495ddfc56c19373cf3326e63b05a81ce 100644
--- a/docs/cmd/gotk_reconcile_kustomization.md
+++ b/docs/cmd/gotk_reconcile_kustomization.md
@@ -33,7 +33,7 @@ gotk reconcile kustomization [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_reconcile_source.md b/docs/cmd/gotk_reconcile_source.md
index 0d27f4530b08b5d24cce3b5b77c58b866f9a51e8..439da16a50a3b59b31ff84aa1d87db8887abbc95 100644
--- a/docs/cmd/gotk_reconcile_source.md
+++ b/docs/cmd/gotk_reconcile_source.md
@@ -16,7 +16,7 @@ The reconcile source sub-commands trigger a reconciliation of sources.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_reconcile_source_git.md b/docs/cmd/gotk_reconcile_source_git.md
index 955c27c90037d639c447e7b69a3e29b926ff8a50..d72ac91271cddda3b82962b97e1ecf106044ff7f 100644
--- a/docs/cmd/gotk_reconcile_source_git.md
+++ b/docs/cmd/gotk_reconcile_source_git.md
@@ -28,7 +28,7 @@ gotk reconcile source git [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_reconcile_source_helm.md b/docs/cmd/gotk_reconcile_source_helm.md
index 946ed7f2f8a55072ef6ef9ecfba1d473705f4eb8..a50998087ff29c485c4819e220aeb90c0d45406a 100644
--- a/docs/cmd/gotk_reconcile_source_helm.md
+++ b/docs/cmd/gotk_reconcile_source_helm.md
@@ -28,7 +28,7 @@ gotk reconcile source helm [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_resume.md b/docs/cmd/gotk_resume.md
index c565ebf50cef7e9025b45d4c72fe050be87cd35b..198b423166237e177a1cf05571bbdf4921dfd4af 100644
--- a/docs/cmd/gotk_resume.md
+++ b/docs/cmd/gotk_resume.md
@@ -16,7 +16,7 @@ The resume sub-commands resume a suspended resource.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_resume_helmrelease.md b/docs/cmd/gotk_resume_helmrelease.md
index 9d0671ac6fd76588d292a72cd16d2eb26fdf3419..8fbfc7d238667f6bfc7b2d193039bffdd4237495 100644
--- a/docs/cmd/gotk_resume_helmrelease.md
+++ b/docs/cmd/gotk_resume_helmrelease.md
@@ -29,7 +29,7 @@ gotk resume helmrelease [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_resume_kustomization.md b/docs/cmd/gotk_resume_kustomization.md
index a9aa27bcf89da8010f93918b115a1c6c47074508..9d01fd55550a59bf22fb76d53320709b44fd9c99 100644
--- a/docs/cmd/gotk_resume_kustomization.md
+++ b/docs/cmd/gotk_resume_kustomization.md
@@ -29,7 +29,7 @@ gotk resume kustomization [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_suspend.md b/docs/cmd/gotk_suspend.md
index 69c759524b8ce9b07f5966f5fd5415795f9821c0..a51d1a950a9f9d78137c98f4d252d5ff6be13976 100644
--- a/docs/cmd/gotk_suspend.md
+++ b/docs/cmd/gotk_suspend.md
@@ -16,7 +16,7 @@ The suspend sub-commands suspend the reconciliation of a resource.
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_suspend_helmrelease.md b/docs/cmd/gotk_suspend_helmrelease.md
index e5fe7332ed73d32f79e9c75353f193df630dfe03..3f627874bfea82bd97460c3bd26dd585aa62b738 100644
--- a/docs/cmd/gotk_suspend_helmrelease.md
+++ b/docs/cmd/gotk_suspend_helmrelease.md
@@ -28,7 +28,7 @@ gotk suspend helmrelease [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_suspend_kustomization.md b/docs/cmd/gotk_suspend_kustomization.md
index 6be8bb230da9bbebdd4bf4ed732a6adb9619e439..ae05302eab550b7b034d7bf6f52bd18788bbfb42 100644
--- a/docs/cmd/gotk_suspend_kustomization.md
+++ b/docs/cmd/gotk_suspend_kustomization.md
@@ -28,7 +28,7 @@ gotk suspend kustomization [name] [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/docs/cmd/gotk_uninstall.md b/docs/cmd/gotk_uninstall.md
index c7e504bd02b4ffe441eaa4e46b9cbbb3a2344b9b..357040368a0293cf361ab27f16d27ad8720d7938 100644
--- a/docs/cmd/gotk_uninstall.md
+++ b/docs/cmd/gotk_uninstall.md
@@ -35,7 +35,7 @@ gotk uninstall [flags]
 
 ```
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
-      --namespace string    the namespace scope for this operation (default "gitops-system")
+  -n, --namespace string    the namespace scope for this operation (default "gitops-system")
       --timeout duration    timeout for this operation (default 5m0s)
       --verbose             print generated objects
 ```
diff --git a/mkdocs.yml b/mkdocs.yml
index ef9c36cf2b2b655926e060cd2b2c4db4a43a946f..6053cdc9c4e7105f72be2c6af34c6643449c425b 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -85,6 +85,7 @@ nav:
     - Create source: cmd/gotk_create_source.md
     - Create source git: cmd/gotk_create_source_git.md
     - Create source helm: cmd/gotk_create_source_helm.md
+    - Create tenant: cmd/gotk_create_tenant.md
     - Delete: cmd/gotk_delete.md
     - Delete kustomization: cmd/gotk_delete_kustomization.md
     - Delete helmrelease: cmd/gotk_delete_helmrelease.md