cluster_user

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2023 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 3 more Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Create

func Create(c *gin.Context)

Create Create dev space @Summary Create dev space @Description Create dev space @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param CreateAppRequest body cluster_user.ClusterUserCreateRequest true "cluster user info" @Param id path uint64 true "Application ID" @Success 200 {object} model.ClusterUserModel @Router /v1/dev_space/{id} [post]

func Delete

func Delete(c *gin.Context)

Delete Completely delete the development environment @Summary Completely delete the development environment @Description Completely delete the development environment, including deleting the K8S namespace @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path uint64 true "DevSpace ID" @Success 200 {object} api.Response "{"code":0,"message":"OK","data":null}" @Router /v1/dev_space/{id} [delete]

func DoList

func DoList(params *model.ClusterUserModel, userId uint64, isAdmin, isCanBeUsedAsBaseSpace bool) (
	[]*model.ClusterUserV2, error)

func GetAppsInfo

func GetAppsInfo(c *gin.Context)

GetAppsInfo @Summary Get mesh apps info @Description Get mesh apps info @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "devspace id" @Success 200 {object} setupcluster.MeshDevInfo @Router /v1/dev_space/{id}/mesh_apps_info [get]

func GetDevSpaceDetail

func GetDevSpaceDetail(c *gin.Context)

@Summary Get the details of a development environment of the application @Description Get dev space detail from application @Tags Application @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "Application ID" @Param space_id path string true "DevSpace ID" @Success 200 {object} model.ClusterUserModel "Application development environment parameters, including kubeconfig, status=0 application not installed, 1 installed" @Router /v1/application/{id}/dev_space/{space_id}/detail [get]

func GetFirst

func GetFirst(c *gin.Context)

@Summary Plug-in Get personal application development environment (kubeconfig) (obsolete) @Description Get personal application development environment (kubeconfig) (obsolete) @Tags Plug-in @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "Application ID" @Success 200 {object} model.ClusterUserModel "Application development environment parameters, including kubeconfig, status=0 application not installed, 1 installed" @Router /v1/application/{id}/dev_space [get]

func GetJoinClusterAndAppAndUser

func GetJoinClusterAndAppAndUser(c *gin.Context)

@Summary Get a list of application development environments @Description Get application dev space list @Tags Application @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "User ID" @Success 200 {object} model.ClusterUserJoinClusterAndAppAndUser "Application development environment parameters, including kubeconfig, status=0 application not installed, 1 installed" @Router /v1/users/{id}/dev_space_list [get]

func GetJoinClusterAndAppAndUserDetail

func GetJoinClusterAndAppAndUserDetail(c *gin.Context)

@Summary Get the details of a development environment of the application @Description Get dev space detail from application @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "DevSpace ID" @Success 200 {object} model.ClusterUserJoinClusterAndAppAndUser "Application development environment parameters, including kubeconfig, status=0 application not installed, 1 installed" @Router /v1/dev_space/{id}/detail [get]

func GetList

func GetList(c *gin.Context)

@Summary Get a list of application development environments @Description Get application dev space list @Tags Application @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "Application ID" @Success 200 {object} model.ClusterUserModel "Application development environment parameters, including kubeconfig, status=0 application not installed, 1 installed" @Router /v1/application/{id}/dev_space_list [get]

func GetNsInfo

func GetNsInfo(c *gin.Context)

func GetV2

func GetV2(c *gin.Context)

func HasModifyPermissionToSomeDevSpace

func HasModifyPermissionToSomeDevSpace(userId, devSpaceId uint64) (*model.ClusterUserModel, error)

func HasPrivilegeToSomeDevSpace

func HasPrivilegeToSomeDevSpace(c *gin.Context, devSpaceId uint64) (*model.ClusterUserModel, error)

HasPrivilegeToSomeDevSpace Include - update resource limit - delete devspace

func ImportStatus

func ImportStatus(c *gin.Context)

func IsShareUsersOk

func IsShareUsersOk(cooperators, viewers []uint64, clusterUser *model.ClusterUserModel) bool

func ListAll

func ListAll(c *gin.Context)

ListAll dev spaces @Summary ListAll dev spaces @Description ListAll dev spaces @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Success 200 {object} model.ClusterUserModel @Router /v1/dev_space/{id} [get]

