From f394f2f59637d6f7b26b37709ce1b0f48e71a68f Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Tue, 20 Oct 2020 16:32:23 +0530 Subject: [PATCH] allow adding docker Private registry details while deploying cluster (#802) * allow adding docker Private registry details while deploying cluster * Set min master node count for HA to 2 * generalize refresh of features list * Update user.js Co-authored-by: Pearl Dsilva Signed-off-by: Rohit Yadav --- ui/src/components/view/ListView.vue | 2 +- ui/src/locales/en.json | 2 +- ui/src/store/modules/user.js | 11 +++ .../views/compute/CreateKubernetesCluster.vue | 72 ++++++++++++++++++- 4 files changed, 82 insertions(+), 5 deletions(-) diff --git a/ui/src/components/view/ListView.vue b/ui/src/components/view/ListView.vue index cb86d6710df..c68fd427ed9 100644 --- a/ui/src/components/view/ListView.vue +++ b/ui/src/components/view/ListView.vue @@ -439,7 +439,7 @@ export default { value: this.editableValue }).then(json => { this.editableValueKey = null - + this.$store.dispatch('RefreshFeatures') this.$message.success(`${this.$t('message.setting.updated')} ${record.name}`) if (json.updateconfigurationresponse && json.updateconfigurationresponse.configuration && diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index 64a70585882..922dda58b74 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -1603,7 +1603,7 @@ "label.private.interface": "Private Interface", "label.private.ip.range": "Private IP Range", "label.private.ips": "Private IP Addresses", -"label.private.registry": "Private registry", +"label.private.registry": "Private Registry", "label.private.zone": "Private Zone", "label.privateinterface": "Private Interface", "label.privateip": "Private IP Address", diff --git a/ui/src/store/modules/user.js b/ui/src/store/modules/user.js index aba087db58b..6e66c0de779 100644 --- a/ui/src/store/modules/user.js +++ b/ui/src/store/modules/user.js @@ -274,6 +274,17 @@ const user = { reject(error) }) }) + }, + RefreshFeatures ({ commit }) { + return new Promise((resolve, reject) => { + api('listCapabilities').then(response => { + const result = response.listcapabilitiesresponse.capability + resolve(result) + commit('SET_FEATURES', result) + }).catch(error => { + reject(error) + }) + }) } } } diff --git a/ui/src/views/compute/CreateKubernetesCluster.vue b/ui/src/views/compute/CreateKubernetesCluster.vue index 75e70d4be89..9759a5d9055 100644 --- a/ui/src/views/compute/CreateKubernetesCluster.vue +++ b/ui/src/views/compute/CreateKubernetesCluster.vue @@ -176,11 +176,11 @@ + + + +
+ + + {{ $t('label.username') }} + + + + + + + + + {{ $t('label.password') }} + + + + + + + + + {{ $t('label.url') }} + + + + + + + + + {{ $t('label.email') }} + + + + + + +
+
{{ this.$t('label.cancel') }} {{ this.$t('label.ok') }} @@ -277,6 +335,7 @@ export default { keyPairs: [], keyPairLoading: false, haEnabled: false, + usePrivateRegistry: false, loading: false } }, @@ -468,6 +527,13 @@ export default { if (this.isValidValueForKey(values, 'keypair') && this.arrayHasItems(this.keyPairs) && this.keyPairs[values.keypair].id != null) { params.keypair = this.keyPairs[values.keypair].id } + if (this.usePrivateRegistry) { + params.dockerregistryusername = values.dockerregistryusername + params.dockerregistrypassword = values.dockerregistrypassword + params.dockerregistryurl = values.dockerregistryurl + params.dockerregistryemail = values.dockerregistryemail + } + api('createKubernetesCluster', params).then(json => { const jobId = json.createkubernetesclusterresponse.jobid this.$store.dispatch('AddAsyncJob', {