Source code for my personal website https://hancic.info
This is a static website built using Hugo
All dependencies are obtained with the ./get_deps.sh
script which will download all the
necessary binaries into the bin
folder inside the repo folder. The website is meant to
be built using these binaries as they are pinned to a specific version.
The website is deployed onto CloudFlare Pages which is managed with Terraform defined
in the tf
folder. All changes are applied manually (i.e. there is no CI/CD).
Note: If setting this up on a new CloudFlare account, you have to connect CloudFlare to your GitHub account and give it access to the repo where the website is stored. See this guide.
The following are the commands typically used to make changes to the infrastructure of this website.
./get_deps.sh
cd tf/
# Follow https://developers.cloudflare.com/fundamentals/api/get-started/create-token/
# to generate a token that can be used.
export CLOUDFLARE_API_TOKEN=<token>
# Only run this the first time / on a new machine.
../bin/terraform init
../bin/terraform plan
../bin/terraform apply
You either need to create a terraform.tfvars`` or provide the required variables to the terraform commands directly with
-var var_name=fooe.g.
../bin/terraform apply -var cf_account_id=XZY`
The state file is not checked-in into the repo. While nobody else will work on this repo and run terraform commands against my personal CloudFlare account, the file could contain some sensitive information.
At the moment it is simply stored on my computer (with a decent-ish manual backup).