Skip to content

Commit 898be9e

Browse files
authored
feat: Sync docker proxy to nodes (#8359)
1 parent 0934534 commit 898be9e

11 files changed

Lines changed: 118 additions & 8 deletions

File tree

core/constant/common.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ const (
3333

3434
OneDriveRedirectURI = "http://localhost/login/authorized"
3535
GoogleRedirectURI = "http://localhost:8080"
36+
37+
DaemonJsonPath = "/etc/docker/daemon.json"
3638
)
3739

3840
const (

frontend/src/lang/modules/en.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,6 +1520,11 @@ const message = {
15201520
proxyDocker: 'Docker Proxy',
15211521
proxyDockerHelper:
15221522
'Synchronize proxy server configuration to Docker, support offline server image pulling and other operations',
1523+
syncToNode: 'Sync to Node',
1524+
syncToNodeHelper: 'Sync settings to other nodes',
1525+
nodes: 'Node',
1526+
selectNode: 'Select Node',
1527+
selectNodeError: 'Please select a node',
15231528
apiInterface: 'API Interface',
15241529
apiInterfaceClose: 'Once closed, API interfaces cannot be accessed. Do you want to continue?',
15251530
apiInterfaceHelper: 'Provide panel support for API interface access',

frontend/src/lang/modules/ja.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,6 +1461,11 @@ const message = {
14611461
proxyDocker: 'Dockerプロキシ',
14621462
proxyDockerHelper:
14631463
'プロキシサーバーの構成をDockerに同期し、オフラインサーバーイメージの引っ張りやその他の操作をサポートします',
1464+
syncToNode: '子ノードに同期',
1465+
syncToNodeHelper: '選択したノードへの同期設定',
1466+
nodes: 'ノード',
1467+
selectNode: 'ノードを選択',
1468+
selectNodeError: 'ノードを選択してください',
14641469
apiInterface: 'APIを有効にします',
14651470
apiInterfaceClose: '閉じたら、APIインターフェイスにアクセスできません。続けたいですか?',
14661471
apiInterfaceHelper: 'サードパーティのアプリケーションにAPIにアクセスできるようにします。',

frontend/src/lang/modules/ko.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,6 +1443,11 @@ const message = {
14431443
proxyDocker: 'Docker 프록시',
14441444
proxyDockerHelper:
14451445
'프록시 서버 구성을 Docker 에 동기화하여 오프라인 서버 이미지 가져오기 등의 작업을 지원합니다.',
1446+
syncToNode: '자식 노드로 동기화',
1447+
syncToNodeHelper: '다른 노드로 설정 동기화',
1448+
nodes: '노드',
1449+
selectNode: '노드 선택',
1450+
selectNodeError: '노드를 선택해 주세요',
14461451
apiInterface: 'API 활성화',
14471452
apiInterfaceClose: '비활성화하면 API 인터페이스에 접근할 수 없습니다. 계속하시겠습니까?',
14481453
apiInterfaceHelper: '서드파티 애플리케이션이 API 에 접근할 수 있도록 허용합니다.',

frontend/src/lang/modules/ms.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1505,6 +1505,11 @@ const message = {
15051505
proxyDocker: 'Proksi Docker',
15061506
proxyDockerHelper:
15071507
'Selaraskan konfigurasi pelayan proksi ke Docker, menyokong tarikan imej pelayan luar talian dan operasi lain',
1508+
syncToNode: 'Penyegerakan ke nod anak',
1509+
syncToNodeHelper: 'Penyegerakan tetapan ke nod lain',
1510+
nodes: 'Nod',
1511+
selectNode: 'Pilih nod',
1512+
selectNodeError: 'Sila pilih nod',
15081513
apiInterface: 'Aktifkan API',
15091514
apiInterfaceClose: 'Setelah ditutup, antara muka API tidak boleh diakses. Adakah anda mahu meneruskan?',
15101515
apiInterfaceHelper: 'Benarkan aplikasi pihak ketiga mengakses API.',

frontend/src/lang/modules/pt-br.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,6 +1490,11 @@ const message = {
14901490
proxyDocker: 'Proxy Docker',
14911491
proxyDockerHelper:
14921492
'Sincronize a configuração do servidor proxy com o Docker, suportando operações de puxar imagens de servidor offline e outras',
1493+
syncToNode: 'Sincronizar para o nó filho',
1494+
syncToNodeHelper: 'Sincronizar de alerta para outros nós',
1495+
nodes: 'Nós',
1496+
selectNode: 'Selecionar nó',
1497+
selectNodeError: 'Por favor, selecione um nó',
14931498
apiInterface: 'Habilitar API',
14941499
apiInterfaceClose: 'Uma vez fechado, as interfaces da API não poderão ser acessadas. Deseja continuar?',
14951500
apiInterfaceHelper: 'Permitir que aplicativos de terceiros acessem a API.',

frontend/src/lang/modules/ru.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,6 +1494,11 @@ const message = {
14941494
proxyDocker: 'Прокси Docker',
14951495
proxyDockerHelper:
14961496
'Синхронизировать конфигурацию прокси-сервера с Docker, поддержка офлайн загрузки образов и других операций',
1497+
syncToNode: 'Синхронизация с дочерним узлом',
1498+
syncToNodeHelper: 'Синхронизация настроек с другими узлами',
1499+
nodes: 'Узлы',
1500+
selectNode: 'Выберите узел',
1501+
selectNodeError: 'Пожалуйста, выберите узел',
14971502
apiInterface: 'Включить API',
14981503
apiInterfaceClose: 'После закрытия API-интерфейсы будут недоступны. Хотите продолжить?',
14991504
apiInterfaceHelper: 'Разрешить сторонним приложениям доступ к API.',

frontend/src/lang/modules/zh-Hant.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1439,6 +1439,11 @@ const message = {
14391439
proxyPasswdKeep: '記住密碼',
14401440
proxyDocker: 'Docker 代理',
14411441
proxyDockerHelper: '將代理伺服器配寘同步至 Docker,支持離線服務器拉取鏡像等操作',
1442+
syncToNode: '同步至子節點',
1443+
syncToNodeHelper: '同步設置至其他節點',
1444+
nodes: '節點',
1445+
selectNode: '選擇節點',
1446+
selectNodeError: '請選擇節點',
14421447
apiInterface: 'API 接口',
14431448
apiInterfaceClose: '關閉後將不能使用 API 接口進行訪問,是否繼續?',
14441449
apiInterfaceHelper: '提供面板支持 API 接口訪問',

frontend/src/lang/modules/zh.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,11 @@ const message = {
14351435
proxyPasswdKeep: '记住密码',
14361436
proxyDocker: 'Docker 代理',
14371437
proxyDockerHelper: '将代理服务器配置同步至 Docker,支持离线服务器拉取镜像等操作',
1438+
syncToNode: '同步至子节点',
1439+
syncToNodeHelper: '同步设置至所选节点',
1440+
nodes: '节点',
1441+
selectNode: '选择节点',
1442+
selectNodeError: '请选择节点',
14381443
apiInterface: 'API 接口',
14391444
apiInterfaceClose: '关闭后将不能使用 API 接口进行访问,是否继续?',
14401445
apiInterfaceHelper: '提供面板支持 API 接口访问',

frontend/src/views/setting/panel/index.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
</el-input>
140140
</el-form-item>
141141

142-
<el-form-item :label="$t('setting.proxy')" prop="proxyShow">
142+
<el-form-item :label="$t('setting.proxy')" prop="proxyShow" v-if="isMaster">
143143
<el-input disabled v-model="form.proxyShow">
144144
<template #append>
145145
<el-button @click="onChangeProxy" icon="Setting">
@@ -229,7 +229,7 @@ const loading = ref(false);
229229
const i18n = useI18n();
230230
const globalStore = GlobalStore();
231231
232-
const { isMasterProductPro } = storeToRefs(globalStore);
232+
const { isMasterProductPro, isMaster } = storeToRefs(globalStore);
233233
234234
const { switchTheme } = useTheme();
235235
const mobile = computed(() => {
@@ -266,6 +266,8 @@ const form = reactive({
266266
proxyPasswd: '',
267267
proxyPasswdKeep: '',
268268
proxyDocker: '',
269+
proxyDockerSyncToNode: '',
270+
proxyDockerSyncNodes: '',
269271
270272
apiInterfaceStatus: 'Disable',
271273
apiKey: '',
@@ -339,6 +341,8 @@ const search = async () => {
339341
: '{"light":"#005eeb","dark":"#F0BE96"}';
340342
globalStore.themeConfig.theme = form.theme;
341343
form.proxyDocker = xpackRes.data.proxyDocker;
344+
form.proxyDockerSyncToNode = xpackRes.data.proxyDockerSyncToNode;
345+
form.proxyDockerSyncNodes = xpackRes.data.proxyDockerSyncNodes;
342346
}
343347
} else {
344348
globalStore.themeConfig.theme = form.theme;
@@ -369,6 +373,8 @@ const onChangeProxy = () => {
369373
passwd: form.proxyPasswd,
370374
passwdKeep: form.proxyPasswdKeep,
371375
proxyDocker: form.proxyDocker,
376+
proxyDockerSyncToNode: form.proxyDockerSyncToNode,
377+
proxyDockerSyncNodes: form.proxyDockerSyncNodes,
372378
});
373379
};
374380

0 commit comments

Comments
 (0)