boltops-tools / terraspace

Terraspace: The Terraform Framework
https://terraspace.cloud
Apache License 2.0
678 stars 46 forks source link

Version the docker images with semver #133

Closed gwvandesteeg closed 2 years ago

gwvandesteeg commented 3 years ago

Summary

Package the docker images published to dockrhub with the semantic version of terraspace so that workloads can pin the image to the relevant version in case we encounter a breaking bug (such as https://github.com/boltops-tools/terraspace/issues/132)

Motivation

This allows people to follow CICD best practices by explicitly specifying the version of the image they want to use and allow for testing of upgrades to the images to prevent breakage of existing workloads.

Guide-level explanation

Currently we have daily builds of images available at (https://hub.docker.com/r/boltops/terraspace/tags?page=1&ordering=last_updated) Which gives us images with the tags "alpine", "ubuntu", "debian", etc Change the build process so that we get images tagged with the semantic version as well as the distro which would give us tags like:

This will allow our CICD pipelines using these images to specify a specific version to ensure our builds stay functional until we've had the opportunity to test a new release with our pipelines to see if any issues occur. ..

Reference-level explanation

Not sure what CICD automation is being used here to create the images.

Drawbacks

You'll end up with more images hosted on docker hub

Unresolved Questions

Nil

gwvandesteeg commented 3 years ago

Also ref: https://github.com/boltops-tools/terraspace-dockerfiles/issues/3

tongueroo commented 2 years ago

Done in https://github.com/boltops-tools/terraspace-dockerfiles/pull/6

Docs: Docs: https://terraspace.cloud/docs/install/docker/versioning/