types

package
v1.18.0 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResourceTypeWorkflow    = "workflow"
	ResourceTypeEnvironment = "environment"
	ResourceTypeTest        = "test"

	WorkflowTypeCustomeWorkflow = "common_workflow"
)

collaboration mode resource type

View Source
const (
	// workflow actions for collaboration
	WorkflowActionView  = "get_workflow"
	WorkflowActionEdit  = "edit_workflow"
	WorkflowActionRun   = "run_workflow"
	WorkflowActionDebug = "debug_workflow"
	// env actions for collaboration
	EnvActionView       = "get_environment"
	EnvActionEditConfig = "config_environment"
	EnvActionManagePod  = "manage_environment"
	EnvActionDebug      = "debug_pod"
	// production env actions
	ProductionEnvActionView       = "get_production_environment"
	ProductionEnvActionEditConfig = "config_production_environment"
	ProductionEnvActionManagePod  = "edit_production_environment"
	// test actions
	TestActionView = "get_test"
	// scan actions
	ScanActionView = "get_scan"
	// service actions
	ServiceActionView = "get_service"
	// build actions
	BuildActionView = "get_build"
	// delivery actions
	DeliveryActionView = "get_delivery"
)

collaboration mode resource actions

View Source
const (
	JobResultKey  = "job-result"
	JobOutputsKey = "job-outputs"

	JobDebugStatusKey    = "job-debug-status"
	JobDebugStatusBefore = "before"
	JobDebugStatusAfter  = "after"
	JobDebugStatusNotIn  = "not-in"
)
View Source
const (
	ZadigReleaseVersionLabelKey     = "zadigx-release-version"
	ZadigReleaseTypeLabelKey        = "zadigx-release-type"
	ZadigReleaseServiceNameLabelKey = "zadigx-release-service-name"
	ZadigReleaseMSEGrayTagLabelKey  = "alicloud.service.tag"
)
View Source
const (
	ZadigReleaseVersionOriginal = "original"
	ZadigReleaseTypeMseGray     = "mse-gray"
)
View Source
const (
	// ProviderGithub ...
	ProviderGithub = "github"
	// ProviderGitlab ...
	ProviderGitlab = "gitlab"

	// ProviderGerrit
	ProviderGerrit = "gerrit"

	// ProviderCodehub
	ProviderCodehub = "codehub"

	// ProviderGitee
	ProviderGitee = "gitee"

	// ProviderGiteeEE
	ProviderGiteeEE = "gitee-enterprise"

	// 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

func GetShareStorageSubPath added in v1.9.9

func GetShareStorageSubPath(workflowName, storageName string, taskID int64) string

func GetShareStorageSubPathPrefix added in v1.9.9

func GetShareStorageSubPathPrefix(workflowName string, taskID int64) string

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 CheckCollaborationModePermissionReq added in v1.9.9

type CheckCollaborationModePermissionReq struct {
	UID          string `json:"uid" form:"uid"`
	ProjectKey   string `json:"project_key" form:"project_key"`
	Resource     string `json:"resource" form:"resource"`
	ResourceName string `json:"resource_name" form:"resource_name"`
	Action       string `json:"action" form:"action"`
}

type CheckCollaborationModePermissionResp added in v1.9.9

type CheckCollaborationModePermissionResp struct {
	HasPermission bool   `json:"has_permission"`
	Error         string `json:"error"`
}

type CollaborationEnvPermission added in v1.9.9

type CollaborationEnvPermission struct {
	Error       string   `json:"error"`
	ReadEnvList []string `json:"read_env_list"`
	EditEnvList []string `json:"edit_env_list"`
}

type CronTag added in v1.9.9

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

type CronjobResource added in v1.9.9

type CronjobResource struct {
	APIVersion string `yaml:"apiVersion"`
	Kind       string `yaml:"kind"`
	Metadata   struct {
		Name string `yaml:"name"`
	} `yaml:"metadata"`
	Spec struct {
		Template struct {
			Spec struct {
				Template struct {
					Spec struct {
						Containers []map[string]interface{} `yaml:"containers"`
					} `yaml:"spec"`
				} `yaml:"template"`
			} `yaml:"spec"`
		} `yaml:"jobTemplate"`
	} `yaml:"spec"`
}

type CustomTheme added in v1.9.9

type CustomTheme struct {
	BorderGray               string `json:"border_gray"`
	FontGray                 string `json:"font_gray"`
	FontLightGray            string `json:"font_light_gray"`
	ThemeColor               string `json:"theme_color"`
	ThemeBorderColor         string `json:"theme_border_color"`
	ThemeBackgroundColor     string `json:"theme_background_color"`
	ThemeLightColor          string `json:"theme_light_color"`
	BackgroundColor          string `json:"background_color"`
	GlobalBackgroundColor    string `json:"global_background_color"`
	Success                  string `json:"success"`
	Danger                   string `json:"danger"`
	Warning                  string `json:"warning"`
	Info                     string `json:"info"`
	Primary                  string `json:"primary"`
	WarningLight             string `json:"warning_light"`
	NotRunning               string `json:"not_running"`
	PrimaryColor             string `json:"primary_color"`
	SecondaryColor           string `json:"secondary_color"`
	SidebarBg                string `json:"sidebar_bg"`
	SidebarActiveColor       string `json:"sidebar_active_color"`
	ProjectItemIconColor     string `json:"project_item_icon_color"`
	ProjectNameColor         string `json:"project_name_color"`
	TableCellBackgroundColor string `json:"table_cell_background_color"`
	LinkColor                string `json:"link_color"`
}

type DindPod added in v1.9.9

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

type DockerBuildInfo added in v1.9.9

type DockerBuildInfo struct {
	WorkingDirectory    string `json:"working_directory"`
	DockerfileType      string `json:"dockerfile_type"` // it can be of local or template type
	DockerfileDirectory string `json:"dockerfile_directory"`
	BuildArgs           string `json:"build_args"`
	// when the dockerfile type is template, this field will be used to find the ID of the template
	TemplateName string `json:"template_name"`
	TemplateID   string `json:"template_id"`
}

DockerBuildInfo is the struct for docker build in the product workflow Mind that the templateID will be empty in the openAPI mode

type EnvType added in v1.9.9

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

type ExternalParamMapping added in v1.9.9

type ExternalParamMapping struct {
	// zadig parameter key
	ParamKey string `json:"param_key"`
	// response parameter key
	ResponseKey string `json:"response_key"`
	Display     bool   `json:"display"`
}

type ExternalSetting added in v1.9.9

type ExternalSetting struct {
	SystemID string                  `json:"system_id"`
	Endpoint string                  `json:"endpoint"`
	Method   string                  `json:"method"`
	Headers  []*KV                   `json:"headers"`
	Body     string                  `json:"body"`
	Params   []*ExternalParamMapping `json:"params"`
}

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 KV added in v1.9.9

type KV struct {
	Key          string `json:"key"`
	Value        string `json:"value"`
	Type         string `json:"type,omitempty"`
	IsCredential bool   `json:"is_credential,omitempty"`
}

type KubeResource added in v1.9.9

type KubeResource struct {
	APIVersion string `yaml:"apiVersion"`
	Kind       string `yaml:"kind"`
	Metadata   struct {
		Name string `yaml:"name"`
	} `yaml:"metadata"`
	Spec struct {
		Template struct {
			Spec struct {
				Containers []map[string]interface{} `yaml:"containers"`
			} `yaml:"spec"`
		} `yaml:"template"`
	} `yaml:"spec"`
}

type KubeResourceKind added in v1.9.9

type KubeResourceKind struct {
	APIVersion string `yaml:"apiVersion"`
	Kind       string `yaml:"kind"`
	Metadata   struct {
		Name string `yaml:"name"`
	} `yaml:"metadata"`
}

type ListAuthorizedEnvsReq added in v1.9.9

type ListAuthorizedEnvsReq struct {
	UID        string `json:"uid" form:"uid"`
	ProjectKey string `json:"project_key" form:"project_key"`
}

type ListAuthorizedProjectResp added in v1.9.9

type ListAuthorizedProjectResp struct {
	ProjectList []string `json:"project_list"`
	Found       bool     `json:"found"`
	Error       string   `json:"error"`
}

type ListAuthorizedWorkflowsReq added in v1.9.9

type ListAuthorizedWorkflowsReq struct {
	UID        string `json:"uid" form:"uid"`
	ProjectKey string `json:"project_key" form:"project_key"`
}

type ListAuthorizedWorkflowsResp added in v1.9.9

type ListAuthorizedWorkflowsResp struct {
	WorkflowList       []string `json:"workflow_list"`
	CustomWorkflowList []string `json:"custom_workflow_list"`
	Error              string   `json:"error"`
}

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"         yaml:"provision_type"`
	StorageClass     string        `json:"storage_class"       bson:"storage_class"          yaml:"storage_class"`
	StorageSizeInGiB int64         `json:"storage_size_in_gib" bson:"storage_size_in_gib"    yaml:"storage_size_in_gib"`
	PVC              string        `json:"pvc"                 bson:"pvc"                    yaml:"pvc"`
	Subpath          string        `json:"subpath"             bson:"subpath"                yaml:"subpath"`
}

