diff --git a/app/scripts/services/secrets.js b/app/scripts/services/secrets.js
index 7c55d2b447..8dbba3bdc1 100644
--- a/app/scripts/services/secrets.js
+++ b/app/scripts/services/secrets.js
@@ -29,10 +29,12 @@ angular.module("openshiftConsole")
};
var decodeDockercfg = function(encodedData) {
- var decodedSecretData = {};
+ var decodedSecretData = {
+ auths: {}
+ };
var decodedData = JSON.parse(window.atob(encodedData));
_.each(decodedData, function(data, serverName) {
- decodedSecretData[serverName] = {
+ decodedSecretData.auths[serverName] = {
username: data.username,
password: data.password,
email: data.email
@@ -42,16 +44,28 @@ angular.module("openshiftConsole")
};
var decodeDockerconfigjson = function(encodedData) {
- var decodedSecretData = {};
+ var decodedSecretData = {
+ auths: {}
+ };
var decodedData = JSON.parse(window.atob(encodedData));
_.each(decodedData.auths, function(data, serverName) {
+ if (!data.auth) {
+ decodedSecretData.auths[serverName] = data;
+ return;
+ }
+
var usernamePassword = window.atob(data.auth).split(":");
- decodedSecretData[serverName] = {
+ decodedSecretData.auths[serverName] = {
username: usernamePassword[0],
password: usernamePassword[1],
email: data.email
};
});
+
+ if (decodedData.credsStore) {
+ decodedSecretData.credsStore = decodedData.credsStore;
+ }
+
return decodedSecretData;
};
diff --git a/app/views/_config-file-params.html b/app/views/_config-file-params.html
index 950dc86d2e..76c6b19a11 100644
--- a/app/views/_config-file-params.html
+++ b/app/views/_config-file-params.html
@@ -1,12 +1,26 @@
-
+
{{serverName}}
-
username
-
{{data.username}}
-
password
-
-
-
-
*****
-
email
-
{{data.email}}
+
+
username
+ {{data.username}}
+ password
+
+
+
+
+ *****
+
+ email
+ {{data.email}}
+
+
+ No username and password.
+
+
+
Credentials Store
+
+
+
+
+ *****
diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js
index 9065a62c98..ef4ff8d2d3 100644
--- a/dist/scripts/scripts.js
+++ b/dist/scripts/scripts.js
@@ -3074,24 +3074,30 @@ message: null
};
}), angular.module("openshiftConsole").factory("SecretsService", function() {
var e = function(e) {
-var t = {}, n = JSON.parse(window.atob(e));
+var t = {
+auths: {}
+}, n = JSON.parse(window.atob(e));
return _.each(n, function(e, n) {
-t[n] = {
+t.auths[n] = {
username: e.username,
password: e.password,
email: e.email
};
}), t;
}, t = function(e) {
-var t = {}, n = JSON.parse(window.atob(e));
+var t = {
+auths: {}
+}, n = JSON.parse(window.atob(e));
return _.each(n.auths, function(e, n) {
+if (e.auth) {
var a = window.atob(e.auth).split(":");
-t[n] = {
+t.auths[n] = {
username: a[0],
password: a[1],
email: e.email
};
-}), t;
+} else t.auths[n] = e;
+}), n.credsStore && (t.credsStore = n.credsStore), t;
};
return {
groupSecretsByType: function(e) {
diff --git a/dist/scripts/templates.js b/dist/scripts/templates.js
index 959e5bd0a9..665add2f0b 100644
--- a/dist/scripts/templates.js
+++ b/dist/scripts/templates.js
@@ -123,17 +123,31 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
$templateCache.put('views/_config-file-params.html',
- "
\n" +
+ "
\n" +
"
{{serverName}}
\n" +
- "
username\n" +
- "
{{data.username}}\n" +
- "
password\n" +
- "
\n" +
+ "\n" +
+ "
username\n" +
+ "{{data.username}}\n" +
+ "password\n" +
+ "\n" +
+ "\n" +
"\n" +
+ "\n" +
+ "*****\n" +
"\n" +
- "*****\n" +
- "email\n" +
- "{{data.email}}\n" +
+ "email\n" +
+ "{{data.email}}\n" +
+ "\n" +
+ "\n" +
+ "No username and password.\n" +
+ "
\n" +
+ "\n" +
+ "
Credentials Store
\n" +
+ "
\n" +
+ "\n" +
+ "\n" +
+ "\n" +
+ "*****\n" +
"
"
);