bean

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2025 License: Apache-2.0 Imports: 9 Imported by: 37

Documentation

Index

Constants

View Source
const (
	POLICY_DIRECT        PolicyType = 1
	POLICY_GROUP         PolicyType = 1
	SUPERADMIN                      = "role:super-admin___"
	APP_ACCESS_TYPE_HELM            = "helm-app"
	USER_TYPE_API_TOKEN             = "apiToken"
	CHART_GROUP_ENTITY              = "chart-group"
	CLUSTER_ENTITIY                 = "cluster"
	ACTION_SUPERADMIN               = "super-admin"
)
View Source
const (
	CD_WORKFLOW_TYPE_PRE              WorkflowType                = "PRE"
	CD_WORKFLOW_TYPE_POST             WorkflowType                = "POST"
	CD_WORKFLOW_TYPE_DEPLOY           WorkflowType                = "DEPLOY"
	CI_WORKFLOW_TYPE                  WorkflowType                = "CI"
	WEBHOOK_WORKFLOW_TYPE             WorkflowType                = "WEBHOOK"
	DEPLOYMENT_CONFIG_TYPE_LAST_SAVED DeploymentConfigurationType = "LAST_SAVED_CONFIG"
	//latest trigger is not being used because this is being handled at FE and we anyhow identify latest trigger as
	//last deployed wfr which is also a specific trigger
	DEPLOYMENT_CONFIG_TYPE_LATEST_TRIGGER   DeploymentConfigurationType = "LATEST_TRIGGER_CONFIG"
	DEPLOYMENT_CONFIG_TYPE_SPECIFIC_TRIGGER DeploymentConfigurationType = "SPECIFIC_TRIGGER_CONFIG"
)
View Source
const (
	NOCHARTEXIST string = "NOCHARTEXIST"
)

Variables

This section is empty.

Functions

func GetTransformedDataForSecretRootJsonData added in v1.0.0

func GetTransformedDataForSecretRootJsonData(data string, mode util.SecretTransformMode) (string, error)

Types

type ApiError

type ApiError struct {
	Code              string      `json:"code,omitempty"`
	InternalMessage   string      `json:"internalMessage,omitempty"`
	UserMessage       interface{} `json:"userMessage,omitempty"`
	UserDetailMessage string      `json:"userDetailMessage,omitempty"`
}

type ArtifactsListFilterOptions added in v0.6.26

type ArtifactsListFilterOptions struct {
	//list filter data
	Limit        int
	Offset       int
	SearchString string
	Order        string

	//self stage data
	PipelineId int
	StageType  WorkflowType

	// CiPipelineId is id of ci-pipeline present in the same app-workflow of PipelineId
	CiPipelineId int

	//parent satge data
	ParentCdId      int
	ParentId        int
	ParentStageType WorkflowType

	//excludeArtifactIds
	ExcludeArtifactIds []int

	//excludeWfRunners
	ExcludeWfrIds []int

	//pluginStage
	PluginStage string

	// UseCdStageQueryV2 is to set query version
	UseCdStageQueryV2 bool
}

type BulkCdDeployEvent added in v0.6.16

type BulkCdDeployEvent struct {
	ValuesOverrideRequest *ValuesOverrideRequest `json:"valuesOverrideRequest"`
	UserId                int32                  `json:"userId"`
}

type BulkDeleteRequest added in v0.6.29

type BulkDeleteRequest struct {
	Ids            []int32         `json:"ids"`
	ListingRequest *ListingRequest `json:"listingRequest,omitempty"`
	LoggedInUserId int32           `json:"-"`
}

type ClusterInfo added in v0.3.14

type ClusterInfo struct {
	ClusterId             int    `json:"clusterId"`
	ClusterName           string `json:"clusterName"`
	BearerToken           string `json:"bearerToken"`
	ServerUrl             string `json:"serverUrl"`
	InsecureSkipTLSVerify bool   `json:"insecureSkipTLSVerify"`
	KeyData               string `json:"keyData"`
	CertData              string `json:"certData"`
	CAData                string `json:"CAData"`
}

