Documentation
¶
Index ¶
- func NewDbConnection(cfg *Config, logger *zap.SugaredLogger) (*pg.DB, error)
- type AppRelease
- type AppReleaseRepository
- type AppReleaseRepositoryImpl
- func (impl *AppReleaseRepositoryImpl) CheckDuplicateRelease(appId, environmentId, ciArtifactId int) (bool, error)
- func (impl *AppReleaseRepositoryImpl) CleanAppDataForEnvironment(appId, environmentId int) error
- func (impl *AppReleaseRepositoryImpl) GetPreviousRelease(appId, environmentId int, appReleaseId int) (*AppRelease, error)
- func (impl *AppReleaseRepositoryImpl) GetPreviousReleaseWithinTime(appId, environmentId int, within time.Time, currentAppReleaseId int) (*AppRelease, error)
- func (impl *AppReleaseRepositoryImpl) GetReleaseBetween(appId, environmentId int, from time.Time, to time.Time) ([]AppRelease, error)
- func (impl *AppReleaseRepositoryImpl) Save(appRelease *AppRelease) (*AppRelease, error)
- func (impl *AppReleaseRepositoryImpl) Update(appRelease *AppRelease) (*AppRelease, error)
- type Config
- type LeadTime
- type LeadTimeRepository
- type LeadTimeRepositoryImpl
- type PipelineMaterial
- type PipelineMaterialRepository
- type PipelineMaterialRepositoryImpl
- func (impl *PipelineMaterialRepositoryImpl) CleanAppDataForEnvironment(appId, environmentId int, tx *pg.Tx) error
- func (impl *PipelineMaterialRepositoryImpl) FindByAppReleaseId(appReleaseId int) ([]*PipelineMaterial, error)
- func (impl *PipelineMaterialRepositoryImpl) FindByAppReleaseIds(appReleaseIds []int) ([]*PipelineMaterial, error)
- func (impl *PipelineMaterialRepositoryImpl) Save(pipelineMaterial ...*PipelineMaterial) error
- type ProcessStage
- type ReleaseStatus
- type ReleaseType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDbConnection ¶
Types ¶
type AppRelease ¶
type AppRelease struct {
Id int `pg:"id,pk"`
AppId int `pg:"app_id,notnull,use_zero"` //orchestrator appId
EnvironmentId int `pg:"environment_id,notnull,use_zero"` //orchestrator env id
CiArtifactId int `pg:"ci_artifact_id,notnull,use_zero"` //orchestrator ciAretefactId used for identifying rollback (appId,environmentId, ciArtifactId)
ReleaseId int `pg:"release_id,notnull,use_zero"` // orchestrator release counter
PipelineOverrideId int `pg:"pipeline_override_id,notnull,use_zero"` //pipeline override id orchestrator
ChangeSizeLineAdded int `pg:"change_size_line_added,notnull,use_zero"` //total lines added in this release
ChangeSizeLineDeleted int `pg:"change_size_line_deleted,notnull,use_zero"` //total lines deleted during this release
TriggerTime time.Time `pg:"trigger_time,notnull"` //deployment time
ReleaseType ReleaseType `pg:"release_type,notnull,use_zero"`
ReleaseStatus ReleaseStatus `pg:"release_status,notnull,use_zero"`
ProcessStage ProcessStage `pg:"process_status,notnull,use_zero"`
CreatedTime time.Time `pg:"created_time,notnull"`
UpdatedTime time.Time `pg:"updated_time,notnull"`
LeadTime *LeadTime
// contains filtered or unexported fields
}
type AppReleaseRepository ¶
type AppReleaseRepository interface {
Save(appRelease *AppRelease) (*AppRelease, error)
Update(appRelease *AppRelease) (*AppRelease, error)
CheckDuplicateRelease(appId, environmentId, ciArtifactId int) (bool, error)
GetPreviousReleaseWithinTime(appId, environmentId int, within time.Time, currentAppReleaseId int) (*AppRelease, error)
GetPreviousRelease(appId, environmentId int, appReleaseId int) (*AppRelease, error)
GetReleaseBetween(appId, environmentId int, from time.Time, to time.Time) ([]AppRelease, error)
CleanAppDataForEnvironment(appId, environmentId int) error
}
type AppReleaseRepositoryImpl ¶
type AppReleaseRepositoryImpl struct {
// contains filtered or unexported fields
}
func NewAppReleaseRepositoryImpl ¶
func NewAppReleaseRepositoryImpl(dbConnection *pg.DB, logger *zap.SugaredLogger, leadTimeRepository LeadTimeRepository, pipelineMaterialRepository PipelineMaterialRepository) *AppReleaseRepositoryImpl
func (*AppReleaseRepositoryImpl) CheckDuplicateRelease ¶
func (impl *AppReleaseRepositoryImpl) CheckDuplicateRelease(appId, environmentId, ciArtifactId int) (bool, error)
func (*AppReleaseRepositoryImpl) CleanAppDataForEnvironment ¶
func (impl *AppReleaseRepositoryImpl) CleanAppDataForEnvironment(appId, environmentId int) error
func (*AppReleaseRepositoryImpl) GetPreviousRelease ¶
func (impl *AppReleaseRepositoryImpl) GetPreviousRelease(appId, environmentId int, appReleaseId int) (*AppRelease, error)
func (*AppReleaseRepositoryImpl) GetPreviousReleaseWithinTime ¶
func (impl *AppReleaseRepositoryImpl) GetPreviousReleaseWithinTime(appId, environmentId int, within time.Time, currentAppReleaseId int) (*AppRelease, error)
func (*AppReleaseRepositoryImpl) GetReleaseBetween ¶
func (impl *AppReleaseRepositoryImpl) GetReleaseBetween(appId, environmentId int, from time.Time, to time.Time, ) ([]AppRelease, error)
func (*AppReleaseRepositoryImpl) Save ¶
func (impl *AppReleaseRepositoryImpl) Save(appRelease *AppRelease) (*AppRelease, error)
func (*AppReleaseRepositoryImpl) Update ¶
func (impl *AppReleaseRepositoryImpl) Update(appRelease *AppRelease) (*AppRelease, error)
type Config ¶
type Config struct {
Addr string `env:"PG_ADDR" envDefault:"127.0.0.1"`
Port string `env:"PG_PORT" envDefault:"5432"`
User string `env:"PG_USER" envDefault:""`
Password string `env:"PG_PASSWORD" envDefault:"" secretData:"-"`
Database string `env:"PG_DATABASE" envDefault:"lens"`
ApplicationName string `env:"APP" envDefault:"lens"`
LogQuery bool `env:"PG_LOG_QUERY" envDefault:"true"`
}
type LeadTime ¶
type LeadTime struct {
Id int `pg:"id"`
AppReleaseId int `pg:"app_release_id"`
PipelineMaterialId int `pg:"pipeline_material_id"`
CommitHash string `pg:"commit_hash"`
CommitTime time.Time `pg:"commit_time"`
LeadTime time.Duration `pg:"lead_time"`
AppRelease *AppRelease
// contains filtered or unexported fields
}
type LeadTimeRepository ¶
type LeadTimeRepositoryImpl ¶
type LeadTimeRepositoryImpl struct {
// contains filtered or unexported fields
}
func NewLeadTimeRepositoryImpl ¶
func NewLeadTimeRepositoryImpl(dbConnection *pg.DB, logger *zap.SugaredLogger) *LeadTimeRepositoryImpl
func (*LeadTimeRepositoryImpl) CleanAppDataForEnvironment ¶
func (impl *LeadTimeRepositoryImpl) CleanAppDataForEnvironment(appId, environmentId int, tx *pg.Tx) error
type PipelineMaterial ¶
type PipelineMaterial struct {
PipelineMaterialId int `pg:"pipeline_material_id"`
CommitHash string `pg:"commit_hash"`
AppReleaseId int `pg:"app_release_id"`
AppRelease *AppRelease
// contains filtered or unexported fields
}
type PipelineMaterialRepository ¶
type PipelineMaterialRepository interface {
Save(pipelineMaterial ...*PipelineMaterial) error
FindByAppReleaseId(appReleaseId int) ([]*PipelineMaterial, error)
FindByAppReleaseIds(appReleaseIds []int) ([]*PipelineMaterial, error)
CleanAppDataForEnvironment(appId, environmentId int, tx *pg.Tx) error
}
type PipelineMaterialRepositoryImpl ¶
type PipelineMaterialRepositoryImpl struct {
// contains filtered or unexported fields
}
func NewPipelineMaterialRepositoryImpl ¶
func NewPipelineMaterialRepositoryImpl(dbConnection *pg.DB, logger *zap.SugaredLogger) *PipelineMaterialRepositoryImpl
func (*PipelineMaterialRepositoryImpl) CleanAppDataForEnvironment ¶
func (impl *PipelineMaterialRepositoryImpl) CleanAppDataForEnvironment(appId, environmentId int, tx *pg.Tx) error
func (*PipelineMaterialRepositoryImpl) FindByAppReleaseId ¶
func (impl *PipelineMaterialRepositoryImpl) FindByAppReleaseId(appReleaseId int) ([]*PipelineMaterial, error)
func (*PipelineMaterialRepositoryImpl) FindByAppReleaseIds ¶
func (impl *PipelineMaterialRepositoryImpl) FindByAppReleaseIds(appReleaseIds []int) ([]*PipelineMaterial, error)
func (*PipelineMaterialRepositoryImpl) Save ¶
func (impl *PipelineMaterialRepositoryImpl) Save(pipelineMaterial ...*PipelineMaterial) error
type ProcessStage ¶
type ProcessStage int
------
const ( Init ProcessStage = iota ReleaseTypeDetermined LeadTimeFetch )
func (ProcessStage) String ¶
func (ProcessStage ProcessStage) String() string
type ReleaseStatus ¶
type ReleaseStatus int
--------------
const ( Success ReleaseStatus = iota Failure )
func (ReleaseStatus) String ¶
func (releaseStatus ReleaseStatus) String() string
type ReleaseType ¶
type ReleaseType int
----------------
const ( Unknown ReleaseType = iota RollForward RollBack Patch )
func (ReleaseType) String ¶
func (releaseType ReleaseType) String() string
Click to show internal directories.
Click to hide internal directories.