Setup Overview¶
This page is an index for infrastructure provisioning options. Runtime code (the publisher + pytest plugin) intentionally ships without embedded Terraform/CDK templates—keep infrastructure in your own repositories.
Provisioning Paths (Choose One)¶
| Path | When to Use | Doc |
|---|---|---|
| AWS CLI scripted (Make targets) | Fast, repeatable, CI parity | AWS CLI Setup |
| Manual console | One-off / exploratory environments | Manual Console |
| CDK (external example) | You already manage infra with CDK | CDK Optional |
External CDK repository: https://github.com/darrenrabbs/allurehosting-cdk
Minimal Resource Checklist¶
- Private S3 bucket (Block Public Access ON)
- (Optional) CloudFront distribution + OAC (403/404 →
/index.html) - Bucket policy limiting
s3:GetObjectto the distributionAWS:SourceArn - Publisher principal with scoped: ListBucket (prefix), Get/Put/Delete/Tag (and Copy for promotions), optional KMS actions
Core Flow¶
%%{init: {"theme":"neutral","flowchart":{"curve":"basis"}}}%%
flowchart LR
Dev[Developer / CI] --> CLI[publish-allure CLI]
CLI -->|Put / List / Tag| S3[Private S3 Bucket]
Viewer[Browser] --> CF[CloudFront OAC]
CF -->|GET via OAC| S3
CF -->|HTTP 403/404 to index.html| SPA[index.html]
SPA --> CF
classDef res fill:#f6ffed,stroke:#389e0d,color:#222,stroke-width:1px;
class S3,CF res
Quick Commands¶
One-command scripted setup (creates .infra_env):
make infra-awscli-setup BUCKET=my-allure-reports AWS_REGION=us-east-1
source .infra_env && publish-allure \
--bucket "$BUCKET" \
--project demo \
--branch main \
--cloudfront "https://$CF_DOMAIN" \
--check --dry-run
Publish (real):
source .infra_env && publish-allure \
--bucket "$BUCKET" \
--project demo \
--branch main \
--cloudfront "https://$CF_DOMAIN"
Cleanup:
S3 Layout & Caching¶
s3://<bucket>/<prefix>/<project>/<branch>/<run_id>/
s3://<bucket>/<prefix>/<project>/<branch>/latest/
| Path | Cache-Control |
|---|---|
| index.html | no-cache |
| widgets/** (opt) | no-cache |
| everything else | public, max-age=31536000, immutable |
Deprecated Convenience Scaffolding¶
Former embedded publish-allure infra ... and template generators have been removed. This reduces maintenance and avoids drift. Use your org’s standard Terraform/CDK/CloudFormation stacks.