types

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ProviderGithub ...
	ProviderGithub = "github"
	// ProviderGitlab ...
	ProviderGitlab = "gitlab"

	// ProviderGerrit
	ProviderGerrit = "gerrit"

	// ProviderCodehub
	ProviderCodehub = "codehub"

	// ProviderGitee
	ProviderGitee = "gitee"

	// ProviderOther
	ProviderOther = "other"
)
View Source
const DebugImage = "koderover.tencentcloudcr.com/koderover-public/zadig-debug:v0.1.0"
View Source
const DevmodeWorkDir = "/home/zadig/"
View Source
const DindContainerName = "dind"
View Source
const DindMountName = "zadig-docker"
View Source
const DindMountPath = "/var/lib/docker"
View Source
const DindStatefulSetName = "dind"
View Source
const IDEContainerNameDev = "dev"
View Source
const IDEContainerNameSidecar = "sidecar"
View Source
const IDESidecarImage = "koderover.tencentcloudcr.com/koderover-public/zgctl-sidecar:20220526172433-amd64"
View Source
const IstioLabelKeyInjection = "istio-injection"
View Source
const IstioLabelValueInjection = "enabled"
View Source
const (
	ScanningTypeSonar = "sonarQube"
)
View Source
const Zadig = "zadig"
View Source
const ZadigDomain = "zadig.koderover.com"

Variables

View Source
var OriginSpec = fmt.Sprintf("%s/origin", ZadigDomain)
View Source
var ZadigLabelKeyGlobalOwner = fmt.Sprintf("%s/owner", ZadigDomain)

Functions

This section is empty.

Types

type ActionRule added in v1.9.9

type ActionRule struct {
	Method          string       `json:"method"`
	Endpoint        string       `json:"endpoint"`
	ResourceType    string       `json:"resourceType,omitempty"`
	IDRegex         string       `json:"idRegex,omitempty"`
	MatchAttributes []*Attribute `json:"matchAttributes,omitempty"`
	Filter          bool         `json:"filter,omitempty"`
}

type Attribute added in v1.9.9

type Attribute struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type AuthType added in v1.9.9

type AuthType string
const (
	SSHAuthType                AuthType = "SSH"
	PrivateAccessTokenAuthType AuthType = "PrivateAccessToken"
)

type BranchFilterInfo added in v1.9.9

type BranchFilterInfo struct {
	// repository identifier
	CodehostID    int    `bson:"codehost_id"  json:"codehost_id"`
	RepoOwner     string `bson:"repo_owner"   json:"repo_owner"`
	RepoName      string `bson:"repo_name"    json:"repo_name"`
	RepoNamespace string `bson:"repo_namespace" json:"repo_namespace"`
	// actual regular expression filter
	FilterRegExp  string `bson:"filter_regexp"  json:"filter_regexp"`
	DefaultBranch string `bson:"default_branch" json:"default_branch"`
}

func (*BranchFilterInfo) GetNamespace added in v1.9.9

func (bf *BranchFilterInfo) GetNamespace() string

type Cache added in v1.9.9

type Cache struct {
	MediumType       MediumType       `json:"medium_type"       bson:"medium_type"`
	ObjectProperties ObjectProperties `json:"object_properties" bson:"object_properties"`
	NFSProperties    NFSProperties    `json:"nfs_properties"    bson:"nfs_properties"`
}

type CacheDirType added in v1.9.9

type CacheDirType string
const (
	WorkspaceCacheDir   CacheDirType = "workspace"
	UserDefinedCacheDir CacheDirType = "user_defined"
)

type CronTag added in v1.9.9

type CronTag string
const (
	CleanDockerTag CronTag = "CleanDockerTag"
)

type DindPod added in v1.9.9

type DindPod struct {
	ClusterID   string
	ClusterName string
	Pod         *corev1.Pod
}

type EnvType added in v1.9.9

type EnvType string
const (
	GeneralEnv EnvType = "general"
	ShareEnv   EnvType = "share"
)

type FileInfo

type FileInfo struct {
	// parent path of the file
	Parent string `json:"parent"`
	// base name of the file
	Name string `json:"name"`
	// length in bytes for regular files; system-dependent for others
	Size int64 `json:"size"`
	// file mode bits
	Mode os.FileMode `json:"mode"`
	// modification time
	ModTime int64 `json:"mod_time"`
	// abbreviation for Mode().IsDir()
	IsDir bool `json:"is_dir"`
}

FileInfo ...

type HTTPGetAction added in v1.9.9

type HTTPGetAction struct {
	Path                string        `bson:"path"                        json:"path"`
	Port                int           `bson:"port"                        json:"port"`
	Host                string        `bson:"-"                           json:"host,omitempty"`
	HTTPHeaders         []*HTTPHeader `bson:"http_headers"                json:"http_headers"`
	TimeOutSecond       int           `bson:"timeout_second"              json:"timeout_second"`
	ResponseSuccessFlag string        `bson:"response_success_flag"       json:"response_success_flag"`
}

