@@ -11,6 +11,20 @@ import (
1111
1212const (
1313 DefaultConfigFilename = ".tcloud"
14+ DefaultAPIURL = "https://api.thalassa.cloud"
15+ )
16+
17+ const (
18+ ThalassaConfigEnvVar = "THALASSA_CONFIG"
19+ ThalassaCConfigEnvVar = "THALASSACONFIG"
20+
21+ ThalassaAccessTokenEnvVar = "THALASSA_ACCESS_TOKEN"
22+ ThalassaPersonalAccessTokenEnvVar = "THALASSA_PERSONAL_ACCESS_TOKEN"
23+ ThalassaOIDCClientIDEnvVar = "THALASSA_OIDC_CLIENT_ID"
24+ ThalassaOIDCClientSecretEnvVar = "THALASSA_OIDC_CLIENT_SECRET"
25+ ThalassaOrganisationIDEnvVar = "THALASSA_ORGANISATION_ID"
26+
27+ ThalassaAPIEndpointEnvVar = "THALASSA_API_ENDPOINT"
1428)
1529
1630var (
@@ -77,10 +91,10 @@ func Init() {
7791}
7892
7993func getConfigFilename () string {
80- if configFilename := os .Getenv ("THALASSA_CONFIG" ); configFilename != "" {
94+ if configFilename := os .Getenv (ThalassaConfigEnvVar ); configFilename != "" {
8195 return configFilename
8296 }
83- if configFilename := os .Getenv ("THALASSACONFIG" ); configFilename != "" {
97+ if configFilename := os .Getenv (ThalassaCConfigEnvVar ); configFilename != "" {
8498 return configFilename
8599 }
86100 home , err := homedir .Dir ()
@@ -119,35 +133,40 @@ func Organisation() string {
119133 if OrganisationFlag != "" {
120134 return OrganisationFlag
121135 }
136+ if organisation := os .Getenv (ThalassaOrganisationIDEnvVar ); organisation != "" {
137+ return organisation
138+ }
122139
123140 currentcontext , err := globalConfigManager .Get ()
124141 if err != nil {
125- fmt .Fprintln (os .Stderr , err )
126- os .Exit (1 )
142+ return ""
127143 }
128- organisation := currentcontext .Organisation
129- return organisation
144+ return currentcontext .Organisation
130145}
131146
132147func Server () string {
133148 if EndpointFlag != "" {
134149 return EndpointFlag
135150 }
151+ if server := os .Getenv (ThalassaAPIEndpointEnvVar ); server != "" {
152+ return server
153+ }
136154
137155 currentcontext , err := globalConfigManager .Get ()
138156 if err != nil {
139- fmt .Fprintln (os .Stderr , err )
140- os .Exit (1 )
157+ return DefaultAPIURL
141158 }
142-
143- return currentcontext .Servers .API .Server
159+ if currentcontext .Servers .API .Server != "" {
160+ return currentcontext .Servers .API .Server
161+ }
162+ return DefaultAPIURL
144163}
145164
146165func AccessToken () string {
147166 if AccessTokenFlag != "" {
148167 return AccessTokenFlag
149168 }
150- if accessToken := os .Getenv ("THALASSA_ACCESS_TOKEN" ); accessToken != "" {
169+ if accessToken := os .Getenv (ThalassaAccessTokenEnvVar ); accessToken != "" {
151170 return accessToken
152171 }
153172 return ""
@@ -157,13 +176,12 @@ func PersonalAccessToken() string {
157176 if PersonalAccessTokenFlag != "" {
158177 return PersonalAccessTokenFlag
159178 }
160- if personalAccessToken := os .Getenv ("THALASSA_PERSONAL_ACCESS_TOKEN" ); personalAccessToken != "" {
179+ if personalAccessToken := os .Getenv (ThalassaPersonalAccessTokenEnvVar ); personalAccessToken != "" {
161180 return personalAccessToken
162181 }
163182 currentcontext , err := globalConfigManager .Get ()
164183 if err != nil {
165- fmt .Fprintln (os .Stderr , err )
166- os .Exit (1 )
184+ return ""
167185 }
168186
169187 return currentcontext .Users .User .Token
@@ -173,14 +191,16 @@ func ClientIdOrFlag() string {
173191 if OidcClientIDFlag != "" {
174192 return OidcClientIDFlag
175193 }
194+ if clientID := os .Getenv (ThalassaOIDCClientIDEnvVar ); clientID != "" {
195+ return clientID
196+ }
176197 return ClientId ()
177198}
178199
179200func ClientId () string {
180201 currentcontext , err := globalConfigManager .Get ()
181202 if err != nil {
182- fmt .Fprintln (os .Stderr , err )
183- os .Exit (1 )
203+ return ""
184204 }
185205 return currentcontext .Users .User .ClientID
186206}
@@ -189,14 +209,16 @@ func ClientSecretOrFlag() string {
189209 if OidcClientSecretFlag != "" {
190210 return OidcClientSecretFlag
191211 }
212+ if clientSecret := os .Getenv (ThalassaOIDCClientSecretEnvVar ); clientSecret != "" {
213+ return clientSecret
214+ }
192215 return ClientSecret ()
193216}
194217
195218func ClientSecret () string {
196219 currentcontext , err := globalConfigManager .Get ()
197220 if err != nil {
198- fmt .Fprintln (os .Stderr , err )
199- os .Exit (1 )
221+ return ""
200222 }
201223 return currentcontext .Users .User .ClientSecret
202224}
0 commit comments