-
Notifications
You must be signed in to change notification settings - Fork 163
/
builder_lifecycle.go
70 lines (62 loc) · 2.02 KB
/
builder_lifecycle.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package v1alpha2
import (
corev1 "k8s.io/api/core/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
corev1alpha1 "github.com/pivotal/kpack/pkg/apis/core/v1alpha1"
)
type BuilderRecord struct {
Image string
Stack corev1alpha1.BuildStack
Buildpacks corev1alpha1.BuildpackMetadataList
Order []corev1alpha1.OrderEntry
ObservedStoreGeneration int64
ObservedStackGeneration int64
OS string
SignaturePaths []CosignSignature
}
func (bs *BuilderStatus) BuilderRecord(record BuilderRecord) {
bs.Stack = record.Stack
bs.BuilderMetadata = record.Buildpacks
bs.LatestImage = record.Image
bs.Conditions = corev1alpha1.Conditions{
{
LastTransitionTime: corev1alpha1.VolatileTime{Inner: v1.Now()},
Type: corev1alpha1.ConditionReady,
Status: corev1.ConditionTrue,
},
{
Type: ConditionUpToDate,
Status: corev1.ConditionTrue,
LastTransitionTime: corev1alpha1.VolatileTime{Inner: v1.Now()},
},
}
bs.Order = record.Order
bs.ObservedStoreGeneration = record.ObservedStoreGeneration
bs.ObservedStackGeneration = record.ObservedStackGeneration
bs.OS = record.OS
bs.SignaturePaths = record.SignaturePaths
}
func (bs *BuilderStatus) ErrorCreate(err error) {
readyCondition := corev1alpha1.Condition{
LastTransitionTime: corev1alpha1.VolatileTime{Inner: v1.Now()},
Type: corev1alpha1.ConditionReady,
Status: corev1.ConditionTrue,
}
if bs.LatestImage == "" {
readyCondition.Status = corev1.ConditionFalse
readyCondition.Message = NoLatestImageMessage
readyCondition.Reason = NoLatestImageReason
}
bs.Status = corev1alpha1.Status{
Conditions: corev1alpha1.Conditions{
readyCondition,
{
Type: ConditionUpToDate,
Status: corev1.ConditionFalse,
LastTransitionTime: corev1alpha1.VolatileTime{Inner: v1.Now()},
Reason: ReconcileFailedReason,
Message: err.Error(),
},
},
}
}