Documentation
¶
Index ¶
- func SetContainerService(service Container)
- func SetTransport(t Transport)
- func SetUserService(service UserService)
- type Container
- type Icon
- type IconList
- type IconService
- type SpaceListOptions
- type SpaceService
- func (s *SpaceService) CheckUserQuotas(userId string, template *model.Template) error
- func (s *SpaceService) CreateSpace(space *model.Space, user *model.User) error
- func (s *SpaceService) DeleteSpace(spaceId string, user *model.User) error
- func (s *SpaceService) GetSpace(spaceId string, user *model.User) (*model.Space, error)
- func (s *SpaceService) ListSpaces(opts SpaceListOptions) ([]*model.Space, error)
- func (s *SpaceService) UpdateSpace(space *model.Space, user *model.User) error
- type TemplateListOptions
- type TemplateService
- func (s *TemplateService) CreateTemplate(template *model.Template, user *model.User) error
- func (s *TemplateService) DeleteTemplate(templateId string, user *model.User) error
- func (s *TemplateService) GetTemplate(templateId string) (*model.Template, error)
- func (s *TemplateService) GetTemplateUsage(templateId string) (total int, deployed int, err error)
- func (s *TemplateService) ListTemplates(opts TemplateListOptions) ([]*model.Template, error)
- func (s *TemplateService) UpdateTemplate(template *model.Template, user *model.User) error
- type Transport
- type UserService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetContainerService ¶
func SetContainerService(service Container)
func SetTransport ¶
func SetTransport(t Transport)
func SetUserService ¶
func SetUserService(service UserService)
Types ¶
type Container ¶
type Container interface {
// Volumes
CreateVolume(volume *model.Volume) error
DeleteVolume(volume *model.Volume) error
// Spaces
StartSpace(space *model.Space, template *model.Template, user *model.User) error
StopSpace(space *model.Space) error
RestartSpace(space *model.Space) error
DeleteSpace(space *model.Space)
// Helpers
CleanupOnBoot()
}
func GetContainerService ¶
func GetContainerService() Container
type Icon ¶ added in v0.19.0
type Icon struct {
Description string `toml:"description" json:"description"`
Source string `toml:"-" json:"source"`
URL string `toml:"url" json:"url"`
}
Icon represents a single icon entry
type IconService ¶ added in v0.19.0
type IconService struct {
// contains filtered or unexported fields
}
func GetIconService ¶ added in v0.19.0
func GetIconService() *IconService
GetIconService returns the singleton icon service instance
func (*IconService) GetIcons ¶ added in v0.19.0
func (s *IconService) GetIcons() []Icon
GetIcons returns all available icons (built-in and user-supplied)
func (*IconService) ReloadIcons ¶ added in v0.19.0
func (s *IconService) ReloadIcons()
ReloadIcons reloads icons from configuration
type SpaceListOptions ¶ added in v0.19.0
type SpaceService ¶ added in v0.19.0
type SpaceService struct{}
func GetSpaceService ¶ added in v0.19.0
func GetSpaceService() *SpaceService
func (*SpaceService) CheckUserQuotas ¶ added in v0.19.0
func (s *SpaceService) CheckUserQuotas(userId string, template *model.Template) error
checkUserQuotas validates user quotas for space creation
func (*SpaceService) CreateSpace ¶ added in v0.19.0
CreateSpace creates a new space with validation and quota checks
func (*SpaceService) DeleteSpace ¶ added in v0.19.0
func (s *SpaceService) DeleteSpace(spaceId string, user *model.User) error
DeleteSpace marks a space as deleted with validation
func (*SpaceService) GetSpace ¶ added in v0.19.0
GetSpace retrieves a single space by ID with permission checks
func (*SpaceService) ListSpaces ¶ added in v0.19.0
func (s *SpaceService) ListSpaces(opts SpaceListOptions) ([]*model.Space, error)
ListSpaces returns a filtered list of spaces based on the provided options
func (*SpaceService) UpdateSpace ¶ added in v0.19.0
UpdateSpace updates an existing space with validation
type TemplateListOptions ¶ added in v0.19.0
type TemplateService ¶ added in v0.19.0
type TemplateService struct{}
func GetTemplateService ¶ added in v0.19.0
func GetTemplateService() *TemplateService
func (*TemplateService) CreateTemplate ¶ added in v0.19.0
CreateTemplate creates a new template with validation
func (*TemplateService) DeleteTemplate ¶ added in v0.19.0
func (s *TemplateService) DeleteTemplate(templateId string, user *model.User) error
DeleteTemplate marks a template as deleted with validation
func (*TemplateService) GetTemplate ¶ added in v0.19.0
func (s *TemplateService) GetTemplate(templateId string) (*model.Template, error)
GetTemplate retrieves a single template by ID
func (*TemplateService) GetTemplateUsage ¶ added in v0.19.0
func (s *TemplateService) GetTemplateUsage(templateId string) (total int, deployed int, err error)
GetTemplateUsage returns usage statistics for a template
func (*TemplateService) ListTemplates ¶ added in v0.19.0
func (s *TemplateService) ListTemplates(opts TemplateListOptions) ([]*model.Template, error)
ListTemplates returns a filtered list of templates based on the provided options
func (*TemplateService) UpdateTemplate ¶ added in v0.19.0
UpdateTemplate updates an existing template with validation
type Transport ¶
type Transport interface {
GossipGroup(group *model.Group)
GossipRole(role *model.Role)
GossipSpace(space *model.Space)
GossipTemplate(template *model.Template)
GossipTemplateVar(templateVar *model.TemplateVar)
GossipUser(user *model.User)
GossipToken(token *model.Token)
GossipVolume(volume *model.Volume)
GossipAuditLog(entry *model.AuditLogEntry)
GossipSession(session *model.Session)
GetAgentEndpoints() []string
GetTunnelServers() []string
LockResource(resourceId string) string
UnlockResource(resourceId, unlockToken string)
Nodes() []*gossip.Node
}
func GetTransport ¶
func GetTransport() Transport
type UserService ¶
type UserService interface {
// User deletion operations
DeleteUser(user *model.User) error
RemoveUsersSessions(user *model.User)
RemoveUsersTokens(user *model.User)
// SSH key and space management
UpdateUserSpaces(user *model.User)
UpdateSpacesSSHKey(user *model.User)
UpdateSpaceSSHKeys(space *model.Space, user *model.User)
}
UserService defines operations that can be performed on users
func GetUserService ¶
func GetUserService() UserService