Skip to content
This repository was archived by the owner on Apr 21, 2022. It is now read-only.
This repository was archived by the owner on Apr 21, 2022. It is now read-only.

How would you handle this case #20

Description

@zopanix

Hey, first of all, I like the idea of labels and like even more on a "common" way of specifying them but how would your schema respond to this use case ?
Image these repos:

  • application/pikachu (vX.X.X)
  • docker/pikachu (vY.Y.Y)

Where application/pikachu contains the source for the pikachu app and docker/pikachu contains the Dockerfile for the pikachu container. Imagine now that the pikachu app has a dependency to ca-certificates in version vZ.Z.Z
So this would be some of the labels:

{
  "build-date" = "xxxxxxx",
  "name": "pikachu",
  "description": "foo bar stuff",
  "vcs-url": "[git_url]/docker/pikachu",
  "vcs-ref": "279FA63",
  "version": "vY.Y.Y"
  "vendor": "Pokemon"
}

Now in this case, I don't know which version of ca-certificates is installed nor do I know which version of pikachu app is installed.
So wouldn't it be better to add something like this:

{
  "build-date" = "xxxxxxx",
  "name": "pikachu",
  "description": "foo bar stuff",
  "vcs-url": "[git_url]/docker/pikachu",
  "vcs-ref": "279FA63",
  "version": "vY.Y.Y"
  "vendor": "Pokemon"
  "applications": {
    "pikachu" : {
      "vcs_url": "[git_url]/application/pikachu",
      "vcs_ref": "[commit_id]",
      "version": "vX.X.X"
    },
    "ca-certificates": {
      "version": "vZ.Z.Z"
    }
  }
}

This would allow to know what's actually in the image. It might also be great to have more info in the labels of the image it is based on since that could also be a changing factor if you reference for example: ubuntu:latest. Having the base image ID in there would garantee that you'll be able to rebuild that image exactly how it is

Like I said this is just an example of wht I'd like to see if there is some standardization of labels that would be done :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions