One-click AWS deploy: CloudFormation quick-start + Launch Stack button - #17
Merged
Merged
Conversation
deploy/cloudformation/compass-quickstart.yaml — a self-contained stack a stranger can deploy from the README's Launch Stack button with zero tools installed: - minimal VPC (two public subnets) so the template needs no inputs - private encrypted S3 bucket, DeletionPolicy: Retain — the database outlives the compute; deleting the stack never deletes data - least-privilege task role, NO long-lived keys: object_store 0.13 natively supports ECS task credentials (AWS_CONTAINER_CREDENTIALS_ RELATIVE_URI), verified in the vendored source - one Fargate task running ghcr.io/runcaptain/compass with CloudWatch logs; parameters for image tag, API key (NoEcho), allowed CIDR, CPU/memory; outputs include a one-liner to fetch the task public IP Verified: cfn-lint clean; deployed to CREATE_COMPLETE against a CloudFormation emulator (all 17 resources materialize); deleting the stack retains the data bucket as designed. cfn-publish.yml lints on every template change and uploads to the public template bucket when publish secrets are configured (skips cleanly on forks). READMEs: the official Launch Stack button sits in the header badge row and leads the deploy section; deploy/README gains the CloudFormation path as option 0. Signed-off-by: Edgar Babajanyan <bedgar2005@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The "one-command deploy" badge linked to a markdown section — the reader still had to have
kubectland a cluster. There was no path where clicking a button opens AWS itself with Compass ready to create.Fix
The classic orange Launch Stack button, in the README header next to the badges and leading the deploy section. It opens the CloudFormation console with
deploy/cloudformation/compass-quickstart.yamlpre-loaded; one Create click provisions:DeletionPolicy: Retain— deleting the stack never deletes the databaseobject_store0.13 natively picks up ECS task credentials (AWS_CONTAINER_CREDENTIALS_RELATIVE_URI, verified in the vendored source)ghcr.io/runcaptain/compasswith CloudWatch logs; parameters for image tag, API key (NoEcho), allowed CIDR, and sizingScoped honestly as the evaluation/single-node path; the section steers fleets to the Kubernetes topology.
Tested
cfn-lintclean.One-time setup after merge (repo admin)
CloudFormation quick-create links can only read templates from S3, so the button URL points at
https://compass-cloudformation.s3.amazonaws.com/compass-quickstart.yaml. To make it live:compass-cloudformationbucket (us-east-1) with publics3:GetObjecton*.yaml.CFN_PUBLISH_AWS_ACCESS_KEY_ID/CFN_PUBLISH_AWS_SECRET_ACCESS_KEY(an IAM user with PutObject on that bucket only); optionally variableCFN_TEMPLATE_BUCKETto use a different bucket name.Until then the button 404s at the console's template-load step — the template itself ships in-repo either way.