Documentation
¶
Index ¶
- type AccessLevel
- type CheckTokenResponse
- type ConfigFile
- type ConfigMap
- type ConfigMapData
- type ConfigMapsList
- type Container
- type ContainerPort
- type ContainerVolume
- type CreateVolume
- type Deployment
- type DeploymentDiff
- type DeploymentStatus
- type DeploymentVersion
- type DeploymentsList
- type Env
- type Image
- type Ingress
- type IngressesList
- type Login
- type Namespace
- type NamespacesList
- type Path
- type PersistentVolumeAccessMode
- type Pod
- type PodStatus
- type PodsList
- type Protocol
- type Resource
- type ResourceUpdateName
- type ResourceUpdateUserAccess
- type Resources
- type Rule
- type RunSolutionResponse
- type Secret
- type SecretsList
- type SelectedConfigMapsList
- type SelectedIngressesList
- type Service
- type ServicePort
- type ServiceType
- type ServicesList
- type Solution
- type SolutionEnv
- type SolutionLimits
- type SolutionResources
- type SolutionTemplate
- type SolutionsList
- type SolutionsTemplatesList
- type Tokens
- type UpdateImage
- type UpdateNamespaceName
- type UpdateReplicas
- type User
- type UserAccess
- type UserData
- type UserGroup
- type UserGroupAccess
- type UserGroupMember
- type UserGroupMembers
- type UserGroups
- type UserHeaderData
- type Volume
- type VolumesList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessLevel ¶ added in v0.13.2
type AccessLevel string
const ( Owner AccessLevel = "owner" Write AccessLevel = "write" ReadDelete AccessLevel = "read-delete" Read AccessLevel = "read" None AccessLevel = "none" )
func LevelFromString ¶ added in v0.13.2
func LevelFromString(str string) (AccessLevel, error)
func Levels ¶ added in v0.13.2
func Levels() []AccessLevel
func (AccessLevel) MarshalText ¶ added in v0.13.2
func (lvl AccessLevel) MarshalText() ([]byte, error)
func (AccessLevel) String ¶ added in v0.13.2
func (lvl AccessLevel) String() string
func (*AccessLevel) UnmarshalText ¶ added in v0.13.2
func (lvl *AccessLevel) UnmarshalText(p []byte) error
type CheckTokenResponse ¶
type CheckTokenResponse struct {
Access struct {
Namespace []Resource `json:"namespace"`
Volume []Resource `json:"volume"`
} `json:"access"`
}
CheckTokenResponse --
type ConfigFile ¶ added in v0.11.3
type ConfigMap ¶
type ConfigMap struct {
// required: true
Name string `json:"name" yaml:"name"`
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
//delete date in RFC3339 format
DeletedAt string `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
// key-value data
//
// required: true
Data ConfigMapData `json:"data" yaml:"data"`
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
Owner string `json:"owner,omitempty" yaml:"owner,omitempty"`
}
ConfigMap -- model for config map
swagger:model
type ConfigMapsList ¶ added in v0.16.0
type ConfigMapsList struct {
ConfigMaps []ConfigMap `json:"configmaps"`
}
ConfigMapsList -- model for config maps list
swagger:model
type Container ¶
type Container struct {
// required: true
Image string `json:"image"`
// required: true
Name string `json:"name"`
// required: true
Limits Resource `json:"limits"`
Env []Env `json:"env,omitempty"`
Commands []string `json:"commands,omitempty"`
Ports []ContainerPort `json:"ports,omitempty"`
VolumeMounts []ContainerVolume `json:"volume_mounts,omitempty"`
ConfigMaps []ContainerVolume `json:"config_maps,omitempty"`
}
Container -- model for container in deployment
swagger:model
type ContainerPort ¶
type ContainerPort struct {
// required: true
Name string `json:"name"`
// required: true
Port int `json:"port"`
// required: true
Protocol Protocol `json:"protocol"`
}
ContainerPort -- model for port in container
swagger:model
type ContainerVolume ¶
type ContainerVolume struct {
Name string `json:"name"`
Mode *string `json:"mode,omitempty"`
// required: true
MountPath string `json:"mount_path"`
SubPath *string `json:"sub_path,omitempty"`
}
ContainerVolume -- volume (or config map) mounted in container
swagger:model
type CreateVolume ¶
CreateVolume --
type Deployment ¶
type Deployment struct {
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
//delete date in RFC3339 format
DeletedAt string `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
Status *DeploymentStatus `json:"status,omitempty" yaml:"status,omitempty"`
// required: true
Containers []Container `json:"containers" yaml:"containers"`
// required: true
Name string `json:"name" yaml:"name"`
// required: true
Replicas int `json:"replicas" yaml:"replicas"`
ImagePullSecrets []string `json:"image_pull_secret,omitempty"`
//total CPU usage by all containers in this deployment
TotalCPU uint `json:"total_cpu,omitempty" yaml:"total_cpu,omitempty"`
//total RAM usage by all containers in this deployment
TotalMemory uint `json:"total_memory,omitempty"`
//Solution ID (only if deployment is part of solution)
SolutionID string `json:"solution_id,omitempty" yaml:"solution_id,omitempty"`
Owner string `json:"owner,omitempty" yaml:"owner,omitempty"`
Active bool `json:"active" yaml:"active"`
Version semver.Version `json:"version" yaml:"version"`
}
Deployment -- model for deployments
swagger:model
func (Deployment) ContainersAndImages ¶ added in v0.19.7
func (deployment Deployment) ContainersAndImages() []string
func (Deployment) ContainersNames ¶ added in v0.19.7
func (deployment Deployment) ContainersNames() []string
func (Deployment) Images ¶ added in v0.19.7
func (deployment Deployment) Images() []Image
func (Deployment) ImagesNames ¶ added in v0.19.7
func (deployment Deployment) ImagesNames() []string
func (*Deployment) Mask ¶ added in v0.16.0
func (deploy *Deployment) Mask()
Mask removes information not interesting for users
type DeploymentDiff ¶ added in v0.23.9
type DeploymentDiff struct {
Diff string `json:"diff"`
}
type DeploymentStatus ¶
type DeploymentStatus struct {
Replicas int `json:"replicas"`
ReadyReplicas int `json:"ready_replicas"`
AvailableReplicas int `json:"available_replicas"`
UpdatedReplicas int `json:"updated_replicas"`
}
DeploymentStatus -- kubernetes status of deployment
swagger:model
type DeploymentVersion ¶ added in v0.19.5
type DeploymentVersion struct {
Version string `json:"version"`
}
DeploymentVersion -- model for deployment version update
swagger:model
type DeploymentsList ¶ added in v0.16.0
type DeploymentsList struct {
Deployments []Deployment `json:"deployments"`
}
DeploymentsList -- model for deployments list
swagger:model
type Env ¶
type Env struct {
// required: true
Value string `json:"value"`
// required: true
Name string `json:"name"`
}
Env -- key-value pair of environment variables
swagger:model
type Image ¶ added in v0.19.7
func ImageFromString ¶ added in v0.19.7
type Ingress ¶
type Ingress struct {
// required: true
Name string `json:"name" yaml:"name"`
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
//delete date in RFC3339 format
DeletedAt string `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
// required: true
Rules []Rule `json:"rules" yaml:"rules"`
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
Owner string `json:"owner,omitempty" yaml:"owner,omitempty"`
}
Ingress -- model for ingress
swagger:model
type IngressesList ¶ added in v0.16.0
type IngressesList struct {
Ingress []Ingress `json:"ingresses"`
}
IngressesList -- model for ingresses list
swagger:model
type Login ¶
type Login struct {
Login string `json:"login"`
Password string `json:"password"`
Recaptcha *string `json:"recaptcha,omitempty"`
}
Login --
type Namespace ¶
type Namespace struct {
ID string `json:"id,omitempty"`
//creation date in RFC3339 format
CreatedAt *string `json:"created_at,omitempty"`
Owner string `json:"owner,omitempty"`
OwnerLogin string `json:"owner_login,omitempty"`
// user-visible label for the namespace
Label string `json:"label,omitempty"`
Access AccessLevel `json:"access,omitempty"`
TariffID string `json:"tariff_id",omitempty`
MaxExtService uint `json:"max_ext_service,omitempty"`
MaxIntService uint `json:"max_int_service,omitempty"`
MaxTraffic uint `json:"max_traffic,omitempty"`
// required: true
Resources Resources `json:"resources,omitempty"`
Users []UserAccess `json:"users,omitempty"`
}
Namespace -- namespace representation
swagger:model
type NamespacesList ¶ added in v0.16.0
type NamespacesList struct {
Namespaces []Namespace `json:"namespaces"`
}
NamespacesList -- model for namespaces list
swagger:model
type Path ¶
type Path struct {
// required: true
Path string `json:"path" yaml:"path"`
// required: true
ServiceName string `json:"service_name" yaml:"service_name"`
// required: true
ServicePort int `json:"service_port" yaml:"service_port"`
}
Path -- ingress path
swagger:model
type PersistentVolumeAccessMode ¶ added in v0.14.3
type PersistentVolumeAccessMode string
const ( // can be mounted read/write mode to exactly 1 host ReadWriteOnce PersistentVolumeAccessMode = "ReadWriteOnce" // can be mounted in read-only mode to many hosts ReadOnlyMany PersistentVolumeAccessMode = "ReadOnlyMany" // can be mounted in read/write mode to many hosts ReadWriteMany PersistentVolumeAccessMode = "ReadWriteMany" )
type Pod ¶
type Pod struct {
//creation date in RFC3339 format
CreatedAt *string `json:"created_at,omitempty"`
Name string `json:"name"`
Owner string `json:"owner"`
Containers []Container `json:"containers"`
ImagePullSecrets []string `json:"image_pull_secret,omitempty"`
Status *PodStatus `json:"status,omitempty"`
Deploy *string `json:"deploy,omitempty"`
//total CPU usage by all containers in this pod
TotalCPU uint `json:"total_cpu,omitempty"`
//total RAM usage by all containers in this pod
TotalMemory uint `json:"total_memory,omitempty"`
}
Pod -- model for pod
swagger:model
type PodStatus ¶
type PodStatus struct {
Phase string `json:"phase"`
RestartCount int `json:"restart_count"`
//pod start date in RFC3339 format
StartAt string `json:"start_at"`
}
PodStatus -- kubernetes status of pod
swagger:model
type PodsList ¶ added in v0.16.0
type PodsList struct {
Pods []Pod `json:"pods"`
}
PodsList -- model for pods list
swagger:model
type Resource ¶
type Resource struct {
// CPU in m
//
// required: true
CPU uint `json:"cpu"`
// RAM in Mi
//
// required: true
Memory uint `json:"memory"`
}
Resource -- represents namespace CPU and RAM
swagger:model
type ResourceUpdateName ¶
type ResourceUpdateName struct {
Label string `json:"label"`
}
ResourceUpdateName -- contains new resource name
type ResourceUpdateUserAccess ¶
type ResourceUpdateUserAccess struct {
Username string `json:"username"`
Access AccessLevel `json:"access,omitempty"`
}
ResourceUpdateUserAccess -- contains user access data
type Resources ¶
type Resources struct {
// Hard resource limits
//
// required: true
Hard Resource `json:"hard"`
Used *Resource `json:"used,omitempty"`
}
Resources -- represents namespace limits and user resources.
swagger:model
type Rule ¶
type Rule struct {
// required: true
Host string `json:"host" yaml:"host"`
TLSSecret *string `json:"tls_secret,omitempty" yaml:"tls_secret,omitempty"`
// required: true
Path []Path `json:"path" yaml:"path"`
}
Rule -- ingress rule
swagger:model
type RunSolutionResponse ¶ added in v0.15.0
type RunSolutionResponse struct {
Created int `json:"created"`
NotCreated int `json:"not_created"`
Errors []string `json:"errors,omitempty"`
}
RunSolutionResponse -- response to run solution request
swagger:model
type Secret ¶
type Secret struct {
// required: true
Name string `json:"name"`
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty"`
//delete date in RFC3339 format
DeletedAt string `json:"deleted_at,omitempty"`
// required: true
Data map[string]string `json:"data"`
Owner string `json:"owner,omitempty"`
}
model for secret
swagger:model
type SecretsList ¶ added in v0.16.0
type SecretsList struct {
Secrets []Secret `json:"secrets"`
}
SecretsList -- model for secrets list
swagger:model
type SelectedConfigMapsList ¶ added in v0.16.0
type SelectedConfigMapsList map[string]ConfigMapsList
SelectedConfigMapsList -- model for config maps list from all namespaces
swagger:model
type SelectedIngressesList ¶ added in v0.16.0
type SelectedIngressesList map[string]IngressesList
SelectedIngressesList -- model for ingresses list from all namespaces
swagger:model
type Service ¶
type Service struct {
// required: true
Name string `json:"name" yaml:"name"`
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
//delete date in RFC3339 format
DeletedAt string `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
Deploy string `json:"deploy,omitempty" yaml:"deploy,omitempty"`
IPs []string `json:"ips,omitempty" yaml:"ips,omitempty"`
Domain string `json:"domain,omitempty" yaml:"domain,omitempty"`
//Solution ID (only if service is part of solution)
SolutionID string `json:"solution_id,omitempty" yaml:"solution_id,omitempty"`
// required: true
Ports []ServicePort `json:"ports" yaml:"ports"`
Owner string `json:"owner,omitempty" yaml:"owner,omitempty"`
}
represents service
swagger:model
type ServicePort ¶
type ServicePort struct {
// required: true
Name string `json:"name" yaml:"name"`
Port *int `json:"port,omitempty" yaml:"port,omitempty"`
// required: true
TargetPort int `json:"target_port" yaml:"target_port"`
// required: true
Protocol Protocol `json:"protocol" yaml:"protocol"`
}
represent service port
swagger:model
type ServicesList ¶ added in v0.16.0
type ServicesList struct {
Services []Service `json:"services"`
}
ServicesList -- model for services list
swagger:model
type Solution ¶ added in v0.23.21
type Solution struct {
ID string `json:"id,omitempty"`
Branch string `json:"branch"`
Env map[string]string `json:"env"`
URL string `json:"url"`
// required: true
Template string `json:"template"`
// required: true
Name string `json:"name"`
// required: true
Namespace string `json:"namespace"`
}
Solution -- running solution
swagger:model
type SolutionResources ¶ added in v0.11.3
SolutionResources -- list of solution resources
swagger:model
func (SolutionResources) Copy ¶ added in v0.11.3
func (res SolutionResources) Copy() SolutionResources
type SolutionTemplate ¶ added in v0.23.21
type SolutionTemplate struct {
ID string `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name" yaml:"name"`
Limits *SolutionLimits `json:"limits" yaml:"limits"`
Images []string `json:"images" yaml:"images"`
URL string `json:"url" yaml:"url"`
Active bool `json:"active" yaml:"active"`
}
SolutionTemplate -- solution which user can run
swagger:model
func (SolutionTemplate) Copy ¶ added in v0.23.21
func (solution SolutionTemplate) Copy() SolutionTemplate
type SolutionsList ¶ added in v0.23.21
type SolutionsList struct {
Solutions []Solution `json:"solutions"`
}
SolutionsList -- list of running solution
swagger:model
func (SolutionsList) Copy ¶ added in v0.23.21
func (list SolutionsList) Copy() SolutionsList
func (SolutionsList) Filter ¶ added in v0.23.21
func (list SolutionsList) Filter(pred func(Solution) bool) SolutionsList
func (SolutionsList) Get ¶ added in v0.23.21
func (list SolutionsList) Get(i int) Solution
func (SolutionsList) Len ¶ added in v0.23.21
func (list SolutionsList) Len() int
type SolutionsTemplatesList ¶ added in v0.23.21
type SolutionsTemplatesList struct {
Solutions []SolutionTemplate `json:"solutions"`
}
SolutionsTemplatesList -- list of available solutions
swagger:model
func (SolutionsTemplatesList) Copy ¶ added in v0.23.21
func (list SolutionsTemplatesList) Copy() SolutionsTemplatesList
func (SolutionsTemplatesList) Filter ¶ added in v0.23.21
func (list SolutionsTemplatesList) Filter(pred func(SolutionTemplate) bool) SolutionsTemplatesList
func (SolutionsTemplatesList) Get ¶ added in v0.23.21
func (list SolutionsTemplatesList) Get(i int) SolutionTemplate
func (SolutionsTemplatesList) Len ¶ added in v0.23.21
func (list SolutionsTemplatesList) Len() int
type Tokens ¶
type Tokens struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
}
Tokens --
type UpdateImage ¶
type UpdateImage struct {
// required: true
Container string `json:"container_name"`
// required: true
Image string `json:"image"`
}
UpdateImage -- model for update container image request
swagger:model
type UpdateNamespaceName ¶
type UpdateNamespaceName struct {
// required: true
Label string `json:"label"`
}
UpdateNamespaceName -- contains new namespace label
swagger:model
type UpdateReplicas ¶
type UpdateReplicas struct {
// required: true
Replicas int `json:"replicas"`
}
UpdateReplicas -- contains new number of replicas
swagger:model
type User ¶
type User struct {
Login string `json:"login"`
Data UserData `json:"data"`
ID string `json:"id"`
IsActive bool `json:"is_active"`
CreatedAt string `json:"created_at"`
}
User --
type UserAccess ¶ added in v0.13.2
type UserAccess struct {
Username string `json:"username"`
AccessLevel AccessLevel `json:"access_level"`
}
func (UserAccess) String ¶ added in v0.13.2
func (access UserAccess) String() string
type UserData ¶
type UserData struct {
Email string `json:"email"`
Address string `json:"address"`
Phone string `json:"phone"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
IsOrganization bool `json:"is_organization"`
TaxCode string `json:"tax_code"`
Company string `json:"company"`
}
UserData --
type UserGroup ¶ added in v0.17.5
type UserGroup struct {
ID string `json:"id,omitempty"`
Label string `json:"label"`
OwnerID string `json:"owner_user_id,omitempty"`
OwnerLogin string `json:"owner_login,omitempty"`
*UserGroupMembers
MembersCount uint `json:"members_count,omitempty"`
UserAccess AccessLevel `json:"access,omitempty"`
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty"`
}
UserGroup -- group of users
swagger:model
type UserGroupAccess ¶ added in v0.17.5
type UserGroupAccess string
const ( OwnerAccess UserGroupAccess = "owner" AdminAccess UserGroupAccess = "admin" MasterAccess UserGroupAccess = "master" MemberAccess UserGroupAccess = "member" GuestAccess UserGroupAccess = "guest" NoAccess UserGroupAccess = "none" )
type UserGroupMember ¶ added in v0.17.5
type UserGroupMember struct {
ID string `json:"id,omitempty"`
Username string `json:"username"`
Access AccessLevel `json:"access"`
}
UserGroupMember -- group member
swagger:model
type UserGroupMembers ¶ added in v0.17.5
type UserGroupMembers struct {
Members []UserGroupMember `json:"members"`
}
UserGroupMembers -- list of user group members
swagger:model
type UserGroups ¶ added in v0.19.1
type UserGroups struct {
Groups []UserGroup `json:"groups"`
}
UserGroups -- list of user groups
swagger:model
type UserHeaderData ¶
type UserHeaderData struct {
// hosting-internal name
// required: true
ID string `json:"id"`
// user-visible label for the object
// required: true
Label string `json:"label"`
// one of: "owner", "read", "write", "read-delete", "none"
// required: true
Access AccessLevel `json:"access"`
}
represents header data for X-User-Namespace and X-User-Volume headers (encoded in base64)
type Volume ¶
type Volume struct {
Name string `json:"name,omitempty"`
//creation date in RFC3339 format
CreatedAt string `json:"created_at,omitempty"`
//delete date in RFC3339 format
Status string `json:"status,omitempty"`
DeletedAt string `json:"deleted_at,omitempty"`
Owner string `json:"owner,omitempty"`
OwnerLogin string `json:"owner_login,omitempty"`
Access AccessLevel `json:"access,omitempty"`
TariffID string `json:"tariff_id,omitempty"`
Capacity uint `json:"capacity,omitempty"`
StorageName string `json:"storage_name,omitempty"` //AKA StorageClass
AccessMode PersistentVolumeAccessMode `json:"access_mode,omitempty"`
Users []UserAccess `json:"users,omitempty"`
}
Volume -- volume representation
type VolumesList ¶ added in v0.17.1
type VolumesList struct {
Volumes []Volume `json:"volumes"`
}
VolumesList -- model for volumes list
swagger:model