package k8s type JobStatus string const ( JobPending JobStatus = "Pending" JobRunning JobStatus = "Running" JobSucceeded JobStatus = "Succeeded" JobFailed JobStatus = "Failed" ) type JobSpec struct { Name string Namespace string Image string EnvVars map[string]string TimeoutSecond int } type Job struct { Name string Namespace string Status JobStatus Logs string } type K8sClient interface { CreateJob(spec *JobSpec) (*Job, error) GetJob(name, namespace string) (*Job, error) DeleteJob(name, namespace string) error }