 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- type Cluster
- type CreateClusterRequest
- func (r *CreateClusterRequest) GetAppClusterSync() bool
- func (r *CreateClusterRequest) GetEnabled() bool
- func (r *CreateClusterRequest) SetAppClusterSync(v bool) *CreateClusterRequest
- func (r *CreateClusterRequest) SetEnabled(v bool) *CreateClusterRequest
- func (req CreateClusterRequest) Validate() error
 
- type DeleteClusterRequest
- type DescribeClusterRequest
- type QueryClusterRequest
- type ServerInfo
- type Service
- type Status
- type SyncConfig
- type UpdateClusterRequest
- type UpdateKubeConfigRequest
- type UpdateKubeConfigSpec
Constants ¶
      View Source
      
  
    const ( APP_NAME = "k8s" SECRET_KEY = "23gs6gxHrz1kNEvshRmunkXbwIiaEcYfh+EMu+e9ewA=" )
      View Source
      
  
const (
	ASSET_LABEL_KEY = "k8s_id"
)
    Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct {
	Id string `json:"id" bson:"_id" gorm:"column:id"`
	// 录入时间
	CreateAt time.Time `json:"create_at" bson:"create_at" gorm:"column:create_at"`
	// 更新时间
	UpdateAt time.Time `json:"update_at" bson:"update_at" gorm:"column:update_at"`
	// 更新人
	UpdateBy string `json:"update_by" bson:"update_by" gorm:"column:update_by"`
	// 集群相关信息
	ServerInfo ServerInfo `json:"server_info" bson:",inline" gorm:"embedded"`
	// 集群定义信息
	CreateClusterRequest `bson:",inline" gorm:"embedded"`
	// 集群状态
	Status Status `json:"status" bson:",inline" gorm:"embedded"`
	// contains filtered or unexported fields
}
    func NewCluster ¶
func NewCluster(req *CreateClusterRequest) (*Cluster, error)
func (*Cluster) DecryptedKubeConf ¶
func (*Cluster) EncryptedKubeConf ¶
func (*Cluster) SetIsEncrypted ¶
type CreateClusterRequest ¶
type CreateClusterRequest struct {
	// 是否启用
	Enabled *bool `json:"enabled" form:"enabled" bson:"enabled" gorm:"column:enabled"`
	// 集群同步相关配置
	SyncConfig
	// 集群所属域
	Domain string `json:"domain" form:"domain" bson:"domain" gorm:"column:domain"`
	// 集群所属空间
	Namespace string `json:"namespace" form:"namespace" bson:"namespace" gorm:"column:namespace"`
	// 创建人
	CreateBy string `json:"create_by" form:"create_by" bson:"create_by" gorm:"column:create_by"`
	// 集群提供商
	Provider string `json:"provider" bson:"provider" form:"provider" validate:"required" gorm:"column:provider"`
	// 集群所处地域
	Region string `json:"region" bson:"region" form:"region" validate:"required" gorm:"column:region"`
	// 名称
	Name string `json:"name" bson:"name" form:"name" validate:"required" gorm:"column:name"`
	// 集群客户端访问凭证
	KubeConfig string `json:"kube_config" bson:"kube_config" form:"kube_config" validate:"required" mask:",10,10" gorm:"column:kube_config"`
	// 集群描述
	Description string `json:"description" form:"description" bson:"description" gorm:"column:description"`
	// 集群标签, env=prod
	Lables map[string]string `json:"lables" form:"lables" bson:"lables" gorm:"column:lables;serializer:json;"`
	// 额外的其他属性
	Extras map[string]string `json:"extras" form:"extras" bson:"extras" gorm:"column:extras;serializer:json;"`
}
    func NewCreateClusterRequest ¶
