Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( AppCreate = NewPermission("app:v1alpha1:create", NamespaceUser, NamespaceOrg) AppUpdate = NewPermission("app:v1alpha1:update", NamespaceUser, NamespaceOrg) AppDelete = NewPermission("app:v1alpha1:delete", NamespaceUser, NamespaceOrg) AppList = NewPermission("app:v1alpha1:list", NamespaceUser, NamespaceOrg) AppStatus = NewPermission("app:v1alpha1:status", NamespaceUser, NamespaceOrg) AppPermissions = []*Permission{AppCreate, AppUpdate, AppDelete, AppList, AppStatus} )
View Source
var ( // OrgCreate -> create organization OrgCreate = NewPermission("org:v1alpha1:create") // OrgList -> list joining organizations OrgList = NewPermission("org:v1alpha1:list") // OrgListAll -> list all organizations OrgListAll = NewPermission("org:v1alpha1:list_all") // OrgGet -> get organization OrgGet = NewPermission("org:v1alpha1:get", NamespaceOrg) // OrgDelete -> delete organization OrgDelete = NewPermission("org:v1alpha1:delete", NamespaceOrg) // OrgUpdate -> update info of organization OrgUpdate = NewPermission("org:v1alpha1:update", NamespaceOrg) // OrgMemberManagement -> manage members in a organization OrgMemberManagement = NewPermission("org:v1alpha1:member_management", NamespaceOrg) // OrgMemberList -> list members in a organization OrgMemberList = NewPermission("org:v1alpha1:member_list", NamespaceOrg) // UserOrgGetRoleBinding -> get role bindings for user/org UserOrgGetRoleBinding = NewPermission("userorg:v1alpha1:get_role_binding") OrgPermissions = []*Permission{OrgCreate, OrgList, OrgListAll, OrgDelete, OrgUpdate, OrgMemberManagement, OrgMemberList} )
View Source
var ( TokenIssue = NewPermission("token:v1alpha1:issue", NamespaceUser, NamespaceOrg) TokenDelete = NewPermission("token:v1alpha1:delete", NamespaceUser, NamespaceOrg) TokenValidate = NewPermission("token:v1alpha:validate") TokenPermissions = []*Permission{TokenIssue, TokenDelete} )
View Source
var ( UserCreate = NewPermission("user:v1alpha1:create") UserGetAll = NewPermission("user:v1alpha1:get_all") UserDelete = NewPermission("user:v1alpha1:delete", NamespaceUser) UserGet = NewPermission("user:v1alpha1:get", NamespaceUser) UserUpdate = NewPermission("user:v1alpha1:update", NamespaceUser) UserPermissions = []*Permission{UserCreate, UserGet, UserDelete, UserUpdate, UserGetAll} )
Functions ¶
This section is empty.
Types ¶
type NamespaceType ¶
type NamespaceType string
var ( NamespaceUser NamespaceType = "user" NamespaceOrg NamespaceType = "organization" )
type Permission ¶
type Permission struct { Name string `json:"name" yaml:"name"` Namespaces []NamespaceType `json:"namespaces" yaml:"namespaces"` }
func NewPermission ¶
func NewPermission(name string, namespaces ...NamespaceType) *Permission
func (*Permission) Namespaced ¶
func (p *Permission) Namespaced(nsType NamespaceType) bool
type Role ¶
type Role struct {
Permissions []*Permission `json:"permissions" yaml:"permissions"`
}
Click to show internal directories.
Click to hide internal directories.