Skip to content

Commit 6f82cf5

Browse files
authored
chinese support for custom workflow jobs (koderover#3190)
Signed-off-by: Min Min <[email protected]>
1 parent f563bdb commit 6f82cf5

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

pkg/microservice/aslan/core/common/service/workflowcontroller/jobcontroller/kubernetes.go

+23-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"strings"
3131
"time"
3232

33+
"github.com/mozillazg/go-pinyin"
3334
"github.com/pkg/errors"
3435
"go.uber.org/zap"
3536
"gopkg.in/yaml.v2"
@@ -138,6 +139,26 @@ func getJobLabels(jobLabel *JobLabel) map[string]string {
138139
return retMap
139140
}
140141

142+
func getJobContainerName(name string) string {
143+
pyArgs := pinyin.NewArgs()
144+
pyArgs.Fallback = func(r rune, a pinyin.Args) []string {
145+
return []string{string(r)}
146+
}
147+
148+
res := pinyin.Pinyin(name, pyArgs)
149+
150+
pinyins := make([]string, 0)
151+
for _, py := range res {
152+
pinyins = append(pinyins, strings.Join(py, ""))
153+
}
154+
155+
resp := strings.Join(pinyins, "")
156+
if len(resp) > 63 {
157+
return resp[:63]
158+
}
159+
return resp
160+
}
161+
141162
func createJobConfigMap(namespace, jobName string, jobLabel *JobLabel, jobCtx string, kubeClient crClient.Client) error {
142163
cm := &corev1.ConfigMap{
143164
ObjectMeta: metav1.ObjectMeta{
@@ -334,7 +355,7 @@ echo $result > %s
334355
Containers: []corev1.Container{
335356
{
336357
ImagePullPolicy: corev1.PullAlways,
337-
Name: jobTask.Name,
358+
Name: getJobContainerName(jobTask.Name),
338359
Image: jobTaskSpec.Plugin.Image,
339360
Args: jobTaskSpec.Plugin.Args,
340361
Command: jobTaskSpec.Plugin.Cmds,
@@ -459,7 +480,7 @@ func buildJob(jobType, jobImage, jobName, clusterID, currentNamespace string, re
459480
Containers: []corev1.Container{
460481
{
461482
ImagePullPolicy: corev1.PullAlways,
462-
Name: strings.ReplaceAll(jobTask.Name, "_", "-"),
483+
Name: getJobContainerName(strings.ReplaceAll(jobTask.Name, "_", "-")),
463484
Image: jobImage,
464485
Command: []string{"/bin/sh", "-c"},
465486
Args: []string{jobExecutorBootingScript},

pkg/setting/consts.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,7 @@ const (
760760
)
761761

762762
const (
763-
JobNameRegx = "^[a-z][a-z0-9-]{0,31}$"
763+
JobNameRegx = "^[a-z\u4e00-\u9fa5][a-z0-9\u4e00-\u9fa5-]{0,31}$"
764764
WorkflowRegx = "^[a-z0-9-]+$"
765765
)
766766

0 commit comments

Comments
 (0)