github.com/kubeshop/testkube@v1.17.23/pkg/mapper/deployments/mapper.go (about) 1 package deployments 2 3 import ( 4 "time" 5 6 appsv1 "k8s.io/api/apps/v1" 7 8 testtriggersv1 "github.com/kubeshop/testkube-operator/api/testtriggers/v1" 9 ) 10 11 // MapCRDConditionsToAPI maps Deployment CRD conditions to OpenAPI spec TestTriggerConditions 12 func MapCRDConditionsToAPI(conditions []appsv1.DeploymentCondition, currentTime time.Time) []testtriggersv1.TestTriggerCondition { 13 var results []testtriggersv1.TestTriggerCondition 14 for _, condition := range conditions { 15 latestTime := condition.LastTransitionTime.Time 16 if condition.LastUpdateTime.Time.After(latestTime) { 17 latestTime = condition.LastUpdateTime.Time 18 } 19 20 results = append(results, testtriggersv1.TestTriggerCondition{ 21 Type_: string(condition.Type), 22 Status: (*testtriggersv1.TestTriggerConditionStatuses)(&condition.Status), 23 Reason: condition.Reason, 24 Ttl: int32(currentTime.Sub(latestTime) / time.Second), 25 }) 26 } 27 28 return results 29 }