in internal/workload/workload.go [145:165]
func WorkloadForKind(kind string) (Workload, error) {
_, gk := schema.ParseKindArg(kind)
switch gk.Kind {
case "Deployment":
return &DeploymentWorkload{Deployment: &appsv1.Deployment{}}, nil
case "Pod":
return &PodWorkload{Pod: &corev1.Pod{}}, nil
case "StatefulSet":
return &StatefulSetWorkload{StatefulSet: &appsv1.StatefulSet{}}, nil
case "Job":
return &JobWorkload{Job: &batchv1.Job{}}, nil
case "CronJob":
return &CronJobWorkload{CronJob: &batchv1.CronJob{}}, nil
case "DaemonSet":
return &DaemonSetWorkload{DaemonSet: &appsv1.DaemonSet{}}, nil
case "ReplicaSet":
return &ReplicaSetWorkload{ReplicaSet: &appsv1.ReplicaSet{}}, nil
default:
return nil, fmt.Errorf("unknown kind %s", kind)
}
}