From 072d4815ee48b31aeb7261e4d5c08dd506e91a3e Mon Sep 17 00:00:00 2001
From: Chris Baumbauer <cab@cabnetworks.net>
Date: Sun, 18 Dec 2016 09:01:42 -0500
Subject: [PATCH] #231 Invoking kompose --bundle X.dab convert --stdout will
 produce two differently ordered results (#338)

---
 pkg/transformer/kubernetes/kubernetes.go | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go
index 6746cf7cd..d21631828 100644
--- a/pkg/transformer/kubernetes/kubernetes.go
+++ b/pkg/transformer/kubernetes/kubernetes.go
@@ -18,6 +18,7 @@ package kubernetes
 
 import (
 	"fmt"
+	"sort"
 	"strconv"
 	"time"
 
@@ -353,7 +354,15 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
 	// this will hold all the converted data
 	var allobjects []runtime.Object
 
-	for name, service := range komposeObject.ServiceConfigs {
+	// Need to ensure the kubernetes objects are in a consistent order
+	var sortedKeys []string
+	for name, _ := range komposeObject.ServiceConfigs {
+		sortedKeys = append(sortedKeys, name)
+	}
+	sort.Strings(sortedKeys)
+
+	for _, name := range sortedKeys {
+		service := komposeObject.ServiceConfigs[name]
 		var objects []runtime.Object
 
 		// Generate pod only and nothing more