service

package
v1.9.9 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 88 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FavoriteTypeEnv = "environment"
)
View Source
const (
	InterceptCommitID = 8
)
View Source
const SplitSymbol = "&"

Variables

This section is empty.

Functions

func AddDeliveryVersion

func AddDeliveryVersion(taskID int, productName, workflowName string, pipelineTask *taskmodels.Task, logger *zap.SugaredLogger) error

func CancelTask

func CancelTask(userName, pipelineName string, taskID int64, typeString config.PipelineType, reqID string, log *zap.SugaredLogger) error

func CancelTaskV2

func CancelTaskV2(userName, pipelineName string, taskID int64, typeString config.PipelineType, requestID string, log *zap.SugaredLogger) error

func CancelWorkflowTaskV3 added in v1.8.0

func CancelWorkflowTaskV3(userName, pipelineName string, taskID int64, typeString config.PipelineType, requestID string, log *zap.SugaredLogger) error

func CopyAndUploadService added in v1.9.9

func CopyAndUploadService(projectName, serviceName, currentChartPath string, copies []string, isProduction bool) error

func CreateBuild

func CreateBuild(username string, build *commonmodels.Build, log *zap.SugaredLogger) error

func CreateDBInstance added in v1.9.9

func CreateDBInstance(args *commonmodels.DBInstance, log *zap.SugaredLogger) error

func CreateFavorite added in v1.9.9

func CreateFavorite(favorite *models.Favorite) error

func Delete

func Delete(name, productName string, log *zap.SugaredLogger) error

func DeleteClusterResource added in v1.9.9

func DeleteClusterResource(selector labels.Selector, clusterID string, log *zap.SugaredLogger) error

func DeleteDBInstance added in v1.9.9

func DeleteDBInstance(id string) error

func DeleteDeliveryInfos

func DeleteDeliveryInfos(productName string, log *zap.SugaredLogger) error

func DeleteFavorite added in v1.9.9

func DeleteFavorite(args *mongodb.FavoriteArgs) error

func DeleteManyFavorites added in v1.9.9

func DeleteManyFavorites(args *mongodb.FavoriteArgs) error

func DeleteNamespaceIfMatch added in v1.9.9

func DeleteNamespaceIfMatch(namespace string, selector labels.Selector, clusterID string, log *zap.SugaredLogger) error

func DeleteNamespacedResource added in v1.9.9

func DeleteNamespacedResource(namespace string, selector labels.Selector, clusterID string, log *zap.SugaredLogger) error

DeleteNamespacedResource deletes the namespaced resources by labels.

func DeletePipeline

func DeletePipeline(pipelineName, requestID string, isDeletingProductTmpl bool, log *zap.SugaredLogger) error

func DeletePipelines

func DeletePipelines(productName, requestID string, log *zap.SugaredLogger) error

func DeleteServiceWebhookByName added in v1.3.0

func DeleteServiceWebhookByName(serviceName, productName string, logger *zap.SugaredLogger)

func DeleteTestModule

func DeleteTestModule(name, productName, requestID string, log *zap.SugaredLogger) error

func DeleteWorkflow

func DeleteWorkflow(workflowName, requestID string, isDeletingProductTmpl bool, log *zap.SugaredLogger) error

func DeleteWorkflowV3 added in v1.8.0

func DeleteWorkflowV3(workflowID, workflowName, requestID string, log *zap.SugaredLogger) error

func DeleteWorkflowV3s added in v1.8.0

func DeleteWorkflowV3s(productName, requestID string, log *zap.SugaredLogger) error

func DeleteWorkflowV4 added in v1.9.9

func DeleteWorkflowV4(name string, logger *zap.SugaredLogger) error

func DeleteWorkflowV4sByProjectName added in v1.9.9

func DeleteWorkflowV4sByProjectName(projectName string, log *zap.SugaredLogger) error

func DeleteWorkflows

func DeleteWorkflows(productName, requestID string, log *zap.SugaredLogger) error

func DeleteZadigLabelFromNamespace added in v1.9.9

func DeleteZadigLabelFromNamespace(namespace string, clusterID string, log *zap.SugaredLogger) error

func DisableCronjobForWorkflow added in v1.9.9

func DisableCronjobForWorkflow(workflow *models.Workflow) error

func DisableCronjobForWorkflowV4 added in v1.9.9

