refactor: 全局重命名 k8s → kubernetes (前后端+路由+表名+文件)

后端:
  - pkg/k8sclient → pkg/kubernetesclient
  - models/k8s.go → models/kubernetes.go
  - handlers/k8s.go → handlers/kubernetes.go
  - K8sCluster/K8sNode/.. → KubernetesCluster/KubernetesNode/..
  - K8sHandler → KubernetesHandler
  - 路由: /k8s-clusters → /kubernetes-clusters
  - 路由: /k8s/:code/namespace/:ns/... → /kubernetes/:code/namespace/:ns/... (Kuboard风格)
  - 表前缀: container_k8s_ → container_kubernetes_

前端:
  - components/k8s/ → components/kubernetes/
  - K8sClusters → KubernetesClusters
  - K8sWorkloads → KubernetesWorkloads
  - K8sNodes → KubernetesNodes
  - k8sApi → kubernetesApi
  - 路由前缀: /k8s/ → /kubernetes/

测试验证:
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/deployments → 3 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/pods → 7 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/services → 4 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/configmaps → 6 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/secrets → 1 item
✅ /kubernetes/k8s-cluster-liren/namespaces → 4 items
This commit is contained in:
attacker committed 2026-06-19 08:10:12 +00:00
1 parent f7b667b878
commit cac1414917
27 files changed
+779 -284

No files matched your search

+6 -6
View File
@@ -66,12 +66,12 @@ func AutoMigrate(db *gorm.DB) error {
&models.CloudAccount{},
&models.Region{},
&models.Domain{},
&models.K8sCluster{},
&models.K8sNode{},
&models.K8sPod{},
&models.K8sDeployment{},
&models.K8sService{},
&models.K8sIngress{},
&models.KubernetesCluster{},
&models.KubernetesNode{},
&models.KubernetesPod{},
&models.KubernetesDeployment{},
&models.KubernetesService{},
&models.KubernetesIngress{},
&models.AlertRule{},
&models.AlertEvent{},
&models.NotifyChannel{},
@@ -880,3 +880,68 @@ func (c *Client) ListNamespaces() ([]string, error) {
}
return names, nil
}
// --- ConfigMap ---
// ConfigMapList response
type ConfigMapList struct {
Items []ConfigMapItem `json:"items"`
}
// ConfigMapItem represents a ConfigMap
type ConfigMapItem struct {
Metadata ObjectMeta `json:"metadata"`
Data map[string]string `json:"data"`
}
// ListConfigMaps fetches ConfigMaps in a namespace
func (c *Client) ListConfigMaps(namespace string) (*ConfigMapList, error) {
var result ConfigMapList
path := fmt.Sprintf("/api/v1/namespaces/%s/configmaps", namespace)
if err := c.get(path, &result); err != nil {
return nil, err
}
return &result, nil
}
// --- Secret ---
// SecretList response
type SecretList struct {
Items []SecretItem `json:"items"`
}
// SecretItem represents a Secret (return keys only, not values)
type SecretItem struct {
Metadata ObjectMeta `json:"metadata"`
Type string `json:"type"`
DataKeys []string `json:"-"`
}
// ListSecrets fetches Secrets in a namespace (names+types only, no data)
func (c *Client) ListSecrets(namespace string) (*SecretList, error) {
var result struct {
Items []struct {
Metadata ObjectMeta `json:"metadata"`
Type string `json:"type"`
Data map[string]string `json:"data"`
} `json:"items"`
}
path := fmt.Sprintf("/api/v1/namespaces/%s/secrets", namespace)
if err := c.get(path, &result); err != nil {
return nil, err
}
items := make([]SecretItem, len(result.Items))
for i, item := range result.Items {
keys := make([]string, 0, len(item.Data))
for k := range item.Data {
keys = append(keys, k)
}
items[i] = SecretItem{
Metadata: item.Metadata,
Type: item.Type,
DataKeys: keys,
}
}
return &SecretList{Items: items}, nil
}