mirror of
https://github.com/openshift/openshift-mcp-server.git
synced 2025-10-17 14:27:48 +03:00
* refactor(kubernetes): keep Provider as only external Kubernetes interface Initial phase to unify-merge the Provider interface with the Manager struct. - Renamed ManagerProvider to Provider (i.e. kubernets.Provider) - Moved Manager related logic to specific files - Exposed relevant method through Provider interface (GetDerivedKubernetes, IsOpenShift, VerifyToken) Signed-off-by: Marc Nuri <marc@marcnuri.com> * Update pkg/kubernetes/provider_kubeconfig.go Co-authored-by: Calum Murray <cmurray@redhat.com> Signed-off-by: Marc Nuri <marc@marcnuri.com> --------- Signed-off-by: Marc Nuri <marc@marcnuri.com> Co-authored-by: Calum Murray <cmurray@redhat.com>
40 lines
1023 B
Go
40 lines
1023 B
Go
package kubernetes
|
|
|
|
import (
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
|
|
"github.com/containers/kubernetes-mcp-server/pkg/helm"
|
|
"k8s.io/client-go/kubernetes/scheme"
|
|
|
|
_ "k8s.io/client-go/plugin/pkg/client/auth/oidc"
|
|
)
|
|
|
|
type HeaderKey string
|
|
|
|
const (
|
|
CustomAuthorizationHeader = HeaderKey("kubernetes-authorization")
|
|
OAuthAuthorizationHeader = HeaderKey("Authorization")
|
|
|
|
CustomUserAgent = "kubernetes-mcp-server/bearer-token-auth"
|
|
)
|
|
|
|
type CloseWatchKubeConfig func() error
|
|
|
|
type Kubernetes struct {
|
|
manager *Manager
|
|
}
|
|
|
|
// AccessControlClientset returns the access-controlled clientset
|
|
// This ensures that any denied resources configured in the system are properly enforced
|
|
func (k *Kubernetes) AccessControlClientset() *AccessControlClientset {
|
|
return k.manager.accessControlClientSet
|
|
}
|
|
|
|
var Scheme = scheme.Scheme
|
|
var ParameterCodec = runtime.NewParameterCodec(Scheme)
|
|
|
|
func (k *Kubernetes) NewHelm() *helm.Helm {
|
|
// This is a derived Kubernetes, so it already has the Helm initialized
|
|
return helm.NewHelm(k.manager)
|
|
}
|