From a3b3d9187ac842700656a60fd4805a8d8e3c0a32 Mon Sep 17 00:00:00 2001 From: Derek Downey Date: Fri, 17 Mar 2023 13:12:45 -0400 Subject: [PATCH] Fixing terraform and deploy from an empty install (#66) --- infrastructure/main.tf | 2 ++ kubernetes-manifests/spanner_config.yaml.tmpl | 6 +++--- schema/migrations/000005.sql | 2 +- scripts/schema.sh | 9 +++++++++ scripts/services_deploy.sh | 14 ++++++++++++-- 5 files changed, 27 insertions(+), 6 deletions(-) diff --git a/infrastructure/main.tf b/infrastructure/main.tf index 95dca5c..77b80db 100644 --- a/infrastructure/main.tf +++ b/infrastructure/main.tf @@ -42,6 +42,8 @@ data "google_client_config" "provider" {} data "google_container_cluster" "gke-provider" { name = var.gke_config.cluster_name location = var.gke_config.location + + depends_on = [ google_container_cluster.sample-game-gke ] } provider "kubernetes" { diff --git a/kubernetes-manifests/spanner_config.yaml.tmpl b/kubernetes-manifests/spanner_config.yaml.tmpl index 97823e3..cd21e0a 100644 --- a/kubernetes-manifests/spanner_config.yaml.tmpl +++ b/kubernetes-manifests/spanner_config.yaml.tmpl @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: spanner-config data: - spanner_project_id: PROJECT_ID # EDIT: Your GCP Project ID - spanner_instance_id: INSTANCE_ID # EDIT: Your Spanner Instance ID - spanner_database_id: DATABASE_ID # EDIT: Your Spanner Database ID + spanner_project_id: GCP_PROJECT_ID # EDIT: Your GCP Project ID + spanner_instance_id: SPANNER_INSTANCE_ID # EDIT: Your Spanner Instance ID + spanner_database_id: SPANNER_DATABASE_ID # EDIT: Your Spanner Database ID diff --git a/schema/migrations/000005.sql b/schema/migrations/000005.sql index ed5f959..b9ae4da 100644 --- a/schema/migrations/000005.sql +++ b/schema/migrations/000005.sql @@ -16,4 +16,4 @@ DROP INDEX PlayerAuthentication; CREATE UNIQUE INDEX PlayerAuthentication ON players(email) STORING (password_hash, is_logged_in); -ALTER TABLE players ALTER is_logged_in BOOL NOT NULL DEFAULT (false); +ALTER TABLE players ALTER COLUMN is_logged_in BOOL NOT NULL DEFAULT (false); diff --git a/scripts/schema.sh b/scripts/schema.sh index 28853e4..8fe6cec 100755 --- a/scripts/schema.sh +++ b/scripts/schema.sh @@ -17,4 +17,13 @@ # A convenience script to help developers easily set up emulator, finapp server # and workload. +if [ -z "${SPANNER_PROJECT_ID}" ] || \ + [ -z "${SPANNER_INSTANCE_ID}" ] || \ + [ -z "${SPANNER_DATABASE_ID}" ] +then + echo "[ERROR] Environment variables must be set: " >&2 + echo " SPANNER_PROJECT_ID, SPANNER_INSTANCE_ID, and SPANNER_DATABSE_ID" >&2 + exit 1 +fi + wrench migrate up --directory ./schema diff --git a/scripts/services_deploy.sh b/scripts/services_deploy.sh index f045047..0087482 100755 --- a/scripts/services_deploy.sh +++ b/scripts/services_deploy.sh @@ -15,8 +15,12 @@ # limitations under the License. # # A convenience script to help developers easily deploy services to GKE cluster -if [ -z "${PROJECT_ID}" ]; then - echo "[ERROR] PROJECT_ID environment variable must be set" >&2 +if [ -z "${PROJECT_ID}" ] || \ + [ -z "${SPANNER_INSTANCE_ID}" ] || \ + [ -z "${SPANNER_DATABASE_ID}" ] +then + echo "[ERROR] Environment variables must be set: " >&2 + echo " PROJECT_ID, SPANNER_INSTANCE_ID, and SPANNER_DATABSE_ID" >&2 exit 1 fi @@ -24,6 +28,12 @@ basedir=`pwd` cd "${basedir}/kubernetes-manifests" +echo "[INFO] Adding spanner-config" +sed "s/GCP_PROJECT_ID/${PROJECT_ID}/" "spanner_config.yaml.tmpl" > "spanner_config.yaml" +sed -i "s/SPANNER_INSTANCE_ID/${SPANNER_INSTANCE_ID}/" spanner_config.yaml +sed -i "s/SPANNER_DATABASE_ID/${SPANNER_DATABASE_ID}/" spanner_config.yaml +kubectl apply -f "spanner_config.yaml" + # Submit a kubectl apply for each deployment file for service in profile-service matchmaking-service item-service tradepost-service; do echo "[INFO] Configuring ${service}"