Skip to content

Commit

Permalink
Merge pull request #2057 from spadgett/dockerconfigjson-secret
Browse files Browse the repository at this point in the history
Merged by openshift-bot
  • Loading branch information
OpenShift Bot committed Sep 13, 2017
2 parents 0200cf1 + f30afc2 commit 9673fad
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 26 deletions.
22 changes: 18 additions & 4 deletions app/scripts/services/secrets.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
};

Expand Down
30 changes: 21 additions & 9 deletions app/views/_config-file-params.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
<div ng-repeat="(serverName, data) in secretData" class="image-source-item">
<div ng-repeat="(serverName, data) in secretData.auths" class="image-source-item">
<h3>{{serverName}}</h3>
<dt>username</dt>
<dd class="word-break">{{data.username}}</dd>
<dt>password</dt>
<dd ng-if="view.showSecret">
<copy-to-clipboard clipboard-text="data.password" display-wide="true"></copy-to-clipboard>
<dt ng-if-start="data.username">username</dt>
<dd ng-if-end class="word-break">{{data.username}}</dd>
<dt ng-if-start="data.password">password</dt>
<dd ng-if-end>
<span ng-if="view.showSecret">
<copy-to-clipboard clipboard-text="data.password" display-wide="true"></copy-to-clipboard>
</span>
<span ng-if="!view.showSecret">*****</span>
</dd>
<dd ng-if="!view.showSecret">*****</dd>
<dt>email</dt>
<dd class="word-break">{{data.email}}</dd>
<dt ng-if-start="data.email">email</dt>
<dd ng-if-end class="word-break">{{data.email}}</dd>
<div ng-if="!data.username && !data.password && !data.email">
No username and password.
</div>
</div>
<h3 ng-if-start="secretData.credsStore">Credentials Store</h3>
<div ng-if-end>
<span ng-if="view.showSecret">
<copy-to-clipboard clipboard-text="secretData.credsStore" display-wide="true"></copy-to-clipboard>
</span>
<span ng-if="!view.showSecret">*****</span>
</div>
16 changes: 11 additions & 5 deletions dist/scripts/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
28 changes: 20 additions & 8 deletions dist/scripts/templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,17 +123,29 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(


$templateCache.put('views/_config-file-params.html',
"<div ng-repeat=\"(serverName, data) in secretData\" class=\"image-source-item\">\n" +
"<div ng-repeat=\"(serverName, data) in secretData.auths\" class=\"image-source-item\">\n" +
"<h3>{{serverName}}</h3>\n" +
"<dt>username</dt>\n" +
"<dd class=\"word-break\">{{data.username}}</dd>\n" +
"<dt>password</dt>\n" +
"<dd ng-if=\"view.showSecret\">\n" +
"<dt ng-if-start=\"data.username\">username</dt>\n" +
"<dd ng-if-end class=\"word-break\">{{data.username}}</dd>\n" +
"<dt ng-if-start=\"data.password\">password</dt>\n" +
"<dd ng-if-end>\n" +
"<span ng-if=\"view.showSecret\">\n" +
"<copy-to-clipboard clipboard-text=\"data.password\" display-wide=\"true\"></copy-to-clipboard>\n" +
"</span>\n" +
"<span ng-if=\"!view.showSecret\">*****</span>\n" +
"</dd>\n" +
"<dd ng-if=\"!view.showSecret\">*****</dd>\n" +
"<dt>email</dt>\n" +
"<dd class=\"word-break\">{{data.email}}</dd>\n" +
"<dt ng-if-start=\"data.email\">email</dt>\n" +
"<dd ng-if-end class=\"word-break\">{{data.email}}</dd>\n" +
"<div ng-if=\"!data.username && !data.password && !data.email\">\n" +
"No username and password.\n" +
"</div>\n" +
"</div>\n" +
"<h3 ng-if-start=\"secretData.credsStore\">Credentials Store</h3>\n" +
"<div ng-if-end>\n" +
"<span ng-if=\"view.showSecret\">\n" +
"<copy-to-clipboard clipboard-text=\"secretData.credsStore\" display-wide=\"true\"></copy-to-clipboard>\n" +
"</span>\n" +
"<span ng-if=\"!view.showSecret\">*****</span>\n" +
"</div>"
);

Expand Down

0 comments on commit 9673fad

Please sign in to comment.