From ae12d5d569d3699fffc851f6409de7ab20a85180 Mon Sep 17 00:00:00 2001 From: Sergey Reshetnyak Date: Tue, 15 May 2018 23:06:37 +0400 Subject: [PATCH] fix(manifest): Fix using base64 artifacts in manifest bakery --- .../spinnaker/rosco/manifests/TemplateUtils.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/TemplateUtils.java b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/TemplateUtils.java index ce2e8b070..5dc4f3780 100644 --- a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/TemplateUtils.java +++ b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/TemplateUtils.java @@ -12,12 +12,15 @@ import org.springframework.stereotype.Component; import retrofit.client.Response; +import javax.xml.bind.DatatypeConverter; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Path; import java.nio.file.Paths; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.UUID; @Component @@ -35,8 +38,12 @@ public BakeRecipe buildBakeRecipe(BakeManifestEnvironment env, BakeManifestReque private RetrySupport retrySupport = new RetrySupport(); private String nameFromReference(String reference) { - return reference.replace("/", "_") - .replace(":", "_"); + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + return DatatypeConverter.printHexBinary(md.digest(reference.getBytes())); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("Failed to save bake manifest: " + e.getMessage(), e); + } } protected Path downloadArtifactToTmpFile(BakeManifestEnvironment env, Artifact artifact) throws IOException {