Skip to content

Commit

Permalink
Fix branch names support for k8s runtime (#2020)
Browse files Browse the repository at this point in the history
* fix branch names support for k8s

* remove logs

Co-authored-by: Asim Aslam <asim@aslam.me>
  • Loading branch information
domwong and asim committed Sep 25, 2020
1 parent a18806c commit 76275e8
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
5 changes: 2 additions & 3 deletions runtime/kubernetes/kubernetes.go
Expand Up @@ -211,7 +211,6 @@ func (k *kubernetes) getService(labels map[string]string, opts ...client.GetOpti

// now try get a deeper status
state := item.Status.Containers[0].State

// set start time
if state.Running != nil {
svc.Metadata["started"] = state.Running.Started
Expand Down Expand Up @@ -484,7 +483,7 @@ func (k *kubernetes) Read(opts ...runtime.ReadOption) ([]*runtime.Service, error

// add version to labels if a version has been supplied
if len(options.Version) > 0 {
labels["version"] = options.Version
labels["version"] = client.Format(options.Version)
}

if len(options.Type) > 0 {
Expand Down Expand Up @@ -521,7 +520,7 @@ func (k *kubernetes) Update(s *runtime.Service, opts ...runtime.UpdateOption) er
}

if len(s.Version) > 0 {
labels["version"] = s.Version
labels["version"] = client.Format(s.Version)
}

// get the existing service
Expand Down
9 changes: 6 additions & 3 deletions util/kubernetes/client/util.go
Expand Up @@ -88,13 +88,16 @@ func CertsFromPEM(pemCerts []byte) ([]*x509.Certificate, error) {
}

// Format is used to format a string value into a k8s valid name
// https://kubernetes.io/docs/concepts/overview/working-with-objects/names/
func Format(v string) string {
// to lower case
v = strings.ToLower(v)
// / to dashes
v = strings.ReplaceAll(v, "/", "-")
// dots to dashes
v = strings.ReplaceAll(v, ".", "-")
replaceChars := []string{"/", ".", "_"}
for _, s := range replaceChars {
v = strings.ReplaceAll(v, s, "-")
}

// limit to 253 chars
if len(v) > 253 {
v = v[:253]
Expand Down
2 changes: 2 additions & 0 deletions util/kubernetes/client/util_test.go
Expand Up @@ -36,6 +36,8 @@ func TestFormatName(t *testing.T) {
{"foo.bar", "foo-bar"},
{"Foo.Bar", "foo-bar"},
{"go.micro.foo.bar", "go-micro-foo-bar"},
{"go.micro.foo.bar", "go-micro-foo-bar"},
{"foo/bar_baz", "foo-bar-baz"},
}

for _, test := range testCases {
Expand Down

0 comments on commit 76275e8

Please sign in to comment.