type Config added in v0.5.3

type Config struct {
	IgnoreAuthCheck bool `env:"IGNORE_AUTOCOMPLETE_AUTH_CHECK" envDefault:"false"`
}

type ConfigMapAndSecretJson

type ConfigMapAndSecretJson struct {
	ConfigMapJson    ConfigMapJson    `json:"configMapJson"`
	ConfigSecretJson ConfigSecretJson `json:"configSecretJson"`
}

type ConfigMapJson

type ConfigMapJson struct {
	Enabled bool              `json:"enabled"`
	Maps    []ConfigSecretMap `json:"maps"`
}

type ConfigMapRootJson

type ConfigMapRootJson struct {
	ConfigMapJson ConfigMapJson `json:"ConfigMaps"`
}

type ConfigSecretJson

type ConfigSecretJson struct {
	Enabled bool               `json:"enabled"`
	Secrets []*ConfigSecretMap `json:"secrets"`
}

func (ConfigSecretJson) GetDereferencedSecrets added in v0.6.24

func (configSecretJson ConfigSecretJson) GetDereferencedSecrets() []ConfigSecretMap

func (*ConfigSecretJson) SetReferencedSecrets added in v0.6.24

func (configSecretJson *ConfigSecretJson) SetReferencedSecrets(secrets []ConfigSecretMap)

type ConfigSecretMap added in v0.6.17

type ConfigSecretMap struct {
	Name           string          `json:"name"`
	Type           string          `json:"type"`
	External       bool            `json:"external"`
	MountPath      string          `json:"mountPath"`
	Data           json.RawMessage `json:"data,omitempty"`
	ESOSecretData  json.RawMessage `json:"esoSecretData,omitempty"`
	ExternalType   string          `json:"externalType"`
	RoleARN        string          `json:"roleARN"`
	SecretData     json.RawMessage `json:"secretData,omitempty"`
	SubPath        bool            `json:"subPath"`
	ESOSubPath     []string        `json:"esoSubPath"`
	FilePermission string          `json:"filePermission"`
}

func (ConfigSecretMap) GetDataMap added in v0.6.17

func (configSecret ConfigSecretMap) GetDataMap() (map[string]string, error)

type ConfigSecretRootJson

type ConfigSecretRootJson struct {
	ConfigSecretJson ConfigSecretJson `json:"ConfigSecrets"`
}

type CreateVulnerabilityPolicyRequest

type CreateVulnerabilityPolicyRequest struct {
	// actions which can be taken on vulnerabilities
	Action    *VulnerabilityAction `json:"action,omitempty"`
	AppId     int                  `json:"appId,omitempty"`
	ClusterId int                  `json:"clusterId,omitempty"`
	CveId     string               `json:"cveId,omitempty"`
	EnvId     int                  `json:"envId,omitempty"`
	Severity  string               `json:"severity,omitempty"`
}

CreateVulnerabilityPolicyRequest defines model for CreateVulnerabilityPolicyRequest.

func (*CreateVulnerabilityPolicyRequest) IsRequestGlobal added in v1.2.1

func (r *CreateVulnerabilityPolicyRequest) IsRequestGlobal() bool

type CreateVulnerabilityPolicyResponse

type CreateVulnerabilityPolicyResponse struct {
	// Error object
	Error  *Error                       `json:"error,omitempty"`
	Result *IdVulnerabilityPolicyResult `json:"result,omitempty"`
}

CreateVulnerabilityPolicyResponse defines model for CreateVulnerabilityPolicyResponse.

type CustomTag added in v0.6.25

