Releasing Clar v0.1
So, between some personal life events and other things, v0.1 took a bit longer than I expected. But it's now done! You can download the Docker image directly from GitHub here. I don't have a lot to say about it that isn't explained in the readme.md and I'm planning to take a few days now to figure out what I want to do with v0.2.
$ docker run $flags clar:v0.1.0 deploy
[clar] Deploying Terraform resources...
[clar] Running command: terraform init...
[clar] Running command: terraform plan...
[clar] Running command: terraform apply...
[clar] Done deploying Terraform resources
[clar] Syncing static assets to S3...
[clar] Done syncing static assets to S3
[clar] Invalidating CloudFront cache...
[clar] Done invalidating CloudFront cache
[clar] Site deploy successful in 284sec. Site URL is: https://blog.paulben.me
$ docker run $flags clar:v0.1.0 status
[clar] Checking site index page status at https://blog.paulben.me...
[clar] HTTP response code is: 200
[clar] Site status is: green
[clar] Site accessible at https://blog.paulben.me
$ docker run $flags clar:v0.1.0 sync
[clar] Syncing static assets to S3...
[clar] Done syncing static assets to S3
[clar] Invalidating CloudFront cache...
[clar] Done invalidating CloudFront cache
[clar] Sync successful in 22sec
$ docker run $flags clar:v0.1.0 teardown
[clar] Removing site currently deployed at https://blog.paulben.me...
[clar] Removing static assets from S3 bucket s3://blog.paulben.me...
[clar] Done removing static assets from S3
[clar] Removing Terraform assets...
[clar] Done removing Terraform assets
[clar] Site teardown successful in 319sec
When I initially set the definition of done for v0.1, I had intended to keep a more structured history of the decisions and pain points, that's something I'll need to bear in mind when I begin work on v0.2. Here's a Claude-generated summary of deferred items, none of which I've concretely acted on yet, but will be reviewing as I decide on what to prioritize for v0.2:
Deferred items from v0.1.0:
- Footer and favicon (stylised "P")
- create_hosted_zone support for users without an existing Route53 hosted zone (v0.2.0)
- Markdown-to-HTML conversion step to reduce post authoring friction
- Go binary replacing Docker image as the primary distribution artifact (v0.2.0 or v1.0.0)
- Deployment time optimisations: async CloudFront provisioning, wildcard cert, skip cache invalidation on first deploy
- Post templating and automated index page generation
- Git hook or CI/CD integration for automated publishing
- Content/infra repository separation
- Bootstrap UI for non-technical users
- VPS-based deployment replacing S3 + CloudFront (Hetzner/DO + Caddy + Let's Encrypt)
Until next time!