diff --git a/cmd/flux/bootstrap_github.go b/cmd/flux/bootstrap_github.go
index 08bfeedc192029e96f10967769053271b57cda6d..5565a98ac895d171f2dd12309b8f3fd7b411242f 100644
--- a/cmd/flux/bootstrap_github.go
+++ b/cmd/flux/bootstrap_github.go
@@ -184,7 +184,7 @@ func bootstrapGitHubCmdRun(cmd *cobra.Command, args []string) error {
 		logger.Successf("components are up to date")
 	}
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/bootstrap_gitlab.go b/cmd/flux/bootstrap_gitlab.go
index 5c1364ff92fa468d2a589f5cc7fa2f59fb00be2b..5d504def91d84a73b40fcf62c872991a56605d42 100644
--- a/cmd/flux/bootstrap_gitlab.go
+++ b/cmd/flux/bootstrap_gitlab.go
@@ -113,7 +113,7 @@ func bootstrapGitLabCmdRun(cmd *cobra.Command, args []string) error {
 		IsPersonal: glPersonal,
 	}
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_alert.go b/cmd/flux/create_alert.go
index 1a570c002258aa00139a3fbbdc35abba25a90869..0edfd1c31cf0d46d352e42358c651b3c8df25984 100644
--- a/cmd/flux/create_alert.go
+++ b/cmd/flux/create_alert.go
@@ -120,7 +120,7 @@ func createAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_alertprovider.go b/cmd/flux/create_alertprovider.go
index b1efbb2f32d0620e5bf7833bec3f1c2b49cfa884..71315f4e2a16e08b6b70a07317f98b1017494f4f 100644
--- a/cmd/flux/create_alertprovider.go
+++ b/cmd/flux/create_alertprovider.go
@@ -116,7 +116,7 @@ func createAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_helmrelease.go b/cmd/flux/create_helmrelease.go
index 99a198eace5445d9b0aa39d8e6ab8094e56ff842..f4c94ae0ac2b8bca9d6e2a480537fa4135275520 100644
--- a/cmd/flux/create_helmrelease.go
+++ b/cmd/flux/create_helmrelease.go
@@ -177,7 +177,7 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_kustomization.go b/cmd/flux/create_kustomization.go
index cf579aac9959f24b65079316b1314f09ad060219..03dd4c2d115240dd585bb57d7c4647044ba80fcd 100644
--- a/cmd/flux/create_kustomization.go
+++ b/cmd/flux/create_kustomization.go
@@ -209,7 +209,7 @@ func createKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_receiver.go b/cmd/flux/create_receiver.go
index 233f36cb4a8df08cdbb960611ba06053f1cefa97..8576c4d46cb3fb4b67007a0505b2e7b76037874f 100644
--- a/cmd/flux/create_receiver.go
+++ b/cmd/flux/create_receiver.go
@@ -128,7 +128,7 @@ func createReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_source_bucket.go b/cmd/flux/create_source_bucket.go
index 9bc9144c693c9c2dd3c4fd591efbfec649f44ea8..da50b562490fc4681c984968ef85b03f3cd76101 100644
--- a/cmd/flux/create_source_bucket.go
+++ b/cmd/flux/create_source_bucket.go
@@ -140,7 +140,7 @@ func createSourceBucketCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_source_git.go b/cmd/flux/create_source_git.go
index 7714c5c7cbc5bccce8d90c81f549a855e58d326d..04ea0f32807038dcc212a5c11bd65c70e447c833 100644
--- a/cmd/flux/create_source_git.go
+++ b/cmd/flux/create_source_git.go
@@ -176,7 +176,7 @@ func createSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_source_helm.go b/cmd/flux/create_source_helm.go
index 4a21c4e665693727f9d5fa1d071992e3269fff95..d6c94617f9385109e202ffc232f513ea8f81c68a 100644
--- a/cmd/flux/create_source_helm.go
+++ b/cmd/flux/create_source_helm.go
@@ -136,7 +136,7 @@ func createSourceHelmCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_tenant.go b/cmd/flux/create_tenant.go
index b8a539bf16312a8bd8b1b67e5584b4670c68f997..e6a1a30a6c6ca12225990af21328cadeee066c6a 100644
--- a/cmd/flux/create_tenant.go
+++ b/cmd/flux/create_tenant.go
@@ -145,7 +145,7 @@ func createTenantCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_alert.go b/cmd/flux/delete_alert.go
index ce48ef894a3b8c2bb2ef3a7e79762cc7013ab374..bb8cb0bcf66587013ed9766fa13e8687d6d898c8 100644
--- a/cmd/flux/delete_alert.go
+++ b/cmd/flux/delete_alert.go
@@ -51,7 +51,7 @@ func deleteAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_alertprovider.go b/cmd/flux/delete_alertprovider.go
index 7487e0892b8bc71c910e5efa3dbabbc2a23b0e44..c3ebc908509ea170b28cc32a849ce73598670906 100644
--- a/cmd/flux/delete_alertprovider.go
+++ b/cmd/flux/delete_alertprovider.go
@@ -51,7 +51,7 @@ func deleteAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_helmrelease.go b/cmd/flux/delete_helmrelease.go
index d14227a9e077ae5b50c3becbd8370079f5ab51c4..47249bda07fc2244b5cfa5b212a88d884c9f7b66 100644
--- a/cmd/flux/delete_helmrelease.go
+++ b/cmd/flux/delete_helmrelease.go
@@ -52,7 +52,7 @@ func deleteHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_kustomization.go b/cmd/flux/delete_kustomization.go
index aa89929602ecf6ea973add3ae0d76c1b77279bf9..0d1fef3db2255c6d0b3207db690c0ddf67014597 100644
--- a/cmd/flux/delete_kustomization.go
+++ b/cmd/flux/delete_kustomization.go
@@ -51,7 +51,7 @@ func deleteKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_receiver.go b/cmd/flux/delete_receiver.go
index 618fa30754e31c74b9778e95ac2d324e4f076963..b92fe83f5dae48ee44935b7208c0ab5a052561ff 100644
--- a/cmd/flux/delete_receiver.go
+++ b/cmd/flux/delete_receiver.go
@@ -51,7 +51,7 @@ func deleteReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_source_bucket.go b/cmd/flux/delete_source_bucket.go
index 812defd708808da63f4dced638641f174a4dd95e..ccdcf3f1c1fd95afed619f0c5cd98edff6cb6b33 100644
--- a/cmd/flux/delete_source_bucket.go
+++ b/cmd/flux/delete_source_bucket.go
@@ -50,7 +50,7 @@ func deleteSourceBucketCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_source_git.go b/cmd/flux/delete_source_git.go
index 7b350ff4849c6b0f263fd38443b85c45df225a80..7173c3a1d1f3479a2ef4b3fff65d68c6a31a5504 100644
--- a/cmd/flux/delete_source_git.go
+++ b/cmd/flux/delete_source_git.go
@@ -50,7 +50,7 @@ func deleteSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/delete_source_helm.go b/cmd/flux/delete_source_helm.go
index 0cc83e876dad9913a105d14a0c8c62d9f381ff08..5eb10d514542fca5ff5092255484ef25439c7d3c 100644
--- a/cmd/flux/delete_source_helm.go
+++ b/cmd/flux/delete_source_helm.go
@@ -50,7 +50,7 @@ func deleteSourceHelmCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_alert.go b/cmd/flux/export_alert.go
index 43bf7373f0d03a3584d3274cbaca2b5f90c2ec6b..8fa7ba4214908a652b7d86d956ebd05b7d3005c8 100644
--- a/cmd/flux/export_alert.go
+++ b/cmd/flux/export_alert.go
@@ -55,7 +55,7 @@ func exportAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_alertprovider.go b/cmd/flux/export_alertprovider.go
index 0bc3747f94ebae3de784cc5fe53a348dfa9dfacd..2d805e4000b1563178d180dbf7046080875a246e 100644
--- a/cmd/flux/export_alertprovider.go
+++ b/cmd/flux/export_alertprovider.go
@@ -55,7 +55,7 @@ func exportAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_helmrelease.go b/cmd/flux/export_helmrelease.go
index e533ae23fc9334dd4830358cc92c789fe72624e2..dff04b61e4378ebadb631660ba76af8e9294bfb4 100644
--- a/cmd/flux/export_helmrelease.go
+++ b/cmd/flux/export_helmrelease.go
@@ -56,7 +56,7 @@ func exportHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_kustomization.go b/cmd/flux/export_kustomization.go
index 4a28e91e34df5abfd98635048c87cddd601633f2..86c33aca2ab5edb3c60f41b307caac6c1697bb63 100644
--- a/cmd/flux/export_kustomization.go
+++ b/cmd/flux/export_kustomization.go
@@ -56,7 +56,7 @@ func exportKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_receiver.go b/cmd/flux/export_receiver.go
index 654c82ec473af36eaa6d94e94015063abd28bf44..ebecabef6942b01a1547e7f4f7f75bbf7b9ce295 100644
--- a/cmd/flux/export_receiver.go
+++ b/cmd/flux/export_receiver.go
@@ -55,7 +55,7 @@ func exportReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_source_bucket.go b/cmd/flux/export_source_bucket.go
index c7acd500dc2c4365547b1e30c3b95d8d0a93136f..32e20322561c64303c317c5aaf6c47980160e424 100644
--- a/cmd/flux/export_source_bucket.go
+++ b/cmd/flux/export_source_bucket.go
@@ -56,7 +56,7 @@ func exportSourceBucketCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_source_git.go b/cmd/flux/export_source_git.go
index 038a877277a6eec4541204c98093b6bf27952367..6a422d7852449c034cea2921435dc4047e0f2c8b 100644
--- a/cmd/flux/export_source_git.go
+++ b/cmd/flux/export_source_git.go
@@ -56,7 +56,7 @@ func exportSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/export_source_helm.go b/cmd/flux/export_source_helm.go
index 879af6c543908e995f1186d6367b029b60ede80a..756bf7fa83838fdb8b1c3eec81cba504a53947f5 100644
--- a/cmd/flux/export_source_helm.go
+++ b/cmd/flux/export_source_helm.go
@@ -56,7 +56,7 @@ func exportSourceHelmCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_alert.go b/cmd/flux/get_alert.go
index 9bf17c53f42fc8ecb7324796038a3024e22753e6..c66c6e74ab6a562cdb28ff441ed0568bca046258 100644
--- a/cmd/flux/get_alert.go
+++ b/cmd/flux/get_alert.go
@@ -49,7 +49,7 @@ func getAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_alertprovider.go b/cmd/flux/get_alertprovider.go
index 1342057a0aff02ca89c83de5b8adc4f68daf50d8..cb1bda4a15d386108499d17d8b54494a918dd917 100644
--- a/cmd/flux/get_alertprovider.go
+++ b/cmd/flux/get_alertprovider.go
@@ -47,7 +47,7 @@ func getAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_helmrelease.go b/cmd/flux/get_helmrelease.go
index 6d97024435839ef9a920661512c3c0cb115346ad..ce093f932533d365c45db152b5782bc1af4e2122 100644
--- a/cmd/flux/get_helmrelease.go
+++ b/cmd/flux/get_helmrelease.go
@@ -51,7 +51,7 @@ func getHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_kustomization.go b/cmd/flux/get_kustomization.go
index d56ea34cde153ed18e2d7b2f8e3c8e0ac32debc5..475767c52f50d3733ec347cfb08b16cbe4b49042 100644
--- a/cmd/flux/get_kustomization.go
+++ b/cmd/flux/get_kustomization.go
@@ -50,7 +50,7 @@ func getKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_receiver.go b/cmd/flux/get_receiver.go
index 6ae69c602e840d438d7f70a2a305d8014dc241ab..4bcfb11a684a8499e9ac5d0035e5c86cecad3661 100644
--- a/cmd/flux/get_receiver.go
+++ b/cmd/flux/get_receiver.go
@@ -49,7 +49,7 @@ func getReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_source_bucket.go b/cmd/flux/get_source_bucket.go
index e8026b83c3be11a99197b3d2ef1c7d6f2a5f2c57..c7983936229084abb733b4ff92ee14f343129c17 100644
--- a/cmd/flux/get_source_bucket.go
+++ b/cmd/flux/get_source_bucket.go
@@ -47,7 +47,7 @@ func getSourceBucketCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_source_git.go b/cmd/flux/get_source_git.go
index 04f0526c99d2b706f9886e8ab3e7674afd973103..f187802768cc8ac597101fbd5ef544459c35ef97 100644
--- a/cmd/flux/get_source_git.go
+++ b/cmd/flux/get_source_git.go
@@ -47,7 +47,7 @@ func getSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/get_source_helm.go b/cmd/flux/get_source_helm.go
index 639fd0e65c8dc07d3dda26d17a9e6db687c6f56d..daec292d6bdca7cdb4d435c1c2eecabba1941427 100644
--- a/cmd/flux/get_source_helm.go
+++ b/cmd/flux/get_source_helm.go
@@ -47,7 +47,7 @@ func getSourceHelmCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/main.go b/cmd/flux/main.go
index 4205b0826218602b712a2d580a323fb76304851c..e9742fd514faaac9bfca482bb6b87c1e6ac8d331 100644
--- a/cmd/flux/main.go
+++ b/cmd/flux/main.go
@@ -96,6 +96,7 @@ var rootCmd = &cobra.Command{
 
 var (
 	kubeconfig   string
+	kubecontext  string
 	namespace    string
 	timeout      time.Duration
 	verbose      bool
@@ -108,6 +109,7 @@ func init() {
 	rootCmd.PersistentFlags().StringVarP(&namespace, "namespace", "n", defaults.Namespace, "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")
+	rootCmd.PersistentFlags().StringVarP(&kubecontext, "context", "", "", "kubernetes context to use")
 }
 
 func main() {
diff --git a/cmd/flux/reconcile_alert.go b/cmd/flux/reconcile_alert.go
index f895a6080175d4818cc9cb8d1b04bc3529bf4368..71b528679399648e0157c6436faf36bff91fc8cf 100644
--- a/cmd/flux/reconcile_alert.go
+++ b/cmd/flux/reconcile_alert.go
@@ -54,7 +54,7 @@ func reconcileAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_alertprovider.go b/cmd/flux/reconcile_alertprovider.go
index 5c5b829d93c120f2b9c1c2dcadb506c29e1bf3c7..3b76bf00a077f59097bd5f1d5b86d99354ac5402 100644
--- a/cmd/flux/reconcile_alertprovider.go
+++ b/cmd/flux/reconcile_alertprovider.go
@@ -54,7 +54,7 @@ func reconcileAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_helmrelease.go b/cmd/flux/reconcile_helmrelease.go
index 3371d184e812a6eb78662f85d61fdb44a45bb230..9c5a6a6302949c1a07e0791496b5d191d0423458 100644
--- a/cmd/flux/reconcile_helmrelease.go
+++ b/cmd/flux/reconcile_helmrelease.go
@@ -69,7 +69,7 @@ func reconcileHrCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_kustomization.go b/cmd/flux/reconcile_kustomization.go
index 09e7ff67c4f831510e592560b89c885a69085c02..2f1940dd849318239594a8ff5ec5475863db349a 100644
--- a/cmd/flux/reconcile_kustomization.go
+++ b/cmd/flux/reconcile_kustomization.go
@@ -69,7 +69,7 @@ func reconcileKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_receiver.go b/cmd/flux/reconcile_receiver.go
index a874b3912d9a798dcb578f179988a8dc25e0a93d..16ce2e55e2f510c9862577d796334fa0196bce4b 100644
--- a/cmd/flux/reconcile_receiver.go
+++ b/cmd/flux/reconcile_receiver.go
@@ -54,7 +54,7 @@ func reconcileReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_source_bucket.go b/cmd/flux/reconcile_source_bucket.go
index 40c237f3c764c20809b6e8fdee09494b95333680..f1a638e510b2165bb2a8d7be1de9a31d56a3db9a 100644
--- a/cmd/flux/reconcile_source_bucket.go
+++ b/cmd/flux/reconcile_source_bucket.go
@@ -56,7 +56,7 @@ func reconcileSourceBucketCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_source_git.go b/cmd/flux/reconcile_source_git.go
index 2a6032856842fdfcdaf6c59f95bd9036409b078b..31cbc0b1187303c2e6fb8c766350ced18a895b32 100644
--- a/cmd/flux/reconcile_source_git.go
+++ b/cmd/flux/reconcile_source_git.go
@@ -54,7 +54,7 @@ func reconcileSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/reconcile_source_helm.go b/cmd/flux/reconcile_source_helm.go
index ae50c6120b489963c044e414a4e5c547827690f2..066509b7063671b9816acc51a6d1d2c608a8dbb8 100644
--- a/cmd/flux/reconcile_source_helm.go
+++ b/cmd/flux/reconcile_source_helm.go
@@ -56,7 +56,7 @@ func reconcileSourceHelmCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/resume_alert.go b/cmd/flux/resume_alert.go
index 5186392e1f1db735ba8c168218277634eeb20d2d..fcb5aab0c172a12637e373a9ec78fd5801c43879 100644
--- a/cmd/flux/resume_alert.go
+++ b/cmd/flux/resume_alert.go
@@ -56,7 +56,7 @@ func resumeAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/resume_helmrelease.go b/cmd/flux/resume_helmrelease.go
index 0558d3a90e423bd9bcc83137584b3d969cf42445..3cafd0f5655913d5ca762bcdd676f3953918ebc8 100644
--- a/cmd/flux/resume_helmrelease.go
+++ b/cmd/flux/resume_helmrelease.go
@@ -57,7 +57,7 @@ func resumeHrCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/resume_kustomization.go b/cmd/flux/resume_kustomization.go
index 9de37bb770696cf754235f3b39fc0de64916f3f5..b6e4dd6a00a66698f91c2a90164c652b9523839a 100644
--- a/cmd/flux/resume_kustomization.go
+++ b/cmd/flux/resume_kustomization.go
@@ -56,7 +56,7 @@ func resumeKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/resume_receiver.go b/cmd/flux/resume_receiver.go
index 7e51477f644cda0d47140f62e3874444330cf874..42c829f86ff1792f9d21d19ce9fdfbeea9365801 100644
--- a/cmd/flux/resume_receiver.go
+++ b/cmd/flux/resume_receiver.go
@@ -56,7 +56,7 @@ func resumeReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/suspend_alert.go b/cmd/flux/suspend_alert.go
index e9f589434eecd9840e19e969318e29451fe24d85..6d2b11d9c4602457ffacee4d36a4358fe4db4e5b 100644
--- a/cmd/flux/suspend_alert.go
+++ b/cmd/flux/suspend_alert.go
@@ -50,7 +50,7 @@ func suspendAlertCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/suspend_helmrelease.go b/cmd/flux/suspend_helmrelease.go
index 32029b36f53c3e71432e415a9434b72f54e69a1c..eef5c05be7399fcde1827f4b67169aefccc395d6 100644
--- a/cmd/flux/suspend_helmrelease.go
+++ b/cmd/flux/suspend_helmrelease.go
@@ -51,7 +51,7 @@ func suspendHrCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/suspend_kustomization.go b/cmd/flux/suspend_kustomization.go
index c9723bc00a30a6424b90c929f1b513eabd2b0065..39dc9167c41b91cca006f21568087f71c5f8a334 100644
--- a/cmd/flux/suspend_kustomization.go
+++ b/cmd/flux/suspend_kustomization.go
@@ -50,7 +50,7 @@ func suspendKsCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/suspend_receiver.go b/cmd/flux/suspend_receiver.go
index 0dbb763e3c9c694d4034e7abc7534c3489efbbcb..e8877e77ae5d32aa93c1f53cc64e538eaf79c6a5 100644
--- a/cmd/flux/suspend_receiver.go
+++ b/cmd/flux/suspend_receiver.go
@@ -50,7 +50,7 @@ func suspendReceiverCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/uninstall.go b/cmd/flux/uninstall.go
index eed2f4931872f6ad970b625a6b739c3bc6053e5a..35a615d291cabf66c6f6d3c21d822636672ee2a0 100644
--- a/cmd/flux/uninstall.go
+++ b/cmd/flux/uninstall.go
@@ -69,7 +69,7 @@ func uninstallCmdRun(cmd *cobra.Command, args []string) error {
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
 
-	kubeClient, err := utils.KubeClient(kubeconfig)
+	kubeClient, err := utils.KubeClient(kubeconfig, kubecontext)
 	if err != nil {
 		return err
 	}
diff --git a/docs/cmd/flux.md b/docs/cmd/flux.md
index cde824d8ed7e47ffb4acdb311a040d8caeab33e0..34b9ea8506cdb89b375223376136c10e28a0038e 100644
--- a/docs/cmd/flux.md
+++ b/docs/cmd/flux.md
@@ -67,6 +67,7 @@ Command line utility for assembling Kubernetes CD pipelines the GitOps way.
 ### Options
 
 ```
+      --context string      kubernetes context to use
   -h, --help                help for flux
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
diff --git a/docs/cmd/flux_bootstrap.md b/docs/cmd/flux_bootstrap.md
index 9295229cb0ab372f6af4d4893d9e3bc36c9b4497..5a74161ae959c4e7f1a4b398acb4223bfca5f7a4 100644
--- a/docs/cmd/flux_bootstrap.md
+++ b/docs/cmd/flux_bootstrap.md
@@ -24,6 +24,7 @@ The bootstrap sub-commands bootstrap the toolkit components on the targeted Git
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_bootstrap_github.md b/docs/cmd/flux_bootstrap_github.md
index bb3d4bc14d009b24ee5f5018c0d156f2de61836a..a105a216fc15385b06837f7778fb8331b59f4460 100644
--- a/docs/cmd/flux_bootstrap_github.md
+++ b/docs/cmd/flux_bootstrap_github.md
@@ -60,6 +60,7 @@ flux bootstrap github [flags]
       --arch arch                  cluster architecture, available options are: (amd64, arm, arm64) (default amd64)
       --branch string              default branch (for GitHub this must match the default branch setting for the organization) (default "main")
       --components strings         list of components, accepts comma-separated values (default [source-controller,kustomize-controller,helm-controller,notification-controller])
+      --context string             kubernetes context to use
       --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 logLevel         log level, available options are: (debug, info, error) (default info)
diff --git a/docs/cmd/flux_bootstrap_gitlab.md b/docs/cmd/flux_bootstrap_gitlab.md
index e320dff1951eda5dcb53e5468f4650624ff21faf..131d7441b9fd6842983edce60f2e42eb97cdff8b 100644
--- a/docs/cmd/flux_bootstrap_gitlab.md
+++ b/docs/cmd/flux_bootstrap_gitlab.md
@@ -60,6 +60,7 @@ flux bootstrap gitlab [flags]
       --arch arch                  cluster architecture, available options are: (amd64, arm, arm64) (default amd64)
       --branch string              default branch (for GitHub this must match the default branch setting for the organization) (default "main")
       --components strings         list of components, accepts comma-separated values (default [source-controller,kustomize-controller,helm-controller,notification-controller])
+      --context string             kubernetes context to use
       --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 logLevel         log level, available options are: (debug, info, error) (default info)
diff --git a/docs/cmd/flux_check.md b/docs/cmd/flux_check.md
index d84f6ee80d98f4ae6304c5e91a9d24ba1c5ebd95..dd397326344ac10502f58753144aaa200a470716 100644
--- a/docs/cmd/flux_check.md
+++ b/docs/cmd/flux_check.md
@@ -33,6 +33,7 @@ flux check [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_completion.md b/docs/cmd/flux_completion.md
index c129c2681d3935085e0a237906cbdd958b1a5815..ef0e00c80f93f8ca53f8a5e4257368c15dc05e0a 100644
--- a/docs/cmd/flux_completion.md
+++ b/docs/cmd/flux_completion.md
@@ -15,6 +15,7 @@ The completion sub-command generates completion scripts for various shells
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_completion_bash.md b/docs/cmd/flux_completion_bash.md
index 1d774ca6520aee8a4d9617dc57b10d8002feabc8..c0038fe3812bc11e124986ee1ca3fb50013b5f71 100644
--- a/docs/cmd/flux_completion_bash.md
+++ b/docs/cmd/flux_completion_bash.md
@@ -33,6 +33,7 @@ command -v flux >/dev/null && . <(flux completion bash)
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_completion_fish.md b/docs/cmd/flux_completion_fish.md
index 37dd69f8e2afb4faf210b3fddb55d42d636d1f57..662b9f7ed06b7f3a7dbf97b46c3b351610bca286 100644
--- a/docs/cmd/flux_completion_fish.md
+++ b/docs/cmd/flux_completion_fish.md
@@ -34,6 +34,7 @@ See http://fishshell.com/docs/current/index.html#completion-own for more details
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_completion_powershell.md b/docs/cmd/flux_completion_powershell.md
index f2980bb135e1a024524b6e8bf2e32384959de705..92de9eded0c5a0cd63774b8c9ad4dbc602dfd67b 100644
--- a/docs/cmd/flux_completion_powershell.md
+++ b/docs/cmd/flux_completion_powershell.md
@@ -40,6 +40,7 @@ flux completion >> flux-completions.ps1
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_completion_zsh.md b/docs/cmd/flux_completion_zsh.md
index 3b7c51fd64ce99a9fa14151bf9f23f9ffb04797b..f77af5ea244aa6bc94422e9ee3b4beda2bf926ef 100644
--- a/docs/cmd/flux_completion_zsh.md
+++ b/docs/cmd/flux_completion_zsh.md
@@ -41,6 +41,7 @@ mv _flux ~/.zprezto/modules/completion/external/src/  # zprezto
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_create.md b/docs/cmd/flux_create.md
index 4f5a8e013788e21edd0c3e23187d7d69ea6701ef..48acbae77c7ca94c51f71640e2253d5705d73be2 100644
--- a/docs/cmd/flux_create.md
+++ b/docs/cmd/flux_create.md
@@ -18,6 +18,7 @@ The create sub-commands generate sources and resources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_create_alert-provider.md b/docs/cmd/flux_create_alert-provider.md
index 80d8cf173f3b97e5be8f7fc59fe44651a1d47e99..27af0b8931d0b8ca07d796272740d916c46be7f8 100644
--- a/docs/cmd/flux_create_alert-provider.md
+++ b/docs/cmd/flux_create_alert-provider.md
@@ -42,6 +42,7 @@ flux create alert-provider [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_alert.md b/docs/cmd/flux_create_alert.md
index c5a2a3fef2f1984e95a9b70f22c82ead8719c22c..be8abd0b414f4ff558b3e8cae7f4d33c7bd928cf 100644
--- a/docs/cmd/flux_create_alert.md
+++ b/docs/cmd/flux_create_alert.md
@@ -34,6 +34,7 @@ flux create alert [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_helmrelease.md b/docs/cmd/flux_create_helmrelease.md
index 86fa38ecf3fa8acabde6067b2e3f42f7672e2916..e14812968a53237597def8369d3e89a3292551fe 100644
--- a/docs/cmd/flux_create_helmrelease.md
+++ b/docs/cmd/flux_create_helmrelease.md
@@ -75,6 +75,7 @@ flux create helmrelease [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_kustomization.md b/docs/cmd/flux_create_kustomization.md
index 098fa9e16b030d16fc3a705fa93ca50b95f23863..39cb8cc3d6ea29672bbd724b6694472bd4807526 100644
--- a/docs/cmd/flux_create_kustomization.md
+++ b/docs/cmd/flux_create_kustomization.md
@@ -61,6 +61,7 @@ flux create kustomization [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_receiver.md b/docs/cmd/flux_create_receiver.md
index 69437bad8bb8ebd198f1d3f304cea250189750ca..6167fb0fd0fc8a2e09acc0d2a18c3a6e64e07de5 100644
--- a/docs/cmd/flux_create_receiver.md
+++ b/docs/cmd/flux_create_receiver.md
@@ -37,6 +37,7 @@ flux create receiver [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_source.md b/docs/cmd/flux_create_source.md
index 067cca6dc13172d5f6e496993c52c54efdf2c888..83e5137f4c6ca8f1c04676df3a21258210df21e7 100644
--- a/docs/cmd/flux_create_source.md
+++ b/docs/cmd/flux_create_source.md
@@ -15,6 +15,7 @@ The create source sub-commands generate sources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_source_bucket.md b/docs/cmd/flux_create_source_bucket.md
index b1f7b408b7a71973426020f1c7be4c04506a5106..5254b5b44d6081212e3a2ac86feaae80f5a96886 100644
--- a/docs/cmd/flux_create_source_bucket.md
+++ b/docs/cmd/flux_create_source_bucket.md
@@ -51,6 +51,7 @@ flux create source bucket [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_source_git.md b/docs/cmd/flux_create_source_git.md
index 5aa1b98492d4ddcb2fa519edb64e7b280e5c4c58..0a1110fb64b09b9f6babdcf8ad85887ea40d3763 100644
--- a/docs/cmd/flux_create_source_git.md
+++ b/docs/cmd/flux_create_source_git.md
@@ -71,6 +71,7 @@ flux create source git [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_create_source_helm.md b/docs/cmd/flux_create_source_helm.md
index 0d5be022e9395f076f60ff671a9904447702b75f..267727db8dc0fd1a035f720d396d07293448c349 100644
--- a/docs/cmd/flux_create_source_helm.md
+++ b/docs/cmd/flux_create_source_helm.md
@@ -51,6 +51,7 @@ flux create source helm [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --export              export in YAML format to stdout
       --interval duration   source sync interval (default 1m0s)
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
diff --git a/docs/cmd/flux_delete.md b/docs/cmd/flux_delete.md
index 0e01c53ed874718fd5e67c0c5fcd4cf444cbba0c..2628ab8fa751a2ed4a3383b3b5139d445e0e5c69 100644
--- a/docs/cmd/flux_delete.md
+++ b/docs/cmd/flux_delete.md
@@ -16,6 +16,7 @@ The delete sub-commands delete sources and resources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_delete_alert-provider.md b/docs/cmd/flux_delete_alert-provider.md
index 66b961815334d27f25a3106075e3cea837a83b1b..2e24c6508a17eeebdd8285dcf5f9a1a727c7259c 100644
--- a/docs/cmd/flux_delete_alert-provider.md
+++ b/docs/cmd/flux_delete_alert-provider.md
@@ -27,6 +27,7 @@ flux delete alert-provider [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_alert.md b/docs/cmd/flux_delete_alert.md
index f596e32d2311b7660b7b913c978f882fec95de90..caa6aac0c0757cf83c8b1d3639f3e205af776a8a 100644
--- a/docs/cmd/flux_delete_alert.md
+++ b/docs/cmd/flux_delete_alert.md
@@ -27,6 +27,7 @@ flux delete alert [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_helmrelease.md b/docs/cmd/flux_delete_helmrelease.md
index dbfc70d212c4cccd4a610e49f50dfa0e53baec48..0b0b399750ed6a9cb35f74c4f7eb8f35bdedf641 100644
--- a/docs/cmd/flux_delete_helmrelease.md
+++ b/docs/cmd/flux_delete_helmrelease.md
@@ -27,6 +27,7 @@ flux delete helmrelease [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_kustomization.md b/docs/cmd/flux_delete_kustomization.md
index d4a2ed253ec62be2b215f44afceb083684b4fa6b..f25c7fb939ad59edff12a41ef81b887f4bd097b3 100644
--- a/docs/cmd/flux_delete_kustomization.md
+++ b/docs/cmd/flux_delete_kustomization.md
@@ -27,6 +27,7 @@ flux delete kustomization [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_receiver.md b/docs/cmd/flux_delete_receiver.md
index bd3324e36366e21e6f1ffabd0dab235df440b50d..459aa6cdaa493e1469b31d709ab532993f1b8be6 100644
--- a/docs/cmd/flux_delete_receiver.md
+++ b/docs/cmd/flux_delete_receiver.md
@@ -27,6 +27,7 @@ flux delete receiver [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_source.md b/docs/cmd/flux_delete_source.md
index a5442963d0f430dbe9cc842c43ddf78723150c1a..291eccab0b7337c8e9d64cd4e2fc5a267d9b78ba 100644
--- a/docs/cmd/flux_delete_source.md
+++ b/docs/cmd/flux_delete_source.md
@@ -15,6 +15,7 @@ The delete source sub-commands delete sources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_source_bucket.md b/docs/cmd/flux_delete_source_bucket.md
index f4045d18bd12f350845d5d3786935fcf8a1ca15f..3d437878ec9b8bdbd6ce5b174354d452bb67cb23 100644
--- a/docs/cmd/flux_delete_source_bucket.md
+++ b/docs/cmd/flux_delete_source_bucket.md
@@ -27,6 +27,7 @@ flux delete source bucket [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_source_git.md b/docs/cmd/flux_delete_source_git.md
index 287e61a18d4d8389c8d19b516e2ab83376ec9d1d..a2dc1cb25b6406c4e79803f3eeb070b5f917be0f 100644
--- a/docs/cmd/flux_delete_source_git.md
+++ b/docs/cmd/flux_delete_source_git.md
@@ -27,6 +27,7 @@ flux delete source git [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_delete_source_helm.md b/docs/cmd/flux_delete_source_helm.md
index cd3aed25e19ceafac85fdca16701d4d055aabe1f..2063fb452d476413dffdf5c3603ec1a076c28342 100644
--- a/docs/cmd/flux_delete_source_helm.md
+++ b/docs/cmd/flux_delete_source_helm.md
@@ -27,6 +27,7 @@ flux delete source helm [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
   -s, --silent              delete resource without asking for confirmation
diff --git a/docs/cmd/flux_export.md b/docs/cmd/flux_export.md
index 4430bc113f48af2ee7bcb070b836c4726a68e51f..434810a8541d07329e63be6f072c6ec2a662056e 100644
--- a/docs/cmd/flux_export.md
+++ b/docs/cmd/flux_export.md
@@ -16,6 +16,7 @@ The export sub-commands export resources in YAML format.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_alert-provider.md b/docs/cmd/flux_export_alert-provider.md
index 590759f27a6a687cace94ea7b5a6a05fb6162bd5..be1452adcfa3b4c2eb3bcb151860163c46cfcea3 100644
--- a/docs/cmd/flux_export_alert-provider.md
+++ b/docs/cmd/flux_export_alert-provider.md
@@ -31,6 +31,7 @@ flux export alert-provider [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_alert.md b/docs/cmd/flux_export_alert.md
index c8bc4e85c55efcf75379f40c563fd6676813dcfe..97891971fa7060f1ecd302d8f153055370f6e90c 100644
--- a/docs/cmd/flux_export_alert.md
+++ b/docs/cmd/flux_export_alert.md
@@ -31,6 +31,7 @@ flux export alert [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_helmrelease.md b/docs/cmd/flux_export_helmrelease.md
index 68c2d93cfa635e2d12cfd844ae245bcc49fe8b8c..9e22666d7ed9d54cf135c8c506a8050b48edd986 100644
--- a/docs/cmd/flux_export_helmrelease.md
+++ b/docs/cmd/flux_export_helmrelease.md
@@ -31,6 +31,7 @@ flux export helmrelease [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_kustomization.md b/docs/cmd/flux_export_kustomization.md
index 6e635f8d9ca1258d74e6d9b19a02550f294578eb..c201ce24c772494b8723fb5cb9d669e377cf0093 100644
--- a/docs/cmd/flux_export_kustomization.md
+++ b/docs/cmd/flux_export_kustomization.md
@@ -31,6 +31,7 @@ flux export kustomization [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_receiver.md b/docs/cmd/flux_export_receiver.md
index a9544316c8e49ba5b8b130a7a025a8db7ece3d36..19e6e4239a58f5a3cf15d5d2ff8cbcd758cacf13 100644
--- a/docs/cmd/flux_export_receiver.md
+++ b/docs/cmd/flux_export_receiver.md
@@ -31,6 +31,7 @@ flux export receiver [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_source.md b/docs/cmd/flux_export_source.md
index 7ab2d58df74c2d94209277273ca9b7ed614562db..e24c8d5d35dcc177470b611bb25a0c8cd9df430a 100644
--- a/docs/cmd/flux_export_source.md
+++ b/docs/cmd/flux_export_source.md
@@ -17,6 +17,7 @@ The export source sub-commands export sources in YAML format.
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_source_bucket.md b/docs/cmd/flux_export_source_bucket.md
index df5ad19cc2eed4e89955615656137569aae2e6fa..7394f971a678f7a0ac7caca64be0a006880418e0 100644
--- a/docs/cmd/flux_export_source_bucket.md
+++ b/docs/cmd/flux_export_source_bucket.md
@@ -31,6 +31,7 @@ flux export source bucket [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_source_git.md b/docs/cmd/flux_export_source_git.md
index df2419fcbd4015203e118e411d9e5f559a68fe84..a50f1b947911dffffcacf368608a56395ee0fc84 100644
--- a/docs/cmd/flux_export_source_git.md
+++ b/docs/cmd/flux_export_source_git.md
@@ -31,6 +31,7 @@ flux export source git [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_export_source_helm.md b/docs/cmd/flux_export_source_helm.md
index f4172bf3864fc0814b64040a2c3f9004f8e2456c..3c33da82da257a388f95808c0c4d17cafd7d8ab7 100644
--- a/docs/cmd/flux_export_source_helm.md
+++ b/docs/cmd/flux_export_source_helm.md
@@ -31,6 +31,7 @@ flux export source helm [name] [flags]
 
 ```
       --all                 select all resources
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get.md b/docs/cmd/flux_get.md
index 794eceeac13ac0c3f2ae1cdba948ec72974b991e..9da674486dd4bcb138c8f677278c6cc2aee240d5 100644
--- a/docs/cmd/flux_get.md
+++ b/docs/cmd/flux_get.md
@@ -16,6 +16,7 @@ The get sub-commands print the statuses of sources and resources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_alert-providers.md b/docs/cmd/flux_get_alert-providers.md
index e570bf60eb7d481229a3c037f9757c877694a871..dc6c63637b7472d08b97011f678e9151dfb210c1 100644
--- a/docs/cmd/flux_get_alert-providers.md
+++ b/docs/cmd/flux_get_alert-providers.md
@@ -28,6 +28,7 @@ flux get alert-providers [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_alerts.md b/docs/cmd/flux_get_alerts.md
index 7afda065b67722ae9ccc88cd6236e2f9a71b0f6d..95ad76720fd1c8c047df12578f234b8f4100626b 100644
--- a/docs/cmd/flux_get_alerts.md
+++ b/docs/cmd/flux_get_alerts.md
@@ -28,6 +28,7 @@ flux get alerts [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_helmreleases.md b/docs/cmd/flux_get_helmreleases.md
index aec7ab800426b75e6aa3fe1a6f5f27e6e16b6ff2..9a7bc66ca6f2dd0e12f87872553e64a1f8725736 100644
--- a/docs/cmd/flux_get_helmreleases.md
+++ b/docs/cmd/flux_get_helmreleases.md
@@ -28,6 +28,7 @@ flux get helmreleases [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_kustomizations.md b/docs/cmd/flux_get_kustomizations.md
index 08f35b5b4f2eb5f1fe497cbabf18341297ab351d..f4a2fd4243fe58fcb78ba1e5c2a39429c1817e09 100644
--- a/docs/cmd/flux_get_kustomizations.md
+++ b/docs/cmd/flux_get_kustomizations.md
@@ -28,6 +28,7 @@ flux get kustomizations [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_receivers.md b/docs/cmd/flux_get_receivers.md
index 23b4f8d17f92b72f74b1eab1fc2e0731b92e6592..94d27afae8b71ccc10993416416967770c8f7fc7 100644
--- a/docs/cmd/flux_get_receivers.md
+++ b/docs/cmd/flux_get_receivers.md
@@ -28,6 +28,7 @@ flux get receivers [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_sources.md b/docs/cmd/flux_get_sources.md
index 44fc03f9dfe12015cdd7355450e63be9062addb0..34f61be4d9f612ed9cd04e31760fb68932f7ed09 100644
--- a/docs/cmd/flux_get_sources.md
+++ b/docs/cmd/flux_get_sources.md
@@ -16,6 +16,7 @@ The get source sub-commands print the statuses of the sources.
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_sources_bucket.md b/docs/cmd/flux_get_sources_bucket.md
index c5e39d1f307a76282cf31a2bcab0f07e85167750..352bcc374ac70f300ced9dcea3a23dd61cb0efdc 100644
--- a/docs/cmd/flux_get_sources_bucket.md
+++ b/docs/cmd/flux_get_sources_bucket.md
@@ -28,6 +28,7 @@ flux get sources bucket [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_sources_git.md b/docs/cmd/flux_get_sources_git.md
index 41d35cb7dfc434b3148ebe0af146a434f25687ff..ceb22ad3b5dbd468b2a38a91ef0d9a21b47a2726 100644
--- a/docs/cmd/flux_get_sources_git.md
+++ b/docs/cmd/flux_get_sources_git.md
@@ -28,6 +28,7 @@ flux get sources git [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_get_sources_helm.md b/docs/cmd/flux_get_sources_helm.md
index c1231319b79dac8205faf42baada6ee60bdd007b..69e5bbf4cbbc1979a6107d213438b4a7d070aba2 100644
--- a/docs/cmd/flux_get_sources_helm.md
+++ b/docs/cmd/flux_get_sources_helm.md
@@ -28,6 +28,7 @@ flux get sources helm [flags]
 
 ```
   -A, --all-namespaces      list the requested object(s) across all namespaces
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_install.md b/docs/cmd/flux_install.md
index 99eaba15d1bc1eca9f360e819299a8b439ebbb11..fbdab64f1cc7e0cd433f2ef446e5fed2f2d453b0 100644
--- a/docs/cmd/flux_install.md
+++ b/docs/cmd/flux_install.md
@@ -47,6 +47,7 @@ flux install [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile.md b/docs/cmd/flux_reconcile.md
index feb9525d5caf46e16a55e9aab0b824be31937dbe..82434e5f851b9f33acbdceb4bcef50cc5985c39b 100644
--- a/docs/cmd/flux_reconcile.md
+++ b/docs/cmd/flux_reconcile.md
@@ -15,6 +15,7 @@ The reconcile sub-commands trigger a reconciliation of sources and resources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_alert-provider.md b/docs/cmd/flux_reconcile_alert-provider.md
index e8001f291763fe7d7a0ba2d637ba2d2524504d42..3c01e048c465be225d1555806753e7b688b6cea5 100644
--- a/docs/cmd/flux_reconcile_alert-provider.md
+++ b/docs/cmd/flux_reconcile_alert-provider.md
@@ -27,6 +27,7 @@ flux reconcile alert-provider [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_alert.md b/docs/cmd/flux_reconcile_alert.md
index b04a88791f19fd60934479ab84191aeb7053693b..0d955dbd0b93905ff574ba850ea108f032d55e6b 100644
--- a/docs/cmd/flux_reconcile_alert.md
+++ b/docs/cmd/flux_reconcile_alert.md
@@ -27,6 +27,7 @@ flux reconcile alert [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_helmrelease.md b/docs/cmd/flux_reconcile_helmrelease.md
index 4daa63aab8715d941f7b717f862376757167f7ba..38424bb7e53262ce193c23c3a2445df231569db6 100644
--- a/docs/cmd/flux_reconcile_helmrelease.md
+++ b/docs/cmd/flux_reconcile_helmrelease.md
@@ -32,6 +32,7 @@ flux reconcile helmrelease [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_kustomization.md b/docs/cmd/flux_reconcile_kustomization.md
index 068b091dabb593b35829ce7fbab0e1eba8a65d13..ff838caccca19cb699764eedbf6f0ab68b5bf999 100644
--- a/docs/cmd/flux_reconcile_kustomization.md
+++ b/docs/cmd/flux_reconcile_kustomization.md
@@ -32,6 +32,7 @@ flux reconcile kustomization [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_receiver.md b/docs/cmd/flux_reconcile_receiver.md
index a53a034f4fbcf96c065d3c038e5ee8314b82484d..f6ef4c136ffe050c804c1467942dc2f5551651c6 100644
--- a/docs/cmd/flux_reconcile_receiver.md
+++ b/docs/cmd/flux_reconcile_receiver.md
@@ -27,6 +27,7 @@ flux reconcile receiver [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_source.md b/docs/cmd/flux_reconcile_source.md
index 8a175616051533b58fe37fbc8b38060e94846321..c1f2d9a6ec0d6cf680505d0a6f3de54a2151ff5a 100644
--- a/docs/cmd/flux_reconcile_source.md
+++ b/docs/cmd/flux_reconcile_source.md
@@ -15,6 +15,7 @@ The reconcile source sub-commands trigger a reconciliation of sources.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_source_bucket.md b/docs/cmd/flux_reconcile_source_bucket.md
index 679c74abddf20df5baaa9ace2b6d0a45831ba2f2..33dd2eba346cc2a69fea9d63476c93da710d941c 100644
--- a/docs/cmd/flux_reconcile_source_bucket.md
+++ b/docs/cmd/flux_reconcile_source_bucket.md
@@ -27,6 +27,7 @@ flux reconcile source bucket [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_source_git.md b/docs/cmd/flux_reconcile_source_git.md
index 6a2edf0d171f41fdc4055450bb39b1676f1ed195..52d77492d30765d61332ff09546d4e22f7e38d9e 100644
--- a/docs/cmd/flux_reconcile_source_git.md
+++ b/docs/cmd/flux_reconcile_source_git.md
@@ -27,6 +27,7 @@ flux reconcile source git [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_reconcile_source_helm.md b/docs/cmd/flux_reconcile_source_helm.md
index ce221c4217f85ee225da187e92ff0b40a186139c..9b4fe56140aba2fcc2c960eac3393095903aba43 100644
--- a/docs/cmd/flux_reconcile_source_helm.md
+++ b/docs/cmd/flux_reconcile_source_helm.md
@@ -27,6 +27,7 @@ flux reconcile source helm [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_resume.md b/docs/cmd/flux_resume.md
index a61d4ebf210dfb0cbd1558f6d1b3b942df906185..ad74fb865194f6e6cb74da891b6e9695078191fb 100644
--- a/docs/cmd/flux_resume.md
+++ b/docs/cmd/flux_resume.md
@@ -15,6 +15,7 @@ The resume sub-commands resume a suspended resource.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_resume_alert.md b/docs/cmd/flux_resume_alert.md
index 13efa81b856f1748dc815f706fe8a2fc7d537e07..3ce26ded5a930910c4a85c9f9bf36eee2a690d46 100644
--- a/docs/cmd/flux_resume_alert.md
+++ b/docs/cmd/flux_resume_alert.md
@@ -28,6 +28,7 @@ flux resume alert [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_resume_helmrelease.md b/docs/cmd/flux_resume_helmrelease.md
index 3905b5efec2ba6916eb3c12deb497540ca1cf65b..cd9628eb27dece030171b5b1d53c5d60991fd518 100644
--- a/docs/cmd/flux_resume_helmrelease.md
+++ b/docs/cmd/flux_resume_helmrelease.md
@@ -28,6 +28,7 @@ flux resume helmrelease [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_resume_kustomization.md b/docs/cmd/flux_resume_kustomization.md
index a0a6f89843392be9e5a424d65a441735a035b4f6..a3b0d13f7d14e00061b59ce0f9a1d496c9d5e875 100644
--- a/docs/cmd/flux_resume_kustomization.md
+++ b/docs/cmd/flux_resume_kustomization.md
@@ -28,6 +28,7 @@ flux resume kustomization [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_resume_receiver.md b/docs/cmd/flux_resume_receiver.md
index 7e293ca42807a62530ab7f7fbf1c52656baf7698..860f012025af5b05b609d19c949b9efc44cc30f1 100644
--- a/docs/cmd/flux_resume_receiver.md
+++ b/docs/cmd/flux_resume_receiver.md
@@ -28,6 +28,7 @@ flux resume receiver [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_suspend.md b/docs/cmd/flux_suspend.md
index 0b49574a41eef74fe61ae0935c01e41684094f8e..044c0805b0a271ead905221034ffc2ead93f4821 100644
--- a/docs/cmd/flux_suspend.md
+++ b/docs/cmd/flux_suspend.md
@@ -15,6 +15,7 @@ The suspend sub-commands suspend the reconciliation of a resource.
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_suspend_alert.md b/docs/cmd/flux_suspend_alert.md
index 8a0f6ff488f05c088c140060c4d6794de822b8de..4315fbd15eb630cf460832af4c7eae7b36d344d3 100644
--- a/docs/cmd/flux_suspend_alert.md
+++ b/docs/cmd/flux_suspend_alert.md
@@ -27,6 +27,7 @@ flux suspend alert [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_suspend_helmrelease.md b/docs/cmd/flux_suspend_helmrelease.md
index ea7d9884a6d2943ba1768a59b26cd61df0bb6f82..a3e0b5641aa054522d617ad5d2b032f31bd4199b 100644
--- a/docs/cmd/flux_suspend_helmrelease.md
+++ b/docs/cmd/flux_suspend_helmrelease.md
@@ -27,6 +27,7 @@ flux suspend helmrelease [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_suspend_kustomization.md b/docs/cmd/flux_suspend_kustomization.md
index 2844a8670f7766f7295fe305976b3f8053018c27..e85e2a8664549657f3b8e066c7ae0ebb141c62e4 100644
--- a/docs/cmd/flux_suspend_kustomization.md
+++ b/docs/cmd/flux_suspend_kustomization.md
@@ -27,6 +27,7 @@ flux suspend kustomization [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_suspend_receiver.md b/docs/cmd/flux_suspend_receiver.md
index 0737d30892c40379b77c2ede4a4d2b9d4e715f62..84e87c071f99feb1a03da1c9cdfa262b48193311 100644
--- a/docs/cmd/flux_suspend_receiver.md
+++ b/docs/cmd/flux_suspend_receiver.md
@@ -27,6 +27,7 @@ flux suspend receiver [name] [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/docs/cmd/flux_uninstall.md b/docs/cmd/flux_uninstall.md
index 6cf4d08c5186a3ed92a9e69dab22af2dc4ca180e..e0c72bc9b266045fcaf63d2cbcddd000e0e896fb 100644
--- a/docs/cmd/flux_uninstall.md
+++ b/docs/cmd/flux_uninstall.md
@@ -34,6 +34,7 @@ flux uninstall [flags]
 ### Options inherited from parent commands
 
 ```
+      --context string      kubernetes context to use
       --kubeconfig string   path to the kubeconfig file (default "~/.kube/config")
   -n, --namespace string    the namespace scope for this operation (default "flux-system")
       --timeout duration    timeout for this operation (default 5m0s)
diff --git a/internal/utils/utils.go b/internal/utils/utils.go
index afecd774e6a1307d6147882085cad0444b898b50..e51ee7189b2a0f1ae6371ef7ef6d17858d37ce4f 100644
--- a/internal/utils/utils.go
+++ b/internal/utils/utils.go
@@ -124,11 +124,19 @@ func ExecTemplate(obj interface{}, tmpl, filename string) error {
 	return file.Sync()
 }
 
-func KubeClient(kubeConfigPath string) (client.Client, error) {
+func KubeClient(kubeConfigPath string, kubeContext string) (client.Client, error) {
 	configFiles := SplitKubeConfigPath(kubeConfigPath)
+	configOverrides := clientcmd.ConfigOverrides{}
+
+	if len(kubeContext) > 0 {
+		configOverrides.CurrentContext = kubeContext
+	}
+
 	cfg, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
 		&clientcmd.ClientConfigLoadingRules{Precedence: configFiles},
-		&clientcmd.ConfigOverrides{}).ClientConfig()
+		&configOverrides,
+	).ClientConfig()
+
 	if err != nil {
 		return nil, fmt.Errorf("kubernetes client initialization failed: %w", err)
 	}