type CustomTag struct {
	EntityKey            int    `json:"entityKey"`
	EntityValue          string `json:"entityValue"`
	TagPattern           string `json:"tagPattern"`
	AutoIncreasingNumber int    `json:"counterX"`
	Metadata             string `json:"metadata"`
	Enabled              bool   `json:"enabled"`
}

type CustomTagErrorResponse added in v0.6.25

type CustomTagErrorResponse struct {
	ConflictingArtifactPath string `json:"conflictingLink"`
	TagPattern              string `json:"tagPattern"`
	AutoIncreasingNumber    int    `json:"counterX"`
	Message                 string `json:"message"`
}

type CvePolicy

type CvePolicy struct {
	// Embedded struct due to allOf(#/components/schemas/SeverityPolicy)
	SeverityPolicy

	// In case of CVE policy this is same as cve name else it is blank
	Name string `json:"name,omitempty"`
}

CvePolicy defines model for CvePolicy.

type DeletePolicyParams

type DeletePolicyParams struct {
	Id int `json:"id"`
}

DeletePolicyParams defines parameters for DeletePolicy.

type DeleteVulnerabilityPolicyResponse

type DeleteVulnerabilityPolicyResponse struct {
	// Error object
	Error  *Error                       `json:"error,omitempty"`
	Result *IdVulnerabilityPolicyResult `json:"result,omitempty"`
}

DeleteVulnerabilityPolicyResponse defines model for DeleteVulnerabilityPolicyResponse.

type DeploymentConfigurationType added in v0.6.2

type DeploymentConfigurationType string

type Error

type Error struct {
	// Error code
	Code int32 `json:"code"`

	// Error message
	Message string `json:"message"`
}

Error defines model for Error.

type FetchPolicyParams

type FetchPolicyParams struct {
	Level ResourceLevel `json:"level"`
	Id    int           `json:"id,omitempty"`
}

FetchPolicyParams defines parameters for FetchPolicy.

type GetVulnerabilityPolicyResponse

type GetVulnerabilityPolicyResponse struct {
	// Error object
	Error  *Error                        `json:"error,omitempty"`
	Result *GetVulnerabilityPolicyResult `json:"result,omitempty"`
}

GetVulnerabilityPolicyResponse defines model for GetVulnerabilityPolicyResponse.

type GetVulnerabilityPolicyResult

type GetVulnerabilityPolicyResult struct {
	// Resource Level can be one of global, cluster, environment, application
	Level    ResourceLevel          `json:"level"`
	Policies []*VulnerabilityPolicy `json:"policies"`
}

GetVulnerabilityPolicyResult defines model for GetVulnerabilityPolicyResult.

type GroupPermissionsAuditDto added in v1.3.0

type GroupPermissionsAuditDto struct {
	RoleGroupInfo *RoleGroup   `json:"roleGroupInfo,omitempty"`
	EntityAudit   sql.AuditLog `json:"entityAudit,omitempty"`
}

func NewGroupPermissionsAuditDto added in v1.3.0

func NewGroupPermissionsAuditDto() *GroupPermissionsAuditDto

func (*GroupPermissionsAuditDto) WithEntityAudit added in v1.3.0

func (pa *GroupPermissionsAuditDto) WithEntityAudit(entityAudit sql.AuditLog) *GroupPermissionsAuditDto

func (*GroupPermissionsAuditDto) WithRoleGroupInfo added in v1.3.0

func (pa *GroupPermissionsAuditDto) WithRoleGroupInfo(roleGroupInfo *RoleGroup) *GroupPermissionsAuditDto

type IdVulnerabilityPolicyResult

type IdVulnerabilityPolicyResult struct {
	Id int `json:"id"`
}

IdVulnerabilityPolicyResult defines model for IdVulnerabilityPolicyResult.

type ListingRequest added in v0.6.29

type ListingRequest struct {
	SearchKey  string         `json:"searchKey"`
	SortOrder  bean.SortOrder `json:"sortOrder"`
	SortBy     bean.SortBy    `json:"sortBy"`
	Offset     int            `json:"offset"`
	Size       int            `json:"size"`
	ShowAll    bool           `json:"showAll"`
	CountCheck bool           `json:"-"`
}

