stevedore

Stevedore is a tool for building Docker images at scale, and it is not intended to replace Dockerfile or Buildkit. Instead, Stevedore can be used in conjunction with these tools to help streamline the process of building and promoting multiple Docker images.

APACHE-2.0 License

Stars
12
Committers
2

Bot releases are visible (Hide)

stevedore - v0.11.4 Latest Release

Published by github-actions[bot] 7 months ago

RELEASE NOTES

[v0.11.4]

Changed

  • Bumps github.com/apenella/go-docker-builder from v0.8.3 to v0.8.4
  • Bumps github.com/aws/aws-sdk-go-v2 from v1.24.1 to v1.26.0
  • Bumps github.com/aws/aws-sdk-go-v2/config from v1.26.3 to v1.27.9
  • Bumps github.com/aws/aws-sdk-go-v2/credentials from v1.16.14 to v1.17.9
  • Bumps github.com/aws/aws-sdk-go-v2/service/ecr from v1.24.7 to v1.27.3
  • Bumps github.com/aws/aws-sdk-go-v2/service/sts from v1.26.7 to v1.28.5
  • Bumps github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible
  • Bumps github.com/go-errors/errors from v1.4.2 to v1.5.1
  • Bumps github.com/gruntwork-io/terratest from v0.46.9 to v0.46.13
  • Bumps github.com/stretchr/testify from v1.8.4 to v1.9.0
  • Bumps go.uber.org/zap from v1.26.0 to v1.27.0
  • Bumps golang.org/x/term from v0.16.0 to v0.18.0

Fixed

  • Use an empty image definition when user does not defines an image explicitly
stevedore - v0.11.3

Published by github-actions[bot] 9 months ago

RELEASE NOTES

[v0.11.3]

Fixed

  • Fixed a bug in Console's ReadPassword function that always returned an error in the defer function. Now it is using the package golang.org/x/term v0.16.0 to read the password from the console.

Added

  • Include a message notifying the user when a credential is successfully deleted
  • Include a message notifying the user when a configuration is successfully created
  • Add a unit test to read password. It being used the package github.com/kr/pty v1.1.8 to create a pty and read the password from it.

Bumped

  • Bump github.com/apenella/go-docker-builder from v0.8.1 to v0.8.3.
  • Bump github.com/apenella/go-ansible v1.2.2
  • Bump github.com/aws/aws-sdk-go-v2 v1.24.1
  • Bump github.com/aws/aws-sdk-go-v2/config v1.26.3
  • Bump github.com/aws/aws-sdk-go-v2/credentials v1.16.14
  • Bump github.com/aws/aws-sdk-go-v2/service/ecr v1.24.7
  • Bump github.com/aws/aws-sdk-go-v2/service/sts v1.26.7
  • Bump github.com/fatih/color v1.16.0
  • Bump github.com/gruntwork-io/terratest v0.46.9
  • Bump github.com/spf13/afero v1.11.0
  • Bump github.com/spf13/viper v1.18.2
  • Bump golang.org/x/term v0.16.0
stevedore - v0.11.2

Published by github-actions[bot] 10 months ago

RELEASE NOTES

[v0.11.2]

Fixed

  • Solved the error caused when creating a build context containing symbolic links, by bumping up github.com/apenella/go-docker-builder to v0.8.1

Added

  • Include go vet analysis in the CI workflow
  • Include the errcheck tool in the CI workflow

Bumped

  • Bump github.com/Masterminds/semver/v3 from v3.2.0 to v3.2.1
  • Bump github.com/apenella/go-docker-builder from v0.7.8 to v0.8.1. It fixes an error when creating the build context having symbolic links.
  • Bump github.com/aws/aws-sdk-go-v2 from v1.17.2 to v1.23.1
  • Bump github.com/aws/aws-sdk-go-v2/config from v1.18.4 to v1.25.5
  • Bump github.com/aws/aws-sdk-go-v2/credentials from v1.13.4 to v1.16.4
  • Bump github.com/aws/aws-sdk-go-v2/service/ecr from v1.17.24 to v1.23.1
  • Bump github.com/aws/aws-sdk-go-v2/service/sts from v1.17.6 to v1.25.4
  • Bump github.com/docker/distribution from v2.8.2+incompatible to v2.8.3+incompatible
  • Bump github.com/go-git/go-git/v5 from v5.6.1 to v5.10.0
  • Bump github.com/gruntwork-io/terratest from v0.41.9 to v0.46.7
  • Bump github.com/spf13/afero from v1.9.5 to v1.10.0
  • Bump github.com/spf13/cobra from v1.6.1 to v1.8.0
  • Bump github.com/spf13/viper from v1.14.0 to v1.17.0
  • Bump github.com/stretchr/testify from v1.8.2 to v1.8.4
  • Bump go.uber.org/zap from v1.24.0 to v1.26.0
  • Bump golang.org/x/term from v0.5.0 to v0.14.0