type HTTPHeader added in v1.9.9

type HTTPHeader struct {
	Name  string `bson:"name"                 json:"name"`
	Value string `bson:"value"                json:"value"`
}

type JenkinsBuildParam added in v1.9.9

type JenkinsBuildParam struct {
	Name         string           `bson:"name,omitempty"                json:"name,omitempty"`
	Value        interface{}      `bson:"value,omitempty"               json:"value,omitempty"`
	Type         JenkinsParamType `bson:"type,omitempty"                json:"type,omitempty"`
	AutoGenerate bool             `bson:"auto_generate,omitempty"       json:"auto_generate,omitempty"`
	ChoiceOption []string         `bson:"choice_option,omitempty"       json:"choice_option,omitempty"`
}

type JenkinsParamType added in v1.9.9

type JenkinsParamType string
const (
	Str    JenkinsParamType = "string"
	Choice JenkinsParamType = "choice"
)

type JobStatus added in v1.9.9

type JobStatus string
const (
	JobSuccess JobStatus = "success"
	JobFail    JobStatus = "fail"
)

type MatchAttribute added in v1.9.9

type MatchAttribute struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type MediumType added in v1.9.9

type MediumType string
const (
	ObjectMedium MediumType = "object"
	NFSMedium    MediumType = "nfs"
)

type NFSProperties added in v1.9.9

type NFSProperties struct {
	ProvisionType    ProvisionType `json:"provision_type"      bson:"provision_type"`
	StorageClass     string        `json:"storage_class"       bson:"storage_class"`
	StorageSizeInGiB int64         `json:"storage_size_in_gib" bson:"storage_size_in_gib"`
	PVC              string        `json:"pvc"                 bson:"pvc"`
	Subpath          string        `json:"subpath"             bson:"subpath"`
}

type ObjectProperties added in v1.9.9

type ObjectProperties struct {
	ID string `json:"id" bson:"id"`
}

Note: In the current design, when the object storage is used as the cache medium, the default object storage will be used as the cache medium, but in the near future users may be allowed to select different object storage as the cache medium according to the cluster. So it is temporarily reserved in `v1.10.0`, but do not use.

type ObjectStorageInfo added in v1.9.9

type ObjectStorageInfo struct {
	Endpoint string `bson:"endpoint" json:"endpoint" yaml:"endpoint"`
	AK       string `bson:"AK"       json:"AK"       yaml:"AK"`
	SK       string `bson:"SK"       json:"SK"       yaml:"SK"`
	Bucket   string `bson:"bucket"   json:"bucket"   yaml:"bucket"`
	Insecure bool   `bson:"insecure" json:"insecure" yaml:"insecure"`
	Provider int8   `bson:"provider" json:"provider" yaml:"provider"`
}

type ObjectStoragePathDetail added in v1.9.9

type ObjectStoragePathDetail struct {
	FilePath        string `bson:"file_path" json:"file_path" yaml:"file_path"`
	AbsFilePath     string `bson:"abs_file_path" json:"abs_file_path" yaml:"abs_file_path"`
	DestinationPath string `bson:"dest_path" json:"dest_path" yaml:"dest_path"`
}

type Policy added in v1.9.9

type Policy struct {
	Name        string  `json:"name"`
	Description string  `json:"description"`
	UpdateTime  int64   `json:"update_time"`
	Rules       []*Rule `json:"rules"`
}

type PolicyMeta added in v1.9.9

type PolicyMeta struct {
	Resource    string      `json:"resource"`
	Alias       string      `json:"alias"`
	Description string      `json:"description"`
	Rules       []*RuleMeta `json:"rules"`
}

type PolicyMetaScope added in v1.9.9

type PolicyMetaScope string

PolicyMetaScope resource scope for permission

const (
	SystemScope  PolicyMetaScope = "system"
	ProjectScope PolicyMetaScope = "project"
)

type PolicyRule added in v1.9.9

type PolicyRule struct {
	Methods  []string `json:"methods"`
	Endpoint string   `json:"endpoint"`
}

type Probe added in v1.9.9

type Probe struct {
	ProbeScheme string         `bson:"probe_type"                 json:"probe_type"`
	HttpProbe   *HTTPGetAction `bson:"http_probe"                 json:"http_probe"`
}

type ProvisionType added in v1.9.9

type ProvisionType string
const (
	DynamicProvision ProvisionType = "dynamic"
	StaticProvision  ProvisionType = "static"
)

type ReaperType added in v1.9.9

