forked from mystiq/dex
refactor: serve command
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This commit is contained in:
parent
a189c25a6e
commit
cdefd1f788
1 changed files with 18 additions and 19 deletions
|
@ -29,32 +29,31 @@ import (
|
||||||
"github.com/dexidp/dex/storage"
|
"github.com/dexidp/dex/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type serveOptions struct {
|
||||||
|
config string
|
||||||
|
}
|
||||||
|
|
||||||
func commandServe() *cobra.Command {
|
func commandServe() *cobra.Command {
|
||||||
|
options := serveOptions{}
|
||||||
|
|
||||||
return &cobra.Command{
|
return &cobra.Command{
|
||||||
Use: "serve [ config file ]",
|
Use: "serve [flags] [config file]",
|
||||||
Short: "Connect to the storage and begin serving requests.",
|
Short: "Launch Dex",
|
||||||
Long: ``,
|
|
||||||
Example: "dex serve config.yaml",
|
Example: "dex serve config.yaml",
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Args: cobra.ExactArgs(1),
|
||||||
if err := serve(cmd, args); err != nil {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
fmt.Fprintln(os.Stderr, err)
|
cmd.SilenceUsage = true
|
||||||
os.Exit(2)
|
cmd.SilenceErrors = true
|
||||||
}
|
|
||||||
|
options.config = args[0]
|
||||||
|
|
||||||
|
return runServe(options)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func serve(cmd *cobra.Command, args []string) error {
|
func runServe(options serveOptions) error {
|
||||||
switch len(args) {
|
configFile := options.config
|
||||||
default:
|
|
||||||
return errors.New("surplus arguments")
|
|
||||||
case 0:
|
|
||||||
// TODO(ericchiang): Consider having a default config file location.
|
|
||||||
return errors.New("no arguments provided")
|
|
||||||
case 1:
|
|
||||||
}
|
|
||||||
|
|
||||||
configFile := args[0]
|
|
||||||
configData, err := ioutil.ReadFile(configFile)
|
configData, err := ioutil.ReadFile(configFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to read config file %s: %v", configFile, err)
|
return fmt.Errorf("failed to read config file %s: %v", configFile, err)
|
||||||
|
|
Loading…
Reference in a new issue