func DisableCronjobForWorkflowV4(workflow *commonmodels.WorkflowV4) error

func EncryptKeyVals added in v1.9.9

func EncryptKeyVals(encryptedKey string, kvs []*commonmodels.KeyVal, logger *zap.SugaredLogger) error

func EncryptParams added in v1.9.9

func EncryptParams(encryptedKey string, params []*commonmodels.Param, logger *zap.SugaredLogger) error

func EnsureDefaultRegistrySecret

func EnsureDefaultRegistrySecret(namespace string, registryId string, kubeClient client.Client, log *zap.SugaredLogger) error

func EnsureResp

func EnsureResp(build *commonmodels.Build)

func EnsureSecretEnvs

func EnsureSecretEnvs(existedKVs []*commonmodels.KeyVal, newKVs []*commonmodels.KeyVal)

EnsureSecretEnvs 转换敏感信息前端传入的Mask内容为真实内容

func ExtractImageRegistry added in v1.8.0

func ExtractImageRegistry(imageURI string) (string, error)

ExtractImageRegistry extract registry url from total image uri

func ExtractImageTag added in v1.8.0

func ExtractImageTag(imageURI string) string

ExtractImageTag extract image tag from total image uri

func ExtractRegistryNamespace added in v1.8.0

func ExtractRegistryNamespace(imageURI string) string

ExtractRegistryNamespace extract registry namespace from image uri

func FillGitNamespace added in v1.9.9

func FillGitNamespace(yamlData *templatemodels.CustomYaml) error

func FillProductTemplateValuesYamls

func FillProductTemplateValuesYamls(tmpl *templatemodels.Product, production bool, log *zap.SugaredLogger) error

func FillServiceCreationInfo added in v1.9.9

func FillServiceCreationInfo(serviceTemplate *models.Service) error

func FillServiceModules2Jobs added in v1.9.9

func FillServiceModules2Jobs(args *commonmodels.WorkflowV4) (*commonmodels.WorkflowV4, bool, error)

func FilterWorkloadsByEnv added in v1.9.9

func FilterWorkloadsByEnv(exist []commonmodels.Workload, productName, env string) []commonmodels.Workload

func FindDBInstance added in v1.9.9

func FindDBInstance(id, name string) (*commonmodels.DBInstance, error)

func FindDefaultRegistry

func FindDefaultRegistry(getRealCredential bool, log *zap.SugaredLogger) (reg *models.RegistryNamespace, isSystemDefault bool, err error)

func FindRegistryById added in v1.8.0

func FindRegistryById(registryId string, getRealCredential bool, log *zap.SugaredLogger) (reg *models.RegistryNamespace, isSystemDefault bool, err error)

func FindReposByTarget added in v1.9.9

func FindReposByTarget(projectName, serviceName, serviceModule string, build *commonmodels.Build) []*types.Repository

func FindServiceFromIngress added in v1.9.9

func FindServiceFromIngress(hostInfos []resource.HostInfo, currentWorkload *Workload, allServices []*corev1.Service) []resource.HostInfo

func GetConfigPayload

func GetConfigPayload(codeHostID int) *models.ConfigPayload

func GetCreateFromChartTemplate added in v1.9.9

func GetCreateFromChartTemplate(createFrom interface{}) (*models.CreateFromChartTemplate, error)

func GetDefaultLLMClient added in v1.9.9

func GetDefaultLLMClient(ctx context.Context) (llm.ILLM, error)

func GetDeploymentWorkloadResource added in v1.9.9

func GetDeploymentWorkloadResource(d *appsv1.Deployment, informer informers.SharedInformerFactory, log *zap.SugaredLogger) *internalresource.Workload

func GetDockerfileTemplateContent added in v1.7.0

func GetDockerfileTemplateContent(id string) (string, error)

func GetEstimatedMergedVariables added in v1.9.9

func GetEstimatedMergedVariables(services []*commonmodels.Service, product *template.Product) (map[string]string, map[string][]*commontypes.ServiceVariableKV)

func GetGitlabAddress

func GetGitlabAddress(URL string) (string, error)

func GetHelmServiceName added in v1.7.1

func GetHelmServiceName(prod *models.Product, resType, resName string, kubeClient client.Client, version *version.Info) (string, error)

GetHelmServiceName get service name from annotations of resources deployed by helm resType currently only support Deployment, StatefulSet and CronJob this function needs to be optimized