type NacosConfig added in v1.9.9

type NacosConfig struct {
	DataID  string `bson:"data_id"                 json:"data_id"                 yaml:"data_id"`
	Group   string `bson:"group"                   json:"group"                   yaml:"group"`
	Desc    string `bson:"description,omitempty"   json:"description,omitempty"   yaml:"description,omitempty"`
	Format  string `bson:"format,omitempty"        json:"format,omitempty"        yaml:"format,omitempty"`
	Content string `bson:"content,omitempty"       json:"content,omitempty"       yaml:"content,omitempty"`
}

type NacosNamespace added in v1.9.9

type NacosNamespace struct {
	NamespaceID    string `json:"namespace_id"`
	NamespacedName string `json:"namespace_name"`
}

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"`
	Region   string `bson:"region"   json:"region"   yaml:"region"`
}

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 OpenAPIAdvancedSetting added in v1.9.9

type OpenAPIAdvancedSetting struct {
	ClusterName string                 `json:"cluster_name"`
	Timeout     int64                  `json:"timeout"`
	Spec        setting.RequestSpec    `json:"resource_spec"`
	Webhooks    *OpenAPIWebhookSetting `json:"webhooks,omitempty"`
	// Cache settings is for build only for now, remove this line if there are further changes
	CacheSetting        *OpenAPICacheSetting `json:"cache_setting"`
	UseHostDockerDaemon bool                 `json:"use_host_docker_daemon"`
}

