{"action":"closed","issue":{"url":"https://api.github.com/repos/knative/build-pipeline/issues/12","repository_url":"https://api.github.com/repos/knative/build-pipeline","labels_url":"https://api.github.com/repos/knative/build-pipeline/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/knative/build-pipeline/issues/12/comments","events_url":"https://api.github.com/repos/knative/build-pipeline/issues/12/events","html_url":"https://github.com/knative/build-pipeline/issues/12","id":358235354,"node_id":"MDU6SXNzdWUzNTgyMzUzNTQ=","number":12,"title":"Design `image` type","user":{"login":"bobcatfish","id":432502,"node_id":"MDQ6VXNlcjQzMjUwMg==","avatar_url":"https://avatars2.githubusercontent.com/u/432502?v=4","gravatar_id":"","url":"https://api.github.com/users/bobcatfish","html_url":"https://github.com/bobcatfish","followers_url":"https://api.github.com/users/bobcatfish/followers","following_url":"https://api.github.com/users/bobcatfish/following{/other_user}","gists_url":"https://api.github.com/users/bobcatfish/gists{/gist_id}","starred_url":"https://api.github.com/users/bobcatfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bobcatfish/subscriptions","organizations_url":"https://api.github.com/users/bobcatfish/orgs","repos_url":"https://api.github.com/users/bobcatfish/repos","events_url":"https://api.github.com/users/bobcatfish/events{/privacy}","received_events_url":"https://api.github.com/users/bobcatfish/received_events","type":"User","site_admin":false},"labels":[{"id":1039521523,"node_id":"MDU6TGFiZWwxMDM5NTIxNTIz","url":"https://api.github.com/repos/knative/build-pipeline/labels/help%20wanted","name":"help wanted","color":"008672","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-09-07T22:55:56Z","updated_at":"2018-09-20T17:59:38Z","closed_at":"2018-09-20T17:59:37Z","author_association":"CONTRIBUTOR","body":"The work for this task is to design this feature and present one or more proposals (before implementing).\r\n\r\n## Expected Behavior\r\nOne of the features we want the Pipeline to have is to have strong typing around concepts that will be used commonly in k8s centric CI/CD pipelines.\r\n\r\nOne of the concepts we want to have strong typing around is a \"container image\", which is something that could be produced by a [Task](https://github.com/knative/build-pipeline#task) as an output, and published to an [artifact store](https://github.com/knative/build-pipeline#pipelineparams), and may be used by subsequent Tasks for testing or deploying.\r\n\r\nSome attributes we'd probably like include:\r\n* name\r\n* tag\r\n* digest (could be unknown until the image is built)\r\n\r\n## Actual Behavior\r\n\r\nThis concept only exists theoretically, but in [this example pipeline](https://github.com/knative/build-pipeline/blob/master/examples/pipelines/kritis.yaml#L23) we have a `builtImage` attribute on an artifact store binding, declaring what we'd like the built image to be called:\r\n\r\n![image](https://user-images.githubusercontent.com/432502/45246448-33580a80-b2b6-11e8-9e3f-ebc0ca6f7f3b.png)\r\n\r\n## Additional Info\r\n\r\n* Digests are more reliable than tags since they are immutable!\r\n* See #11 re. ensuring we are using the same image throughout our pipeline.\r\n* See [discussion around build artifacts](https://docs.google.com/document/d/1FUn9LZXUAJQb8atoTeRxmsdjxpstOyegHF7ieJEblNs/edit#) _note doc visible to members of [knative-dev@googlegroups.com](https://github.com/knative/docs/blob/master/community/WORKING-GROUPS.md#build)_"}}
{"actor":{"display_login":"bobcatfish"}}