Skip to content

Define naming of docker images for packages + registry #375

Description

@ruflin

The Elastic Package Registry (epr.elastic.co) run a docker container that contains the packages + the registry service itself. Today the packages are in the same repository as the registry but this is changing. Packages will be moving to https://github.com/elastic/package-storage Also there is work ongoing to have a Dockerfile available that is independent of both repository.

This means the Docker image will contain data from two different sources. For debugging and support purpose I think it is important that we can identify what exactly went into this Docker image to potentially reproduce issues.

My proposal related to naming each Docker image is as following:

{date}-{package-storage-hash}-{package-registry-hash}

hash in the above can be a commit hash but also a branch or a tag. The date part is for human and sorting purpose to identify when exactly an image was built. Two examples of the above would look as following:

  • 202004231234-c890763-c1d2c2c
  • 202004231234-c890763-v0.3.0

The package hash will change much more often than the registry one but it also the more important one for debugging purpose. That is why I think it should come first.

To build this image, both the package-storage hash and package-registry hash are passed to the Dockerfile and then used to check out the correct version (https://github.com/elastic/package-registry/blob/master/dev/release/Dockerfile#L19).

Questions

  • Is the above possible to build / automate? Does it make sense?
  • What is the date/time format we should use?

Metadata

Metadata

Assignees

Labels

Type

No type
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