func GetLLMClient added in v1.9.9

func GetLLMClient(ctx context.Context, name string) (llm.ILLM, error)

func GetLocalTestSuite

func GetLocalTestSuite(pipelineName, serviceName, testType string, taskID int64, testName string, typeString config.PipelineType, log *zap.SugaredLogger) (*commonmodels.TestReport, error)

func GetNacosClient added in v1.9.9

func GetNacosClient(nacosID string) (*nacos.Client, error)

func GetPipelineInfo

func GetPipelineInfo(pipelineName string, log *zap.SugaredLogger) (*commonmodels.Pipeline, error)

func GetProductEnvNamespace

func GetProductEnvNamespace(envName, productName, namespace string) string

func GetProductTargetMap added in v1.9.9

func GetProductTargetMap(prod *commonmodels.Product) (map[string][]commonmodels.DeployEnv, map[string]string)

func GetProductTemplate

func GetProductTemplate(productName string, log *zap.SugaredLogger) (*template.Product, error)

func GetProductionServiceTemplate added in v1.9.9

func GetProductionServiceTemplate(serviceName, serviceType, productName, excludeStatus string, revision int64, log *zap.SugaredLogger) (*commonmodels.Service, error)

GetProductionServiceTemplate is basically the same version of GetServiceTemplate, except that it does not support PM type service. And reads from production service coll.

func GetRSAKey added in v1.9.9

func GetRSAKey() ([]byte, []byte, error)

func GetServiceTasks

func GetServiceTasks(log *zap.SugaredLogger) (map[string][]string, error)

func GetServiceTemplate

func GetServiceTemplate(serviceName, serviceType, productName, excludeStatus string, revision int64, log *zap.SugaredLogger) (*commonmodels.Service, error)

func GetSubTaskContent

func GetSubTaskContent(deliveryVersion *commonmodels.DeliveryVersion, pipelineTask *taskmodels.Task, log *zap.SugaredLogger)

TODO: LOU rewrite it

func GetWorkflowTaskCallback added in v1.9.9

func GetWorkflowTaskCallback(taskID int64, pipelineName string) (*commonmodels.CallbackRequest, error)

func GetWorkflowV4LocalTestSuite added in v1.9.9

func GetWorkflowV4LocalTestSuite(workflowName, jobName string, taskID int64, log *zap.SugaredLogger) (*commonmodels.TestReport, error)

func HandleCallback added in v1.8.0

func HandleCallback(req *commonmodels.CallbackRequest) error

func InsertDeliveryTest

func InsertDeliveryTest(args *commonmodels.DeliveryTest, log *zap.SugaredLogger) error

func InsertDeliveryVersion

func InsertDeliveryVersion(args *commonmodels.DeliveryVersion, log *zap.SugaredLogger) error

func List

func List(log *zap.SugaredLogger) []*models.Queue

func ListDBInstances added in v1.9.9

func ListDBInstances(encryptedKey string, log *zap.SugaredLogger) ([]*commonmodels.DBInstance, error)

func ListDBInstancesInfo added in v1.9.9

func ListDBInstancesInfo(log *zap.SugaredLogger) ([]*commonmodels.DBInstance, error)

func ListDBInstancesInfoByProject added in v1.9.9

func ListDBInstancesInfoByProject(projectName string, log *zap.SugaredLogger) ([]*commonmodels.DBInstance, error)

func ListFavorites added in v1.9.9

func ListFavorites(args *mongodb.FavoriteArgs) ([]*models.Favorite, error)

func ListHelmRepos

func ListHelmRepos(encryptedKey string, log *zap.SugaredLogger) ([]*commonmodels.HelmRepo, error)

func ListHelmReposByProject added in v1.9.9

func ListHelmReposByProject(projectName string, log *zap.SugaredLogger) ([]*commonmodels.HelmRepo, error)

func ListHelmReposPublic added in v1.9.9

func ListHelmReposPublic() ([]*commonmodels.HelmRepo, error)

func ListNacosConfig added in v1.9.9

func ListNacosConfig(nacosID, namespaceID string, log *zap.SugaredLogger) ([]*types.NacosConfig, error)

func ListNacosNamespace added in v1.9.9

func ListNacosNamespace(nacosID string, log *zap.SugaredLogger) ([]*types.NacosNamespace, error)