type PolicyRequest

type PolicyRequest struct {
	Data []casbin.Policy
}

type PolicyType

type PolicyType int

type ReleaseStatusUpdateRequest

type ReleaseStatusUpdateRequest struct {
	RequestId string             `json:"requestId"`
	NewStatus models.ChartStatus `json:"newStatus"`
}

type ResourceLevel

type ResourceLevel string

ResourceLevel defines model for ResourceLevel.

type Response

type Response struct {
	Code   int         `json:"code,omitempty"`
	Status string      `json:"status,omitempty"`
	Result interface{} `json:"result,omitempty"`
	Errors []ApiError  `json:"errors,omitempty"`
}

global response body used across api

type RestrictedGroup added in v0.7.0

type RestrictedGroup struct {
	Group                   string
	HasSuperAdminPermission bool
}

type Role

type Role struct {
	Id   int    `json:"id" validate:"number"`
	Role string `json:"role" validate:"required"`
}

type RoleData

type RoleData struct {
	Id          int    `json:"id" validate:"number"`
	Role        string `json:"role" validate:"required"`
	Entity      string `json:"entity"`
	Team        string `json:"team"`
	EntityName  string `json:"entityName"`
	Environment string `json:"environment"`
	Action      string `json:"action"`
	AccessType  string `json:"accessType"`

	Cluster   string `json:"cluster"`
	Namespace string `json:"namespace"`
	Group     string `json:"group"`
	Kind      string `json:"kind"`
	Resource  string `json:"resource"`
}

type RoleFilter

type RoleFilter struct {
	Entity      string `json:"entity"`
	Team        string `json:"team"`
	EntityName  string `json:"entityName"`
	Environment string `json:"environment"`
	Action      string `json:"action"`
	AccessType  string `json:"accessType"`

	Cluster   string `json:"cluster"`
	Namespace string `json:"namespace"`
	Group     string `json:"group"`
	Kind      string `json:"kind"`
	Resource  string `json:"resource"`
	Workflow  string `json:"workflow"`
}

func (RoleFilter) GetAccessType added in v1.1.0

func (rf RoleFilter) GetAccessType() string

func (RoleFilter) GetAction added in v1.1.0

func (rf RoleFilter) GetAction() string

func (RoleFilter) GetCluster added in v1.1.0

func (rf RoleFilter) GetCluster() string

func (RoleFilter) GetEntity added in v1.1.0

func (rf RoleFilter) GetEntity() string

func (RoleFilter) GetEntityName added in v1.1.0

func (rf RoleFilter) GetEntityName() string

func (RoleFilter) GetEnvironment added in v1.1.0

func (rf RoleFilter) GetEnvironment() string

func (RoleFilter) GetGroup added in v1.1.0

func (rf RoleFilter) GetGroup() string

func (RoleFilter) GetKind added in v1.1.0

func (rf RoleFilter) GetKind() string

func (RoleFilter) GetNamespace added in v1.1.0

func (rf RoleFilter) GetNamespace() string

func (RoleFilter) GetResource added in v1.1.0

func (rf RoleFilter) GetResource() string

func (RoleFilter) GetTeam added in v1.1.0

func (rf RoleFilter) GetTeam() string

func (RoleFilter) GetWorkflow added in v1.1.0

func (rf RoleFilter) GetWorkflow() string

type RoleGroup

type RoleGroup struct {
	Id          int32        `json:"id" validate:"number"`
	Name        string       `json:"name,omitempty"`
	Description string       `json:"description,omitempty"`
	RoleFilters []RoleFilter `json:"roleFilters"`
	Status      string       `json:"status,omitempty"`
	SuperAdmin  bool         `json:"superAdmin"`
	UserId      int32        `json:"-"` // created or modified user id
}

