Use traefik and fix major problems with same-pods and cronjobs #185

Open
metal3d wants to merge 7 commits from feature/move-to-traefik into master
Showing only changes of commit ca9e3da208 - Show all commits

View File

@@ -53,8 +53,9 @@ func NewCronJob(service types.ServiceConfig, chart *HelmChart, appName string) (
} }
if strings.Contains(image, ":") { if strings.Contains(image, ":") {
image = strings.Split(service.Image, ":")[0] parts := strings.Split(image, ":")
tag = strings.Split(service.Image, ":")[1] image = parts[0]
tag = parts[1]
} }
chart.Values[service.Name].(*Value).CronJob.Repository = &RepositoryValue{ chart.Values[service.Name].(*Value).CronJob.Repository = &RepositoryValue{
@@ -62,6 +63,11 @@ func NewCronJob(service types.ServiceConfig, chart *HelmChart, appName string) (
Tag: tag, Tag: tag,
} }
command := mapping.Command
if !strings.HasPrefix(command, "sh -c") && !strings.HasPrefix(command, "/bin/sh") {
command = "sh -c \"" + command + "\""
}
cronjob := &CronJob{ cronjob := &CronJob{
CronJob: &batchv1.CronJob{ CronJob: &batchv1.CronJob{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
@@ -79,12 +85,13 @@ func NewCronJob(service types.ServiceConfig, chart *HelmChart, appName string) (
Spec: batchv1.JobSpec{ Spec: batchv1.JobSpec{
Template: corev1.PodTemplateSpec{ Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{ Spec: corev1.PodSpec{
RestartPolicy: corev1.RestartPolicyOnFailure,
Containers: []corev1.Container{ Containers: []corev1.Container{
{ {
Name: "cronjob", Name: "cronjob",
Image: "{{ .Values." + service.Name + ".cronjob.repository.image }}:{{ default .Values." + service.Name + ".cronjob.repository.tag \"latest\" }}", Image: "{{ .Values." + service.Name + ".cronjob.repository.image }}:{{ default .Values." + service.Name + ".cronjob.repository.tag \"latest\" }}",
Args: []string{ Args: []string{
mapping.Command, command,
}, },
}, },
}, },