Skip to content

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

  1. Private S3 bucket (Block Public Access ON)
  2. (Optional) CloudFront distribution + OAC (403/404 → /index.html)
  3. Bucket policy limiting s3:GetObject to the distribution AWS:SourceArn
  4. 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:

make infra-awscli-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.

Next

Pick a path: AWS CLI · Manual · CDK