func ListByUserId

func ListByUserId(c *gin.Context)

list user's dev space distinct by user id

func ListV2

func ListV2(c *gin.Context)

func LoginUserHasModifyPermissionToSomeDevSpace

func LoginUserHasModifyPermissionToSomeDevSpace(c *gin.Context, devSpaceId uint64) (*model.ClusterUserModel, error)

LoginUserHasModifyPermissionToSomeDevSpace those role can modify the devSpace: - is the cooperator of ns - is nocalhost admin - is owner - is devSpace's cluster owner

func NsBatchImport

func NsBatchImport(c *gin.Context)

func NsImport

func NsImport(c *gin.Context)

func PipeLine

func PipeLine(clusterUsers []*model.ClusterUserV2, userId uint64, isAdmin bool) error

func PluginReCreate

func PluginReCreate(c *gin.Context)

ReCreate Plugin ReCreate devSpace @Summary Plugin ReCreate devSpace @Description Plugin delete devSpace and create a new one @Tags Plug-in @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path uint64 true "DevSpace ID" @Success 200 {object} model.ClusterModel @Router /v1/plugin/{id}/recreate [post]

func ReCreate

func ReCreate(c *gin.Context)

ReCreate ReCreate devSpace @Summary ReCreate devSpace @Description delete devSpace and create a new one @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path uint64 true "DevSpace ID" @Success 200 {object} model.ClusterModel @Router /v1/dev_space/{id}/recreate [post]

func Share

func Share(c *gin.Context)

func UnShare

func UnShare(c *gin.Context)

func Update

func Update(c *gin.Context)

Update @Summary Update dev space @Description Update dev space @Tags Cluster @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "devspace id" @Param CreateAppRequest body cluster_user.DevSpaceRequest true "kubeconfig" @Success 200 {object} model.ClusterUserModel @Router /v1/dev_space/{id} [put]

func UpdateMeshDevSpaceInfo

func UpdateMeshDevSpaceInfo(c *gin.Context)

UpdateMeshDevSpaceInfo update mesh dev space info @Summary Update mesh dev space info @Description Update mesh dev space info @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "devspace id" @Param MeshDevInfo body setupcluster.MeshDevInfo true "mesh dev space info" @Success 200 {object} model.ClusterUserModel @Router /v1/dev_space/{id}/update_mesh_dev_space_info [put]

func UpdateResourceLimit

func UpdateResourceLimit(c *gin.Context)

UpdateResourceLimit @Summary UpdateResourceLimit @Description update resource limit in dev space @Tags DevSpace @Accept json @Produce json @param Authorization header string true "Authorization" @Param id path string true "devspace id" @Param SpaceResourceLimit body cluster_user.SpaceResourceLimit true "kubeconfig" @Success 200 {object} model.ClusterUserModel @Router /v1/dev_space/{id}/update_resource_limit [put]

func ValidSpaceResourceLimit

func ValidSpaceResourceLimit(resLimit SpaceResourceLimit) (bool, string)

Types

type BatchImport

type BatchImport struct {
	Devspaces []*BatchImportItem `json:"devspaces" yaml:"devspaces"`
}

type BatchImportItem

type BatchImportItem struct {
	ClusterName  string   `json:"clusterName" yaml:"clusterName"`
	Namespace    string   `json:"namespace" yaml:"namespace"`
	Owner        string   `json:"owner" yaml:"owner"`
	Collaborator []string `json:"collaborator" yaml:"collaborator"`
}

type ClusterUserCreateRequest

type ClusterUserCreateRequest struct {
	ID                 *uint64                   `json:"id"`
	ClusterId          *uint64                   `json:"cluster_id" binding:"required"`
	UserId             *uint64                   `json:"user_id" binding:"required"`
	SpaceName          string                    `json:"space_name"`
	Memory             *uint64                   `json:"memory"`
	Cpu                *uint64                   `json:"cpu"`
	ApplicationId      *uint64                   `json:"application_id"`
	ClusterAdmin       *uint64                   `json:"cluster_admin"`
	NameSpace          string                    `json:"namespace"`
	SpaceResourceLimit *SpaceResourceLimit       `json:"space_resource_limit"`
	BaseDevSpaceId     uint64                    `json:"base_dev_space_id"`
	MeshDevInfo        *setupcluster.MeshDevInfo `json:"mesh_dev_info"`
	IsBaseSpace        bool                      `json:"is_base_space"`
	Protected          bool                      `json:"protected"`
}

