public String getImageRegistry() { return image.getRegistry(); }
/** * Creates a new {@link CredentialRetriever} that tries to retrieve credentials from Docker config * (located at {@code $USER_HOME/.docker/config.json}). * * @return a new {@link CredentialRetriever} * @see DockerConfigCredentialRetriever */ public CredentialRetriever dockerConfig() { return dockerConfig(new DockerConfigCredentialRetriever(imageReference.getRegistry())); }
/** * Creates a new {@link CredentialRetriever} that tries to retrieve credentials from a custom path * to a Docker config. * * @param dockerConfigFile the path to the Docker config file * @return a new {@link CredentialRetriever} * @see DockerConfigCredentialRetriever */ public CredentialRetriever dockerConfig(Path dockerConfigFile) { return dockerConfig( new DockerConfigCredentialRetriever(imageReference.getRegistry(), dockerConfigFile)); }
private Credential retrieveFromDockerCredentialHelper(Path credentialHelper) throws CredentialHelperUnhandledServerUrlException, CredentialHelperNotFoundException, IOException { Credential credentials = dockerCredentialHelperFactory .create(imageReference.getRegistry(), credentialHelper) .retrieve(); logGotCredentialsFrom(credentialHelper.getFileName().toString()); return credentials; }
private void logGotCredentialsFrom(String credentialSource) { dispatchEvent( LogEvent.info("Using " + credentialSource + " for " + imageReference.getRegistry())); }
@VisibleForTesting CredentialRetriever dockerConfig( DockerConfigCredentialRetriever dockerConfigCredentialRetriever) { return () -> { try { Optional<Credential> dockerConfigCredentials = dockerConfigCredentialRetriever.retrieve(); if (dockerConfigCredentials.isPresent()) { dispatchEvent( LogEvent.info( "Using credentials from Docker config for " + imageReference.getRegistry())); return dockerConfigCredentials; } } catch (IOException ex) { dispatchEvent(LogEvent.info("Unable to parse Docker config")); } return Optional.empty(); }; }
List<String> inferredCredentialHelperSuffixes = new ArrayList<>(); for (String registrySuffix : COMMON_CREDENTIAL_HELPERS.keySet()) { if (!imageReference.getRegistry().endsWith(registrySuffix)) { continue;
/** * Creates a new {@link CredentialRetriever} for retrieving credentials via a Docker credential * helper, such as {@code docker-credential-gcr}. * * @param credentialHelper the credential helper executable * @return a new {@link CredentialRetriever} * @see <a * href="https://github.com/docker/docker-credential-helpers#development">https://github.com/docker/docker-credential-helpers#development</a> */ public CredentialRetriever dockerCredentialHelper(Path credentialHelper) { return () -> { dispatchEvent(LogEvent.info("Checking credentials from " + credentialHelper)); try { return Optional.of(retrieveFromDockerCredentialHelper(credentialHelper)); } catch (CredentialHelperUnhandledServerUrlException ex) { dispatchEvent( LogEvent.info( "No credentials for " + imageReference.getRegistry() + " in " + credentialHelper)); return Optional.empty(); } catch (IOException ex) { throw new CredentialRetrievalException(ex); } }; }
public String getImageRegistry() { return image.getRegistry(); }
public String getImageRegistry() { return image.getRegistry(); }
/** * Creates a new {@link CredentialRetriever} that tries to retrieve credentials from Docker config * (located at {@code $USER_HOME/.docker/config.json}). * * @return a new {@link CredentialRetriever} * @see DockerConfigCredentialRetriever */ public CredentialRetriever dockerConfig() { return dockerConfig(new DockerConfigCredentialRetriever(imageReference.getRegistry())); }
/** * Creates a new {@link CredentialRetriever} that tries to retrieve credentials from a custom path * to a Docker config. * * @param dockerConfigFile the path to the Docker config file * @return a new {@link CredentialRetriever} * @see DockerConfigCredentialRetriever */ public CredentialRetriever dockerConfig(Path dockerConfigFile) { return dockerConfig( new DockerConfigCredentialRetriever(imageReference.getRegistry(), dockerConfigFile)); }
/** * Creates a new {@link CredentialRetriever} that tries to retrieve credentials from a custom path * to a Docker config. * * @param dockerConfigFile the path to the Docker config file * @return a new {@link CredentialRetriever} * @see DockerConfigCredentialRetriever */ public CredentialRetriever dockerConfig(Path dockerConfigFile) { return dockerConfig( new DockerConfigCredentialRetriever(imageReference.getRegistry(), dockerConfigFile)); }
private Credential retrieveFromDockerCredentialHelper(Path credentialHelper) throws CredentialHelperUnhandledServerUrlException, CredentialHelperNotFoundException, IOException { Credential credentials = dockerCredentialHelperFactory .create(imageReference.getRegistry(), credentialHelper) .retrieve(); logGotCredentialsFrom(credentialHelper.getFileName().toString()); return credentials; }
/** * Creates a new {@link CredentialRetriever} that tries to retrieve credentials from Docker config * (located at {@code $USER_HOME/.docker/config.json}). * * @return a new {@link CredentialRetriever} * @see DockerConfigCredentialRetriever */ public CredentialRetriever dockerConfig() { return dockerConfig(new DockerConfigCredentialRetriever(imageReference.getRegistry())); }
private Credential retrieveFromDockerCredentialHelper(Path credentialHelper) throws CredentialHelperUnhandledServerUrlException, CredentialHelperNotFoundException, IOException { Credential credentials = dockerCredentialHelperFactory .create(imageReference.getRegistry(), credentialHelper) .retrieve(); logGotCredentialsFrom(credentialHelper.getFileName().toString()); return credentials; }
private void logGotCredentialsFrom(String credentialSource) { dispatchEvent( LogEvent.info("Using " + credentialSource + " for " + imageReference.getRegistry())); }
private void logGotCredentialsFrom(String credentialSource) { dispatchEvent( LogEvent.info("Using " + credentialSource + " for " + imageReference.getRegistry())); }
@VisibleForTesting CredentialRetriever dockerConfig( DockerConfigCredentialRetriever dockerConfigCredentialRetriever) { return () -> { try { Optional<Credential> dockerConfigCredentials = dockerConfigCredentialRetriever.retrieve(); if (dockerConfigCredentials.isPresent()) { dispatchEvent( LogEvent.info( "Using credentials from Docker config for " + imageReference.getRegistry())); return dockerConfigCredentials; } } catch (IOException ex) { dispatchEvent(LogEvent.info("Unable to parse Docker config")); } return Optional.empty(); }; }
@VisibleForTesting CredentialRetriever dockerConfig( DockerConfigCredentialRetriever dockerConfigCredentialRetriever) { return () -> { try { Optional<Credential> dockerConfigCredentials = dockerConfigCredentialRetriever.retrieve(); if (dockerConfigCredentials.isPresent()) { dispatchEvent( LogEvent.info( "Using credentials from Docker config for " + imageReference.getRegistry())); return dockerConfigCredentials; } } catch (IOException ex) { dispatchEvent(LogEvent.info("Unable to parse Docker config")); } return Optional.empty(); }; }