func ListRegistryByProject added in v1.9.9

func ListRegistryByProject(projectName string, log *zap.SugaredLogger) ([]*models.RegistryNamespace, error)

func ListRegistryNamespaces

func ListRegistryNamespaces(encryptedKey string, getRealCredential bool, log *zap.SugaredLogger) ([]*models.RegistryNamespace, error)

func LogProductStats

func LogProductStats(user, event, prodName, requestID string, startTime int64, log *zap.SugaredLogger)

func MergeBuildEnvs added in v1.9.9

func MergeBuildEnvs(templateEnvs []*commonmodels.KeyVal, customEnvs []*commonmodels.KeyVal) []*commonmodels.KeyVal

func MergeParams added in v1.9.9

func MergeParams(templateEnvs []*commonmodels.Param, customEnvs []*commonmodels.Param) []*commonmodels.Param

func ProcessServiceWebhook added in v1.3.0

func ProcessServiceWebhook(updated, current *commonmodels.Service, serviceName string, logger *zap.SugaredLogger)

func ProcessWebhook added in v1.3.0

func ProcessWebhook(updatedHooks, currentHooks interface{}, name string, logger *zap.SugaredLogger) error

func ReleaseCandidate added in v1.9.9

func ReleaseCandidate(builds []*types.Repository, taskID int64, productName, serviceName, envName, imageName, deliveryType string) string

releaseCandidate 根据 TaskID 生成编译镜像Tag或者二进制包后缀 TODO: max length of a tag is 128

func Remove

func Remove(task *models.Queue, log *zap.SugaredLogger) error

func ReplaceRuleVariable added in v1.6.0

func ReplaceRuleVariable(rule string, replaceValue *Variable) string

func SaveAndUploadService added in v1.4.0

func SaveAndUploadService(projectName, serviceName string, copies []string, fileTree fs.FS, isProduction bool) error

func UnMarshalSourceDetail added in v1.9.9

func UnMarshalSourceDetail(source interface{}) (*models.CreateFromRepo, error)

func UpdateBuild

func UpdateBuild(username string, build *commonmodels.Build, log *zap.SugaredLogger) error

func UpdateDBInstance added in v1.9.9

func UpdateDBInstance(id string, args *commonmodels.DBInstance, log *zap.SugaredLogger) error

func UpdatePmServiceTemplate added in v1.2.0

func UpdatePmServiceTemplate(username string, args *ServiceTmplBuildObject, log *zap.SugaredLogger) error

func ValidateDBInstance added in v1.9.9

func ValidateDBInstance(args *commonmodels.DBInstance) error

Types

type ConvertVaraibleKVAndYamlActionType added in v1.9.9

type ConvertVaraibleKVAndYamlActionType string
const (
	ConvertVaraibleKVAndYamlActionTypeToKV   ConvertVaraibleKVAndYamlActionType = "toKV"
	ConvertVaraibleKVAndYamlActionTypeToYaml ConvertVaraibleKVAndYamlActionType = "toYaml"
)

type ConvertVaraibleKVAndYamlArgs added in v1.9.9

type ConvertVaraibleKVAndYamlArgs struct {
	KVs    []*commontypes.ServiceVariableKV   `json:"kvs" binding:"required"`
	Yaml   string                             `json:"yaml"`
	Action ConvertVaraibleKVAndYamlActionType `json:"action" binding:"required"`
}

func ConvertVaraibleKVAndYaml added in v1.9.9

func ConvertVaraibleKVAndYaml(args *ConvertVaraibleKVAndYamlArgs) (*ConvertVaraibleKVAndYamlArgs, error)

type CronjobPayload

type CronjobPayload struct {
	Name        string             `json:"name"`
	ProductName string             `json:"product_name"`
	Action      string             `json:"action"`
	JobType     string             `json:"job_type"`
	DeleteList  []string           `json:"delete_list,omitempty"`
	JobList     []*models.Schedule `json:"job_list,omitempty"`
}

type Empty added in v1.3.0

type Empty struct{}

type EnvService added in v1.9.9

type EnvService struct {
	ServiceName        string                          `json:"service_name"`
	ServiceModules     []*commonmodels.Container       `json:"service_modules"`
	VariableYaml       string                          `json:"variable_yaml"`
	VariableKVs        []*commontypes.RenderVariableKV `json:"variable_kvs"`
	LatestVariableYaml string                          `json:"latest_variable_yaml"`
	LatestVariableKVs  []*commontypes.RenderVariableKV `json:"latest_variable_kvs"`
	Updatable          bool                            `json:"updatable"`
	Deployed           bool                            `json:"deployed"`
}

