Class ArtifactStoreURIBuilder

java.lang.Object
com.netflix.spinnaker.kork.artifacts.artifactstore.ArtifactStoreURIBuilder
Direct Known Subclasses:
ArtifactStoreURISHA256Builder

public abstract class ArtifactStoreURIBuilder extends Object
  • Constructor Details

    • ArtifactStoreURIBuilder

      public ArtifactStoreURIBuilder()
  • Method Details

    • buildArtifactURI

      public abstract ArtifactReferenceURI buildArtifactURI(String context, Artifact artifact)
      Returns the remote artifact URI that will be associated with some artifact.
      Parameters:
      context - is the context in which this artifact was run in, e.g. the application.
      artifact - that will be associated with the generated URI.
      Returns:
      the remote URI
    • buildURIFromPaths

      public abstract ArtifactReferenceURI buildURIFromPaths(String context, String... paths)
      buildRawURI is used when you have the raw path and context. This method just simply returns the properly formatted URI using the URI builder that extends this class.

      This function is primarily used in clouddriver when deck is asking for the raw artifact to be displayed. Since we don't have the artifact, but only the context and some raw ID from the gate endpoint,

      /context/hash

      we need to reconstruct the full remote URI in clouddriver.

      
       String application = "my-spinnaker-application";
       String artifactSHA256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
      
       ArtifactStoreURIBuilder uriBuilder = new ArtifactStoreURISHA256Builder();
       // returns ref://my-spinnaker-application/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
       String uriString = uriBuilder.buildRawURI(application, artifactSHA256);
       
      Parameters:
      context - is the context in which this artifact was run in, e.g. the application.
      paths - are any individual path required for distinguishing an artifact.
      Returns:
      a properly formatted artifact store URI