44 "crypto/md5"
55 "encoding/hex"
66 "fmt"
7+ opConfig "github.com/onepanelio/cli/config"
78
89 "github.com/onepanelio/cli/util"
910 "github.com/spf13/cobra"
@@ -29,12 +30,45 @@ var tokenCmd = &cobra.Command{
2930 Long : "Get a token for a given provider. Google Cloud Platform is different from minikube, for example." ,
3031 Example : "auth token" ,
3132 Run : func (cmd * cobra.Command , args []string ) {
32- config := util .NewConfig ()
33+ config , err := util .NewConfig ()
34+ if err != nil {
35+ fmt .Printf ("Error getting kubernetes configuration: %v" , err .Error ())
36+ return
37+ }
38+
3339 if ServiceAccountName == "" {
3440 ServiceAccountName = "admin"
3541 }
3642 token , username , err := util .GetBearerToken (config , "" , ServiceAccountName )
3743 if err != nil {
44+ configFilePath := "config.yaml"
45+ opConfig , opErr := opConfig .FromFile (configFilePath )
46+ if opErr != nil {
47+ fmt .Printf ("Unable to read configuration file: %v" , err .Error ())
48+ return
49+ }
50+ yamlFile , yamlErr := util .LoadDynamicYamlFromFile (opConfig .Spec .Params )
51+ if yamlErr != nil {
52+ fmt .Printf ("Error reading file '%v' %v" , opConfig .Spec .Params , yamlErr .Error ())
53+ return
54+ }
55+
56+ flatMap := yamlFile .FlattenToKeyValue (util .AppendDotFlatMapKeyFormatter )
57+ provider , providerErr := util .GetYamlStringValue (flatMap , "application.provider" )
58+ if providerErr != nil {
59+ fmt .Printf ("Unable to read application.provider from params.yaml %v" , providerErr .Error ())
60+ return
61+ }
62+ if provider == nil {
63+ fmt .Printf ("application.provider is not set in params.yaml" )
64+ return
65+ }
66+
67+ if * provider == "microk8s" {
68+ fmt .Printf ("Make sure you are running with \n KUBECONFIG=./kubeconfig opctl auth token\n Error: %v" , err .Error ())
69+ return
70+ }
71+
3872 fmt .Printf ("Error encountered for user %s: %s\n " , username , err .Error ())
3973 }
4074
0 commit comments