server

package
v1.0.0-rc.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StandardNamespaceFilter = database.NamespaceFilter{
	NotDeleted: true,
}

Functions

func AddOwnerLogin

func AddOwnerLogin(ctx context.Context, r *model.Resource, client clients.UserManagerClient) error

func AddUserLogins

func AddUserLogins(ctx context.Context, permissions []model.Permission, client clients.UserManagerClient) error

func CheckTariff

func CheckTariff(tariff billing.Tariff, isAdmin bool) error

CheckTariff checks if user has permissions to use tariff

func IsAdminRole

func IsAdminRole(ctx context.Context) bool

IsAdminRole checks that request came from user with admin permissions.

func NamespaceAddUsage

func NamespaceAddUsage(ctx context.Context, ns *kubeAPIModel.Namespace, client clients.KubeAPIClient) error

func OwnerCheck

func OwnerCheck(ctx context.Context, resource model.Resource) error

Types

type AccessActions

type AccessActions interface {
	GetUserAccesses(ctx context.Context) (*authProto.ResourcesAccess, error)
	SetUserAccesses(ctx context.Context, accessLevel kubeClientModel.AccessLevel) error
	GetNamespaceAccess(ctx context.Context, id string) (kubeClientModel.Namespace, error)
	SetNamespaceAccess(ctx context.Context, id, targetUser string, accessLevel kubeClientModel.AccessLevel) error
	DeleteNamespaceAccess(ctx context.Context, id string, targetUser string) error
}

type Clients

func (*Clients) Close

func (c *Clients) Close() error

type NamespaceActions

type NamespaceActions interface {
	CreateNamespace(ctx context.Context, req model.NamespaceCreateRequest) error
	GetNamespace(ctx context.Context, id string) (kubeClientModel.Namespace, error)
	GetUserNamespaces(ctx context.Context, filters ...string) ([]kubeClientModel.Namespace, error)
	GetAllNamespaces(ctx context.Context, page, perPage int, filters ...string) ([]kubeClientModel.Namespace, error)
	AdminCreateNamespace(ctx context.Context, req model.NamespaceAdminCreateRequest) error
	AdminResizeNamespace(ctx context.Context, id string, req model.NamespaceAdminResizeRequest) error
	RenameNamespace(ctx context.Context, id, newLabel string) error
	ResizeNamespace(ctx context.Context, id, newTariffID string) error
	DeleteNamespace(ctx context.Context, id string) error
	DeleteAllUserNamespaces(ctx context.Context) error
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(db database.DB, clients *Clients) *Server

func (*Server) AdminCreateNamespace

func (s *Server) AdminCreateNamespace(ctx context.Context, req model.NamespaceAdminCreateRequest) error

func (*Server) AdminResizeNamespace

func (s *Server) AdminResizeNamespace(ctx context.Context, id string, req model.NamespaceAdminResizeRequest) error

func (*Server) Close

func (s *Server) Close() error

func (*Server) CreateNamespace

func (s *Server) CreateNamespace(ctx context.Context, req model.NamespaceCreateRequest) error

func (*Server) DeleteAllUserNamespaces

func (s *Server) DeleteAllUserNamespaces(ctx context.Context) error

func (*Server) DeleteNamespace

func (s *Server) DeleteNamespace(ctx context.Context, id string) error

func (*Server) DeleteNamespaceAccess

func (s *Server) DeleteNamespaceAccess(ctx context.Context, id string, targetUser string) error

func (*Server) GetAllNamespaces

func (s *Server) GetAllNamespaces(ctx context.Context, page, perPage int, filters ...string) ([]kubeClientModel.Namespace, error)

func (*Server) GetNamespace

func (s *Server) GetNamespace(ctx context.Context, id string) (kubeClientModel.Namespace, error)

func (*Server) GetNamespaceAccess

func (s *Server) GetNamespaceAccess(ctx context.Context, id string) (kubeClientModel.Namespace, error)

func (*Server) GetUserAccesses

func (s *Server) GetUserAccesses(ctx context.Context) (*authProto.ResourcesAccess, error)

func (*Server) GetUserNamespaces

func (s *Server) GetUserNamespaces(ctx context.Context, filters ...string) ([]kubeClientModel.Namespace, error)

func (*Server) RenameNamespace

func (s *Server) RenameNamespace(ctx context.Context, id, newLabel string) error

func (*Server) ResizeNamespace

func (s *Server) ResizeNamespace(ctx context.Context, id, newTariffID string) error

func (*Server) SetNamespaceAccess

func (s *Server) SetNamespaceAccess(ctx context.Context, id, targetUser string, accessLevel kubeClientModel.AccessLevel) error

func (*Server) SetUserAccesses

func (s *Server) SetUserAccesses(ctx context.Context, access kubeClientModel.AccessLevel) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL