import { defineComponent, ref, reactive, computed, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrRenderClass } from 'vue/server-renderer'; import { u as useApi } from './useApi-B-E5eLsI.mjs'; import { u as useToast } from './useToast-CS21XT61.mjs'; import './server.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/utils'; import 'pinia'; import 'perfect-debounce'; import './useLoading-D4zrSa2m.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "environments", __ssrInlineRender: true, setup(__props) { useApi(); useToast(); const view = ref("list"); const rows = ref([]); const loading = ref(false); const isEditing = ref(false); const testPassed = ref(false); const testing = ref(false); const testResult = reactive({ show: false, ok: false, ssh_ok: false, ssh_msg: "", etcd_ok: false, etcd_msg: "", redis_ok: false, redis_msg: "", nats_ok: false, nats_msg: "" }); const testItems = computed(() => [ { key: "ssh", label: "SSH 部署机", ok: testResult.ssh_ok, msg: testResult.ssh_msg }, { key: "etcd", label: "ETCD", ok: testResult.etcd_ok, msg: testResult.etcd_msg }, { key: "redis", label: "Redis", ok: testResult.redis_ok, msg: testResult.redis_msg }, { key: "nats", label: "NATS", ok: testResult.nats_ok, msg: testResult.nats_msg } ]); function blankForm() { return { id: 0, name: "", code: "", remark: "", enabled: true, ssh_host: "", ssh_port: 22, ssh_user: "root", ssh_private_key: "", registry: "", registry_user: "", registry_pass: "", docker_network: "1panel-network", etcd_servers: "", redis_addr: "", redis_pwd: "", nats_url: "" }; } const form = reactive(blankForm()); function sshTarget(e) { if (!e.ssh_host) return "-"; return `${e.ssh_user || "root"}@${e.ssh_host}:${e.ssh_port || 22}`; } function imageLabel(e) { return e.registry || "-"; } return (_ctx, _push, _parent, _attrs) => { _push(`
部署服务器节点(如 上海 / 日本 / 新加坡):远端 IP、SSH 登录账号与私钥、私有镜像仓库、区域共享基础设施。应用管理里「部署到目标环境」从这里选择、两边对应;下一期即可从页面直接更新服务/部署应用。密钥加密存储,不回显明文。
| ID | 名称 | 区域码 | SSH 目标 | 镜像仓库 | 启用 | 操作 |
|---|---|---|---|---|---|---|
| 暂无环境 | ||||||
| ${ssrInterpolate(e.id)} | ${ssrInterpolate(e.name || "")} | ${ssrInterpolate(e.code || "")} | ${ssrInterpolate(sshTarget(e))} | ${ssrInterpolate(imageLabel(e))} | `); if (e.enabled) { _push(`是`); } else { _push(`否`); } _push(` | |