github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/controllers/core/dockerimage/status.go (about) 1 package dockerimage 2 3 import ( 4 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 5 6 "github.com/tilt-dev/tilt/internal/container" 7 "github.com/tilt-dev/tilt/pkg/apis" 8 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 9 "github.com/tilt-dev/tilt/pkg/model" 10 ) 11 12 // Return a basic Building Status. 13 func ToBuildingStatus(iTarget model.ImageTarget, startTime metav1.MicroTime) v1alpha1.DockerImageStatus { 14 return v1alpha1.DockerImageStatus{ 15 Building: &v1alpha1.DockerImageStateBuilding{ 16 StartedAt: startTime, 17 }, 18 } 19 } 20 21 // Return a completed status when the image build failed. 22 func ToCompletedFailStatus(iTarget model.ImageTarget, startTime metav1.MicroTime, 23 stages []v1alpha1.DockerImageStageStatus, err error) v1alpha1.DockerImageStatus { 24 finishTime := apis.NowMicro() 25 26 // Complete all stages. 27 for i, stage := range stages { 28 if stage.StartedAt != nil && stage.FinishedAt == nil { 29 stage.FinishedAt = &finishTime 30 stage.Error = err.Error() 31 } 32 stages[i] = stage 33 } 34 35 return v1alpha1.DockerImageStatus{ 36 Completed: &v1alpha1.DockerImageStateCompleted{ 37 StartedAt: startTime, 38 FinishedAt: finishTime, 39 Error: err.Error(), 40 }, 41 StageStatuses: stages, 42 } 43 } 44 45 // Return a completed status when the image build succeeded. 46 func ToCompletedSuccessStatus(iTarget model.ImageTarget, startTime metav1.MicroTime, 47 stages []v1alpha1.DockerImageStageStatus, refs container.TaggedRefs) v1alpha1.DockerImageStatus { 48 finishTime := apis.NowMicro() 49 50 // Complete all stages. 51 for i, stage := range stages { 52 if stage.StartedAt != nil && stage.FinishedAt == nil { 53 stage.FinishedAt = &finishTime 54 } 55 stages[i] = stage 56 } 57 58 return v1alpha1.DockerImageStatus{ 59 Ref: container.FamiliarString(refs.LocalRef), 60 Completed: &v1alpha1.DockerImageStateCompleted{ 61 StartedAt: startTime, 62 FinishedAt: finishTime, 63 }, 64 StageStatuses: stages, 65 } 66 }