mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
Add new resource for Kubernetes API proxy (#279)
This adds a new resource which deploys a Kubernetes API server proxy that can be used to access the API server without tokens through Netbird. Part of #274 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added ClusterProxy custom resource for cluster API proxying capabilities * **Documentation** * Added ClusterProxy API reference documentation with schema details * **Examples** * Added example ClusterProxy configuration and RBAC setup for cluster proxy targets <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/netbirdio/kubernetes-operator/pull/279?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
+14
-7
@@ -60,7 +60,7 @@ func main() {
|
||||
var (
|
||||
runtimeNamespace string
|
||||
managementURL string
|
||||
clientImage string
|
||||
netbirdClientImage string
|
||||
clusterName string
|
||||
namespacedNetworks bool
|
||||
clusterDNS string
|
||||
@@ -71,7 +71,7 @@ func main() {
|
||||
)
|
||||
flag.StringVar(&runtimeNamespace, "runtime-namespace", "", "Namespace the controller is running in")
|
||||
flag.StringVar(&managementURL, "netbird-management-url", "https://api.netbird.io", "Management service URL")
|
||||
flag.StringVar(&clientImage, "netbird-client-image", "", "Image for netbird client container")
|
||||
flag.StringVar(&netbirdClientImage, "netbird-client-image", "", "Image for netbird client container")
|
||||
flag.StringVar(
|
||||
&clusterName,
|
||||
"cluster-name",
|
||||
@@ -139,8 +139,8 @@ func main() {
|
||||
setupLog.Error(err, "unable to get runtime namespace")
|
||||
os.Exit(1)
|
||||
}
|
||||
if clientImage == "" {
|
||||
clientImage = version.ClientImage()
|
||||
if netbirdClientImage == "" {
|
||||
netbirdClientImage = version.NetbirdClientImage
|
||||
}
|
||||
|
||||
defaultLabelsMap := make(map[string]string)
|
||||
@@ -210,7 +210,7 @@ func main() {
|
||||
}
|
||||
|
||||
if enableWebhooks {
|
||||
if err = nbwebhookv1.SetupPodWebhookWithManager(mgr, managementURL, clientImage); err != nil {
|
||||
if err = nbwebhookv1.SetupPodWebhookWithManager(mgr, managementURL, netbirdClientImage); err != nil {
|
||||
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
|
||||
os.Exit(1)
|
||||
}
|
||||
@@ -226,7 +226,7 @@ func main() {
|
||||
if err = (&controller.NBRoutingPeerReconciler{
|
||||
Client: mgr.GetClient(),
|
||||
Netbird: nbClient,
|
||||
ClientImage: clientImage,
|
||||
ClientImage: netbirdClientImage,
|
||||
ClusterName: clusterName,
|
||||
ManagementURL: managementURL,
|
||||
NamespacedNetworks: namespacedNetworks,
|
||||
@@ -299,7 +299,7 @@ func main() {
|
||||
if err := (&controller.NetworkRouterReconciler{
|
||||
Client: mgr.GetClient(),
|
||||
Netbird: nbClient,
|
||||
ClientImage: clientImage,
|
||||
ClientImage: netbirdClientImage,
|
||||
ManagementURL: managementURL,
|
||||
}).SetupWithManager(mgr); err != nil {
|
||||
setupLog.Error(err, "Failed to create controller", "controller", "NetworkRouter")
|
||||
@@ -312,6 +312,13 @@ func main() {
|
||||
setupLog.Error(err, "Failed to create controller", "controller", "NetworkResource")
|
||||
os.Exit(1)
|
||||
}
|
||||
if err := (&controller.ClusterProxyReconciler{
|
||||
Client: mgr.GetClient(),
|
||||
ApiKey: netbirdAPIKey,
|
||||
}).SetupWithManager(mgr); err != nil {
|
||||
setupLog.Error(err, "Failed to create controller", "controller", "ClusterProxy")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if gatewayAPIEnabled {
|
||||
if err = (&controller.GatewayClassReconciler{
|
||||
|
||||
Reference in New Issue
Block a user