From 3c282460b2b448b9ab6726841acd057e02f24e04 Mon Sep 17 00:00:00 2001 From: Ashley Hutson Date: Sat, 21 Jan 2023 00:18:43 -0800 Subject: [PATCH 1/7] Allow INFISCAL_URL to use domain for self-hosted --- cli/packages/cmd/root.go | 14 ++++++++++++-- cli/packages/util/constants.go | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cli/packages/cmd/root.go b/cli/packages/cmd/root.go index 20d49173b..9431af0a4 100644 --- a/cli/packages/cmd/root.go +++ b/cli/packages/cmd/root.go @@ -6,8 +6,10 @@ package cmd import ( "os" - "github.com/Infisical/infisical-merge/packages/config" "github.com/spf13/cobra" + + "github.com/Infisical/infisical-merge/packages/config" + "github.com/Infisical/infisical-merge/packages/util" ) var rootCmd = &cobra.Command{ @@ -30,7 +32,15 @@ func Execute() { func init() { rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") rootCmd.PersistentFlags().BoolVarP(&debugLogging, "debug", "d", false, "Enable verbose logging") - rootCmd.PersistentFlags().StringVar(&config.INFISICAL_URL, "domain", "https://app.infisical.com/api", "Point the CLI to your own backend") + rootCmd.PersistentFlags().StringVar(&config.INFISICAL_URL, "domain", util.INFISICAL_DEFAULT_URL, "Point the CLI to your own backend [ENV: INFISICAL_URL]") // rootCmd.PersistentPreRun = func(cmd *cobra.Command, args []string) { // } + + // if config.INFISICAL_URL is set to the default value, check if INFISICAL_URL is set in the environment + // this is used to allow overrides of the default value + if config.INFISICAL_URL == util.INFISICAL_DEFAULT_URL { + if envInfisicalURL, ok := os.LookupEnv("INFISICAL_URL"); ok { + config.INFISICAL_URL = envInfisicalURL + } + } } diff --git a/cli/packages/util/constants.go b/cli/packages/util/constants.go index fc7f5d581..229f61c64 100644 --- a/cli/packages/util/constants.go +++ b/cli/packages/util/constants.go @@ -3,6 +3,7 @@ package util const ( CONFIG_FILE_NAME = "infisical-config.json" CONFIG_FOLDER_NAME = ".infisical" + INFISICAL_DEFAULT_URL = "https://app.infisical.com/api" INFISICAL_WORKSPACE_CONFIG_FILE_NAME = ".infisical.json" INFISICAL_TOKEN_NAME = "INFISICAL_TOKEN" SECRET_TYPE_PERSONAL = "personal" From 3af85f9fba7c3252d025a816559756d406bc9962 Mon Sep 17 00:00:00 2001 From: Ashley Hutson Date: Sat, 21 Jan 2023 00:26:52 -0800 Subject: [PATCH 2/7] fix typo of company name --- docs/cli/overview.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/cli/overview.mdx b/docs/cli/overview.mdx index 0c998feb4..1228e7a56 100644 --- a/docs/cli/overview.mdx +++ b/docs/cli/overview.mdx @@ -104,3 +104,9 @@ The Infisical CLI provides a way to inject environment variables from the platfo ```bash infisical login ``` + +## Set domain if self-hosted + +```bash +export INFISICAL_URL="https://your-self-hosted-infisical.com/api" +``` From 74fb64bbb97f9f434ffb92ce371b4f131062af2a Mon Sep 17 00:00:00 2001 From: Ashley Hutson Date: Sat, 21 Jan 2023 01:05:25 -0800 Subject: [PATCH 3/7] fix edge case of input same as default clobber env --- cli/packages/cmd/root.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cli/packages/cmd/root.go b/cli/packages/cmd/root.go index 9431af0a4..3f6f4b357 100644 --- a/cli/packages/cmd/root.go +++ b/cli/packages/cmd/root.go @@ -38,9 +38,10 @@ func init() { // if config.INFISICAL_URL is set to the default value, check if INFISICAL_URL is set in the environment // this is used to allow overrides of the default value - if config.INFISICAL_URL == util.INFISICAL_DEFAULT_URL { + if !rootCmd.Flag("domain").Changed { if envInfisicalURL, ok := os.LookupEnv("INFISICAL_URL"); ok { config.INFISICAL_URL = envInfisicalURL } } + } From 7a6230f2f85d37822ae8e78060c7dfe31dabebb6 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Sat, 21 Jan 2023 12:24:24 -0800 Subject: [PATCH 4/7] Change INFISICAL_URL to API_URL --- cli/packages/cmd/root.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/packages/cmd/root.go b/cli/packages/cmd/root.go index 3f6f4b357..6556a4c29 100644 --- a/cli/packages/cmd/root.go +++ b/cli/packages/cmd/root.go @@ -32,16 +32,16 @@ func Execute() { func init() { rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") rootCmd.PersistentFlags().BoolVarP(&debugLogging, "debug", "d", false, "Enable verbose logging") - rootCmd.PersistentFlags().StringVar(&config.INFISICAL_URL, "domain", util.INFISICAL_DEFAULT_URL, "Point the CLI to your own backend [ENV: INFISICAL_URL]") + rootCmd.PersistentFlags().StringVar(&config.INFISICAL_URL, "domain", util.INFISICAL_DEFAULT_API_URL, "Point the CLI to your own backend [can also set via environment variable name: API_URL]") // rootCmd.PersistentPreRun = func(cmd *cobra.Command, args []string) { // } // if config.INFISICAL_URL is set to the default value, check if INFISICAL_URL is set in the environment // this is used to allow overrides of the default value if !rootCmd.Flag("domain").Changed { - if envInfisicalURL, ok := os.LookupEnv("INFISICAL_URL"); ok { - config.INFISICAL_URL = envInfisicalURL + if envInfisicalBackendUrl, ok := os.LookupEnv("API_URL"); ok { + config.INFISICAL_URL = envInfisicalBackendUrl } } - + } From 5297133c079bea9274422fc7fc7c5d10392bc298 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Sat, 21 Jan 2023 12:25:56 -0800 Subject: [PATCH 5/7] Set INFISICAL_URL to nothing --- cli/packages/config/config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/packages/config/config.go b/cli/packages/config/config.go index 5ceb695e6..6c56858e6 100644 --- a/cli/packages/config/config.go +++ b/cli/packages/config/config.go @@ -1,3 +1,3 @@ package config -var INFISICAL_URL = "http://localhost:8080/api" +var INFISICAL_URL string From 7cc341ea406b2e2638de82b4e5321dbef19f6643 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Sat, 21 Jan 2023 12:26:26 -0800 Subject: [PATCH 6/7] update INFISICAL_DEFAULT_API_URL constant name --- cli/packages/util/constants.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/packages/util/constants.go b/cli/packages/util/constants.go index 229f61c64..1aa98e2a5 100644 --- a/cli/packages/util/constants.go +++ b/cli/packages/util/constants.go @@ -3,7 +3,7 @@ package util const ( CONFIG_FILE_NAME = "infisical-config.json" CONFIG_FOLDER_NAME = ".infisical" - INFISICAL_DEFAULT_URL = "https://app.infisical.com/api" + INFISICAL_DEFAULT_API_URL = "https://app.infisical.com/api" INFISICAL_WORKSPACE_CONFIG_FILE_NAME = ".infisical.json" INFISICAL_TOKEN_NAME = "INFISICAL_TOKEN" SECRET_TYPE_PERSONAL = "personal" From d3a6977938a6c939fb6790010f95e26297fc9c55 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Sat, 21 Jan 2023 12:53:18 -0800 Subject: [PATCH 7/7] update docs for change cli api --- docs/cli/overview.mdx | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/docs/cli/overview.mdx b/docs/cli/overview.mdx index 1228e7a56..390e99982 100644 --- a/docs/cli/overview.mdx +++ b/docs/cli/overview.mdx @@ -16,7 +16,7 @@ The Infisical CLI provides a way to inject environment variables from the platfo brew install infisical/get-cli/infisical ``` - ## Updates + ### Updates ```bash brew upgrade infisical @@ -34,7 +34,7 @@ The Infisical CLI provides a way to inject environment variables from the platfo scoop install infisical ``` - ## Updates + ### Updates ```bash scoop update infisical @@ -99,14 +99,28 @@ The Infisical CLI provides a way to inject environment variables from the platfo -## Log in to the Infisical CLI +### Log in to the Infisical CLI ```bash infisical login ``` -## Set domain if self-hosted + +The CLI is set to connect to Infisical Cloud by default, but if you're running your own instance of Infisical, you can direct the CLI to it using one of the methods provided below. + +#### Export environment variable +You can point the CLI to the self hosted Infisical instance by exporting the environment variable `API_URL` in your terminal. ```bash -export INFISICAL_URL="https://your-self-hosted-infisical.com/api" +# Example +export API_URL="https://your-self-hosted-infisical.com/api" ``` + +#### Set manually on every command +Another option to point the CLI to your self hosted Infisical instance is to set it via a flag on every command you run. + +```bash +# Example +infisical --domain="https://your-self-hosted-infisical.com/api" +``` +