Keeping up with AWS updates is hard, so I created BigOrange.Cloud/Updates to do it for me.
Before this, the best way I'd found was piping the various RSS feeds in to my Slack (and I'm not the only one), but that's no fun.
Items that have appeared since you last visited will be shown in bold, so you know what's new.
- Other AWS blogs
- AWS CVEs
- AWS Status LOL!
Components are deployed via CloudFormation (and SAM) as layers, so that dependencies are managed cleanly.
Note that the CloudFront Distribution is managed separately, as it fronts multiple applications.
Updates are stored as items in a DynamoDB table.
make data.template
make scrapers.template
This site uses a API Gateway HTTP API.
make scrapers.template
make site.template
This website follows the Immutable Web Apps standard. The steps to deploy are:
- Build the site
- Inject configuration variables
- Sync the site contents
- Update the
cache-control
onindex.html
npm install
NODE_ENV=production npm run build
export API=<ENDPOINT_URL>
sed -i "s~INSERT_API~${API:-API_NOT_SET}~g" dist/index.html
aws s3 sync dist/ s3://$SITE_BUCKET/updates/
aws s3 cp s3://$SITE_BUCKET/updates/index.html \
s3://$SITE_BUCKET/updates/index.html --metadata-directive REPLACE --cache-control no-cache
Environment variables are not injected in to the index.html
in development,
they're sourced from environment variables.
To run the front-end locally:
VUE_APP_API=$API
npm run serve
All tests (for functions and front-end) live in /tests
:
npm run test:unit
npm run test:unit:watch