type EnvServices added in v1.9.9

type EnvServices struct {
	ProductName string        `json:"product_name"`
	EnvName     string        `json:"env_name"`
	Services    []*EnvService `json:"services"`
}

func ListServicesInEnv added in v1.9.9

func ListServicesInEnv(envName, productName string, newSvcKVsMap map[string][]*commonmodels.ServiceKeyVal, log *zap.SugaredLogger) (*EnvServices, error)

type Features

type Features struct {
	Features []string `json:"features"`
}

type FilterFunc added in v1.5.0

type FilterFunc func(services []*Workload) []*Workload

func BuildWorkloadFilterFunc added in v1.9.9

func BuildWorkloadFilterFunc(productInfo *models.Product, projectInfo *templatemodels.Product, filter string, log *zap.SugaredLogger) ([]FilterFunc, error)

ListWorkloadDetailsInEnv returns all workloads in the given env which meet the filter. this function is used for two scenarios: 1. calculate product status 2. list workflow details

type GetAesKeyFromEncryptedKeyResp added in v1.9.9

type GetAesKeyFromEncryptedKeyResp struct {
	PlainText string `json:"plain_text"`
}

func GetAesKeyFromEncryptedKey added in v1.9.9

func GetAesKeyFromEncryptedKey(encryptedKey string, log *zap.SugaredLogger) (*GetAesKeyFromEncryptedKeyResp, error)

type GetRSAPublicKeyRes added in v1.9.9

type GetRSAPublicKeyRes struct {
	PublicKey string `json:"publicKey"`
}

func GetRSAPublicKey added in v1.9.9

func GetRSAPublicKey() (*GetRSAPublicKeyRes, error)

type GetSvcRenderArg added in v1.9.9

type GetSvcRenderArg struct {
	ServiceOrReleaseName string `json:"service_or_release_name"`
	IsHelmChartDeploy    bool   `json:"is_helm_chart_deploy"`
}

type GetSvcRenderRequest added in v1.9.9

type GetSvcRenderRequest struct {
	GetSvcRendersArgs []*GetSvcRenderArg `json:"get_svc_render_args"`
}

type HelmSvcRenderArg added in v1.9.9

type HelmSvcRenderArg struct {
	EnvName        string                     `json:"envName"`
	ServiceName    string                     `json:"serviceName"`
	IsChartDeploy  bool                       `json:"is_chart_deploy"`
	ReleaseName    string                     `json:"release_name"`
	ChartRepo      string                     `json:"chart_repo"`
	ChartName      string                     `json:"chart_name"`
	ChartVersion   string                     `json:"chartVersion"`
	OverrideValues []*KVPair                  `json:"overrideValues"`
	OverrideYaml   string                     `json:"overrideYaml"`
	ValuesData     *ValuesDataArgs            `json:"valuesData"`
	YamlData       *templatemodels.CustomYaml `json:"yaml_data"`
	VariableYaml   string                     `json:"variable_yaml"`
	DeployStrategy string                     `json:"deploy_strategy"` // New since 1.16.0, used to determine if the service will be installed
}

func GetSvcRenderArgs added in v1.9.9

func GetSvcRenderArgs(productName, envName string, getSvcRendersArgs []*GetSvcRenderArg, log *zap.SugaredLogger) ([]*HelmSvcRenderArg, *models.RenderSet, error)

func (*HelmSvcRenderArg) DiffValues added in v1.9.9

func (args *HelmSvcRenderArg) DiffValues(target *HelmSvcRenderArg) RenderChartDiffResult

DiffValues generate diff values to override from two chart args

func (*HelmSvcRenderArg) FillRenderChartModel added in v1.9.9

func (args *HelmSvcRenderArg) FillRenderChartModel(chart *templatemodels.ServiceRender, version string)

FillRenderChartModel fill render chart model

func (*HelmSvcRenderArg) GetUniqueKvMap added in v1.9.9

func (args *HelmSvcRenderArg) GetUniqueKvMap() map[string]interface{}

func (*HelmSvcRenderArg) LoadFromRenderChartModel added in v1.9.9