type RoleGroupListingResponse added in v0.6.29

type RoleGroupListingResponse struct {
	RoleGroups []*RoleGroup `json:"roleGroups"`
	TotalCount int          `json:"totalCount"`
}

type SSOLoginDto

type SSOLoginDto struct {
	Id     int32           `json:"id"`
	Name   string          `json:"name,omitempty"`
	Label  string          `json:"label,omitempty"`
	Url    string          `json:"url,omitempty"`
	Config json.RawMessage `json:"config,omitempty"`
	Active bool            `json:"active"`
	UserId int32           `json:"-"`
}

type SeverityPolicy

type SeverityPolicy struct {
	Id int `json:"id"`

	// Whether vulnerability is allowed or blocked and is it inherited or is it overridden
	Policy       *VulnerabilityPermission `json:"policy"`
	PolicyOrigin string                   `json:"policyOrigin"`
	Severity     string                   `json:"severity"`
}

SeverityPolicy defines model for SeverityPolicy.

type TLSConfig added in v0.7.2

type TLSConfig struct {
	CaData      string `json:"caData"`
	TLSCertData string `json:"tlsCertData"`
	TLSKeyData  string `json:"tlsKeyData"`
}

type UpdatePolicyParams

type UpdatePolicyParams struct {
	Id     int    `json:"id"`
	Action string `json:"action"`
}

UpdatePolicyParams defines parameters for UpdatePolicy.

type UpdateVulnerabilityPolicyResponse

type UpdateVulnerabilityPolicyResponse struct {
	// Error object
	Error  *Error                       `json:"error,omitempty"`
	Result *IdVulnerabilityPolicyResult `json:"result,omitempty"`
}

UpdateVulnerabilityPolicyResponse defines model for UpdateVulnerabilityPolicyResponse.

type UserInfo

type UserInfo struct {
	Id            int32           `json:"id" validate:"number,not-system-admin-userid"`
	EmailId       string          `json:"email_id" validate:"required,not-system-admin-user"` // TODO : have to migrate json key to emailId and also handle backward compatibility
	Roles         []string        `json:"roles,omitempty"`
	AccessToken   string          `json:"access_token,omitempty"`
	RoleFilters   []RoleFilter    `json:"roleFilters"`
	Status        string          `json:"status,omitempty"`
	Groups        []string        `json:"groups"`         // this will be deprecated in future do not use
	UserRoleGroup []UserRoleGroup `json:"userRoleGroups"` // role group with metadata
	SuperAdmin    bool            `json:"superAdmin,notnull"`
	LastLoginTime time.Time       `json:"lastLoginTime"`
	UserType      string          `json:"-"`
	LastUsedAt    time.Time       `json:"-"`
	LastUsedByIp  string          `json:"-"`
	Exist         bool            `json:"-"`
	UserId        int32           `json:"-"` // created or modified user id
}

type UserListingResponse added in v0.6.29

type UserListingResponse struct {
	Users      []UserInfo `json:"users"`
	TotalCount int        `json:"totalCount"`
}

type UserPermissionsAuditDto added in v1.3.0

type UserPermissionsAuditDto struct {
	UserInfo    *UserInfo    `json:"userInfo,omitempty"`
	EntityAudit sql.AuditLog `json:"entityAudit,omitempty"`
}

func NewUserPermissionsAuditDto added in v1.3.0

func NewUserPermissionsAuditDto() *UserPermissionsAuditDto

func (*UserPermissionsAuditDto) WithEntityAudit added in v1.3.0

func (pa *UserPermissionsAuditDto) WithEntityAudit(entityAudit sql.AuditLog) *UserPermissionsAuditDto

func (*UserPermissionsAuditDto) WithUserInfo added in v1.3.0

func (pa *UserPermissionsAuditDto) WithUserInfo(userInfo *UserInfo) *UserPermissionsAuditDto

type UserRole

