Traefik_Control/backend/internal/config/adapters/kubernetes.go
2026-09-02 11:20:31 -05:00

33 lines
1.2 KiB
Go

package adapters
// KubernetesAdapter is a stub for future Kubernetes CRD/Gateway management.
// Phase 2 does not implement K8s adapter; it only defines the interface.
type KubernetesAdapter interface {
ListIngresses(namespace string) ([]K8sResource, error)
ListCRDs(namespace string) ([]K8sResource, error)
PreviewResource(kind, namespace, name string, yaml string) (string, error)
ApplyResource(kind, namespace, name string, yaml string, confirm bool) error
}
type K8sResource struct {
Kind string `json:"kind"`
Namespace string `json:"namespace"`
Name string `json:"name"`
YAML string `json:"yaml"`
}
type StubKubernetesAdapter struct{}
func (s *StubKubernetesAdapter) ListIngresses(string) ([]K8sResource, error) {
return nil, errNotImplemented("kubernetes")
}
func (s *StubKubernetesAdapter) ListCRDs(string) ([]K8sResource, error) {
return nil, errNotImplemented("kubernetes")
}
func (s *StubKubernetesAdapter) PreviewResource(string, string, string, string) (string, error) {
return "", errNotImplemented("kubernetes")
}
func (s *StubKubernetesAdapter) ApplyResource(string, string, string, string, bool) error {
return errNotImplemented("kubernetes")
}