Skip to content

Commit a241ae2

Browse files
committed
Release 0.3
1 parent edaa871 commit a241ae2

File tree

8 files changed

+77
-14
lines changed

8 files changed

+77
-14
lines changed

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22

3-
RELEASE=0.2
3+
RELEASE=0.3
44
dist=dist
55
bin=consul-fs
66

cat.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
func cmdCat(kv *api.KV, args []string, config *fsConfig) {
1313
if len(args) < 1 {
1414
fmt.Fprintf(os.Stderr, "USAGE: %s cat OPTIONS <file>\n", os.Args[0])
15-
fmt.Fprintf(os.Stderr, "OPTIONS:\n", os.Args[0])
15+
fmt.Fprintln(os.Stderr, "OPTIONS:")
1616
flag.PrintDefaults()
1717
os.Exit(1)
1818
}

common.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ func consulFsFileExit(kv *api.KV, name string) (bool, error) {
2929

3030
func consulFsFolderExist(kv *api.KV, name string) (bool, error) {
3131
name = strings.Trim(name, "/") + "/"
32+
if name == "/" {
33+
name = ""
34+
}
3235
pairs, _, err := kv.List(name, nil)
3336
if err != nil {
3437
return false, err
@@ -41,6 +44,9 @@ func consulFsFolderExist(kv *api.KV, name string) (bool, error) {
4144

4245
func consulListFolder(kv *api.KV, name string) ([]string, error) {
4346
name = strings.Trim(name, "/") + "/"
47+
if name == "/" {
48+
name = ""
49+
}
4450
pairs, _, err := kv.List(name, nil)
4551
if err != nil {
4652
return nil, err

get.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ func getFolder(kv *api.KV, remote, local string, config *fsConfig) error {
8080
}
8181

8282
func get(kv *api.KV, remote, local string, config *fsConfig) error {
83-
fmt.Println(remote, local)
8483
exist, err := consulFsFolderExist(kv, remote)
8584
if err != nil {
8685
return err
@@ -101,7 +100,7 @@ func get(kv *api.KV, remote, local string, config *fsConfig) error {
101100
func cmdGet(kv *api.KV, args []string, config *fsConfig) {
102101
if len(args) < 2 {
103102
fmt.Fprintf(os.Stderr, "USAGE: %s get OPTIONS <remote> <local>\n", os.Args[0])
104-
fmt.Fprintf(os.Stderr, "OPTIONS:\n", os.Args[0])
103+
fmt.Fprintln(os.Stderr, "OPTIONS:")
105104
flag.PrintDefaults()
106105
os.Exit(1)
107106
}

ls.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import (
1212

1313
func getChildren(kv *api.KV, name string) ([]string, error) {
1414
name = strings.Trim(name, "/") + "/"
15+
if name == "/" {
16+
name = ""
17+
}
1518
pairs, _, err := kv.List(name, nil)
1619
if err != nil {
1720
return nil, err
@@ -67,7 +70,7 @@ func ls(kv *api.KV, name string, config *fsConfig) error {
6770
func cmdLs(kv *api.KV, args []string, config *fsConfig) {
6871
if len(args) < 1 {
6972
fmt.Fprintf(os.Stderr, "USAGE: %s ls OPTIONS <remote>\n", os.Args[0])
70-
fmt.Fprintf(os.Stderr, "OPTIONS:\n", os.Args[0])
73+
fmt.Fprintln(os.Stderr, "OPTIONS:")
7174
flag.PrintDefaults()
7275
os.Exit(1)
7376
}

main.go

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package main
22

33
import (
4+
"encoding/json"
45
"flag"
56
"fmt"
7+
"io/ioutil"
68
"os"
79

810
"github.com/hashicorp/consul/api"
@@ -16,15 +18,47 @@ func printUsage() {
1618
os.Exit(1)
1719
}
1820

21+
type ConsulConfig struct {
22+
Scheme string `json:"scheme"`
23+
Host string `json:"host"`
24+
User string `json:"user"`
25+
Password string `json:"password"`
26+
}
27+
28+
func readConfig() (*ConsulConfig, error) {
29+
b, err := ioutil.ReadFile(os.Getenv("HOME") + "/.consul/config.json")
30+
if err != nil {
31+
return &ConsulConfig{
32+
Scheme: "http",
33+
Host: "127.0.0.1:8500",
34+
}, nil
35+
}
36+
var config ConsulConfig
37+
err = json.Unmarshal(b, &config)
38+
if err != nil {
39+
return nil, err
40+
}
41+
return &config, nil
42+
}
43+
1944
func main() {
45+
fileConfig, err := readConfig()
46+
if err != nil {
47+
fmt.Fprintln(os.Stderr, err)
48+
os.Exit(1)
49+
}
2050
var (
21-
host string
22-
scheme string
23-
recurse bool
24-
force bool
51+
host string
52+
scheme string
53+
user string
54+
password string
55+
recurse bool
56+
force bool
2557
)
26-
flag.StringVar(&host, "consul", "127.0.0.1:8500", "Consul API end point")
27-
flag.StringVar(&scheme, "scheme", "http", "Consul API scheme")
58+
flag.StringVar(&host, "consul", fileConfig.Host, "Consul API end point")
59+
flag.StringVar(&scheme, "scheme", fileConfig.Scheme, "Consul API scheme")
60+
flag.StringVar(&user, "user", fileConfig.User, "Consul API scheme")
61+
flag.StringVar(&password, "password", fileConfig.Password, "Consul API scheme")
2862
flag.BoolVar(&recurse, "recurse", false, "work with put/get/delete/ls action")
2963
flag.BoolVar(&force, "force", false, "force put/get if folder exists")
3064
flag.Parse()
@@ -37,10 +71,18 @@ func main() {
3771
force: force,
3872
}
3973

40-
client, err := api.NewClient(&api.Config{
74+
consulConfig := &api.Config{
4175
Address: host,
4276
Scheme: scheme,
43-
})
77+
}
78+
if user != "" && password != "" {
79+
consulConfig.HttpAuth = &api.HttpBasicAuth{
80+
Username: user,
81+
Password: password,
82+
}
83+
}
84+
85+
client, err := api.NewClient(consulConfig)
4486
if err != nil {
4587
fmt.Fprintln(os.Stderr, err)
4688
os.Exit(1)
@@ -56,6 +98,8 @@ func main() {
5698
cmdGet(kv, args[1:], config)
5799
case "ls":
58100
cmdLs(kv, args[1:], config)
101+
case "version":
102+
cmdVersion()
59103
default:
60104
printUsage()
61105
}

put.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func cmdPut(kv *api.KV, args []string, config *fsConfig) {
8484
if len(args) < 1 {
8585
fmt.Fprintf(os.Stderr, "USAGE: %s put OPTIONS <remote> (read content from stdin)\n", os.Args[0])
8686
fmt.Fprintf(os.Stderr, " %s put OPTIONS <local file or folder> <remote>\n", os.Args[0])
87-
fmt.Fprintf(os.Stderr, "OPTIONS:\n", os.Args[0])
87+
fmt.Fprintln(os.Stderr, "OPTIONS:")
8888
flag.PrintDefaults()
8989
os.Exit(1)
9090
}

version.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func getVersion() string {
6+
return "0.3"
7+
}
8+
9+
func cmdVersion() {
10+
fmt.Println(getVersion())
11+
}

0 commit comments

Comments
 (0)