Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add super experimental rename templates script. #196

Merged
merged 2 commits into from
Apr 21, 2020
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions Terraform/rename.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/bin/bash

# Disclaimer: This is originally for my own debugging and testing purposes. Use with caution.

export PWD=$(pwd)
export OUTPUT_PATH=/usr/local/google/home/xingao/gitrepos/demo

# Phase 1
# Use Engine to generate baseline configs. Need to git clone the dpt repo first, and copy the
# engine.tmpl.yaml to engine/samples/demo.yaml.
cd ~/gitrepos/src/github.com/GoogleCloudPlatform/healthcare/deploy && \
git checkout demo && \
rm -rf ${OUTPUT_PATH}/* && \
bazel run engine:main -- --config_path=engine/samples/demo.yaml --output_path=${OUTPUT_PATH}

cp -r /usr/local/google/home/xingao/gitrepos/fda-mystudies/Terraform/secrets ${OUTPUT_PATH}/

cd ${OUTPUT_PATH}

export OLD_STATE="heroes-hat-dev-terraform-state-08679"
export NEW_STATE="dpt-demo-042110-terraform-state"
export OLD_PREFIX="heroes-hat-dev"
export NEW_PREFIX="dpt-demo-042110"
export OLD_GKE_PREFIX="heroes-hat"
export NEW_GKE_PREFIX="dpt-demo-042110"
export OLD_FOLDER="fda-my-studies"
export NEW_FOLDER="dpt-demo-042110"
export SRC_BASE=/usr/local/google/home/xingao/gitrepos/fda-mystudies/Terraform/org/folder.${OLD_FOLDER}/project.${OLD_PREFIX}
export DST_BASE=${OUTPUT_PATH}/org/folder.${NEW_FOLDER}/project.${NEW_PREFIX}

# Phase 2
cp -r ${SRC_BASE}-networks/networks ${DST_BASE}-networks/
cp -r ${SRC_BASE}-data/data ${DST_BASE}-data/
cp -r ${SRC_BASE}-resp-firebase/firebase ${DST_BASE}-resp-firebase/

# Phase 3
cp -r ${SRC_BASE}-apps/apps ${DST_BASE}-apps/
cp -r ${SRC_BASE}-apps/kubernetes ${DST_BASE}-apps/
cp -r ${SRC_BASE}-data/iam ${DST_BASE}-data/

# Globally unique resources or resources that cannot reuse the same name right after destroying.
find . -type f -name *.tfvars -o -name *.tf -o -name *.hcl | xargs sed -i "s|${OLD_STATE}|${NEW_STATE}|"
find . -type f -name *.tfvars -o -name *.tf -o -name *.hcl | xargs sed -i "s|${OLD_PREFIX}|${NEW_PREFIX}|"
find . -type f -name *.tfvars -o -name *.tf -o -name *.hcl | xargs sed -i "s|${OLD_GKE_PREFIX}|${NEW_GKE_PREFIX}|"

export NEW_ORG_ID=
export NEW_BILLING_ACCOUNT=
export NEW_ADMIN_GROUP=

# Org info
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i "s|707577601068|${NEW_ORG_ID}|"
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i "s|01EA90-3519E1-89CB1F|${NEW_BILLING_ACCOUNT}|"

# Org group
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i "s|rocketturtle-gcp-admin@rocketturtle.net|${NEW_ADMIN_GROUP}|"

# Repo
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i 's|"GoogleCloudPlatform"|"xingao267"|'
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i 's|"fda-mystudies"|"demo"|'
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i 's|"terraform"|"master"|'
find . -type f -name *.tfvars -o -name *.tf | xargs sed -i 's|"early-access"|"master"|'

# Only needed if doing it again in the same org.
# find . -type f -name *.tfvars -o -name *.tf -o -name *.hcl | xargs sed -i "s|storage-org-sink|${NEW_PREFIX}-storage-org-sink|"
# find . -type f -name *.tfvars -o -name *.tf -o -name *.hcl | xargs sed -i "s|bigquery-org-sink|${NEW_PREFIX}-bigquery-org-sink|"

cd ${PWD}