Changed

  • By default, install the Stevedore binary in $HOME/bin
  • Do not build Golang applications on functional tests
  • Implement a retry mechanism in the functional tests
  • Isolate test execution from the guest host by running functional and unit tests inside a Docker container
  • The installation script uses /bin/sh instead /bin/bash
  • The release process creates ARM binaries
  • Use Docker 24.0 in the examples and tests
stevedore - v0.11.1

Published by github-actions[bot] over 1 year ago

RELEASE NOTES

[v0.11.1]

Added

  • Included examples
  • New variable mapping named image_from_fully_qualified_name that provides the fully qualified name of the parent Docker image as a build argument.
  • New variable mapping named image_fully_qualified_name that provides the fully qualified name of current image as a build argument. It is used by the ansible-plybook driver.

Bumped

  • Bump up github.com/apenella/go-docker-builder to v0.7.8
  • Bump up github.com/spf13/afero to v1.9.5
  • Bump up github.com/docker/distribution to v2.8.2+incompatible
  • Bump up github.com/docker/docker to v20.10.24+incompatible
  • Bump up github.com/go-git/go-git/v5 to v5.6.1

Fixed

  • Install script uses the artefact name updated on v0.11.x
  • Use the default variables mapping definition when in the builder is defined as empty builder
  • On promote command, mark as deprecated the flags --promote-image-namespace and --promote-image-registry
  • On promote command, enable semver tag is aware of the source image tag
  • On build command, pull-parent-image pulls the parent image (fixed on github.com/apenella/go-docker-builder to v0.7.8)
  • On promote command, remove image after push (fixed on github.com/apenella/go-docker-builder to v0.7.8)
stevedore - v0.11.0

Published by github-actions[bot] over 1 year ago

RELEASE NOTES

[v0.11.0]

Added

  • Installation script
  • Create credentials local store
  • Create credentials environment variables store
  • Allow to cypher credentials store
  • Create a semver generator to parse image tags
  • Create a new promote service
  • Create an infrastructure repository for docker promotions
  • Create a handler to promote cli subcommand
  • Create a logger object
  • BuildDriverer interface accepts Build(context.Context,BuildDriverOptions) error
  • Docker build driver accepts the username-password and private key as authentication methods for the git docker build context
  • Struct to render images accepts dates through DateRFC3339 and DateRFC3339Nano attributes
  • Subcomand get images accepts filters
  • Subcomand get builders accept filters

