Kiali anonymous, журнал Helm, kubeconfig для контейнеров, UI аддонов
- Kiali: убран login, anonymous по умолчанию; удалены поля логина/пароля из UI и API - Журнал Helm: install/upgrade/delete, message и колонка в journal.js - Аддоны: values свёрнуты при подгрузке для установленных - GET …/kubeconfig/docker: host.docker.internal:порт + tls-server-name; кнопка в UI - apply_apiserver_endpoint_to_kubeconfig_file; KIND_K8S_APISERVER_GATEWAY_HOST в compose/env.example - README и api_routes.md обновлены
This commit is contained in:
@@ -88,6 +88,61 @@
|
||||
return "journal-status-pill";
|
||||
}
|
||||
|
||||
/** Суффикс job_kind (после helm_addon_install_|upgrade_|delete_) → id аддона в API. */
|
||||
function helmJobSlugToAddonId(slug) {
|
||||
const m = {
|
||||
ingress_nginx: "ingress-nginx",
|
||||
kube_prometheus_stack: "kube-prometheus-stack",
|
||||
metrics_server: "metrics-server",
|
||||
istio_kiali: "istio-kiali",
|
||||
};
|
||||
return m[slug] || String(slug || "").replace(/_/g, "-") || "—";
|
||||
}
|
||||
|
||||
function helmAddonTitle(id) {
|
||||
const m = {
|
||||
"ingress-nginx": "ingress-nginx",
|
||||
"kube-prometheus-stack": "kube-prometheus-stack",
|
||||
"metrics-server": "metrics-server",
|
||||
"istio-kiali": "Istio + Kiali",
|
||||
};
|
||||
return m[id] || id || "—";
|
||||
}
|
||||
|
||||
function helmOperationTitle(op) {
|
||||
const o = (op || "").toLowerCase();
|
||||
if (o === "install") return "Установка";
|
||||
if (o === "upgrade") return "Обновление";
|
||||
if (o === "delete") return "Удаление";
|
||||
return op || "—";
|
||||
}
|
||||
|
||||
/**
|
||||
* Колонка «Вид операции» для режима Helm: установка / обновление / удаление и имя аддона.
|
||||
* Старые записи без result.action разбираются по префиксу kind.
|
||||
*/
|
||||
function formatHelmJournalKind(e) {
|
||||
const r = e.result;
|
||||
if (r && typeof r === "object") {
|
||||
const verb = helmOperationTitle(r.action);
|
||||
const ad = r.addon != null ? helmAddonTitle(String(r.addon)) : "—";
|
||||
if (r.action && r.addon != null && String(r.addon).length) {
|
||||
return verb + " · " + ad;
|
||||
}
|
||||
}
|
||||
const k = e.kind || "";
|
||||
if (k.indexOf("helm_addon_delete_") === 0) {
|
||||
return "Удаление · " + helmAddonTitle(helmJobSlugToAddonId(k.replace(/^helm_addon_delete_/, "")));
|
||||
}
|
||||
if (k.indexOf("helm_addon_upgrade_") === 0) {
|
||||
return "Обновление · " + helmAddonTitle(helmJobSlugToAddonId(k.replace(/^helm_addon_upgrade_/, "")));
|
||||
}
|
||||
if (k.indexOf("helm_addon_install_") === 0) {
|
||||
return "Установка · " + helmAddonTitle(helmJobSlugToAddonId(k.replace(/^helm_addon_install_/, "")));
|
||||
}
|
||||
return k || "—";
|
||||
}
|
||||
|
||||
function visiblePageItems(current, total) {
|
||||
const delta = 2;
|
||||
const range = [];
|
||||
@@ -200,7 +255,7 @@
|
||||
const finished = formatUtc(
|
||||
e.finished_at_utc || e.created_at_utc,
|
||||
);
|
||||
const kind = e.kind || "";
|
||||
const kind = mode === "helm_addons" ? formatHelmJournalKind(e) : (e.kind || "");
|
||||
const msg = (e.message || "").trim();
|
||||
let lines = [];
|
||||
if (mode === "per_cluster") {
|
||||
|
||||
Reference in New Issue
Block a user