getporter/porter

Bundles without "v"-tagged prefix cannot be pulled

Closed this issue · 0 comments

Describe the bug

Porter prepends "v" to the manifest-specified bundle version even though its registry tag might not have the v prefix (e.g. in format X.Y.Z), causing it to look for a vX.Y.Z tag that doesn't exist. See Slack for further discussion here.

To Reproduce

Reproduced by @bdegeeter

  1. Make an installation resource:
apiVersion: getporter.org/v1
kind: Installation
metadata:
  name: hello-llama
  namespace: demo
spec:
  schemaVersion: 1.0.2
  name: mellama
  namespace: demo
  bundle:
    repository: getporter/hello-llama
    version: 0.1.1
  parameters:
    name: quickstart
  1. Running porter explain -r getporter/hello-llama:0.1.1 matching the spec fails.

Expected behavior

porter explain -r getporter/hello-llama:0.1.1 should work regardless if there's a v in the version, such as the output resulting when v0.1.1 is specified in the manifest:

porter explain -r getporter/hello-llama:v0.1.1
Name: hello-llama
Description: An example Porter bundle with parameters
Version: 0.1.1
Porter Version: v0.38.1-32-gb76f5c1c

Parameters:
--------------------------------------------------------------------------------
  Name  Description                     Type    Default  Required  Applies To   
--------------------------------------------------------------------------------
  name  Name of to whom we should say   string  llama    false     All Actions  
        hello                                                                   

This bundle uses the following tools: exec.

To install this bundle run the following command, passing --param KEY=VALUE for any parameters you want to customize:
porter install --reference getporter/hello-llama:v0.1.1

Porter Command and Output

$ porter explain -r getporter/hello-llama:0.1.1
unable to pull bundle: docker.io/getporter/hello-llama:0.1.1: not found
unable to pull bundle: docker.io/getporter/hello-llama:0.1.1: not found

Version

porter v1.0.14 (0e739d8)