type OpenAPICacheSetting added in v1.9.9

type OpenAPICacheSetting struct {
	Enabled  bool   `json:"enabled"`
	CacheDir string `json:"cache_dir"`
}

type OpenAPIRepoInput added in v1.9.9

type OpenAPIRepoInput struct {
	CodeHostName  string `json:"codehost_name"`
	RepoNamespace string `json:"repo_namespace"`
	RepoName      string `json:"repo_name"`
	Branch        string `json:"branch"`
	PR            int    `json:"pr"`
	PRs           []int  `json:"prs"`
	RemoteName    string `json:"remote_name"`
	CheckoutPath  string `json:"checkout_path"`
	SubModules    bool   `json:"submodules"`
}

type OpenAPIServiceBuildArgs added in v1.9.9

type OpenAPIServiceBuildArgs struct {
	ServiceModule string              `json:"service_module"`
	ServiceName   string              `json:"service_name"`
	RepoInfo      []*OpenAPIRepoInput `json:"repo_info"`
	Inputs        []*KV               `json:"inputs"`
}

type OpenAPIWebhookConfigDetail added in v1.9.9

type OpenAPIWebhookConfigDetail struct {
	CodeHostName  string                 `json:"codehost_name"`
	RepoNamespace string                 `json:"repo_namespace"`
	RepoName      string                 `json:"repo_name"`
	Branch        string                 `json:"branch"`
	Events        []config.HookEventType `json:"events"`
	MatchFolders  []string               `json:"match_folders"`
}

