 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
      View Source
      
  
    const ( ARCH_X86 = "x86" ARCH_AMD64 = "amd64" ARCH_ARM64 = "arm64" )
      View Source
      
  
    const (
	APP_NAME = "artifact"
)
    
      View Source
      
  
const (
	RESOURCE_PREFIX = "art"
)
    Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifact ¶
type Artifact struct {
	// 制品Id, Hash(服务Id+分支+Commit)
	Id string `json:"id" bson:"_id" gorm:"column:id;primaryKey"`
	// 创建时间
	CreateAt time.Time `json:"create_at" bson:"create_at" gorm:"column:create_at"`
	// 制品信息
	ArtifactSpec
	// 资产清单 (镜像, Jar包, Helm Chat, Static Web Zip)
	Assets []Asset `json:"assets" bson:"-" gorm:"-"`
}
    制品
func NewArtifact ¶
func NewArtifact(req ArtifactSpec) *Artifact
func (*Artifact) GetFirstByLabel ¶
type ArtifactSpec ¶
type ArtifactSpec struct {
	// 服务Id, 关联得有仓库
	ServiceId string `json:"service_id" bson:"service_id" gorm:"column:service_id"`
	// 分支
	Branch string `json:"branch" bson:"branch" gorm:"column:branch"`
	// Commit号
	Commit string `json:"commit" bson:"commit" gorm:"column:commit"`
	// 制品版本(Tag)
	Version string `json:"version" bson:"version" gorm:"column:version"`
}
    type Asset ¶
type Asset struct {
	// 管理制品信息
	RefArtifactId string `json:"ref_artifact_id" bson:"ref_artifact_id" gorm:"column:ref_artifact_id;type:varchar(60)"`
	// 制品资产具体信息
	AssetSpec
}
    制品资产
type AssetSpec ¶
type AssetSpec struct {
	// 制品Id
	Id string `json:"id" bson:"_id" gorm:"column:id;primaryKey"`
	// 制品上传时间
	UploadAt time.Time `json:"upload_at" bson:"upload_at" gorm:"column:upload_at"`
	// 上传人
	UploadBy string `json:"upload_by" bson:"upload_by" gorm:"column:upload_by;type:varchar(60)"`
	// 制品格式
	Format FORMAT `json:"format" bson:"format" gorm:"column:format;type:varchar(60)"`
	// 资源URL
	URL string `json:"url" bson:"url" gorm:"column:url;type:varchar(120)"`
	// 架构, 能用于那些场景
	Arch ARCH `json:"arch" bson:"arch" gorm:"column:arch;type:varchar(60)"`
	// 资产标签, env=prod
	Lables map[string]string `json:"lables" bson:"lables" gorm:"column:lables;serializer:json;"`
	// 资产的其他属性
	Extras map[string]string `json:"extras" bson:"extras" gorm:"column:extras;serializer:json;"`
}
    type DescribeArtifactRequest ¶
type DescribeArtifactRequest struct {
	// 制品Id, Hash(应用Id+分支+Commit)
	Id string `json:"id" bson:"_id"`
}
    func NewDescribeArtifactRequest ¶
func NewDescribeArtifactRequest(artifactId string) *DescribeArtifactRequest
type QueryArtifactRequest ¶
type QueryArtifactRequest struct {
	// 分页参数
	request.PageRequest
	// 标签过滤
	Label map[string]string `json:"label"`
	// 应用Id
	ServiceId string `json:"service_id" bson:"service_id"`
	// 分支
	Branch string `json:"branch" bson:"branch"`
	// Commit号
	Commit string `json:"commit" bson:"commit"`
	//
	WithAssets bool `json:"with_assets" bson:"with_assets"`
}
    func NewQueryArtifactRequest ¶
func NewQueryArtifactRequest() *QueryArtifactRequest
type ReportArtifactRequest ¶
type ReportArtifactRequest struct {
	// 制品信息
	ArtifactSpec
	// 制品资产
	AssetSpec
}
    func NewReportArtifactRequest ¶
func NewReportArtifactRequest() *ReportArtifactRequest
type Service ¶
type Service interface {
	// 上报制品信息
	ReportArtifact(context.Context, *ReportArtifactRequest) (*Artifact, error)
	// 查询制品信息
	QueryArtifact(context.Context, *QueryArtifactRequest) (*types.Set[*Artifact], error)
	// 查询制品详情
	DescribeArtifact(context.Context, *DescribeArtifactRequest) (*Artifact, error)
}
    func GetService ¶
func GetService() Service
 Click to show internal directories. 
   Click to hide internal directories.