Hey Adam, good question, perhaps I could clarify that bit on the repo readme.
s3_buckets.tf file is actually for the kops state. Terraform remote state is referenced on
main.tf as you pointed out, and it’s actually a good idea to manage it through a different terraform project, or just have the S3 bucket pre-provisioned manually. You already noticed this but this is to avoid a circular dependency.
To be clear, we should use different S3 buckets for terraform/Kops states.
More info on Kops state can be found here:
Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management - kubernetes/kops
Thanks again for the feedback, and for trying out the demo! BTW feel free to create a PR for the repo if you want to make any changes to it.