diff --git a/mappings/mapper.go b/mappings/mapper.go index dec8d559..21562964 100644 --- a/mappings/mapper.go +++ b/mappings/mapper.go @@ -44,7 +44,7 @@ func (r *RoleMapper) GetRoleMapping(IP string) (*RoleMappingResult, error) { pod, err := r.store.PodByIP(IP) // If attempting to get a Pod that maps to multiple IPs if err != nil { - return nil, err + return &RoleMappingResult{Role: r.defaultRoleARN, Namespace: "", IP: IP}, nil } role, err := r.extractRoleARN(pod) diff --git a/server/server.go b/server/server.go index 5dc0fd84..26b3ed3f 100644 --- a/server/server.go +++ b/server/server.go @@ -337,11 +337,11 @@ func (s *Server) roleHandler(logger *log.Entry, w http.ResponseWriter, r *http.R return } - externalID, err := s.getExternalIDMapping(remoteIP) - if err != nil { - http.Error(w, err.Error(), http.StatusNotFound) - return - } + // externalID, err := s.getExternalIDMapping(remoteIP) + // if err != nil { + // http.Error(w, err.Error(), http.StatusNotFound) + // return + // } roleLogger := logger.WithFields(log.Fields{ "pod.iam.role": roleMapping.Role, @@ -358,7 +358,7 @@ func (s *Server) roleHandler(logger *log.Entry, w http.ResponseWriter, r *http.R return } - credentials, err := s.iam.AssumeRole(wantedRoleARN, externalID, remoteIP, s.IAMRoleSessionTTL) + credentials, err := s.iam.AssumeRole(wantedRoleARN, "", remoteIP, s.IAMRoleSessionTTL) if err != nil { roleLogger.Errorf("Error assuming role %+v", err) http.Error(w, err.Error(), http.StatusInternalServerError)