@@ -26,6 +26,7 @@ import (
2626 "fmt"
2727 "os"
2828 "path/filepath"
29+ "strconv"
2930 "strings"
3031 "testing"
3132
@@ -183,34 +184,55 @@ var _ = SynchronizedBeforeSuite(func() []byte {
183184 e2eConfig = loadE2EConfig (configPath )
184185 bootstrapClusterProxy = NewOCIClusterProxy ("bootstrap" , kubeconfigPath , initScheme ())
185186
186- tenancyId , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_TENANCY_ID_B64" ))
187- Expect (err ).NotTo (HaveOccurred ())
188- userId , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_USER_ID_B64" ))
189- Expect (err ).NotTo (HaveOccurred ())
190- passphrase , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_CREDENTIALS_PASSPHRASE_B64" ))
191- Expect (err ).NotTo (HaveOccurred ())
192- key , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_CREDENTIALS_KEY_B64" ))
193- Expect (err ).NotTo (HaveOccurred ())
194- fingerprint , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_CREDENTIALS_FINGERPRINT_B64" ))
195- Expect (err ).NotTo (HaveOccurred ())
196- region , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_REGION_B64" ))
197- Expect (err ).NotTo (HaveOccurred ())
198-
199- ociAuthConfigProvider , err := oci_config .NewConfigurationProvider (& oci_config.AuthConfig {
200- Region : string (region ),
201- TenancyID : string (tenancyId ),
202- UserID : string (userId ),
203- PrivateKey : string (key ),
204- Fingerprint : string (fingerprint ),
205- Passphrase : string (passphrase ),
206- UseInstancePrincipals : false ,
207- })
208- Expect (err ).NotTo (HaveOccurred ())
187+ s , useInstancePrincipalFlagSet := os .LookupEnv ("USE_INSTANCE_PRINCIPAL_B64" )
188+ useInstanePrincipal := false
189+ if useInstancePrincipalFlagSet {
190+ useInstanePrincipalStr , err := base64 .StdEncoding .DecodeString (s )
191+ Expect (err ).NotTo (HaveOccurred ())
192+ useInstanePrincipal , err = strconv .ParseBool (string (useInstanePrincipalStr ))
193+ Expect (err ).NotTo (HaveOccurred ())
194+ }
195+ var ociAuthConfigProvider common.ConfigurationProvider
196+ var err error
197+ if useInstanePrincipal {
198+ ociAuthConfigProvider , err = oci_config .NewConfigurationProvider (& oci_config.AuthConfig {
199+ UseInstancePrincipals : true ,
200+ })
201+ Expect (err ).NotTo (HaveOccurred ())
202+ By ("Using instance principal as auth provider" )
203+ } else {
204+ tenancyId , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_TENANCY_ID_B64" ))
205+ Expect (err ).NotTo (HaveOccurred ())
206+ userId , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_USER_ID_B64" ))
207+ Expect (err ).NotTo (HaveOccurred ())
208+ passphrase , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_CREDENTIALS_PASSPHRASE_B64" ))
209+ Expect (err ).NotTo (HaveOccurred ())
210+ key , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_CREDENTIALS_KEY_B64" ))
211+ Expect (err ).NotTo (HaveOccurred ())
212+ fingerprint , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_CREDENTIALS_FINGERPRINT_B64" ))
213+ Expect (err ).NotTo (HaveOccurred ())
214+ region , err := base64 .StdEncoding .DecodeString (os .Getenv ("OCI_REGION_B64" ))
215+ Expect (err ).NotTo (HaveOccurred ())
216+
217+ ociAuthConfigProvider , err = oci_config .NewConfigurationProvider (& oci_config.AuthConfig {
218+ Region : string (region ),
219+ TenancyID : string (tenancyId ),
220+ UserID : string (userId ),
221+ PrivateKey : string (key ),
222+ Fingerprint : string (fingerprint ),
223+ Passphrase : string (passphrase ),
224+ UseInstancePrincipals : false ,
225+ })
226+ Expect (err ).NotTo (HaveOccurred ())
227+ By ("Using user principal as auth provider" )
228+ }
209229
210230 clientProvider , err := scope .NewClientProvider (ociAuthConfigProvider )
211231 Expect (err ).NotTo (HaveOccurred ())
212232
213- ociClients , err := clientProvider .GetOrBuildClient (string (region ))
233+ region , err := ociAuthConfigProvider .Region ()
234+ Expect (err ).NotTo (HaveOccurred ())
235+ ociClients , err := clientProvider .GetOrBuildClient (region )
214236 Expect (err ).NotTo (HaveOccurred ())
215237
216238 computeClient = ociClients .ComputeClient
0 commit comments