diff --git a/cmd/jpictl/config.go b/cmd/jpictl/config.go index 1f8aad8..31ee3ea 100644 --- a/cmd/jpictl/config.go +++ b/cmd/jpictl/config.go @@ -12,6 +12,14 @@ const ( // DefaultConfigFile is read if -f/--config-file isn't specified. // If it doesn't exist, m/ will be scanned DefaultConfigFile = "cloud.yaml" + + // DefaultClusterDir is the directory we will scan and write + // unless something else is indicated + DefaultClusterDir = "m" + + // DefaultDomain indicates the domain to use unless + // something else is specified + DefaultDomain = "jpi.cloud" ) // Config describes the repository @@ -25,8 +33,8 @@ type Config struct { var forceScan bool var cfg = &Config{ - Base: "m", - Domain: "jpi.cloud", + Base: DefaultClusterDir, + Domain: DefaultDomain, } // LoadZones loads all zones and machines in the config directory @@ -62,8 +70,13 @@ func (cfg *Config) LoadZones(resolve bool) (*cluster.Cluster, error) { func init() { flags := rootCmd.PersistentFlags() + flags.StringVarP(&cfg.Base, "scan-dir", "d", + DefaultClusterDir, "directory to scan for cluster data") + flags.StringVarP(&cfg.Domain, "domain", "D", + DefaultDomain, "domain to use for scanned data") flags.StringVarP(&cfg.ConfigFile, "config-file", "f", DefaultConfigFile, "config file (JSON or YAML)") + flags.BoolVarP(&forceScan, "force-scan", "S", false, "ignore config file and scan the directory instead") }