mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
use dialog.showOpenDialog for selecting custom kube-config file
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
16e50556dd
commit
8c145131e9
@ -83,7 +83,7 @@ msgstr "Account Name"
|
|||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Active"
|
msgstr "Active"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:176
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:196
|
||||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
||||||
msgid "Add Cluster"
|
msgid "Add Cluster"
|
||||||
msgstr "Add Cluster"
|
msgstr "Add Cluster"
|
||||||
@ -108,7 +108,7 @@ msgstr "Add bindings to {name}"
|
|||||||
#~ msgid "Add cluster"
|
#~ msgid "Add cluster"
|
||||||
#~ msgstr "Add cluster"
|
#~ msgstr "Add cluster"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:223
|
||||||
msgid "Add cluster(s)"
|
msgid "Add cluster(s)"
|
||||||
msgstr "Add cluster(s)"
|
msgstr "Add cluster(s)"
|
||||||
|
|
||||||
@ -710,7 +710,7 @@ msgstr "Currently applied filters:"
|
|||||||
msgid "Custom Resources"
|
msgid "Custom Resources"
|
||||||
msgstr "Custom Resources"
|
msgstr "Custom Resources"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:121
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:141
|
||||||
msgid "Custom.."
|
msgid "Custom.."
|
||||||
msgstr "Custom.."
|
msgstr "Custom.."
|
||||||
|
|
||||||
@ -1730,13 +1730,17 @@ msgstr "Persistent Volume Claims"
|
|||||||
msgid "Persistent Volumes"
|
msgid "Persistent Volumes"
|
||||||
msgstr "Persistent Volumes"
|
msgstr "Persistent Volumes"
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:78
|
||||||
|
msgid "Please select kube-config's context"
|
||||||
|
msgstr "Please select kube-config's context"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
||||||
#~ msgid "Please select kubeconfig"
|
#~ msgid "Please select kubeconfig"
|
||||||
#~ msgstr "Please select kubeconfig"
|
#~ msgstr "Please select kubeconfig"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
||||||
msgid "Please select kubeconfig context"
|
#~ msgid "Please select kubeconfig context"
|
||||||
msgstr "Please select kubeconfig context"
|
#~ msgstr "Please select kubeconfig context"
|
||||||
|
|
||||||
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
||||||
msgid "Pod"
|
msgid "Pod"
|
||||||
@ -1832,7 +1836,7 @@ msgstr "Provisioner"
|
|||||||
msgid "Proxy is used only for non-cluster communication."
|
msgid "Proxy is used only for non-cluster communication."
|
||||||
msgstr "Proxy is used only for non-cluster communication."
|
msgstr "Proxy is used only for non-cluster communication."
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:188
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:207
|
||||||
msgid "Proxy settings"
|
msgid "Proxy settings"
|
||||||
msgstr "Proxy settings"
|
msgstr "Proxy settings"
|
||||||
|
|
||||||
@ -2216,7 +2220,7 @@ msgstr "Secret type"
|
|||||||
msgid "Secrets"
|
msgid "Secrets"
|
||||||
msgstr "Secrets"
|
msgstr "Secrets"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:185
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||||
msgid "Select a context"
|
msgid "Select a context"
|
||||||
msgstr "Select a context"
|
msgstr "Select a context"
|
||||||
|
|
||||||
@ -2228,6 +2232,11 @@ msgstr "Select a quota.."
|
|||||||
#~ msgid "Select context"
|
#~ msgid "Select context"
|
||||||
#~ msgstr "Select context"
|
#~ msgstr "Select context"
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||||
|
msgid "Select custom kube-config file"
|
||||||
|
msgstr "Select custom kube-config file"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
||||||
#~ msgid "Select kubeconfig"
|
#~ msgid "Select kubeconfig"
|
||||||
#~ msgstr "Select kubeconfig"
|
#~ msgstr "Select kubeconfig"
|
||||||
@ -2570,6 +2579,11 @@ msgstr "Upgrade version"
|
|||||||
msgid "Usage"
|
msgid "Usage"
|
||||||
msgstr "Usage"
|
msgstr "Usage"
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||||
|
msgid "Use configuration"
|
||||||
|
msgstr "Use configuration"
|
||||||
|
|
||||||
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
||||||
msgid "Use same name for RoleBinding"
|
msgid "Use same name for RoleBinding"
|
||||||
msgstr "Use same name for RoleBinding"
|
msgstr "Use same name for RoleBinding"
|
||||||
|
|||||||
@ -83,7 +83,7 @@ msgstr ""
|
|||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:176
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:196
|
||||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
||||||
msgid "Add Cluster"
|
msgid "Add Cluster"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -108,7 +108,7 @@ msgstr ""
|
|||||||
#~ msgid "Add cluster"
|
#~ msgid "Add cluster"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:223
|
||||||
msgid "Add cluster(s)"
|
msgid "Add cluster(s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -706,7 +706,7 @@ msgstr ""
|
|||||||
msgid "Custom Resources"
|
msgid "Custom Resources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:121
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:141
|
||||||
msgid "Custom.."
|
msgid "Custom.."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1713,13 +1713,17 @@ msgstr ""
|
|||||||
msgid "Persistent Volumes"
|
msgid "Persistent Volumes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:78
|
||||||
|
msgid "Please select kube-config's context"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
||||||
#~ msgid "Please select kubeconfig"
|
#~ msgid "Please select kubeconfig"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
||||||
msgid "Please select kubeconfig context"
|
#~ msgid "Please select kubeconfig context"
|
||||||
msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
||||||
msgid "Pod"
|
msgid "Pod"
|
||||||
@ -1815,7 +1819,7 @@ msgstr ""
|
|||||||
msgid "Proxy is used only for non-cluster communication."
|
msgid "Proxy is used only for non-cluster communication."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:188
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:207
|
||||||
msgid "Proxy settings"
|
msgid "Proxy settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2199,7 +2203,7 @@ msgstr ""
|
|||||||
msgid "Secrets"
|
msgid "Secrets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:185
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||||
msgid "Select a context"
|
msgid "Select a context"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2211,6 +2215,11 @@ msgstr ""
|
|||||||
#~ msgid "Select context"
|
#~ msgid "Select context"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||||
|
msgid "Select custom kube-config file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
||||||
#~ msgid "Select kubeconfig"
|
#~ msgid "Select kubeconfig"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
@ -2553,6 +2562,11 @@ msgstr ""
|
|||||||
msgid "Usage"
|
msgid "Usage"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||||
|
msgid "Use configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
||||||
msgid "Use same name for RoleBinding"
|
msgid "Use same name for RoleBinding"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -84,7 +84,7 @@ msgstr "Название аккаунта"
|
|||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Активный"
|
msgstr "Активный"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:176
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:196
|
||||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
||||||
msgid "Add Cluster"
|
msgid "Add Cluster"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -109,7 +109,7 @@ msgstr "Добавить привязки к {name}"
|
|||||||
#~ msgid "Add cluster"
|
#~ msgid "Add cluster"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:223
|
||||||
msgid "Add cluster(s)"
|
msgid "Add cluster(s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -711,7 +711,7 @@ msgstr "Текущие фильтры:"
|
|||||||
msgid "Custom Resources"
|
msgid "Custom Resources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:121
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:141
|
||||||
msgid "Custom.."
|
msgid "Custom.."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1731,13 +1731,17 @@ msgstr "Persistent Volume Claims"
|
|||||||
msgid "Persistent Volumes"
|
msgid "Persistent Volumes"
|
||||||
msgstr "Persistent Volumes"
|
msgstr "Persistent Volumes"
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:78
|
||||||
|
msgid "Please select kube-config's context"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
||||||
#~ msgid "Please select kubeconfig"
|
#~ msgid "Please select kubeconfig"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
||||||
msgid "Please select kubeconfig context"
|
#~ msgid "Please select kubeconfig context"
|
||||||
msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
||||||
msgid "Pod"
|
msgid "Pod"
|
||||||
@ -1833,7 +1837,7 @@ msgstr "Комиссия"
|
|||||||
msgid "Proxy is used only for non-cluster communication."
|
msgid "Proxy is used only for non-cluster communication."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:188
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:207
|
||||||
msgid "Proxy settings"
|
msgid "Proxy settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2217,7 +2221,7 @@ msgstr "Тип секрета"
|
|||||||
msgid "Secrets"
|
msgid "Secrets"
|
||||||
msgstr "Secrets"
|
msgstr "Secrets"
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:185
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||||
msgid "Select a context"
|
msgid "Select a context"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2229,6 +2233,11 @@ msgstr "Выберите квоту..."
|
|||||||
#~ msgid "Select context"
|
#~ msgid "Select context"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||||
|
msgid "Select custom kube-config file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
||||||
#~ msgid "Select kubeconfig"
|
#~ msgid "Select kubeconfig"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
@ -2571,6 +2580,11 @@ msgstr "Обновить версию"
|
|||||||
msgid "Usage"
|
msgid "Usage"
|
||||||
msgstr "Использование"
|
msgstr "Использование"
|
||||||
|
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||||
|
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||||
|
msgid "Use configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
||||||
msgid "Use same name for RoleBinding"
|
msgid "Use same name for RoleBinding"
|
||||||
msgstr "Использовать тоже имя для привязки ролей"
|
msgstr "Использовать тоже имя для привязки ролей"
|
||||||
|
|||||||
@ -2,10 +2,12 @@ import "./add-cluster.scss"
|
|||||||
import React, { Fragment } from "react";
|
import React, { Fragment } from "react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import { computed, observable } from "mobx";
|
import { computed, observable } from "mobx";
|
||||||
|
import { remote } from "electron";
|
||||||
import { KubeConfig } from "@kubernetes/client-node";
|
import { KubeConfig } from "@kubernetes/client-node";
|
||||||
import { Trans } from "@lingui/macro";
|
import { _i18n } from "../../i18n";
|
||||||
|
import { t, Trans } from "@lingui/macro";
|
||||||
import { Select, SelectOption } from "../select";
|
import { Select, SelectOption } from "../select";
|
||||||
import { FileInput, Input } from "../input";
|
import { Input } from "../input";
|
||||||
import { AceEditor } from "../ace-editor";
|
import { AceEditor } from "../ace-editor";
|
||||||
import { Button } from "../button";
|
import { Button } from "../button";
|
||||||
import { Icon } from "../icon";
|
import { Icon } from "../icon";
|
||||||
@ -33,14 +35,18 @@ export class AddCluster extends React.Component {
|
|||||||
@observable customConfig = ""
|
@observable customConfig = ""
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.setLocalConfigPath(userStore.kubeConfigPath);
|
this.kubeConfigPath = userStore.kubeConfigPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
userStore.markNewContextsAsSeen();
|
userStore.markNewContextsAsSeen();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected setLocalConfigPath(filePath: string) {
|
protected get kubeConfigPath() {
|
||||||
|
return userStore.kubeConfigPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected set kubeConfigPath(filePath: string) {
|
||||||
try {
|
try {
|
||||||
const kubeConfig = loadConfig(filePath);
|
const kubeConfig = loadConfig(filePath);
|
||||||
validateConfig(kubeConfig);
|
validateConfig(kubeConfig);
|
||||||
@ -54,6 +60,19 @@ export class AddCluster extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectKubeConfig = async () => {
|
||||||
|
const { dialog, BrowserWindow } = remote;
|
||||||
|
const { canceled, filePaths } = await dialog.showOpenDialog(BrowserWindow.getFocusedWindow(), {
|
||||||
|
defaultPath: this.kubeConfigPath,
|
||||||
|
properties: ["openFile", "showHiddenFiles"],
|
||||||
|
message: _i18n._(t`Select custom kube-config file`),
|
||||||
|
buttonLabel: _i18n._(t`Use configuration`),
|
||||||
|
});
|
||||||
|
if (!canceled && filePaths.length) {
|
||||||
|
this.kubeConfigPath = filePaths[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@computed get isCustom() {
|
@computed get isCustom() {
|
||||||
return this.newClusterConfig === this.custom;
|
return this.newClusterConfig === this.custom;
|
||||||
}
|
}
|
||||||
@ -179,25 +198,18 @@ export class AddCluster extends React.Component {
|
|||||||
<WizardLayout className="AddCluster" infoPanel={this.renderInfo()}>
|
<WizardLayout className="AddCluster" infoPanel={this.renderInfo()}>
|
||||||
<h2><Trans>Add Cluster</Trans></h2>
|
<h2><Trans>Add Cluster</Trans></h2>
|
||||||
<div className="flex gaps align-center">
|
<div className="flex gaps align-center">
|
||||||
<label
|
<label className="kube-config-select flex gaps align-center box grow" onClick={this.selectKubeConfig}>
|
||||||
htmlFor="kube-config-select"
|
|
||||||
className="kube-config-select flex gaps align-center box grow"
|
|
||||||
>
|
|
||||||
<span className="title">Kubeconfig file</span>
|
<span className="title">Kubeconfig file</span>
|
||||||
<code>{userStore.kubeConfigPath}</code>
|
<code>{this.kubeConfigPath}</code>
|
||||||
</label>
|
</label>
|
||||||
{kubeConfigDefaultPath !== userStore.kubeConfigPath && (
|
{this.kubeConfigPath !== kubeConfigDefaultPath && (
|
||||||
<Icon
|
<Icon
|
||||||
material="settings_backup_restore"
|
material="settings_backup_restore"
|
||||||
onClick={() => this.setLocalConfigPath(kubeConfigDefaultPath)}
|
onClick={() => this.kubeConfigPath = kubeConfigDefaultPath}
|
||||||
tooltip="Reset to defaults"
|
tooltip="Reset to defaults"
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<FileInput
|
|
||||||
id="kube-config-select"
|
|
||||||
onSelectFiles={({ file }) => this.setLocalConfigPath(file.path)}
|
|
||||||
/>
|
|
||||||
<Select
|
<Select
|
||||||
placeholder={<Trans>Select a context</Trans>}
|
placeholder={<Trans>Select a context</Trans>}
|
||||||
value={this.newClusterConfig}
|
value={this.newClusterConfig}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user