Skip to content

ci: Consider removing 'latest' tag from GoReleaser #58

@Defilan

Description

@Defilan

Summary

GoReleaser currently publishes a latest tag alongside versioned tags:

# .goreleaser.yaml
image_templates:
  - "ghcr.io/defilantech/llmkube-controller:{{ .Version }}-amd64"
  - "ghcr.io/defilantech/llmkube-controller:latest-amd64"

Concerns with latest Tag

  1. Mutable - Can be overwritten, making deployments non-reproducible
  2. Stale images - Combined with pullPolicy: IfNotPresent, nodes may run old cached images
  3. Production risk - Accidental use of latest can cause unexpected behavior
  4. Supply chain - Harder to audit which version is actually running

Options

Option A: Remove latest entirely

Remove the latest tag from GoReleaser. Users must specify explicit versions.

Option B: Keep but discourage

Keep latest but add warnings in documentation and Helm chart values.

Option C: Use edge instead

Replace latest with edge to signal it's for development/testing only.

Discussion

This is a team decision based on how the project will be used. Many production-focused projects have moved away from latest tags.

Labels

discussion, ci, helm

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions