From 88242c48c9ed8e6bc0a0424436985f1bab1deafc Mon Sep 17 00:00:00 2001 From: Craig Jellick Date: Fri, 10 Nov 2017 15:39:33 -0700 Subject: [PATCH] initial types for authoriation --- io.cattle.authorization/v1/types.go | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 io.cattle.authorization/v1/types.go diff --git a/io.cattle.authorization/v1/types.go b/io.cattle.authorization/v1/types.go new file mode 100644 index 00000000..f1eb7899 --- /dev/null +++ b/io.cattle.authorization/v1/types.go @@ -0,0 +1,41 @@ +package v1 + +import ( + extv1 "k8s.io/api/extensions/v1beta1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type Project struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + ClusterName string `json:"clusterName,omitempty"` +} + +type RoleTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Rules []rbacv1.PolicyRule `json:"rules,omitempty"` + + RoleTemplates []string `json:"roles,omitempty"` +} + +type PodSecurityPolicyTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec extv1.PodSecurityPolicySpec `json:"spec,omitempty"` +} + +type ProjectRoleBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Subjects []rbacv1.Subject `json:"subjects,omitempty"` + + ProjectName string `json:"projectRef,omitempty"` + + RoleTemplateName string `json:"roleTemplateName,omitempty"` +}