Skip to content

Commit 1f5e242

Browse files
fix(cmd) Fix proctype regex for setting limits
This fixes the proctype regex to match PROCTYPE_MATCH in deis/controller.
1 parent 2dddbe1 commit 1f5e242

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

cmd/limits.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func parseLimits(limits []string) (map[string]interface{}, error) {
145145
}
146146

147147
func parseLimit(limit string) (string, string, error) {
148-
regex := regexp.MustCompile("^([A-z]+)=(([0-9]+[bkmgBKMG]{1,2}|[0-9.]{1,5}|[0-9.]{1,5}m?)(/([0-9]+[bkmgBKMG]{1,2}|[0-9.]{1,5}|[0-9.]{1,5}m?}))?)$")
148+
regex := regexp.MustCompile("^([a-z0-9]+(?:-[a-z0-9]+)*)=(([0-9]+[bkmgBKMG]{1,2}|[0-9.]{1,5}|[0-9.]{1,5}m?)(/([0-9]+[bkmgBKMG]{1,2}|[0-9.]{1,5}|[0-9.]{1,5}m?}))?)$")
149149

150150
if !regex.MatchString(limit) {
151151
return "", "", fmt.Errorf(`%s doesn't fit format type=#unit or type=# or type=#/#

cmd/limits_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,18 @@ Examples: web=2G worker=500M db=1G/2G`
3636
{"web=200m/400m", "web", "200m/400m", false, ""},
3737
{"web=0.2/0.4", "web", "0.2/0.4", false, ""},
3838
{"web=.2/.4", "web", ".2/.4", false, ""},
39+
{"web1=2G", "web1", "2G", false, ""},
40+
{"web-server=2G", "web-server", "2G", false, ""},
41+
{"web-server1=2G", "web-server1", "2G", false, ""},
3942
{"=1", "", "", true, "=1" + errorHint},
4043
{"web=", "", "", true, "web=" + errorHint},
4144
{"1=", "", "", true, "1=" + errorHint},
4245
{"web=G", "", "", true, "web=G" + errorHint},
4346
{"web=/", "", "", true, "web=/" + errorHint},
4447
{"web=/1", "", "", true, "web=/1" + errorHint},
48+
{"web-=2G", "", "", true, "web-=2G" + errorHint},
49+
{"-web=2G", "", "", true, "-web=2G" + errorHint},
50+
{"Web=2G", "", "", true, "Web=2G" + errorHint},
4551
}
4652

4753
for _, check := range cases {

0 commit comments

Comments
 (0)