type ReaperType string
const (
	BuildReaperType    ReaperType = "Build"
	TestReaperType     ReaperType = "Test"
	ScanningReaperType ReaperType = "Scanning"
)

type Repository

type Repository struct {
	Source        string `bson:"source,omitempty"          json:"source,omitempty"         yaml:"source,omitempty"`
	RepoOwner     string `bson:"repo_owner"                json:"repo_owner"               yaml:"repo_owner"`
	RepoNamespace string `bson:"repo_namespace"            json:"repo_namespace"           yaml:"repo_namespace"`
	RepoName      string `bson:"repo_name"                 json:"repo_name"                yaml:"repo_name"`
	RemoteName    string `bson:"remote_name,omitempty"     json:"remote_name,omitempty"    yaml:"remote_name,omitempty"`
	Branch        string `bson:"branch"                    json:"branch"                   yaml:"branch"`
	PR            int    `bson:"pr,omitempty"              json:"pr,omitempty"             yaml:"pr,omitempty"`
	Tag           string `bson:"tag,omitempty"             json:"tag,omitempty"            yaml:"tag,omitempty"`
	CommitID      string `bson:"commit_id,omitempty"       json:"commit_id,omitempty"      yaml:"commit_id,omitempty"`
	CommitMessage string `bson:"commit_message,omitempty"  json:"commit_message,omitempty" yaml:"commit_message,omitempty"`
	CheckoutPath  string `bson:"checkout_path,omitempty"   json:"checkout_path,omitempty"  yaml:"checkout_path,omitempty"`
	SubModules    bool   `bson:"submodules,omitempty"      json:"submodules,omitempty"     yaml:"submodules,omitempty"`
	// UseDefault defines if the repo can be configured in start pipeline task page
	UseDefault bool `bson:"use_default,omitempty"          json:"use_default,omitempty"    yaml:"use_default,omitempty"`
	// IsPrimary used to generated image and package name, each build has one primary repo
	IsPrimary  bool `bson:"is_primary"                     json:"is_primary"               yaml:"is_primary"`
	CodehostID int  `bson:"codehost_id"                    json:"codehost_id"              yaml:"codehost_id"`
	// add
	OauthToken  string `bson:"oauth_token"                  json:"oauth_token"             yaml:"oauth_token"`
	Address     string `bson:"address"                      json:"address"                 yaml:"address"`
	AuthorName  string `bson:"author_name,omitempty"        json:"author_name,omitempty"   yaml:"author_name,omitempty"`
	CheckoutRef string `bson:"checkout_ref,omitempty"       json:"checkout_ref,omitempty"  yaml:"checkout_ref,omitempty"`
	// codehub
	ProjectUUID string `bson:"project_uuid,omitempty"       json:"project_uuid,omitempty"  yaml:"project_uuid,omitempty"`
	RepoUUID    string `bson:"repo_uuid,omitempty"          json:"repo_uuid,omitempty"     yaml:"repo_uuid,omitempty"`
	RepoID      string `bson:"repo_id,omitempty"            json:"repo_id,omitempty"       yaml:"repo_id,omitempty"`
	Username    string `bson:"username,omitempty"           json:"username,omitempty"      yaml:"username,omitempty"`
	Password    string `bson:"password,omitempty"           json:"password,omitempty"      yaml:"password,omitempty"`
	// Now EnableProxy is not something we store. We decide this on runtime
	EnableProxy bool `bson:"-"       json:"enable_proxy,omitempty"                         yaml:"enable_proxy,omitempty"`
	// FilterRegexp is the regular expression filter for the branches and tags
	FilterRegexp string `bson:"-"    json:"filter_regexp,omitempty"                        yaml:"filter_regexp,omitempty"`
	// The address of the code base input of the other type
	AuthType           AuthType `bson:"auth_type,omitempty"             json:"auth_type,omitempty"               yaml:"auth_type,omitempty"`
	SSHKey             string   `bson:"ssh_key,omitempty"               json:"ssh_key,omitempty"                 yaml:"ssh_key,omitempty"`
	PrivateAccessToken string   `bson:"private_access_token,omitempty"  json:"private_access_token,omitempty"    yaml:"private_access_token,omitempty"`
}

Repository struct

func (*Repository) BranchRef added in v1.9.9

func (r *Repository) BranchRef() string

BranchRef returns branch refs format e.g. refs/heads/master

func (*Repository) GetReleaseCandidateTag

func (repo *Repository) GetReleaseCandidateTag(taskID int64) string

GetReleaseCandidateTag 返回待发布对象Tag Branch: 20060102150405-{TaskID}-master PR: 20060102150405-{TaskID}-pr-1765 Branch + PR: 20060102150405-{TaskID}-master-pr-1276 Tag: 20060102150405-{TaskID}-v0.9.1

