mirror of
https://github.com/KevinMidboe/traefik-etcd-advertiser.git
synced 2025-10-28 17:30:19 +00:00
add -version flag & update help text
This commit is contained in:
@@ -6,29 +6,53 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
var (
|
||||
filename string
|
||||
)
|
||||
var filename string
|
||||
const applicationName = "traefik-etcd-advertiser"
|
||||
|
||||
func setupHelpMessage() {
|
||||
flag.Usage = func() {
|
||||
helpMessage()
|
||||
}
|
||||
}
|
||||
|
||||
func helpMessage() {
|
||||
fmt.Fprintf(os.Stderr, "Usage:\n %s [OPTIONS]\n\n", applicationName)
|
||||
fmt.Fprintf(os.Stderr, "Options:\n")
|
||||
|
||||
flag.PrintDefaults()
|
||||
fmt.Fprintf(os.Stderr, "\nHelp Options:\n -h, --help\tShow this help message")
|
||||
}
|
||||
|
||||
func printVersion(v string) {
|
||||
fmt.Printf("Version: %s\n", v)
|
||||
}
|
||||
|
||||
func ParseCli(version string) (string, *bool) {
|
||||
setupHelpMessage()
|
||||
|
||||
func ParseCli() (string, *bool) {
|
||||
flag.StringVar(&filename, "filename", "", "path of config")
|
||||
publish := flag.Bool("publish", false, "publish etcd messages")
|
||||
versionFlag := flag.Bool("version", false, "print version information")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
args := os.Args[1:]
|
||||
if *versionFlag {
|
||||
printVersion(version)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
if len(args) == 0 {
|
||||
// no command, exit with code 2 (invalid usage)
|
||||
fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
|
||||
helpMessage()
|
||||
|
||||
flag.PrintDefaults()
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
if len(filename) < 1 {
|
||||
fmt.Fprintf(os.Stderr, "Filename required. Usage:\n")
|
||||
|
||||
flag.PrintDefaults()
|
||||
helpMessage()
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
|
||||
18
main.go
18
main.go
@@ -10,20 +10,16 @@ import (
|
||||
"github.com/kevinmidboe/traefik-etcd-advertiser/generator"
|
||||
)
|
||||
|
||||
var Version = "v0.1-dev"
|
||||
|
||||
func main() {
|
||||
filename, publish := config.ParseCli(Version)
|
||||
|
||||
_, err := config.LoadConfig()
|
||||
if err != nil {
|
||||
log.Fatalf("Error from config loader: %s", err)
|
||||
}
|
||||
|
||||
filename, publish := config.ParseCli()
|
||||
|
||||
// setup etcd client
|
||||
etcdManager, err := etcd.NewClient()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
var packets []etcd.EtcdPacket
|
||||
|
||||
if strings.Contains(filename, "docker-compose.yml") {
|
||||
@@ -58,6 +54,12 @@ func main() {
|
||||
log.Println(packet)
|
||||
|
||||
if *publish {
|
||||
// setup etcd client
|
||||
etcdManager, err := etcd.NewClient()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
etcdManager.Put(packet.Key, packet.Value)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user