Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Artifact handling in spinnaker #1348

Closed
gardleopard opened this issue Dec 23, 2016 · 4 comments
Closed

Artifact handling in spinnaker #1348

gardleopard opened this issue Dec 23, 2016 · 4 comments

Comments

@gardleopard
Copy link
Contributor

Artifacts in spinnaker is currently files like ie. rpm and debian packages. We have decided to make the scope of artifacts in spinnaker bigger and the definition more precise.

Artifacts from igor have got the following format now:

"artifacts": [
{
"displayPath": "spinnaker-igor_1.54.0.224.692755-3_all.deb",
"fileName": "spinnaker-igor_1.54.0.224.692755-3_all.deb",
"relativePath": "spinnaker-igor_1.54.0.224.692755-3_all.deb"
}
]

The new format will be:

"artifacts": [
{
"type": "deb",
"name"" "spinnaker-igor",
"version": "1.54.0.224.692755-3_all",
"reference": "schibsted-igor_1.54.0.224.692755-3_all.deb"
}
]

This means that the producers of artifacts into spinnaker needs to know the details about the artifacts, while the consumers in spinnaker does not need to know the details of artifacts. Which will make it easier to add support for new artifact types in spinnaker.

Increasing the scope of artifacts means that artifacts will not only be files any more. Deployable things like docker containers or amis are also artifacts and can be represented with the new artifact format.

Ami example:

"artifacts": [
{
"type": "ami",
"name"" "spinnaker-igor",
"version": "1.54.0.224.692755-3_all",
"reference": "ami-432662"
}
]

This will enable us to be more explicit on what we want to deploy. For example triggering two bakes in parallel service-backend and service-frontend, and go for serialised deployments with service-backend deployed before service-frontend. Because we have name and type for all artifacts, it will be easy to configure and understand.

The rollout of this change is going to take a while. We need to add the rich artifact data to every producer of artifacts and keep the old format support as well. The consumers needs to test for the new artifact format and use that if it its available or fall back to the old logic if its not available.

gardleopard added a commit to gardleopard/igor that referenced this issue Mar 29, 2017
This PR moves the knowledge of rpm and deb packages out of orca and into igor.
Artifact decoration can be feature toggled on and off at will.

Currently this code only decorates rpm and deb packages out of the box. The solution
lets the user define new decorators in igor.yml so that we can support new types of
artifacts without touching the igor codebase.

This change does not change the behaviour of igor. It just adds decoration.

spinnaker/spinnaker#1348
gardleopard added a commit to gardleopard/igor that referenced this issue Mar 30, 2017
This PR makes igor understand deb and rpm packages by heart and enables igor to
be configured to support various file artifact types. The artifact decoration is
currently opt in through a feature flag in the igor configuration. spinnaker/spinnaker#1348
gardleopard added a commit to gardleopard/igor that referenced this issue Mar 30, 2017
This PR makes igor understand deb and rpm packages by heart and enables igor to be configured to support various file artifact types. The artifact decoration is currently opt in through a feature flag in the igor configuration. spinnaker/spinnaker#1348
duftler pushed a commit to spinnaker/igor that referenced this issue Mar 30, 2017
… (#138)

This PR makes igor understand deb and rpm packages by heart and enables igor to be configured to support various file artifact types. The artifact decoration is currently opt in through a feature flag in the igor configuration. spinnaker/spinnaker#1348
gardleopard added a commit to gardleopard/igor that referenced this issue Apr 12, 2017
…aker/spinnaker#1348

This PR makes the docker registry events from igor include decorated artifacts. This is to prepare for changing docker deployments to use decorated artifacts for deployments. spinnaker/spinnaker#1348
gardleopard added a commit to gardleopard/clouddriver that referenced this issue Apr 21, 2017
This PR makes clouddriver return decorated docker containers when using dockerRegistry/images/find.
This is done so that we can start moving the handling of docker containers in spinnaker over to decorated artifacts.
gardleopard added a commit to gardleopard/clouddriver that referenced this issue Apr 24, 2017
This PR makes clouddriver return decorated docker containers when using dockerRegistry/images/find.
This is done so that we can start moving the handling of docker containers in spinnaker over to decorated artifacts.
gardleopard added a commit to gardleopard/clouddriver that referenced this issue Apr 26, 2017
This PR makes clouddriver return decorated docker containers when using dockerRegistry/images/find.
This is done so that we can start moving the handling of docker containers in spinnaker over to decorated artifacts.
gardleopard added a commit to gardleopard/igor that referenced this issue Apr 26, 2017
…aker/spinnaker#1348

This PR makes the docker registry events from igor include decorated artifacts. This is to prepare for changing docker deployments to use decorated artifacts for deployments. spinnaker/spinnaker#1348
duftler pushed a commit to spinnaker/clouddriver that referenced this issue Apr 26, 2017
… (#1586)

This PR makes clouddriver return decorated docker containers when using dockerRegistry/images/find.
This is done so that we can start moving the handling of docker containers in spinnaker over to decorated artifacts.
duftler pushed a commit to spinnaker/igor that referenced this issue Apr 26, 2017
…aker/spinnaker#1348 (#159)

This PR makes the docker registry events from igor include decorated artifacts. This is to prepare for changing docker deployments to use decorated artifacts for deployments. spinnaker/spinnaker#1348
duftler pushed a commit to spinnaker/rosco that referenced this issue May 23, 2017
@lwander
Copy link
Member

lwander commented May 16, 2018

I think this is safe to close...

@diasjorge
Copy link

Thank @gardleopard this is the only place, I've seen explained how to pass deb packages as artifacts. It's nowhere in the docs :(

@gardleopard
Copy link
Contributor Author

Nice, would probably be nice with an update in the docs then:) Nice to see you @diasjorge !

@diasjorge
Copy link

Ok you got it :) spinnaker/spinnaker.io#279

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants