DodoApp: Support MongoDB

Change-Id: I275f662848fb7d78b98d5e935f5ca87d73ca60ec
diff --git a/core/installer/server/dodo-app/server.go b/core/installer/server/dodo-app/server.go
index 609ce9f..4fbd6c2 100644
--- a/core/installer/server/dodo-app/server.go
+++ b/core/installer/server/dodo-app/server.go
@@ -630,6 +630,12 @@
 	Volume  string
 }
 
+type mongodb struct {
+	Name    string
+	Version string
+	Volume  string
+}
+
 type ingress struct {
 	Name string
 	Host string
@@ -646,6 +652,7 @@
 type resourceData struct {
 	Volume         []volume
 	PostgreSQL     []postgresql
+	MongoDB        []mongodb
 	Ingress        []ingress
 	VirtualMachine []vm
 }
@@ -1815,6 +1822,20 @@
 				return resourceData{}, fmt.Errorf("no volume")
 			}
 			ret.PostgreSQL = append(ret.PostgreSQL, postgresql{name, version, volume})
+		case "mongodb":
+			name, ok := r.Annotations["dodo.cloud/resource.mongodb.name"]
+			if !ok {
+				return resourceData{}, fmt.Errorf("no name")
+			}
+			version, ok := r.Annotations["dodo.cloud/resource.mongodb.version"]
+			if !ok {
+				return resourceData{}, fmt.Errorf("no version")
+			}
+			volume, ok := r.Annotations["dodo.cloud/resource.mongodb.volume"]
+			if !ok {
+				return resourceData{}, fmt.Errorf("no volume")
+			}
+			ret.MongoDB = append(ret.MongoDB, mongodb{name, version, volume})
 		case "ingress":
 			name, ok := r.Annotations["dodo.cloud/resource.ingress.name"]
 			if !ok {