environment

package
v1.24.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2023 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SearchFields           = []string{"environment_name"}
	FilterFields           = []string{"environment_name"}
	PreloadFields          = []string{"Creator", "Cluster", "Project", "Project.Tenant", "Applications", "Users"}
	PreloadSensitiveFields = map[string]string{"Cluster": "id, cluster_name"}
	OrderFields            = []string{"environment_name"}
	ModelName              = "Environment"
	PrimaryKeyName         = "environment_id"
)

Functions

func AfterEnvironmentSave

func AfterEnvironmentSave(ctx context.Context, h base.BaseHandler, tx *gorm.DB, env *models.Environment) error

环境的创建,修改,删除,都会触发hook,将状态同步到对应的集群下

func ValidateEnvironmentNamespace

func ValidateEnvironmentNamespace(ctx context.Context, h base.BaseHandler, tx *gorm.DB, namespace, envname, clustername string) error

ValidateEnvironmentNamespace 校验绑定的namespace是否合法.

Types

type EnvironmentHandler

type EnvironmentHandler struct {
	base.BaseHandler
}

func (*EnvironmentHandler) DeleteEnvironment

func (h *EnvironmentHandler) DeleteEnvironment(c *gin.Context)

DeleteEnvironment 删除 Environment

@Tags			Environment
@Summary		删除 Environment
@Description	删除 Environment
@Accept			json
@Produce		json
@Param			environment_id	path		uint					true	"environment_id"
@Success		204				{object}	handlers.ResponseStruct	"resp"
@Router			/v1/environment/{environment_id} [delete]
@Security		JWT

func (*EnvironmentHandler) DeleteEnvironmentUser

func (h *EnvironmentHandler) DeleteEnvironmentUser(c *gin.Context)

DeleteEnvironmentUser 删除 User 和 Environment 的关系

@Tags			Environment
@Summary		删除 User 和 Environment 的关系
@Description	删除 User 和 Environment 的关系
@Accept			json
@Produce		json
@Param			environment_id	path		uint										true	"environment_id"
@Param			user_id			path		uint										true	"user_id"
@Success		200				{object}	handlers.ResponseStruct{Data=models.User}	"models.User"
@Router			/v1/environment/{environment_id}/user/{user_id} [delete]
@Security		JWT

func (*EnvironmentHandler) EnvironmentObservabilityDetails

func (h *EnvironmentHandler) EnvironmentObservabilityDetails(c *gin.Context)

@Tags EnvironmentObservabilityDetails @Summary 环境可观测性概览 @Description 环境可观测性概览 @Accept json @Produce json @Param environment_id path uint true "environment_id" @Param duration query string false "过去多长时间: 30s,5m,1h,1d,1w, 默认1h" @Success 200 {object} handlers.ResponseStruct{Data=EnvironmentObservabilityRet} "object" @Router /v1/environment/{environment_id}/observability [get] @Security JWT

func (*EnvironmentHandler) EnvironmentSwitch

func (h *EnvironmentHandler) EnvironmentSwitch(c *gin.Context)

@Tags NetworkIsolated @Summary 环境网络隔离开关 @Description 环境网络隔离开关 @Accept json @Produce json @Param environment_id path uint true "environment_id" @Param param body handlers.IsolatedSwitch true "表单" @Success 200 {object} handlers.ResponseStruct{Data=handlers.IsolatedSwitch} "object" @Router /v1/environment/{environment_id}/action/networkisolate [post] @Security JWT

func (*EnvironmentHandler) GetEnvironmentResource

func (h *EnvironmentHandler) GetEnvironmentResource(c *gin.Context)

GetEnvironmentResource 获取环境资源清单

@Tags			ResourceList
@Summary		获取环境资源清单
@Description	获取环境资源清单
@Accept			json
@Produce		json
@Param			environment_id	path		uint														true	"environment_id"
@Param			date			query		string														false	"date"
@Success		200				{object}	handlers.ResponseStruct{Data=[]models.EnvironmentResource}	"EnvironmentResource"
@Router			/v1/environment/{environment_id}/resources [get]
@Security		JWT

func (*EnvironmentHandler) ListEnvironment

func (h *EnvironmentHandler) ListEnvironment(c *gin.Context)

ListEnvironment 列表 Environment

@Tags			Environment
@Summary		Environment列表
@Description	Environment列表
@Accept			json
@Produce		json
@Param			EnvironmentName	query		string																		false	"EnvironmentName"
@Param			preload			query		string																		false	"choices Creator,Cluster,Project,Applications,Users"
@Param			page			query		int																			false	"page"
@Param			size			query		int																			false	"page"
@Param			search			query		string																		false	"search in (EnvironmentName)"
@Success		200				{object}	handlers.ResponseStruct{Data=handlers.PageData{List=[]models.Environment}}	"Environment"
@Router			/v1/environment [get]
@Security		JWT

func (*EnvironmentHandler) ListEnvironmentUser

func (h *EnvironmentHandler) ListEnvironmentUser(c *gin.Context)

ListEnvironmentUser 获取属于Environment的 User 列表