func NewCreateClusterRequest() *CreateClusterRequest
func (*CreateClusterRequest) GetAppClusterSync ¶
func (r *CreateClusterRequest) GetAppClusterSync() bool
func (*CreateClusterRequest) GetEnabled ¶
func (r *CreateClusterRequest) GetEnabled() bool
func (*CreateClusterRequest) SetAppClusterSync ¶
func (r *CreateClusterRequest) SetAppClusterSync(v bool) *CreateClusterRequest
func (*CreateClusterRequest) SetEnabled ¶
func (r *CreateClusterRequest) SetEnabled(v bool) *CreateClusterRequest
func (CreateClusterRequest) Validate ¶
func (req CreateClusterRequest) Validate() error
type DeleteClusterRequest ¶
type DeleteClusterRequest struct {
	DescribeClusterRequest
}
    type DescribeClusterRequest ¶
type DescribeClusterRequest struct {
	// Cluster id
	Id string `json:"id"`
}
    func NewDescribeClusterRequest ¶
func NewDescribeClusterRequest(k8sClusterId string) *DescribeClusterRequest
type QueryClusterRequest ¶
type QueryClusterRequest struct {
	// 分页参数
	request.PageRequest
	// 标签过滤
	Label map[string]string `json:"label"`
	// 关键字参数
	Keywords string `json:"keywords"`
	// 供应商
	Provider string `json:"provider"`
	// 集群所属地域
	Region string `json:"region"`
	// 是否启用
	Enabled *bool `json:"enabled"`
	// 是否同步部署
	AppClusterSync *bool `json:"app_cluster_sync"`
	// 集群Id列表
	ClusterIds []string `json:"cluster_ids"`
}
    func NewQueryClusterRequest ¶
func NewQueryClusterRequest() *QueryClusterRequest
type ServerInfo ¶
type Service ¶
type Service interface {
	// 查询K8s集群列表
	QueryCluster(context.Context, *QueryClusterRequest) (*types.Set[*Cluster], error)
	// 查询K8s集群详情
	DescribeCluster(context.Context, *DescribeClusterRequest) (*Cluster, error)
	// 添加K8s集群
	CreateCluster(context.Context, *CreateClusterRequest) (*Cluster, error)
	// 更新K8s集群
	UpdateCluster(context.Context, *UpdateClusterRequest) (*Cluster, error)
	// 删除K8s集群
	DeleteCluster(context.Context, *DeleteClusterRequest) (*Cluster, error)
	// 更新Kubeconfig
	UpdateKubeConfig(context.Context, *UpdateKubeConfigRequest) (*Cluster, error)
}
    func GetService ¶
func GetService() Service
type SyncConfig ¶
type SyncConfig struct {
	// 应用集群同步
	AppClusterSync *bool `json:"app_cluster_sync" form:"app_cluster_sync" bson:"app_cluster_sync" gorm:"column:app_cluster_sync"`
	// 需要同步的空间
	SyncedNamespace []string `json:"synced_namespace" form:"synced_namespace" bson:"synced_namespace" gorm:"column:synced_namespace;serializer:json"`
	// 需要同步的资源
	SyncedResource []k8s.RESOURCE `json:"synced_resource" form:"synced_resource" bson:"synced_resource" gorm:"column:synced_resource;serializer:json"`
}
    type UpdateClusterRequest ¶
type UpdateClusterRequest struct {
	DescribeClusterRequest
	// 更新人
	UpdateBy string `json:"update_by"`
	// 更新时间
	UpdateAt int64 `json:"update_at"`
	// 更新的书本信息
	Spec *CreateClusterRequest `json:"spec"`
}
    type UpdateKubeConfigRequest ¶
type UpdateKubeConfigRequest struct {
	DescribeClusterRequest
	// 更新人
	UpdateBy string `json:"update_by"`
	UpdateKubeConfigSpec
}
    type UpdateKubeConfigSpec ¶
type UpdateKubeConfigSpec struct {
	// 集群客户端访问凭证
	KubeConfig string `json:"kube_config"  validate:"required"`
}
     Click to show internal directories. 
   Click to hide internal directories.