type OpenAPIWebhookSetting added in v1.9.9

type OpenAPIWebhookSetting struct {
	Enabled  bool                          `json:"enabled"`
	HookList []*OpenAPIWebhookConfigDetail `json:"hook_list"`
}

type ParameterSetting added in v1.9.9

type ParameterSetting struct {
	// External type parameter will NOT use this key.
	Key  string               `json:"key"`
	Type ParameterSettingType `json:"type"`
	//DefaultValue defines the default value of the parameter
	DefaultValue string `json:"default_value"`
	// choiceOption Are all options enumerated
	ChoiceOption []string `json:"choice_option"`
	// ExternalSetting It is the configuration of the external system to obtain the variable
	ExternalSetting *ExternalSetting `json:"external_setting"`
	IsCredential    bool             `json:"is_credential"`
}

type ParameterSettingType added in v1.9.9

type ParameterSettingType string
const (
	StringType   ParameterSettingType = "string"
	ChoiceType   ParameterSettingType = "choice"
	ExternalType ParameterSettingType = "external"
)

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 RepoSource added in v1.9.9

type RepoSource string
const (
	RepoSourceRuntime RepoSource = ""
	RepoSourceParam   RepoSource = "param"
	RepoSourceJob     RepoSource = "job"
)

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"`
	PRs           []int  `bson:"prs,omitempty"             json:"prs,omitempty"            yaml:"prs,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"`
	// Hidden defines whether the frontend needs to hide this repo
	Hidden bool `bson:"hidden" json:"hidden" yaml:"hidden"`
	// 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"`
	/*
		repo can come from params or other job, introduced in 1.3.1
	*/
	SourceFrom      RepoSource `bson:"source_from"               json:"source_from"                 yaml:"source_from"`
	GlobalParamName string     `bson:"param_name"    json:"param_name"    yaml:"param_name"`
	JobName         string     `bson:"job_name"      json:"job_name"      yaml:"job_name"`
	ServiceName     string     `bson:"service_name"  json:"service_name"  yaml:"service_name"`
	ServiceModule   string     `bson:"service_module" json:"service_module" yaml:"service_module"`
	JobRepoIndex    int        `bson:"repo_index" json:"repo_index" yaml:"repo_index"`
	SubmissionID    string     `bson:"submission_id" json:"submission_id" yaml:"submission_id"`
}

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) PRRefByPRID added in v1.9.9

func (r *Repository) PRRefByPRID(pr int) string

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 ShareStorage added in v1.9.9

type ShareStorage struct {
	MediumType    MediumType    `json:"medium_type"       bson:"medium_type"           yaml:"medium_type"`
	NFSProperties NFSProperties `json:"nfs_properties"    bson:"nfs_properties"        yaml:"nfs_properties"`
}

type SourceFrom added in v1.9.9

type SourceFrom struct {
	Enabled    bool       `bson:"enabled"       json:"enabled"       yaml:"enabled"`
	SourceType RepoSource `bson:"source_type"   json:"source_type"   yaml:"source_type"`
}

repo source, repo can come from params or other job

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 Theme added in v1.9.9

type Theme struct {
	ThemeType   string       `json:"theme_type"`
	CustomTheme *CustomTheme `json:"custom_theme"`
}

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 UserSetting added in v1.9.9

type UserSetting struct {
	Uid          string `json:"uid"`
	Theme        string `json:"theme"`
	LogBgColor   string `json:"log_bg_color"`
	LogFontColor string `json:"log_font_color"`
}

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