func (*ClusterUserCreateRequest) Validate

func (cu *ClusterUserCreateRequest) Validate() (bool, error)

type ClusterUserGetRequest

type ClusterUserGetRequest struct {
	ClusterUserId *uint64 `form:"cluster_user_id" binding:"required"`
}

type ClusterUserListQuery

type ClusterUserListQuery struct {
	UserId *uint64 `form:"user_id"`
}

type ClusterUserListV2Query

type ClusterUserListV2Query struct {
	OwnerUserId            *uint64 `form:"owner_user_id"`
	ClusterId              *uint64 `form:"cluster_id"`
	SpaceName              string  `form:"space_name"`
	IsCanBeUsedAsBaseSpace bool    `form:"is_can_be_used_as_base_space"`
}

type ClusterUserShareRequest

type ClusterUserShareRequest struct {
	ClusterUserId *uint64  `json:"cluster_user_id" binding:"required"`
	Cooperators   []uint64 `json:"cooperators"`
	Viewers       []uint64 `json:"viewers"`
}

type ClusterUserUnShareRequest

type ClusterUserUnShareRequest struct {
	ClusterUserId *uint64  `json:"cluster_user_id" binding:"required"`
	Users         []uint64 `json:"users"`
}

type DevSpace

type DevSpace struct {
	DevSpaceParams ClusterUserCreateRequest

	KubeConfig []byte
	// contains filtered or unexported fields
}

func NewDevSpace

func NewDevSpace(devSpaceParams ClusterUserCreateRequest, c *gin.Context, kubeConfig []byte) *DevSpace

func (*DevSpace) Create

func (d *DevSpace) Create() (*model.ClusterUserModel, error)

func (*DevSpace) Delete

func (d *DevSpace) Delete() error

type DevSpaceRequest

type DevSpaceRequest struct {
	KubeConfig string `json:"kubeconfig"`
	SpaceName  string `json:"space_name"`
}

type NamespaceInfo

type NamespaceInfo struct {
	Name         string
	Cluster      string
	IstioEnabled int
}

type NsImportItem

type NsImportItem struct {
	ClusterName  string   `json:"cluster_name"`
	Namespace    string   `json:"namespace"`
	Owner        *uint64  `json:"owner"`
	IsBaseSpace  int      `json:"is_basespace"`
	Collaborator []uint64 `json:"collaborator"`
}

type NsImportStatus

type NsImportStatus struct {
	Process float32
	Items   []*NsImportStatusItem
}

type NsImportStatusItem

type NsImportStatusItem struct {
	BatchImportItem
	Success bool
	ErrInfo string `json:"errInfo"`
}

type SpaceResourceLimit

type SpaceResourceLimit struct {
	SpaceReqMem               string `json:"space_req_mem"`
	SpaceReqCpu               string `json:"space_req_cpu"`
	SpaceLimitsMem            string `json:"space_limits_mem"`
	SpaceLimitsCpu            string `json:"space_limits_cpu"`
	SpaceLbCount              string `json:"space_lb_count"`
	SpacePvcCount             string `json:"space_pvc_count"`
	SpaceStorageCapacity      string `json:"space_storage_capacity"`
	SpaceEphemeralStorage     string `json:"space_ephemeral_storage"`
	ContainerReqMem           string `json:"container_req_mem"`
	ContainerReqCpu           string `json:"container_req_cpu"`
	ContainerLimitsMem        string `json:"container_limits_mem"`
	ContainerLimitsCpu        string `json:"container_limits_cpu"`
	ContainerEphemeralStorage string `json:"container_ephemeral_storage"`
}

func (*SpaceResourceLimit) ResourceLimitIsSet

func (srl *SpaceResourceLimit) ResourceLimitIsSet() bool

func (*SpaceResourceLimit) Validate

func (srl *SpaceResourceLimit) Validate() bool

Jump to

Keyboard shortcuts

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