aws cloudformation package and aws cloudformation deploy behave differently to stackit package and stackit execute.
At first I thought it would be more useful to create and display a changeset as part of stackit package, making it similar to terraform plan. This arguably is more useful in the typical case, but isn't as useful in the CI case.
Specifically, in a CI setup we might want to archive "artifacts" from a Build stage and use them in a later Deploy stage. Right now we are archiving stackit.packaged.yml. The problem is that this isn't replayable, a user can't re-run just the Deploy stage as they might expect.
We could ameliorate this with the following design:
stackit package acts identically to aws cloudformation package, albeit with sensible defaults -- it will emit a <template name>.packaged.yml file.
stackit plan is analogous to terraform plan
stackit apply is analogous to terraform apply
stackit up --stack-name <stack> --template <template name>.packaged.yml is a wrapper around plan && apply, i.e. it creates and executes a change set.
aws cloudformation packageandaws cloudformation deploybehave differently tostackit packageandstackit execute.At first I thought it would be more useful to create and display a changeset as part of
stackit package, making it similar toterraform plan. This arguably is more useful in the typical case, but isn't as useful in the CI case.Specifically, in a CI setup we might want to archive "artifacts" from a Build stage and use them in a later Deploy stage. Right now we are archiving
stackit.packaged.yml. The problem is that this isn't replayable, a user can't re-run just the Deploy stage as they might expect.We could ameliorate this with the following design:
stackit packageacts identically toaws cloudformation package, albeit with sensible defaults -- it will emit a<template name>.packaged.ymlfile.stackit planis analogous toterraform planstackit applyis analogous toterraform applystackit up --stack-name <stack> --template <template name>.packaged.ymlis a wrapper aroundplan && apply, i.e. it creates and executes a change set.