Skip to content

Commit

Permalink
updated with custom pojo for docker auth fields @tpetr
Browse files Browse the repository at this point in the history
  • Loading branch information
jaredstehler committed Jul 25, 2016
1 parent 8d8fc80 commit cbbd3ef
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import com.hubspot.singularity.runner.base.configuration.BaseRunnerConfiguration;
import com.hubspot.singularity.runner.base.configuration.Configuration;
import com.hubspot.singularity.runner.base.constraints.DirectoryExists;
import com.spotify.docker.client.messages.AuthConfig;

@Configuration(filename = "/etc/singularity.executor.yaml", consolidatedField = "executor")
public class SingularityExecutorConfiguration extends BaseRunnerConfiguration {
Expand Down Expand Up @@ -220,7 +219,7 @@ public class SingularityExecutorConfiguration extends BaseRunnerConfiguration {
private int dockerClientConnectionPoolSize = 5;

@JsonProperty
private Optional<AuthConfig> dockerAuthConfig = Optional.absent();
private Optional<SingularityExecutorDockerAuthConfig> dockerAuthConfig = Optional.absent();

@JsonProperty
private ThreadCheckerType threadCheckerType = ThreadCheckerType.PS;
Expand Down Expand Up @@ -632,11 +631,11 @@ public void setDockerClientConnectionPoolSize(int dockerClientConnectionPoolSize
this.dockerClientConnectionPoolSize = dockerClientConnectionPoolSize;
}

public Optional<AuthConfig> getDockerAuthConfig() {
public Optional<SingularityExecutorDockerAuthConfig> getDockerAuthConfig() {
return dockerAuthConfig;
}

public void setDockerAuthConfig(Optional<AuthConfig> dockerAuthConfig) {
public void setDockerAuthConfig(Optional<SingularityExecutorDockerAuthConfig> dockerAuthConfig) {
this.dockerAuthConfig = dockerAuthConfig;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.hubspot.singularity.executor.config;

public class SingularityExecutorDockerAuthConfig {

private String username;
private String password;
private String email;
private String serverAddress;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getServerAddress() {
return serverAddress;
}

public void setServerAddress(String serverAddress) {
this.serverAddress = serverAddress;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.spotify.docker.client.DefaultDockerClient;
import com.spotify.docker.client.DefaultDockerClient.Builder;
import com.spotify.docker.client.DockerClient;
import com.spotify.docker.client.messages.AuthConfig;

public class SingularityExecutorModule extends AbstractModule {

Expand Down Expand Up @@ -101,7 +102,14 @@ public DockerClient providesDockerClient(SingularityExecutorConfiguration config
.connectionPoolSize(configuration.getDockerClientConnectionPoolSize());

if(configuration.getDockerAuthConfig().isPresent()) {
dockerClientBuilder.authConfig(configuration.getDockerAuthConfig().get());
SingularityExecutorDockerAuthConfig authConfig = configuration.getDockerAuthConfig().get();

dockerClientBuilder.authConfig(AuthConfig.builder()
.email(authConfig.getEmail())
.username(authConfig.getUsername())
.password(authConfig.getPassword())
.serverAddress(authConfig.getServerAddress())
.build());
}

return dockerClientBuilder.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ public void itLoadsDockerAuthConfig() {
SingularityExecutorConfiguration config = loadConfig("config/executor-conf-dockerauth.yaml");

assertThat(config.getDockerAuthConfig().isPresent()).isTrue();
assertThat(config.getDockerAuthConfig().get().username()).isEqualTo("dockeruser");
assertThat(config.getDockerAuthConfig().get().password()).isEqualTo("dockerpassword");
assertThat(config.getDockerAuthConfig().get().serverAddress()).isEqualTo("https://private.docker.registry/path");
assertThat(config.getDockerAuthConfig().get().getUsername()).isEqualTo("dockeruser");
assertThat(config.getDockerAuthConfig().get().getPassword()).isEqualTo("dockerpassword");
assertThat(config.getDockerAuthConfig().get().getServerAddress()).isEqualTo("https://private.docker.registry/path");
}

private SingularityExecutorConfiguration loadConfig(String file) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
executor:

dockerAuthConfig:
Username: dockeruser
Password: dockerpassword
ServerAddress: https://private.docker.registry/path
username: dockeruser
password: dockerpassword
serverAddress: https://private.docker.registry/path

1 comment on commit cbbd3ef

@ssalinas
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢

Please sign in to comment.