mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-07-18 18:32:30 +00:00
48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package providers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/up9inc/mizu/agent/pkg/models"
|
|
"github.com/up9inc/mizu/shared"
|
|
)
|
|
|
|
var (
|
|
authStatus *models.AuthStatus
|
|
)
|
|
|
|
func GetAuthStatus() (*models.AuthStatus, error) {
|
|
if authStatus == nil {
|
|
syncEntriesConfigJson := os.Getenv(shared.SyncEntriesConfigEnvVar)
|
|
if syncEntriesConfigJson == "" {
|
|
authStatus = &models.AuthStatus{}
|
|
return authStatus, nil
|
|
}
|
|
|
|
syncEntriesConfig := &shared.SyncEntriesConfig{}
|
|
err := json.Unmarshal([]byte(syncEntriesConfigJson), syncEntriesConfig)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to marshal sync entries config, err: %v", err)
|
|
}
|
|
|
|
if syncEntriesConfig.Token == "" {
|
|
authStatus = &models.AuthStatus{}
|
|
return authStatus, nil
|
|
}
|
|
|
|
tokenEmail, err := shared.GetTokenEmail(syncEntriesConfig.Token)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to get token email, err: %v", err)
|
|
}
|
|
|
|
authStatus = &models.AuthStatus{
|
|
Email: tokenEmail,
|
|
Model: syncEntriesConfig.Workspace,
|
|
}
|
|
}
|
|
|
|
return authStatus, nil
|
|
}
|