func (args *HelmSvcRenderArg) LoadFromRenderChartModel(chart *templatemodels.ServiceRender)

LoadFromRenderChartModel load from render chart model

func (*HelmSvcRenderArg) ToOverrideValueString added in v1.9.9

func (args *HelmSvcRenderArg) ToOverrideValueString() string

type HookSet added in v1.3.0

type HookSet map[hookUniqueID]hookItem

func NewHookSet added in v1.3.0

func NewHookSet(items ...hookItem) HookSet

NewHookSet creates a HookSet from a list of values.

func (HookSet) Difference added in v1.3.0

func (s HookSet) Difference(s2 HookSet) HookSet

Difference returns a set of objects that are not in s2 For example: s1 = {a1, a2, a3} s2 = {a1, a2, a4, a5} s1.Difference(s2) = {a3} s2.Difference(s1) = {a4, a5}

func (HookSet) Has added in v1.3.0

func (s HookSet) Has(item hookItem) bool

Has returns true if and only if item is contained in the set.

func (HookSet) Insert added in v1.3.0

func (s HookSet) Insert(items ...hookItem) HookSet

Insert adds items to the set.

func (HookSet) Len added in v1.3.0

func (s HookSet) Len() int

Len returns the size of the set.

type IngressInfo

type IngressInfo struct {
	HostInfo []resource.HostInfo `json:"host_info"`
}

type K8sSvcRenderArg added in v1.9.9

type K8sSvcRenderArg struct {
	EnvName            string                          `json:"env_name,omitempty"`
	ServiceName        string                          `json:"service_name,omitempty"`
	VariableYaml       string                          `json:"variable_yaml"`
	VariableKVs        []*commontypes.RenderVariableKV `json:"variable_kvs"`
	LatestVariableYaml string                          `json:"latest_variable_yaml"`
	LatestVariableKVs  []*commontypes.RenderVariableKV `json:"latest_variable_kvs"`
	DeployStrategy     string                          `json:"deploy_strategy,omitempty"` // New since 1.16.0, used to determine if the service will be installed
}

func GetK8sProductionSvcRenderArgs added in v1.9.9

func GetK8sProductionSvcRenderArgs(productName, envName, serviceName string, log *zap.SugaredLogger) ([]*K8sSvcRenderArg, error)

func GetK8sSvcRenderArgs added in v1.9.9

func GetK8sSvcRenderArgs(productName, envName, serviceName string, production bool, log *zap.SugaredLogger) ([]*K8sSvcRenderArg, *models.RenderSet, error)

type KVPair added in v1.5.0

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

type PipelineResource

type PipelineResource struct {
	Version string `json:"version"`
	Kind    string `json:"kind"`
}

type RenderChartDiffResult added in v1.9.9

type RenderChartDiffResult string
const (
	Different RenderChartDiffResult = "different"
	Same      RenderChartDiffResult = "same"
	LogicSame RenderChartDiffResult = "logicSame"
)

type RepoConfig added in v1.5.0

type RepoConfig struct {
	CodehostID  int      `json:"codehostID,omitempty"`
	Owner       string   `json:"owner,omitempty"`
	Namespace   string   `json:"namespace,omitempty"`
	Repo        string   `json:"repo,omitempty"`
	Branch      string   `json:"branch,omitempty"`
	ValuesPaths []string `json:"valuesPaths,omitempty"`
}

type ServiceProductMap

type ServiceProductMap struct {
	Service          string                    `json:"service_name"`
	Source           string                    `json:"source"`
	Type             string                    `json:"type"`
	Product          []string                  `json:"product"`
	ProductName      string                    `json:"product_name"`
	Containers       []*commonmodels.Container `json:"containers,omitempty"`
	CodehostID       int                       `json:"codehost_id"`
	RepoOwner        string                    `json:"repo_owner"`
	RepoNamespace    string                    `json:"repo_namespace"`
	RepoName         string                    `json:"repo_name"`
	RepoUUID         string                    `json:"repo_uuid"`
	BranchName       string                    `json:"branch_name"`
	LoadPath         string                    `json:"load_path"`
	LoadFromDir      bool                      `json:"is_dir"`
	GerritRemoteName string                    `json:"gerrit_remote_name,omitempty"`
	CreateFrom       interface{}               `json:"create_from"`
	AutoSync         bool                      `json:"auto_sync"`
	//estimated merged variable is set when the service is created from template
	EstimatedMergedVariable    string                           `json:"estimated_merged_variable"`
	EstimatedMergedVariableKVs []*commontypes.ServiceVariableKV `json:"estimated_merged_variable_kvs"`
}