type UserRole struct {
	Id      int32  `json:"id" validate:"number"`
	EmailId string `json:"email_id" validate:"email"`
	Role    string `json:"role"`
}

type UserRoleGroup added in v0.7.0

type UserRoleGroup struct {
	RoleGroup *RoleGroup `json:"roleGroup"`
}

type ValuesOverrideRequest

type ValuesOverrideRequest struct {
	PipelineId                            int                         `json:"pipelineId" validate:"required"`
	AppId                                 int                         `json:"appId" validate:"required"`
	CiArtifactId                          int                         `json:"ciArtifactId" validate:"required"`
	AdditionalOverride                    json.RawMessage             `json:"additionalOverride,omitempty"`
	ForceTrigger                          bool                        `json:"forceTrigger,notnull"`
	DeploymentTemplate                    string                      `json:"strategy,omitempty"` // validate:"oneof=BLUE-GREEN ROLLING"`
	DeploymentWithConfig                  DeploymentConfigurationType `json:"deploymentWithConfig"`
	WfrIdForDeploymentWithSpecificTrigger int                         `json:"wfrIdForDeploymentWithSpecificTrigger"` // target cd_workflow_runner_id for rollback. Used in rollback deployment cases
	CdWorkflowType                        WorkflowType                `json:"cdWorkflowType,notnull"`
	WfrId                                 int                         `json:"wfrId,notnull"`
	CdWorkflowId                          int                         `json:"cdWorkflowId"`
	PipelineOverrideId                    int                         `json:"pipelineOverrideId"` // required for async install/upgrade event;
	DeploymentType                        models.DeploymentType       `json:"deploymentType"`     // required for async install/upgrade handling; previously if was used internally
	ForceSyncDeployment                   bool                        `json:"forceSyncDeployment,notnull"`
	IsRollbackDeployment                  bool                        `json:"isRollbackDeployment"`
	UserId                                int32                       `json:"-"`
	EnvId                                 int                         `json:"-"`
	EnvName                               string                      `json:"-"`
	ClusterId                             int                         `json:"-"`
	AppName                               string                      `json:"-"`
	PipelineName                          string                      `json:"-"`
	DeploymentAppType                     string                      `json:"-"`
	Namespace                             string                      `json:"-"`
	ReleaseName                           string                      `json:"-"`
	Image                                 string                      `json:"-"`
}

type VulnerabilityAction

type VulnerabilityAction string

VulnerabilityAction defines model for VulnerabilityAction.

type VulnerabilityPermission

type VulnerabilityPermission struct {
	// actions which can be taken on vulnerabilities
	Action      VulnerabilityAction `json:"action"`
	Inherited   bool                `json:"inherited"`
	IsOverriden bool                `json:"isOverriden"`
}

VulnerabilityPermission defines model for VulnerabilityPermission.

type VulnerabilityPolicy

type VulnerabilityPolicy struct {
	Cves []*CvePolicy `json:"cves"`

	// environment id in case of application
	EnvId int `json:"envId,omitempty"`

	// Is name of cluster or environment or application/environment
	Name       string            `json:"name,omitempty"`
	Severities []*SeverityPolicy `json:"severities"`
	AppId      int               `json:"-"`
	ClusterId  int               `json:"-"`
}

VulnerabilityPolicy defines model for VulnerabilityPolicy.

type WorkflowType added in v0.3.12

type WorkflowType string

func NewWorkflowType added in v1.1.0

func NewWorkflowType(workflowType string) WorkflowType

func (WorkflowType) IsStageTypeDeploy added in v0.7.1

func (workflowType WorkflowType) IsStageTypeDeploy() bool

func (WorkflowType) String added in v1.1.0

func (workflowType WorkflowType) String() string

func (WorkflowType) WorkflowTypeToStageType added in v0.6.24

func (workflowType WorkflowType) WorkflowTypeToStageType() repository.PipelineStageType

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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