Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Commit

Permalink
Merge pull request #241 from weaveworks/more-chars-in-tag
Browse files Browse the repository at this point in the history
Allow dots and underscores in (yamel) image tags
  • Loading branch information
squaremo committed Nov 21, 2016
2 parents edc2c28 + 98a7386 commit ccb9a99
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 1 deletion.
4 changes: 3 additions & 1 deletion platform/kubernetes/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,10 @@ func tryUpdate(def, newImageStr string, trace io.Writer, out io.Writer) error {
imageRE := multilineRE(
` containers:.*`,
`(?: .*\n)*(?: ){3,4}- name:\s*"?([\w-]+)"?(?:\s.*)?`,
`(?: ){4,5}image:\s*"?(`+newImage.Repository()+`:[\w-]+)"?(\s.*)?`,
`(?: ){4,5}image:\s*"?(`+newImage.Repository()+`:[\w][\w.-]{0,127})"?(\s.*)?`,
)
// tag part of regexp from
// https://github.com/docker/distribution/blob/master/reference/regexp.go#L36

matches = imageRE.FindStringSubmatch(def)
if matches == nil || len(matches) < 3 {
Expand Down
65 changes: 65 additions & 0 deletions platform/kubernetes/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ func TestUpdates(t *testing.T) {
{"new version like number", case2, case2image, case2out},
{"old version like number", case2out, case2reverseImage, case2},
{"name label out of order", case3, case3image, case3out},
{"version (tag) with dots", case4, case4image, case4out},
} {
testUpdate(t, c[0], c[1], c[2], c[3])
}
Expand Down Expand Up @@ -256,3 +257,67 @@ spec:
args:
- http://prometheus.monitoring.svc.cluster.local/admin/prometheus
`

const case4 = `---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: front-end
namespace: sock-shop
spec:
replicas: 1
template:
metadata:
labels:
name: front-end
spec:
containers:
- name: front-end
image: weaveworksdemos/front-end:v_0.2.0
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 8079
securityContext:
runAsNonRoot: true
runAsUser: 10001
capabilities:
drop:
- all
readOnlyRootFilesystem: true
`

const case4image = "weaveworksdemos/front-end:7f511af2d21fd601b86b3bed7baa6adfa9c8c669"

const case4out = `---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: front-end
namespace: sock-shop
spec:
replicas: 1
template:
metadata:
labels:
name: front-end
spec:
containers:
- name: front-end
image: weaveworksdemos/front-end:7f511af2d21fd601b86b3bed7baa6adfa9c8c669
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 8079
securityContext:
runAsNonRoot: true
runAsUser: 10001
capabilities:
drop:
- all
readOnlyRootFilesystem: true
`

0 comments on commit ccb9a99

Please sign in to comment.