Skip to content

Docker Image Update Process #71

Description

@EcoFreshKase

Currently the images for a game are pulled once when it is first used across the cosy installation. But it could happen that a new image is published under the same tag.

E.g. itzg/minecraft-server image -> if the template specifies the tag as java21-alpine (or latest) the docker image with hash (hash1) is pulled, but later itzg publishes a new image under the same java21-alpine tag with hash (hash2). Currently this hash2 image can not be used, unless docker images are manually changed on the server.

Solution:
On server creation the tag is resolved to a hash. If the image has to be pulled this would be the latest version (or whatever is specified), if a server with the same image is created it would use the same hash.
Now on every server startup, it is checked whether a newer image was released under the same tag. If that is the case, the user gets a notification in the UI that enables the user to update the docker image used by the server to the newer image. This would be done by changing the image_hash attribute of the gameserver to the new one, while other game servers using this image still use the old one.

This enables the user to update docker images to newer version without manual docker handling and allows multiple game servers of the same game with different images versions to exist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Fields

    No fields configured for Feature.

    Projects

    Status
    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions