app_config.go 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package flags
  2. import (
  3. "fmt"
  4. "github.com/spf13/cobra"
  5. )
  6. const (
  7. // App_ConfigAttachEnvGroups is the key for the attach env groups flag
  8. App_ConfigAttachEnvGroups = "attach-env-groups"
  9. )
  10. type appConfigValues struct {
  11. AttachEnvGroups []string
  12. }
  13. // UseAppConfigFlags adds config flags to the given command
  14. func UseAppConfigFlags(cmd *cobra.Command) {
  15. cmd.PersistentFlags().StringSlice(
  16. App_ConfigAttachEnvGroups,
  17. nil,
  18. "attach environment groups to the app",
  19. )
  20. }
  21. // AppConfigValuesFromCmd retrieves config values from command flags
  22. func AppConfigValuesFromCmd(cmd *cobra.Command) (appConfigValues, error) {
  23. var values appConfigValues
  24. envGroups, err := cmd.Flags().GetStringSlice(App_ConfigAttachEnvGroups)
  25. if err != nil {
  26. return values, fmt.Errorf("error getting attach env groups: %w", err)
  27. }
  28. values = appConfigValues{
  29. AttachEnvGroups: envGroups,
  30. }
  31. return values, nil
  32. }