Documentation
¶
Index ¶
- type InMemoryLocker
- func (l *InMemoryLocker) GetLockByNamespace(namespace string) []*Lock
- func (l *InMemoryLocker) GetLockByPath(namespace string, lockPath string) *Lock
- func (l *InMemoryLocker) GrabLock(namespace string, lockPath string, uuid string, reason string) (bool, error)
- func (l *InMemoryLocker) ReleaseLock(namespace string, lockPath string, uuid string) error
- type Lock
- type Locker
- type Release
- func (release *Release) AppendLog(s3c aws.S3API, log string) error
- func (r *Release) CheckUserLock(s3c aws.S3API, lockPath string) error
- func (r *Release) ErrorPrefix() string
- func (r *Release) ExecutionName() *string
- func (r *Release) ExecutionPrefix() string
- func (r *Release) GrabLocks(s3c aws.S3API, locker Locker, lockTableName string) error
- func (r *Release) GrabReleaseLock(s3c aws.S3API) error
- func (r *Release) GrabRootLock(s3c aws.S3API, locker Locker, lockTableName string) error
- func (r *Release) Halt(s3c aws.S3API, message *string) error
- func (r *Release) HaltPath() *string
- func (r *Release) IsHalt(s3c aws.S3API) error
- func (release *Release) LogPath() *string
- func (r *Release) ProjectDir() *string
- func (r *Release) ReleaseDir() *string
- func (r *Release) ReleaseLockPath() *string
- func (r *Release) ReleasePath() *string
- func (r *Release) RemoveHalt(s3c aws.S3API)
- func (r *Release) RootDir() *string
- func (r *Release) RootLockPath() *string
- func (r *Release) SetDefaults(region *string, account *string, bucket_prefix string)
- func (r *Release) SharedProjectDir() *string
- func (r *Release) TimedOut() error
- func (r *Release) UnlockRoot(s3c aws.S3API, locker Locker, lockTableName string) error
- func (r *Release) UserLockPath() *string
- func (r *Release) Validate(s3c aws.S3API, cRelease interface{}) error
- func (r *Release) WipeControlledValues()
- func (release *Release) WriteLog(s3c aws.S3API, log string) error
- type ReleaseError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type InMemoryLocker ¶
type InMemoryLocker struct {
// contains filtered or unexported fields
}
func NewInMemoryLocker ¶
func NewInMemoryLocker() *InMemoryLocker
func (*InMemoryLocker) GetLockByNamespace ¶
func (l *InMemoryLocker) GetLockByNamespace(namespace string) []*Lock
func (*InMemoryLocker) GetLockByPath ¶
func (l *InMemoryLocker) GetLockByPath(namespace string, lockPath string) *Lock
func (*InMemoryLocker) ReleaseLock ¶
func (l *InMemoryLocker) ReleaseLock(namespace string, lockPath string, uuid string) error
type Release ¶
type Release struct { AwsAccountID *string `json:"aws_account_id,omitempty"` AwsRegion *string `json:"aws_region,omitempty"` ReleaseSHA256 string `json:"-"` // Not Set By Client, Not Marshalled UUID *string `json:"uuid,omitempty"` // Generated By server ReleaseID *string `json:"release_id,omitempty"` // Generated Client ProjectName *string `json:"project_name,omitempty"` ConfigName *string `json:"config_name,omitempty"` Bucket *string `json:"bucket,omitempty"` // Bucket with Additional Data in it CreatedAt *time.Time `json:"created_at,omitempty"` StartedAt *time.Time `json:"started_at,omitempty"` Timeout *int `json:"timeout,omitempty"` // How long should we try and deploy in seconds // Additional Metadata attached but should not be functional Metadata map[string]string `json:"metadata,omitempty"` Error *ReleaseError `json:"error,omitempty"` Success *bool `json:"success,omitempty"` }
Release is the Data Structure passed between Client and Deployer
func (*Release) CheckUserLock ¶
func (*Release) ErrorPrefix ¶
func (*Release) ExecutionPrefix ¶
ExecutionPrefix returns
func (*Release) GrabRootLock ¶
func (*Release) ProjectDir ¶
func (*Release) ReleaseDir ¶
func (*Release) ReleaseLockPath ¶
func (*Release) ReleasePath ¶
func (*Release) RemoveHalt ¶
RemoveHalt deletes the halt flat from S3
func (*Release) RootLockPath ¶
func (*Release) SetDefaults ¶
SetDefaults is passed the region and account where the lambda is executed AND the default-bucket-prefix to calculate the default bucket name.
func (*Release) SharedProjectDir ¶
func (*Release) UnlockRoot ¶
UnlockRootLock deletes the Lock File for the release
func (*Release) UserLockPath ¶
func (*Release) Validate ¶
Validate checks 1. the attributes are assigned 2. the time frame of created at is valid 3. the uploaded release sha is correct (requires S3 and &Release{})
func (*Release) WipeControlledValues ¶
func (r *Release) WipeControlledValues()
This is called initially to wipe values that are controlled by this release
type ReleaseError ¶
ReleaseError contains the error and cause for the state machine
Click to show internal directories.
Click to hide internal directories.