Releases: acquia/moonshot
Releases · acquia/moonshot
Major Release Candidate - 1.0.0.rc3
Bugfixes
- The environment variables
MOONSHOT_SSH_USER
andMOONSHOT_SSH_KEY_FILE
were inadvertently lost during 1.0 refactors. They're back now! (Thanks, @ProZsolt!) - Stack updates always attempted to update tags, even though many types of resources do not support this. Returned to the old behavior and updated
list
action to look for both new and old tag types. (Thanks, @Skarlso!)
Major Release Candidate - 1.0.0.rc2
Bugfixes
- Fixed an issue with
moonshot console
not properly sourcing Pry. - Fixed an issue with the
--verbose
option not properly configuring the logger.
Thanks to @nickjanus for finding and fixing these!
Major Release Candidate - 1.0.0.rc1
New Features
- Added support for YAML templates (Thanks, @borsothy!)
- Renamed the core SDLC command to shorter names:
build
,deploy
andpush
. - We now use AWS as the source of truth of parameters, see the upgrade docs for more info.
- Missing parameters will be prompted to the user, unless
--no-interactive
is used. - An answer file can be provided with
--answer-file
when creating or updating stacks. This is useful for bulk parameterized updates or creation, especially in CI environments. - Added
moonshot new
command for initializing a new project powered by Moonshot (Thanks, @borsothy!) - We now tag the created stack with
moonshot_application
andmoonshot_environment
, and use them in the output ofmoonshot list
. - Development builds (which are created with
moonshot push
) are now prefixed withdev/APP_NAME/ENV_NAME
, which can be used for automated cleanup in Amazon S3.
Major Changes
- Moonshot no longer supports AWS_CREDENTIAL_FILE
- Parameter Strategies have been removed, we now use something similar to the previous MergeStrategy always.
- Configuration of the CLI tool is handled by a
Moonfile.rb
file in the project root, see upgrade docs for more details. - Plugins and CLI commands can be autoloaded from the
moonshot
directory in a project root. - Many documentation updates.
Please see the upgrade guide for more information about upgrading your project from 0.7.x.
Bugfixes
- CodeDeploy failures should provide better root cause information.
- Logger is now updated in real-time while waiting for ASG to reach capacity.
Minor Release - v0.7.7
Features
- The
CodeDeploy
deployment mechanism now allows for multiple ASGs to be deployed to at once. (Thanks, @aligentjim and @pdrakeweb!) - The
CodeDeploy
deployment mechanism now accepts an optionalconfig_name
argument, but continues to default toCodeDeployDefault.OneAtATime
. (Thanks, @aligentjim!) - The
TravisDeploy
build mechanism no longer requires the Travis CLI tool be installed locally, instead using the Ruby client libraries. (Thanks, @jamesiarmes!) - The
CodeDeploy
deployment mechanism now allows the group name to be passed instead of auto-configured, for advanced configurations. (Thanks, @cpliakas!) - A new tool, ASGRollout, is included for rolling out LaunchConfiguration updates in environments where CloudFormation's UpdatePolicy isn't robust enough, such as complex worker tier scenarios.
Bug Fixes
- Now compatible with AWS-SDK v2 versions greater than 2.2.X, while still requiring at least version 2.2.X. (Thanks, @pdrakeweb!)
- Fixed an error in GithubRelease build mechanism. (Thanks, @jamesiarmes!)
- The plugin documentation now correctly lists
pre_deploy
andpost_deploy
hooks, which have been available since hooks were introduced. (Thanks, @gergelyborsothy!)
Minor Release - v0.7.6
New Features
- GithubRelease build mechanism now allows releases to continue past steps that have already been completed (i.e. this version or git ref has already been built). (Thanks, @jamesiarmes!)
- New built-in
ssh
action to connect to the first instance in an auto-scaling group in the stack. Helpers exist to write your own commands that connect to instances, as well. For example if you use an instance to connect to an RDS database. (Thanks, @janost!)
Bugfixes
- TravisDeploy build mechanism will now retry when looking for the build result, in cases where it does not exist yet. (Thanks, @jamesiarmes!)
Minor Release - v0.7.5
Changes
- Grant access to S3 artifacts created in other accounts. (Thanks, @glennpratt!)
Bugfixes
- Pin back activesupport (ruby-duration dependency) until we only support Ruby >= 2.2.2. (Thanks, @glennpratt!)
Minor Release - v0.7.4
New Features
- The Backup plugin introduced in 0.7.3 now supports selecting the target bucket based on the account alias of the account you are deploying to. (Thanks, @gergelyborsothy!)
Minor Release - v0.7.3
New Features
- The
S3Bucket
ArtifactRepository now supports a prefix option, which is useful if multiple projects share the same S3 bucket. (Thanks, @jamesiarmes!) - A new stack can be created with a named version, instead of creating a development build, with the
create --version
option. (Thanks, @jamesiarmes!)
Bugfixes
- Plugins now correctly use
pre_status
andpost_status
hooks to extend the status command. The code did not previously match the documented behavior. (Thanks, @gergelyborsothy!) - The new
:merge
strategy for stack parameters now correctly handles added and deleted parameters during update. (Thanks, @pdrakeweb!)
Minor Release - v0.7.2
New Features
- This patch introduces parameter strategies which define how parameters are determined in Create/Update calls to CloudFormation. The default strategy behaves as before, uploading the values from the .yml file and merging in the parent stack values. A new "merge" strategy will take values from the .yml file, and set any unknown parameters to use the value currently set in CloudFormation, using the UsePreviousValue option in the CreateStack/UpdateStack calls.
Minor Release - v0.7.1
Improvements:
- Tons of documentation updates!
- The name of the role used by the
CodeDeploy
mechanism can be configured via the keyword argumentrole
, such as `self.deployment_mechanism = CodeDeploy.new(asg: 'MyAutoScalingGroup', role: 'MyCodeDeployRole'). - JSON templates will now be minified before being sent to AWS. AWS limits the template size to 51,200 bytes when submitted via the CreateStack API call, so this will allow larger stacks to be used without concerns for whitespace characters.
- The sample application no longer depends on building your own AMIs, and instead uses upstream Amazon Linux AMIs in order to simplify learning how to use Moonshot.
ControllerConfig
is now accessible viaController#config
, allowing CLI tools to customize behavior by overridingMoonshot::CLI#controller
.
Bugfixes:
- Failure to update the stack during an
update
action will now abort the update, instead of continuing to post-update actions.