Use local GoogleCredential in the nomulus tool

The scenarios in which the credential is used are:

1) Calls to Nomulus GAE HTTP endpoints.
2) Calls to Google APIs within the tool.
3) Calls to GAE APIs within the tool.

From now on the tool should not depend on ADCs created from gcloud any more (expect for beam pipeline deployments which need some more investigation as the dependency on ADC is not apparent). Using the nomulus tool requires running "nomulus login" first, but only once.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=224165735
This commit is contained in:
jianglai 2018-12-05 09:20:26 -08:00
parent 5f9aad90fc
commit fdda03eb53
12 changed files with 143 additions and 165 deletions

View file

@ -17,7 +17,6 @@ package google.registry.tools;
import com.google.common.base.Supplier;
import dagger.Component;
import google.registry.bigquery.BigqueryModule;
import google.registry.config.CredentialModule;
import google.registry.config.RegistryConfig.ConfigModule;
import google.registry.dns.writer.VoidDnsWriterModule;
import google.registry.dns.writer.clouddns.CloudDnsWriterModule;
@ -32,6 +31,7 @@ import google.registry.request.Modules.Jackson2Module;
import google.registry.request.Modules.URLFetchServiceModule;
import google.registry.request.Modules.UrlFetchTransportModule;
import google.registry.request.Modules.UserServiceModule;
import google.registry.tools.AuthModule.LocalCredentialModule;
import google.registry.tools.AuthModule.LocalCredentialStream;
import google.registry.util.AppEngineServiceUtilsImpl.AppEngineServiceUtilsModule;
import google.registry.util.SystemClock.SystemClockModule;
@ -51,22 +51,20 @@ import javax.inject.Singleton;
modules = {
AppEngineAdminApiModule.class,
AppEngineServiceUtilsModule.class,
// TODO(b/36866706): Find a way to replace this with a command-line friendly version
AuthModule.class,
BigqueryModule.class,
ConfigModule.class,
CredentialModule.class,
CloudDnsWriterModule.class,
DatastoreServiceModule.class,
DummyKeyringModule.class,
CloudDnsWriterModule.class,
DefaultRequestFactoryModule.class,
DefaultRequestFactoryModule.RequestFactoryModule.class,
DnsUpdateWriterModule.class,
Jackson2Module.class,
KeyModule.class,
KeyringModule.class,
KmsModule.class,
LocalCredentialModule.class,
RdeModule.class,
RequestFactoryModule.class,
SystemClockModule.class,
SystemSleeperModule.class,
URLFetchServiceModule.class,
@ -117,3 +115,4 @@ interface RegistryToolComponent {
@LocalCredentialStream
Supplier<InputStream> googleCredentialStream();
}