@Tags			Environment
@Summary		获取属于 Environment 的 User 列表
@Description	获取属于 Environment 的 User 列表
@Accept			json
@Produce		json
@Param			environment_id	path		uint																true	"environment_id"
@Param			preload			query		string																false	"choices Tenants,SystemRole"
@Param			page			query		int																	false	"page"
@Param			size			query		int																	false	"page"
@Param			search			query		string																false	"search in (Username,Email)"
@Success		200				{object}	handlers.ResponseStruct{Data=handlers.PageData{List=[]models.User}}	"models.User"
@Router			/v1/environment/{environment_id}/user [get]
@Security		JWT

func (*EnvironmentHandler) PostEnvironmentUser

func (h *EnvironmentHandler) PostEnvironmentUser(c *gin.Context)

PostEnvironmentUser 在User和Environment间添加关联关系

@Tags			Environment
@Summary		在User和Environment间添加关联关系
@Description	在User和Environment间添加关联关系
@Accept			json
@Produce		json
@Param			environment_id	path		uint														true	"environment_id"
@Param			param			body		models.EnvironmentUserRels									true	"表单"`
@Success		200				{object}	handlers.ResponseStruct{Data=models.EnvironmentUserRels}	"models.User"
@Router			/v1/environment/{environment_id}/user [post]
@Security		JWT

func (*EnvironmentHandler) PutEnvironment

func (h *EnvironmentHandler) PutEnvironment(c *gin.Context)

PutEnvironment 修改Environment

@Tags			Environment
@Summary		修改Environment
@Description	修改Environment
@Accept			json
@Produce		json
@Param			environment_id	path		uint												true	"environment_id"
@Param			param			body		models.Environment									true	"表单"
@Success		200				{object}	handlers.ResponseStruct{Data=models.Environment}	"Environment"
@Router			/v1/environment/{environment_id} [put]
@Security		JWT

func (*EnvironmentHandler) PutEnvironmentUser

func (h *EnvironmentHandler) PutEnvironmentUser(c *gin.Context)

PutEnvironmentUser 修改 User 和 Environment 的关联关系

@Tags			Environment
@Summary		修改 User 和 Environment 的关联关系
@Description	修改 User 和 Environment 的关联关系
@Accept			json
@Produce		json
@Param			environment_id	path		uint														true	"environment_id"
@Param			user_id			path		uint														true	"user_id"
@Param			param			body		models.EnvironmentUserRels									true	"表单"`
@Success		200				{object}	handlers.ResponseStruct{Data=models.EnvironmentUserRels}	"models.User"
@Router			/v1/environment/{environment_id}/user/{user_id} [put]
@Security		JWT

func (*EnvironmentHandler) RegistRouter

func (h *EnvironmentHandler) RegistRouter(rg *gin.RouterGroup)

func (*EnvironmentHandler) RetrieveEnvironment

func (h *EnvironmentHandler) RetrieveEnvironment(c *gin.Context)

RetrieveEnvironment Environment详情

@Tags			Environment
@Summary		Environment详情
@Description	get Environment详情
@Accept			json
@Produce		json
@Param			environment_id	path		uint												true	"environment_id"
@Success		200				{object}	handlers.ResponseStruct{Data=models.Environment}	"Environment"
@Router			/v1/environment/{environment_id} [get]
@Security		JWT

func (*EnvironmentHandler) RetrieveEnvironmentUser

func (h *EnvironmentHandler) RetrieveEnvironmentUser(c *gin.Context)

RetrieveEnvironmentUser 获取Environment 的一个 User详情

@Tags			Environment
@Summary		获取Environment 的一个 User详情
@Description	获取Environment 的一个 User详情
@Accept			json
@Produce		json
@Param			environment_id	path		uint										true	"environment_id"
@Param			user_id			path		uint										true	"user_id"
@Success		200				{object}	handlers.ResponseStruct{Data=models.User}	"models.User"
@Router			/v1/environment/{environment_id}/user/{user_id} [get]
@Security		JWT

type EnvironmentObservabilityRet

type EnvironmentObservabilityRet struct {
	ProjectID       uint   `json:"projectID"`
	ProjectName     string `json:"projectName"`
	EnvironmentID   uint   `json:"environmentID"`
	EnvironmentName string `json:"environmentName"`
	ClusterName     string `json:"clusterName"`
	Namespace       string `json:"namespace"`

	Labels map[string]string `json:"labels"`

	Monitoring  bool `json:"monitoring"`  // 是否启用监控
	Logging     bool `json:"logging"`     // 是否启日志
	ServiceMesh bool `json:"serviceMesh"` // 是否启用服务网格

	ContainerRestartTotal int64 `json:"containerRestartTotal"`

	CPU    string `json:"cpu"`
	Memory string `json:"memory"`

	MonitorCollectorCount int `json:"monitorCollectorCount"` // metrics采集器数量

	AlertRuleCount     int            `json:"alertRuleCount"`   // 告警规则列表
	AlertResourceMap   map[string]int `json:"alertResourceMap"` // 告警规则的资源map
	ErrorAlertCount    int            `json:"errorAlertCount"`
	CriticalAlertCount int            `json:"criticalAlertCount"`

	LoggingCollectorCount int    `json:"loggingCollectorCount"`
	ErrorLogCount         int    `json:"errorLogCount"`
	LogRate               string `json:"logRate"`

	EventCount int `json:"eventCount"` // 事件数量

	Warning string `json:"warning"`
}

Jump to

Keyboard shortcuts

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