Fork me on GitHub

@genekim sure thing! it's still a work in progress though. But will post some gists later today


One of my reasons for choosing to use Babashka for based provisioning scripts is the ability to have the ability to handle more complex workflows. Like: • validate service account has billing attach credentials • validate service account has project create credentials • create google cloud project • enable billing • create service accounts • create iam policies for those service accounts • create initial sercretmanager secrets for the database and cookie secrets • set up a cloud sql instance • create cloud sql database • create cloud sql user with secrets from secretmanager • ^^ so far this could still be handled by terraform • build a docker container with database migrations • launch a docker container • In this docker container start cloud sql proxy with service account credentials • run database migrations • create a cloud run service with environment variables set to secrets from secretmanager • create domain mappings for the cloud run service And all these steps need to be idempotent. So running the script a second time would just update resources to have the desired state.