INNER CODE UNIT · Go
GetNamespaceRoleAnnotation
jtblin/kube2iam · namespace.go:68
func GetNamespaceRoleAnnotation(ns *v1.Namespace, namespaceKey string) []string {
rolesString := ns.GetAnnotations()[namespaceKey]
if rolesString != "" {
var decoded []string
if err := json.Unmarshal([]byte(rolesString), &decoded); err != nil {
log.Errorf("Unable to decode roles on namespace %s ( role annotation is '%s' ) with error: %s", ns.Name, rolesString, err)
}
return decoded
}
return nil
}
// NamespaceIndexFunc maps a namespace to it's name.
func NamespaceIndexFunc(obj interface{}) ([]string, error) {
namespace, ok := obj.(*v1.Namespace)
if !ok {
return nil, fmt.Errorf("expected namespace but received: %+v", obj)
}