Changed

  • Updated license to Apache 2.0
  • The whole project has been refactored following the ports-and-adapter architectonical design. Inside the ìnternal folder there are 5 main subfolders:
    • application: Use cases implementation
    • core: The domain objects and the repositories to interact with them
    • entrypoint: The elements that initialize and execute each command subsystem
    • handler: Defines the handler for each subcommand
    • infrastrucutre: Implementation for the driven and driver actor
  • Bump up go to 1.19.6
  • Bump up yaml to yaml.v3
  • Bump up github.com/apenella/go-ansible to v1.1.7
  • Bump github.com/apenella/go-docker-builder to v0.7.5
  • Bump github.com/docker/docker to v20.10.23+incompatible
  • Bump github.com/go-git/go-git/v5 to v5.5.2
  • Bump github.com/spf13/afero to v1.9.4
  • Bump github.com/stretchr/testify to v1.8.2
  • Bump golang.org/x/term to v0.5.0
  • [DEPRECATED FLAG] On the promote subcommand, use remove-local-images-after-push instead of remove-promote-tags
  • [DEPRECATED FLAG] On the build subcommand, use ansible-connection-local instead of connection-local
  • [DEPRECATED FLAG] On the build subcommand, use ansible-intermediate-container-name instead of builder-name
  • [DEPRECATED FLAG] On the build subcommand, use ansible-inventory-path instead of inventory
  • [DEPRECATED FLAG] On the build subcommand, use ansible-limit instead of limit
  • [DEPRECATED FLAG] On the build subcommand, use image-from-name instead of image-from
  • [DEPRECATED FLAG] On the build subcommand, use image-registry-host instead of registry
  • [DEPRECATED FLAG] On the build subcommand, use image-registry-namespace instead of namespace
  • [DEPRECATED FLAG] On the build subcommand, use persistent-variable instead of set-persistent
  • [DEPRECATED FLAG] On the build subcommand, use variable instead of set
  • [DEPRECATED FLAG] On the build subcommand, use build-on-cascade instead of cascade
  • [DEPRECATED FLAG] On the build subcommand, use concurrency instead of num-workers
  • [DEPRECATED FLAG] On the build subcommand, no-push is the stevedore default behaviour, use push-after-build flag to push an image
  • [DEPRECATED FLAG] On the create credentials subcommand, the credentials id must be passed as a command argument instead of using registry-host flag
  • [DEPRECATED FLAG] On the create credentials subcommand, credentials-dir is deprecated and will be ignored. Credentials parameters are set through the credentials section of the configuration file or using the flag local-storage-path

Removed

  • Image tags are not sanitized any more
stevedore - v0.10.3

Published by github-actions[bot] over 3 years ago

RELEASE NOTES

[0.10.3]

Changed

  • Command descriptions has been updated

Fixed

  • Fix promote command was hidden
  • Fix promote image with multiple tags and remove promoted tags enable. The image is deleted after first push.
stevedore - v0.10.2

Published by github-actions[bot] over 3 years ago

RELEASE NOTES

[0.10.2]

Fixed

  • fix load semver templates from file on promote command
stevedore - v0.10.1

Published by github-actions[bot] over 3 years ago

RELEASE NOTES

[0.10.1]

Fixed

  • fix stevedore init creates configuration file with execution permissions
  • fix promote does not uses -S flag to generate semantic version tags
  • fix tags defined on the image are ignored
stevedore - v0.10.0

Published by github-actions[bot] almost 4 years ago

RELEASE NOTES

[0.10.0]

Added

  • New command to initizalize stevedore configuration
  • Image builder could be defined as an string that identifies a global builder defined on builders configuration structure or could contain an in-line builder definition.
  • Semver tags feature that autogenerate tags based on semantic version tags templates when an image tag is semver 2.0.0 compliance
  • When is performed a build on cascade mode, can be defined the image's tree depth level of images to built
  • New package logger that wraps zap logger and defines a global logger on a singleton mode
  • New package console to use a global console variable on a singleton mode

Removed

  • Remove github.com/gostevedore/stevedore/internal/context package

Changed

  • On image definition struct, rename Childs to Children
  • Default configuration location. Stevedore looks for default configuration file in: ./stevedore.yaml, ~/.config/stevedore/stevedore.yaml or ~/stevedore.yaml and loads the first configuration found.
  • Default credentials locations is ~/.config/stevedore/credentials
  • On configuration skip_push_images become push_images
  • Update all packages to use the logger package to log messages
  • Update all packages to use the console package to write missages to console
  • Use golang context package instead of github.com/gostevedore/stevedore/internal/context
  • Create an specific package for drivers
  • Accept nil builders definition
  • Include OS/arch and build date on version detail
  • Update to github.com/apenella/go-docker-builder to v0.3.3
  • Update to github.com/apenella/go-ansible to v0.6.1
  • Update to github.com/docker/docker v20.10.0+incompatible
  • Update to github.com/apenella/go-data-structures v0.2.0 which support cycles detection

Fixed

  • Fix raise an error when building a wildcarded image with an undefined version
  • Fix set image from details to build images
  • Fix negotiate docker API version on docker builder
  • Fix sanitize tags to do not use '/' or ':'
  • Fix to raise an error on generateTemplateGraph
Package Rankings
Top 8.16% on Proxy.golang.org
Badges
Extracted from project README
License