dxaws-website¶
Overview¶
dxaws-website is the orchestration layer of the dxaws ecosystem.
It composes primitive dxaws modules (S3, ACM, CloudFront, DNS) to converge a fully working static website using a manager-centric, typed interface.
This module does not directly implement AWS primitives. Instead, it coordinates existing dxaws modules and enforces convergence semantics (create, update, wait, noop) through WebsiteManager.execute().
Responsibilities¶
What This Module Owns¶
Website-level desired state (
WebsiteDesired)Orchestration logic across primitives
Readiness semantics (certificate issuance, distribution deployment)
High-level action determination (
create,update,wait,noop)Stable outputs describing the converged website
What It Creates or Manages (Indirectly)¶
Through primitive modules:
S3 bucket (origin)
ACM certificate (with DNS validation records)
CloudFront distribution
Route53 alias records (A/AAAA)
What It Explicitly Does Not Do¶
Direct boto3 AWS resource manipulation
CLI behavior (handled by dxaws-cli)
Step Functions or workflow orchestration engines
Complex multi-origin distribution logic
Architecture Position¶
dxaws-website sits above primitive modules and acts as a runbook-style orchestrator:
WebsiteManager
├── dxaws-s3
├── dxaws-acm
├── dxaws-cloudfront
└── dxaws-dns
It consumes typed desired state and produces a stable, converged result describing the website infrastructure.