func (*Repository) GetRepoNamespace added in v1.9.9

func (repo *Repository) GetRepoNamespace() string

func (*Repository) PRRef added in v1.9.9

func (r *Repository) PRRef() string

PRRef returns refs format It will check repo provider type, by default returns github refs format.

e.g. github returns refs/pull/1/head e.g. gitlab returns merge-requests/1/head

func (*Repository) Ref added in v1.9.9

func (r *Repository) Ref() string

Ref returns the changes ref of current repo in the following order: 1. tag ref 2. branch ref 3. pr ref

func (*Repository) TagRef added in v1.9.9

func (r *Repository) TagRef() string

TagRef returns the tag ref of current repo e.g. refs/tags/v1.0.0

type RoleBinding added in v1.9.9

type RoleBinding struct {
	Name   string               `json:"name"`
	UID    string               `json:"uid"`
	Role   string               `json:"role"`
	Preset bool                 `json:"preset"`
	Type   setting.ResourceType `json:"type"`
}

type Rule added in v1.9.9

type Rule struct {
	Verbs           []string         `json:"verbs"`
	Resources       []string         `json:"resources"`
	Kind            string           `json:"kind"`
	MatchAttributes []MatchAttribute `json:"match_attributes"`
}

type RuleMeta added in v1.9.9

type RuleMeta struct {
	Action      string        `json:"action"`
	Alias       string        `json:"alias"`
	Description string        `json:"description"`
	Rules       []*ActionRule `json:"rules"`
}

type ScanningAdvancedSetting added in v1.12.0

type ScanningAdvancedSetting struct {
	ClusterID  string              `bson:"cluster_id"   json:"cluster_id"`
	Timeout    int64               `bson:"timeout"      json:"timeout"`
	ResReq     setting.Request     `bson:"res_req"      json:"res_req"`
	ResReqSpec setting.RequestSpec `bson:"res_req_spec" json:"res_req_spec"`
	HookCtl    *ScanningHookCtl    `bson:"hook_ctl"     json:"hook_ctl"`
}

type ScanningHook added in v1.12.0

type ScanningHook struct {
	CodehostID   int                    `bson:"codehost_id"   json:"codehost_id"`
	Source       string                 `bson:"source"        json:"source"`
	RepoOwner    string                 `bson:"repo_owner"    json:"repo_owner"`
	RepoName     string                 `bson:"repo_name"     json:"repo_name"`
	Branch       string                 `bson:"branch"        json:"branch"`
	Events       []config.HookEventType `bson:"events"        json:"events"`
	MatchFolders []string               `bson:"match_folders" json:"match_folders"`
}

type ScanningHookCtl added in v1.12.0

type ScanningHookCtl struct {
	Enabled bool            `bson:"enabled" json:"enabled"`
	Items   []*ScanningHook `bson:"items"   json:"items"`
}

type SonarInfo added in v1.12.0

type SonarInfo struct {
	ServerAddress string `bson:"server_address" json:"server_address"`
	Token         string `bson:"token"          json:"token"`
}

type StartDevmodeInfo added in v1.9.9

type StartDevmodeInfo struct {
	DevImage string `json:"dev_image"`
}

type StorageClassType added in v1.9.9

type StorageClassType string
const (
	StorageClassAll StorageClassType = "all"
)

type UserCountByType added in v1.9.9

type UserCountByType struct {
	IdentityType string `gorm:"default:'unknown'" json:"identity_type" gorm:"identity_type"`
	Count        int64  `json:"count" gorm:"count"`
}

type UserInfo added in v1.9.9

type UserInfo struct {
	LastLoginTime      int64          `json:"last_login_time"`
	Uid                string         `json:"uid"`
	Name               string         `json:"name"`
	IdentityType       string         `gorm:"default:'unknown'" json:"identity_type"`
	Email              string         `json:"email"`
	Phone              string         `json:"phone"`
	Account            string         `json:"account"`
	APIToken           string         `json:"token"`
	SystemRoleBindings []*RoleBinding `json:"system_role_bindings"`
	Admin              bool           `json:"admin"`
}

type UserStatistics added in v1.9.9

type UserStatistics struct {
	UserByType []*UserCountByType `json:"user_info"`
	ActiveUser int64              `json:"active_user"`
}

type UsersResp added in v1.9.9

type UsersResp struct {
	Users      []UserInfo `json:"users"`
	TotalCount int64      `json:"total_count"`
}

type WorkloadInfo added in v1.9.9

type WorkloadInfo struct {
	PodName      string `json:"pod_name"`
	PodNamespace string `json:"pod_namespace"`
}

type WorkloadType added in v1.9.9

type WorkloadType string
const (
	DeploymentWorkload  WorkloadType = "deployment"
	StatefulSetWorkload WorkloadType = "statefulset"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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