type ServiceResp

type ServiceResp struct {
	ServiceName        string       `json:"service_name"`
	ReleaseName        string       `json:"release_name"`
	IsHelmChartDeploy  bool         `json:"is_helm_chart_deploy"`
	ServiceDisplayName string       `json:"service_display_name"`
	Type               string       `json:"type"`
	Status             string       `json:"status"`
	Images             []string     `json:"images,omitempty"`
	ProductName        string       `json:"product_name"`
	EnvName            string       `json:"env_name"`
	Ingress            *IngressInfo `json:"ingress"`
	//deprecated
	Ready          string              `json:"ready"`
	EnvStatuses    []*models.EnvStatus `json:"env_statuses,omitempty"`
	WorkLoadType   string              `json:"workLoadType"`
	Revision       int64               `json:"revision"`
	EnvConfigs     []*models.EnvConfig `json:"env_configs"`
	Updatable      bool                `json:"updatable"`
	DeployStrategy string              `json:"deploy_strategy"`
	// ZadigXReleaseType represents the service contain created by zadigx release workflow
	// frontend should limit some operations on these services
	ZadigXReleaseType string `json:"zadigx_release_type"`
	ZadigXReleaseTag  string `json:"zadigx_release_tag"`
}

func ListWorkloadDetails added in v1.9.9

func ListWorkloadDetails(envName, clusterID, namespace, productName string, perPage, page int, log *zap.SugaredLogger, filter ...FilterFunc) (int, []*ServiceResp, error)

func ListWorkloadDetailsInEnv added in v1.9.9

func ListWorkloadDetailsInEnv(envName, productName, filter string, perPage, page int, log *zap.SugaredLogger) (int, []*ServiceResp, error)

ListWorkloadDetailsInEnv returns all workload details in the given env which meet the filter. A filter is in this format: a=b,c=d, and it is a fuzzy matching. Which means it will return all records with a field called a and the value contain character b.

type ServiceTmplBuildObject

type ServiceTmplBuildObject struct {
	ServiceTmplObject *ServiceTmplObject  `json:"pm_service_tmpl"`
	Build             *commonmodels.Build `json:"build"`
}

type ServiceTmplObject

type ServiceTmplObject struct {
	ProductName        string                           `json:"product_name"`
	ServiceName        string                           `json:"service_name"`
	Visibility         string                           `json:"visibility"`
	Revision           int64                            `json:"revision"`
	Type               string                           `json:"type"`
	Username           string                           `json:"username"`
	EnvConfigs         []*commonmodels.EnvConfig        `json:"env_configs"`
	EnvStatuses        []*commonmodels.EnvStatus        `json:"env_statuses,omitempty"`
	From               string                           `json:"from,omitempty"`
	HealthChecks       []*commonmodels.PmHealthCheck    `json:"health_checks"`
	EnvName            string                           `json:"env_name"`
	VariableYaml       string                           `json:"variable_yaml"`
	ServiceVariableKVs []*commontypes.ServiceVariableKV `json:"service_variable_kvs"`
}

type ServiceTmplResp

type ServiceTmplResp struct {
	Data  []*ServiceProductMap `json:"data"`
	Total int                  `json:"total"`
}

func ListServiceTemplate

func ListServiceTemplate(productName string, log *zap.SugaredLogger) (*ServiceTmplResp, error)

ListServiceTemplate 列出服务模板

func ListWorkloadTemplate added in v1.5.0

func ListWorkloadTemplate(productName, envName string, log *zap.SugaredLogger) (*ServiceTmplResp, error)

ListWorkloadTemplate 列出实例模板

type SvcResources added in v1.9.9

type SvcResources struct {
	Kind string `json:"kind"`
	Name string `json:"name"`
}

func GeneSvcStructure added in v1.9.9

func GeneSvcStructure(svcTemplate *models.Service) []*SvcResources

type SvcResp added in v1.9.9

