Documentation ¶
Index ¶
Constants ¶
View Source
const DEFANG_PORTAL_HOST = "portal.defang.dev"
View Source
const SERVICE_PORTAL_URL = "https://" + DEFANG_PORTAL_HOST + "/service"
Variables ¶
View Source
var RootCmd = &cobra.Command{ SilenceUsage: true, SilenceErrors: true, Use: "defang", Args: cobra.NoArgs, Short: "Defang CLI manages services on the Defang cluster", PersistentPreRunE: func(cmd *cobra.Command, args []string) (err error) { defer func() { trackCmd(cmd, "Invoked", P{"args", args}, P{"err", err}, P{"non-interactive", nonInteractive}, P{"provider", provider}) }() switch colorMode { case ColorNever: term.ForceColor(false) case ColorAlways: term.ForceColor(true) } switch provider { case cliClient.ProviderAuto: if awsInEnv() { provider = cliClient.ProviderAWS } else { provider = cliClient.ProviderDefang } case cliClient.ProviderAWS: if !awsInEnv() { term.Warn(" ! AWS provider was selected, but AWS environment variables are not set") } case cliClient.ProviderDefang: if awsInEnv() { term.Warn(" ! Using Defang provider, but AWS environment variables were detected; use --provider") } } cwd, _ := cmd.Flags().GetString("cwd") if cwd != "" { if err = os.Chdir(cwd); err != nil { return err } } composeFilePath, _ := cmd.Flags().GetString("file") loader := cli.ComposeLoader{ComposeFilePath: composeFilePath} client = cli.NewClient(cluster, provider, loader) if v, err := client.GetVersions(cmd.Context()); err == nil { version := "v" + cmd.Root().Version term.Debug(" - Fabric:", v.Fabric, "CLI:", version, "Min CLI:", v.CliMin) if hasTty && semver.Compare(version, v.CliMin) < 0 { term.Warn(" ! Your CLI version is outdated. Please update to the latest version.") os.Setenv("DEFANG_HIDE_UPDATE", "1") } } if _, ok := cmd.Annotations[authNeeded]; !ok { return nil } if err = client.CheckLoginAndToS(cmd.Context()); err != nil { if nonInteractive { return err } if connect.CodeOf(err) == connect.CodeUnauthenticated { term.Warn(" !", prettyError(err)) if err = cli.InteractiveLogin(cmd.Context(), client, gitHubClientId, cluster); err != nil { return err } client = cli.NewClient(cluster, provider, loader) if err = client.CheckLoginAndToS(cmd.Context()); err == nil { return nil } } if connect.CodeOf(err) == connect.CodeFailedPrecondition { term.Warn(" !", prettyError(err)) if err = cli.InteractiveAgreeToS(cmd.Context(), client); err != nil { return err } } } return err }, }
Functions ¶
func FlushAllTracking ¶
func FlushAllTracking()
flushAllTracking waits for all tracking goroutines to complete.
func GetCurrentVersion ¶
func GetCurrentVersion() string
func SetupCommands ¶
func SetupCommands(version string)
Types ¶
Click to show internal directories.
Click to hide internal directories.