Rainbond/api/model/app.go

67 lines
2.3 KiB
Go
Raw Normal View History

2020-09-27 16:27:46 +08:00
package model
2021-06-30 20:47:39 +08:00
import "github.com/goodrain/rainbond/worker/server/pb"
2020-09-27 16:27:46 +08:00
// AppPort -
type AppPort struct {
ServiceID string `json:"service_id" validate:"required"`
ContainerPort int `json:"container_port" validate:"required"`
PortAlias string `json:"port_alias" validate:"required"`
K8sServiceName string `json:"k8s_service_name" validate:"required"`
}
2020-09-28 16:43:27 +08:00
// AppStatus -
type AppStatus struct {
2021-07-22 16:01:08 +08:00
AppID string `json:"app_id"`
AppName string `json:"app_name"`
2021-05-11 10:32:55 +08:00
Status string `json:"status"`
2021-05-12 11:39:38 +08:00
CPU *int64 `json:"cpu"`
2021-07-22 16:01:08 +08:00
GPU *int64 `json:"gpu"`
2021-05-11 10:32:55 +08:00
Memory *int64 `json:"memory"`
Disk int64 `json:"disk"`
Phase string `json:"phase"`
Version string `json:"version"`
Overrides []string `json:"overrides"`
Conditions []*AppStatusCondition `json:"conditions"`
2021-12-09 20:45:10 +08:00
K8sApp string `json:"k8s_app"`
2021-05-11 10:32:55 +08:00
}
// AppStatusCondition is the conditon of app status.
type AppStatusCondition struct {
Type string `json:"type"`
Status bool `json:"status"`
Reason string `json:"reason"`
Message string `json:"message"`
2021-04-16 16:27:21 +08:00
}
2021-04-17 15:47:59 +08:00
// AppService -
type AppService struct {
2021-06-30 20:47:39 +08:00
ServiceName string `json:"service_name"`
Address string `json:"address"`
Ports []*pb.AppService_Port `json:"ports"`
OldPods []*AppPod `json:"oldPods"`
Pods []*AppPod `json:"pods"`
2021-04-17 15:47:59 +08:00
}
2021-04-23 10:03:15 +08:00
// ByServiceName implements sort.Interface for []*AppService based on
// the ServiceName field.
type ByServiceName []*AppService
func (a ByServiceName) Len() int { return len(a) }
func (a ByServiceName) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a ByServiceName) Less(i, j int) bool { return a[i].ServiceName < a[j].ServiceName }
2021-05-12 11:39:38 +08:00
// AppPod -
2021-04-17 15:47:59 +08:00
type AppPod struct {
PodName string `json:"pod_name"`
PodStatus string `json:"pod_status"`
}
2021-04-27 11:13:54 +08:00
// ByPodName implements sort.Interface for []*AppPod based on
// the PodName field.
type ByPodName []*AppPod
func (a ByPodName) Len() int { return len(a) }
func (a ByPodName) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a ByPodName) Less(i, j int) bool { return a[i].PodName < a[j].PodName }