type SvcResp struct {
	ServiceName string                       `json:"service_name"`
	Scales      []*internalresource.Workload `json:"scales"`
	Ingress     []*internalresource.Ingress  `json:"ingress"`
	Services    []*internalresource.Service  `json:"service_endpoints"`
	CronJobs    []*internalresource.CronJob  `json:"cron_jobs"`
	Namespace   string                       `json:"namespace"`
	EnvName     string                       `json:"env_name"`
	ProductName string                       `json:"product_name"`
	GroupName   string                       `json:"group_name"`
	Workloads   []*Workload                  `json:"-"`
}

SvcResp struct 产品-服务详情页面Response

func GetServiceImpl added in v1.9.9

func GetServiceImpl(serviceName string, serviceTmpl *commonmodels.Service, workLoadType string, env *commonmodels.Product, clientset *kubernetes.Clientset, inf informers.SharedInformerFactory, log *zap.SugaredLogger) (ret *SvcResp, err error)

type TemplateSvcResp added in v1.9.9

type TemplateSvcResp struct {
	*commonmodels.Service
	Resources []*SvcResources `json:"resources"`
}

func GetServiceTemplateWithStructure added in v1.9.9

func GetServiceTemplateWithStructure(serviceName, serviceType, productName, excludeStatus string, revision int64, log *zap.SugaredLogger) (*TemplateSvcResp, error)

type ValuesDataArgs added in v1.9.9

type ValuesDataArgs struct {
	YamlSource    string      `json:"yamlSource"`
	SourceID      string      `json:"source_id"`
	AutoSync      bool        `json:"autoSync"`
	GitRepoConfig *RepoConfig `json:"gitRepoConfig"`
}

type ValuesResp added in v1.9.9

type ValuesResp struct {
	ValuesYaml string `json:"valuesYaml"`
}

func GetChartValues added in v1.9.9

func GetChartValues(projectName, envName, serviceName string, isHelmChartDeploy bool, production bool) (*ValuesResp, error)

type Variable added in v1.6.0

type Variable struct {
	SERVICE        string
	IMAGE_NAME     string
	TIMESTAMP      string
	TASK_ID        string
	REPO_COMMIT_ID string
	PROJECT        string
	ENV_NAME       string
	REPO_TAG       string
	REPO_BRANCH    string
	REPO_PR        string
}

type Workload added in v1.5.0

type Workload struct {
	EnvName           string                 `json:"env_name"`
	Name              string                 `json:"name"`
	Type              string                 `json:"type"`
	ServiceName       string                 `json:"-"`
	DeployedFromZadig bool                   `json:"-"`
	ProductName       string                 `json:"product_name"`
	Replicas          int32                  `json:"-"`
	Spec              corev1.PodTemplateSpec `json:"-"`
	Images            []string               `json:"-"`
	Ready             bool                   `json:"ready"`
	Annotation        map[string]string      `json:"-"`
	Status            string                 `json:"-"`
	ReleaseName       string                 `json:"-"` //ReleaseName refers to the releaseName of helm services
	ChartName         string                 `json:"-"` //ChartName refers to chartName of helm services
}

func ListWorkloads added in v1.5.0

func ListWorkloads(envName, productName string, perPage, page int, informer informers.SharedInformerFactory, version *version.Info, log *zap.SugaredLogger, filter ...FilterFunc) (int, []*Workload, error)

func ListWorkloadsInEnv added in v1.5.0

func ListWorkloadsInEnv(envName, productName, filter string, perPage, page int, log *zap.SugaredLogger) (int, []*Workload, error)

ListWorkloadsInEnv returns all workloads in the given env which meet the filter with no detailed info (images or pods)

func ToDeploymentWorkload added in v1.9.9

func ToDeploymentWorkload(v *appsv1.Deployment) *Workload

type ZadigServiceStatusResp added in v1.9.9

type ZadigServiceStatusResp struct {
	ServiceName string
	PodStatus   string
	Ready       string
	Ingress     []*resource.Ingress
	Images      []string
	Workloads   []*Workload
}

func QueryPodsStatus added in v1.9.9

func QueryPodsStatus(productInfo *commonmodels.Product, serviceTmpl *commonmodels.Service, serviceName string, clientset *kubernetes.Clientset, informer informers.SharedInformerFactory, log *zap.SugaredLogger) *ZadigServiceStatusResp

Directories

Path Synopsis
* Copyright 2023 The KodeRover Authors.
* Copyright 2023 The KodeRover Authors.

Jump to

Keyboard shortcuts

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