Add OpenContainer Image Format Annotations as Labels to Docker Image by mpgirro · Pull Request #1525 · ArchiveBox/ArchiveBox

Summary

This PR introduces OpenContainer (OCI) image format annotations as labels to our built Docker images. The labels are automatically extracted using the Docker Metadata Action in the GitHub Action workflow, ensuring consistent and accurate metadata is applied to the image during the build process.

Key Benefits

  • Automated Metadata Generation: The Docker Metadata Action automatically extracts relevant information such as the image’s title, description, source, version, revision, and more. This eliminates manual intervention and ensures the labels remain accurate and up-to-date with each build.

  • Enhanced Metadata: All labels from the Docker Metadata Action are added, providing comprehensive details about the image. This includes:

    • org.opencontainers.image.title
    • org.opencontainers.image.description
    • org.opencontainers.image.version
    • org.opencontainers.image.url
    • org.opencontainers.image.source
    • org.opencontainers.image.revision
    • org.opencontainers.image.created
    • org.opencontainers.image.licenses
  • Integration with Dependency Management Tools: Tools like Dependabot and Renovate will be able to recognize these labels and use them when opening PRs for dependency updates. This allows these tools to show detailed information about image changes, making it easier for developers to evaluate the impact of updates.

  • Standardization: By adhering to OCI standards and adding all relevant labels, the Docker image becomes more interoperable with various container registries and tools, improving compatibility and usability across different platforms.

This automated process ensures better visibility into the image lifecycle and simplifies maintenance in CI/CD pipelines, aligning the project with best practices for container image management.

Related issues

None

Changes these areas

  • Bugfixes
  • Feature behavior
  • Command line interface
  • Configuration options
  • Internal architecture
  • Snapshot data layout on disk