aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

Allow multiple relative values to be passed to 'package' CLI command

Open
#1,184 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

Other

### Resource name

_No response_

### Description

Multi-file CloudFormation projects are effectively tightly-coupled to specific S3 buckets.

AWS provides us with several tools to try to work with this:
- `aws cloudformation package` when using the AWS CLI
- `cdk bootstrap` when using CDK
- Even most AWS QuickStarts are written in such a way at to require "Quick Start S3 Bucket Name"/"Quick Start S3 Key Prefix"

Why is this awkward?
-------------------------
The desire is to be able to treat one's CloudFormation projects as build-artifacts, and to be able to store them, version them, delete them etc.

The latest inconvenience is trying to archive the build-artifact generated from a CDK project. In an ideal world, I would like to "build" the project into a set of templates and other resources (lambda zips etc.) and place them in an artifact repository, ready to be versioned, deployed and potentially deleted over time. Instead I end up with a single "bootstrap" bucket full of every hashed resource I've ever created.

Wouldn't it be nice if...
--------------------------
...CloudFormation projects could be packaged in such a way as not to rely on reference back to a specific S3 bucket?

Given that CloudFormation requires root templates to be uploaded to S3 anyway, allowing CloudFormation to interpret paths as being relative to the template UI would allow CF projects to be more portable.

I would expect these reference to look exactly as they do pre- `aws cloudformation package`
...the only difference being that the references would be resolved server-side.

Stretch goal 1
----------------
If CF was able to work in such a way, it may also be nice to allow self-container CF packages to be uploaded in the form of zips, either via the console or CLI

Stretch goal 2
----------------
Add config to CDK to enable relative CF paths. In which case running a `cdk synth` would potentially produce a self-contained CF project that can be deployed, achieved, etc as required by the developer.

### Other Details

[aws cloudformation package](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html)

Contributor guide

Open the contributing guide

Research direction

Start with the `aws cloudformation package` CLI entry point and the linked command documentation. Clarify whether the deliverable is support for multiple relative values, server-side relative references, or the proposed archive/CDK extensions; done should be defined by portable, self-contained CloudFormation artifacts without a fixed S3 bucket dependency.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cli, cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.