Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { BaseModel // 应用名称 Name string `gorm:"column:name;type:varchar(32)" json:"name"` // 应用分组 Tag string `gorm:"column:tag;type:varchar(32)" json:"tag"` // 应用调用地址 对外 URL string `gorm:"column:url;type:varchar(256)" json:"url"` // 应用调用地址对内 InternalURL string `gorm:"column:internal_url;type:varchar(256)" json:"internal_url"` // 应用调用端口(对内或对外) Port int `gorm:"column:port;type:int(11)" json:"port"` // 应用功能描述 Desc string `gorm:"column:desc;type:varchar(512)" json:"desc"` // 是否核心链路 IsImportant uint `gorm:"column:is_important;type:tinyint(11):default:0" json:"is_important"` // 仓库地址 RepositoryURL string `gorm:"column:repository_url;type:varchar(256)" json:"repository_url"` // 仓库 id gitlab 使用仓库 id 进行数据筛选 RepositoryID int `gorm:"column:repository_id;type:int(11)" json:"repository_id"` // 部署目录 DeployDir string `gorm:"column:deploy_dir;type:varchar(256)" json:"deploy_dir"` // 应用监控地址 MonitorURL string `gorm:"column:monitor_url;type:varchar(256)" json:"monitor_url"` // 更新代码命令 UpdateCodeCmd string `gorm:"column:update_code_cmd;type:varchar(512)" json:"update_code_cmd"` // 重启服务命令 ReloadServiceCmd string `gorm:"column:reload_service_cmd;type:varchar(512)" json:"reload_service_cmd"` // 检测服务命令 CheckServiceCmd string `gorm:"column:check_service_cmd;type:varchar(512)" json:"check_service_cmd"` // 命令名称 CmdName string `gorm:"column:cmd_name;type:varchar(512)" json:"cmd_name"` // 命令目录 CmdDir string `gorm:"column:cmd_dir;type:varchar(512)" json:"cmd_dir"` }
App for application 应用是具有完整业务逻辑的一个或一组服务 应用一般是对外的服务,比如合作方的一个页面就属于一个应用,为某个客户端直接提供服务的也属于一个应用
type BaseModel ¶
type BaseModel struct { CreatedAt time.Time `gorm:"column:created_at;type:datetime;not null" json:"updated_at,omitempty"` UpdatedAt time.Time `gorm:"column:updated_at;type:datetime;not null" json:"created_at,omitempty"` ID int `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id,omitempty"` }
BaseModel for all devops model
type CloudAvailableRegion ¶
type CloudAvailableRegion struct { BaseModel Region string `gorm:"column:region;type:varchar(64)" json:"region"` }
CloudAvailableRegion for cloud region
type Computer ¶
type Computer struct { BaseModel CPU uint `gorm:"column:cpu;type:int(11);default:0" json:"cpu"` RAM uint `gorm:"column:ram;type:int(11);default:0" json:"ram"` // 云平台资源 id HostID string `gorm:"column:host_id;type:varchar(32):default:''" json:"host_id"` // 云平台 tag HostTag string `gorm:"column:host_tag;type:varchar(32):default:''" json:"host_tag"` // 云平台 name HostName string `gorm:"column:host_name;type:varchar(32):default:''" json:"host_name"` PrivateIP string `gorm:"column:private_ip;type:varchar(32):default:''" json:"private_ip"` PublicIP string `gorm:"column:public_ip;type:varchar(32):default:''" json:"public_ip"` }
Computer 机器
type ComputerRole ¶
type ComputerRole struct { BaseModel // 应用 id AppID int `gorm:"column:app_id;type:int(11);default:0" json:"app_id,omitempty"` HostID string `gorm:"column:host_id;type:varchar(32);default:''" json:"host_id"` // Tag string `gorm:"column:tag;type:varchar(32):default:”" json:"tag"` // Name string `gorm:"column:name;type:varchar(32):default:”" json:"name"` //0 未注册 1 已注册 RegisterStatus int `gorm:"column:register_status;type:varchar(32):default:''" json:"register_status"` }
ComputerRole 主机角色和app通过 tag 和 name 进行关联
type Deploy ¶
type Deploy struct { BaseModel // 应用id AppID int `gorm:"column:app_id;type:int(11)" json:"app_id,omitempty"` // 上线commit 号 CommitID string `gorm:"column:commit_id;type:varchar(64)" json:"commit_id"` // 描述 Desc string `gorm:"column:desc;type:varchar(512)" json:"desc"` // 上线标签 CommitTag string `gorm:"column:commit_tag;type:varchar(64)" json:"commit_tag,omitempty"` // 回滚标签 RollbackTag string `gorm:"column:rollback_tag;type:varchar(64)" json:"rollback_tag,omitempty"` // 回滚 commit 号 RollbackID string `gorm:"column:rollback_id;type:varchar(64)" json:"rollback_id,omitempty"` // 一次部署多少台 Max int `gorm:"column:max;type:int(11);default:1" json:"max"` // 每次更新主机之后等待多久 Interval int `gorm:"column:interval;type:int(11);default:0" json:"interval"` // 上线状态 new,success,fail,doing,rollback Status string `gorm:"column:status;type:varchar(12)" json:"status"` StartedAt time.Time `gorm:"column:started_at;type:datetime;not null" json:"started_at"` FinishedAt time.Time `gorm:"column:finished_at;type:datetime;not null" json:"finished_at"` // 单次部署的主机列表 Hosts string `gorm:"column:hosts;type:varchar(256)" json:"hosts"` // 二进制包 BinaryURL string `gorm:"column:binary_url;type:varchar(256)" json:"binary_url"` }
Deploy task for deploy
type Disk ¶
type Disk struct { BaseModel // 容量 Size int `gorm:"column:size;type:int(11);default:0" json:"size"` // 剩余容量 Left int `gorm:"column:left;type:int(11):default:0" json:"left"` // 机器 id ComputerID int `gorm:"column:computer_id;type:int(11)" json:"computer_id"` }
Disk 磁盘
type Domain ¶
type Domain struct { BaseModel Name string `gorm:"column:name;type:varchar(256)" json:"name"` Host string `gorm:"column:host;type:varchar(256)" json:"host"` Private uint `gorm:"column:private;type:tinyint;not null;default:0" json:"private"` IP string `gorm:"column:ip;type:varchar(256);" json:"ip"` }
Domain model 域名 顶级或二级域名
type Service ¶
type Service struct { BaseModel // 服务名称 Name string `gorm:"column:name;type:varchar(256)" json:"name"` // 服务地址(对内或对外) URL string `gorm:"column:url;type:varchar(256)" json:"url"` // 服务功能描述 Desc string `gorm:"column:desc;type:varchar(512)" json:"desc"` // 是否核心链路 IsImportant uint `gorm:"column:is_important;type:tinyint(11):default:0" json:"is_important"` // 仓库地址 RepositoryURL string `gorm:"column:repository_url;type:varchar(256)" json:"repository_url"` // 部署目录 DeployDir string `gorm:"column:deploy_dir;type:varchar(256)" json:"deploy_dir"` // 服务监控地址 MonitorURL string `gorm:"column:monitor_url;type:varchar(256)" json:"monitor_url"` }
Service 服务�是具有单一职责的一个完整的应用 app,一般对应一个地址,可以外部地址或内部地址,地址可以是一个域名或一个路径。 服务包括基础服务和应用服务 基础服务 提供应用服务基础功能的服务,比如数据库服务、消息队列服务、缓存服务等等 应用服务 执行特定功能的服务,比如认证鉴权、商品列表、订单交易等,应用服务一般是对内服务
Click to show internal directories.
Click to hide internal directories.