mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-24 15:24:17 +00:00
Added kubernetes provider singleton (#599)
This commit is contained in:
parent
e3e9681110
commit
c49c344c2a
@ -45,7 +45,7 @@ func PostTapConfig(c *gin.Context) {
|
|||||||
|
|
||||||
podRegex, _ := regexp.Compile(".*")
|
podRegex, _ := regexp.Compile(".*")
|
||||||
|
|
||||||
kubernetesProvider, err := kubernetes.NewProviderInCluster()
|
kubernetesProvider, err := providers.GetKubernetesProvider()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(http.StatusInternalServerError, err)
|
c.JSON(http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
@ -66,7 +66,7 @@ func PostTapConfig(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetTapConfig(c *gin.Context) {
|
func GetTapConfig(c *gin.Context) {
|
||||||
kubernetesProvider, err := kubernetes.NewProviderInCluster()
|
kubernetesProvider, err := providers.GetKubernetesProvider()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(http.StatusInternalServerError, err)
|
c.JSON(http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
|
27
agent/pkg/providers/kubernetes_provider.go
Normal file
27
agent/pkg/providers/kubernetes_provider.go
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package providers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/up9inc/mizu/shared/kubernetes"
|
||||||
|
"sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
var lock = &sync.Mutex{}
|
||||||
|
|
||||||
|
var kubernetesProvider *kubernetes.Provider
|
||||||
|
|
||||||
|
func GetKubernetesProvider() (*kubernetes.Provider, error) {
|
||||||
|
if kubernetesProvider == nil {
|
||||||
|
lock.Lock()
|
||||||
|
defer lock.Unlock()
|
||||||
|
|
||||||
|
if kubernetesProvider == nil {
|
||||||
|
var err error
|
||||||
|
kubernetesProvider, err = kubernetes.NewProviderInCluster()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return kubernetesProvider, nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user