Skip to content

Commit

Permalink
Changed the URL for keyring management
Browse files Browse the repository at this point in the history
  • Loading branch information
diptanu committed Oct 4, 2016
1 parent 1bc0c02 commit 2c115a2
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 7 deletions.
8 changes: 4 additions & 4 deletions api/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ func (a *Agent) SetServers(addrs []string) error {
// ListKeys returns the list of installed keys
func (a *Agent) ListKeys() (*KeyringResponse, error) {
var resp KeyringResponse
_, err := a.client.query("/v1/agent/keys/list", &resp, nil)
_, err := a.client.query("/v1/agent/keyring/list", &resp, nil)
if err != nil {
return nil, err
}
Expand All @@ -188,7 +188,7 @@ func (a *Agent) InstallKey(key string) (*KeyringResponse, error) {
Key: key,
}
var resp KeyringResponse
_, err := a.client.write("/v1/agent/keys/install", &args, &resp, nil)
_, err := a.client.write("/v1/agent/keyring/install", &args, &resp, nil)
return &resp, err
}

Expand All @@ -198,7 +198,7 @@ func (a *Agent) UseKey(key string) (*KeyringResponse, error) {
Key: key,
}
var resp KeyringResponse
_, err := a.client.write("/v1/agent/keys/use", &args, &resp, nil)
_, err := a.client.write("/v1/agent/keyring/use", &args, &resp, nil)
return &resp, err
}

Expand All @@ -208,7 +208,7 @@ func (a *Agent) RemoveKey(key string) (*KeyringResponse, error) {
Key: key,
}
var resp KeyringResponse
_, err := a.client.write("/v1/agent/keys/remove", &args, &resp, nil)
_, err := a.client.write("/v1/agent/keyring/remove", &args, &resp, nil)
return &resp, err
}

Expand Down
3 changes: 1 addition & 2 deletions command/agent/agent_endpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,6 @@ func (s *HTTPServer) updateServers(resp http.ResponseWriter, req *http.Request)

// KeyringOperationRequest allows an operator to install/delete/use keys
func (s *HTTPServer) KeyringOperationRequest(resp http.ResponseWriter, req *http.Request) (interface{}, error) {
s.logger.Printf("DIPTANU HERE")
srv := s.agent.Server()
if srv == nil {
return nil, CodedError(501, ErrInvalidMethod)
Expand All @@ -183,7 +182,7 @@ func (s *HTTPServer) KeyringOperationRequest(resp http.ResponseWriter, req *http
var args structs.KeyringRequest

//Get the op
op := strings.TrimPrefix(req.URL.Path, "/v1/agent/keys/")
op := strings.TrimPrefix(req.URL.Path, "/v1/agent/keyring/")

switch op {
case "list":
Expand Down
12 changes: 12 additions & 0 deletions command/agent/command.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ func (c *Command) readConfig() *Config {
flags.Var((*sliceflag.StringFlag)(&cmdConfig.Server.RetryJoin), "retry-join", "")
flags.IntVar(&cmdConfig.Server.RetryMaxAttempts, "retry-max", 0, "")
flags.StringVar(&cmdConfig.Server.RetryInterval, "retry-interval", "", "")
flags.StringVar(&cmdConfig.Server.EncryptKey, "encrypt", "", "gossip encryption key")

// Client-only options
flags.StringVar(&cmdConfig.Client.StateDir, "state-dir", "", "")
Expand Down Expand Up @@ -189,6 +190,17 @@ func (c *Command) readConfig() *Config {
return config
}

if config.Server.EncryptKey != "" {
if _, err := config.Server.EncryptBytes(); err != nil {
c.Ui.Error(fmt.Sprintf("Invalid encryption key: %s", err))
return nil
}
keyfile := filepath.Join(config.DataDir, serfKeyring)
if _, err := os.Stat(keyfile); err == nil {
c.Ui.Error("WARNING: keyring exists but -encrypt given, using keyring")
}
}

// Parse the RetryInterval.
dur, err := time.ParseDuration(config.Server.RetryInterval)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion command/agent/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func (s *HTTPServer) registerHandlers(enableDebug bool) {
s.mux.HandleFunc("/v1/agent/members", s.wrap(s.AgentMembersRequest))
s.mux.HandleFunc("/v1/agent/force-leave", s.wrap(s.AgentForceLeaveRequest))
s.mux.HandleFunc("/v1/agent/servers", s.wrap(s.AgentServersRequest))
s.mux.HandleFunc("/v1/agent/keys/", s.wrap(s.KeyringOperationRequest))
s.mux.HandleFunc("/v1/agent/keyring/", s.wrap(s.KeyringOperationRequest))

s.mux.HandleFunc("/v1/regions", s.wrap(s.RegionListRequest))

Expand Down

0 comments on commit 2c115a2

Please sign in to comment.