From 9d8ab3b378666d39ada85b5f6fc15dbafc628254 Mon Sep 17 00:00:00 2001
From: David Hoese <david.hoese@ssec.wisc.edu>
Date: Thu, 17 Sep 2020 16:26:58 -0500
Subject: [PATCH] First attempt at deploying GRB to GCP

---
 ci_gcp/gitlab-ci.yaml      | 38 ++++++++++++++++++++++++++++++++++++++
 ci_gcp/values-grb-g16.yaml | 15 +++++++++++++++
 2 files changed, 53 insertions(+)
 create mode 100644 ci_gcp/values-grb-g16.yaml

diff --git a/ci_gcp/gitlab-ci.yaml b/ci_gcp/gitlab-ci.yaml
index acba915..efa1b13 100644
--- a/ci_gcp/gitlab-ci.yaml
+++ b/ci_gcp/gitlab-ci.yaml
@@ -24,6 +24,44 @@ test gcp connection:
         kubectl get all;
       fi
 
+
+gstest deploy grb:
+  environment:
+    name: gcp
+  extends: .helm_based_job
+  #image: google/cloud-sdk:latest
+  image: kiwigrid/gcloud-kubectl-helm
+  stage: deploy GRB
+  variables:
+    KUBECONFIG: "/home/gkh/.kube/config"
+  before_script:
+    - gcloud --verbosity=debug auth activate-service-account "${GEOSPHERE_DEPLOY_GCP_SA_EMAIL}" --key-file="${GEOSPHERE_DEPLOY_GCP_SA_KEY}"
+    # If this produces a warning about not having permission make sure the SA
+    # has the project "Viewer" role. If it still produces a warning then try
+    # enabling this Cloud Resource Manager API. See admin/GCP_README.md
+    # for more information.
+    - gcloud --verbosity=debug config set project "${GEOSPHERE_DEPLOY_GCP_PROJECT_NAME}"
+    - gcloud --verbosity=debug container clusters get-credentials "${GEOSPHERE_DEPLOY_GCP_CLUSTER_NAME}" --zone "${GEOSPHERE_DEPLOY_GCP_ZONE_NAME}";
+    - helm registry login -u ${CI_REGISTRY_USER} -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
+    - helm repo add stable https://kubernetes-charts.storage.googleapis.com
+    - helm repo update
+  script:
+    - ns="default"
+    - cd geosphere-client/chart
+    - source cspp-geo-grb/cibuild.env
+    # copy private ssh key to the chart for inclusion in the secret
+    - cp $GRB_PROXY_SSH_KEY cspp-geo-grb/secrets/grb_ssh_proxy_rsa
+    - echo "Deploying version $docker_tag to cluster namespace $ns"
+    - helm upgrade -v 2 --kubeconfig $HOME/.kube/config --install --namespace $ns -f ../../ci_gcp/values-grb-g16.yaml cspp-geo-grb cspp-geo-grb/
+#    - helm upgrade -v 2 --install --kubeconfig $kubeconfig --namespace $ns --set persistence.enabled=true --set persistence.storageClass=longhorn -f values-grb-g16.yaml cspp-geo-grb cspp-geo-grb/
+  dependencies:
+    - get_chart_grb
+  rules:
+    - if: '$CI_COMMIT_BRANCH != "gcp"'
+      when: never
+    - when: on_success
+
+
 gstest deploy client:
   environment:
     name: gcp
diff --git a/ci_gcp/values-grb-g16.yaml b/ci_gcp/values-grb-g16.yaml
new file mode 100644
index 0000000..021cec2
--- /dev/null
+++ b/ci_gcp/values-grb-g16.yaml
@@ -0,0 +1,15 @@
+apidFilter: "GOES-16-ABI-Only.xml"
+fanoutServer: "fanout1"
+sshProxy: "ash.ssec.wisc.edu"
+sshUser: "davidh"
+sshPrivateKeyFile: "secrets/grb_ssh_proxy_rsa"
+uploadDst: ""
+#uploadDst: "s3://g16-abi-l1b-netcdf"
+#s3Endpoint: "http://geosphere-minio:9000"
+#s3Secret: "geosphere-minio"
+#s3AccessKey: "accesskey"
+#s3SecretKey: "secretkey"
+#rabbitOut:
+#  host: "geosphere-rabbit-rabbitmq"
+#  username: "user"
+#  passwordSecret: "geosphere-rabbit-rabbitmq"
\ No newline at end of file
-- 
GitLab