-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
60 lines (47 loc) · 1.4 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Package main is the main client for thr param-api client.
package main
import (
"./lib/param"
"gopkg.in/alecthomas/kingpin.v2"
)
//
type paramRequest struct {
Application string
Environment string
Version string
Landscape string
}
var (
// General Flags
landscape = kingpin.Flag("landscape", "Landscape").Short('l').Envar("LANDSCAPE").String()
environment = kingpin.Flag("environment", "Environment").Short('e').Envar("ENVIRONMENT").String()
application = kingpin.Flag("app", "Application").Short('a').Envar("APPLICATION").String()
version = kingpin.Flag("env-version", "Version").Short('v').Envar("VERSION").String()
prefix = kingpin.Flag("prefix", "Prefix").Short('p').Envar("PREFIX").String()
output = kingpin.Flag("output", "Output").Short('o').Envar("OUTPUT_FILE").String()
paramAPIServiceURL = kingpin.Flag("service-url", "Param API Service URL").Short('s').Envar("SERVICE_URL").String()
//Global Vars
cliVersion = "1.0.1"
)
// Entry Controller
func main() {
kingpin.Version(cliVersion)
kingpin.Parse()
paramConfig := param.New(
*landscape,
*application,
*environment,
*version,
*paramAPIServiceURL,
)
if val := paramConfig.Verify(); !val {
return
}
httpResp, err := paramConfig.RequestHandler(*prefix)
if err != nil {
return
}
paramConfig.Response = httpResp
paramConfig.ResponseHandler(*prefix)
return
}