@JsonCreator public static RegistryAuth create(@JsonProperty("username") final String username, @JsonProperty("password") final String password, @JsonProperty("email") final String email, @JsonProperty("serveraddress") final String serveraddress, @JsonProperty("identitytoken") final String identitytoken, @JsonProperty("auth") final String auth) { final Builder builder; if (auth != null) { builder = forAuth(auth); } else { builder = builder() .username(username) .password(password); } return builder .email(email) .serverAddress(serveraddress) .identityToken(identitytoken) .build(); }
registryAuth.toBuilder().serverAddress(registry).build());
private RegistryAuth authForRegistry(final DockerConfig config, final String registry) throws IOException { // If the registry shows up in "auths", return it final Map<String, RegistryAuth> auths = config.auths(); if (auths != null && auths.get(registry) != null) { return auths.get(registry).toBuilder().serverAddress(registry).build(); } // Else, we use a credential helper. final String credsStore = getCredentialStore(config, registry); if (credsStore != null) { return authWithCredentialHelper(credsStore, registry); } return null; }
@Override public DefaultDockerClient.Builder configure(TestContext testContext, VirtualResource virtualResource, PropertiesReader configReader) { try { DefaultDockerClient.Builder builder = DefaultDockerClient.fromEnv(); PropertiesReader reader = configReader; if (reader.isEmpty()) { reader = testContext.getPropertiesReader(DEFAULT_CONFIG_KEY); } if (!reader.isEmpty()) { RegistryAuth registryAuth = RegistryAuth.builder() .serverAddress(reader.getProperty("uri")) .email(reader.getProperty("email")) .username(reader.getProperty("username")) .password(reader.getProperty("password")) .build(); RegistryAuthSupplier dockerHubAuthSupplier = new DockerHubRegistryAuthSupplier(registryAuth); //TODO: explore making these configuration configurable via .testify.yml file builder.registryAuthSupplier(dockerHubAuthSupplier) .connectTimeoutMillis(10000) .connectionPoolSize(16); } return builder; } catch (DockerCertificateException e) { throw ExceptionUtil.INSTANCE.propagate(e); } }
@JsonCreator public static RegistryAuth create(@JsonProperty("username") final String username, @JsonProperty("password") final String password, @JsonProperty("email") final String email, @JsonProperty("serveraddress") final String serveraddress, @JsonProperty("identitytoken") final String identitytoken, @JsonProperty("auth") final String auth) { final Builder builder; if (auth != null) { builder = forAuth(auth); } else { builder = builder() .username(username) .password(password); } return builder .email(email) .serverAddress(serveraddress) .identityToken(identitytoken) .build(); }
@Provides @Singleton public DockerClient providesDockerClient(SingularityExecutorConfiguration configuration) { Builder dockerClientBuilder = DefaultDockerClient.builder() .uri(URI.create("unix://localhost/var/run/docker.sock")) .connectionPoolSize(configuration.getDockerClientConnectionPoolSize()); if(configuration.getDockerAuthConfig().isPresent()) { SingularityExecutorDockerAuthConfig authConfig = configuration.getDockerAuthConfig().get(); if(authConfig.isFromDockerConfig()) { try { dockerClientBuilder.registryAuth(RegistryAuth.fromDockerConfig().build()); } catch(IOException e) { throw Throwables.propagate(e); } } else { dockerClientBuilder.registryAuth(RegistryAuth.builder() .email(authConfig.getEmail()) .username(authConfig.getUsername()) .password(authConfig.getPassword()) .serverAddress(authConfig.getServerAddress()) .build()); } } return dockerClientBuilder.build(); }
@JsonIgnore public RegistryAuth toRegistryAuth() { return RegistryAuth.builder() .username(username()) .password(secret()) .serverAddress(serverUrl()) .build(); } }