diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index da74d6a8241d78244d04d9766f967d5d2a409c74..8cbae4ba31b99b6f6bbec3eab73d93bea6f7bc84 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,8 @@ variables:
   CI_REGISTRY_IMAGE: ${CODE_REGISTRY_IMAGE}
   DOCKER_DIR: docker-images
   DOCKER_TAR: ${DOCKER_DIR}/app.tar
+  GIT_NSHMP_PASSWORD: ${GITLAB_API_TOKEN}
+  GIT_NSHMP_USERNAME: ${GITLAB_USER_EMAIL}
   IMAGE_NAME_HAZ: nshmp-haz:${CI_COMMIT_REF_SLUG}
   IMAGE_NAME_WS: nshmp-haz-ws:${CI_COMMIT_REF_SLUG}
   JACOCO_HTML_DIR: build/reports/jacoco/test/html
@@ -30,15 +32,6 @@ stages:
     DOCKERFILE="ws.Dockerfile";
     IMAGE_NAME=${IMAGE_NAME_WS/:master/:latest};
     INTERNAL_IMAGE_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME_WS};
-  ssh-key: &ssh-key |-
-    eval $(ssh-agent -s);
-    mkdir -p ~/.ssh;
-    chmod 700 ~/.ssh;
-    echo "${SSH_PRIVATE_KEY}" >> ~/.ssh/id_ed25519;
-    chmod 0600 ~/.ssh/id_ed25519;
-    echo "${SSH_PRIVATE_KEY}" >> ~/.ssh/id_rsa;
-    chmod 0600 ~/.ssh/id_rsa;
-    echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config;
 
 .docker-build:
   stage: test
@@ -50,11 +43,11 @@ stages:
     - tags@ghsc/nshmp/nshmp-haz-v2
   script:
     - apk add git;
-    - *ssh-key
     - mkdir ${DOCKER_DIR}
     - |
       docker build \
-        --build-arg ssh_private_key="${SSH_PRIVATE_KEY}" \
+        --build-arg git_username="${GIT_NSHMP_USERNAME}" \
+        --build-arg git_password="${GIT_NSHMP_PASSWORD}" \
         -f ${DOCKERFILE} \
         -t local/${IMAGE_NAME} .
     - docker save local/${IMAGE_NAME} > ${DOCKER_TAR}
@@ -129,8 +122,6 @@ Build Project:
     - branches
     - master@ghsc/nshmp/nshmp-haz-v2
     - tags@ghsc/nshmp/nshmp-haz-v2
-  before_script:
-    - *ssh-key
   script:
     - ./gradlew assemble
 
@@ -141,8 +132,6 @@ Spotless Check:
   only:
     - branches
     - master@ghsc/nshmp/nshmp-haz-v2
-  before_script:
-    - *ssh-key
   script:
     - ./gradlew spotlessCheck;
 
@@ -153,8 +142,6 @@ Spotbugs Main:
   only:
     - branches
     - master@ghsc/nshmp/nshmp-haz-v2
-  before_script:
-    - *ssh-key
   script:
     - ./gradlew spotbugsMain;
 
@@ -165,8 +152,6 @@ Spotbugs Test:
   only:
     - branches
     - master@ghsc/nshmp/nshmp-haz-v2
-  before_script:
-    - *ssh-key
   script:
     - ./gradlew spotbugsTest;
 
@@ -179,8 +164,6 @@ Unit Tests:
     - master@ghsc/nshmp/nshmp-haz-v2
     - tags@ghsc/nshmp/nshmp-haz-v2
   coverage: '/Total.*?([0-9]{1,3})%/'
-  before_script:
-    - *ssh-key
   script:
     - ./gradlew check
     - cat ${JACOCO_HTML_DIR}/index.html
diff --git a/Dockerfile b/Dockerfile
index 391db9442dac7f87b5d08e9832b0f68c24cf6a2e..4e67103d01725d694eac15582384302c796ac376 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,7 +12,10 @@
 #       code.chs.usgs.gov:5001/ghsc/nshmp/images/nshmp-haz-v2;
 #
 # Build locally:
-#   docker build --build-arg ssh_private_key="$(cat ~/.ssh/id_rsa)" -t nshmp-haz .
+#   docker build
+#       --build-arg git_username=<user@name.com>
+#       --build-arg git_password=<git-api-token>
+#       -t nshmp-haz .
 ####
 
 ARG project=nshmp-haz-v2
@@ -26,23 +29,19 @@ FROM usgs/centos:8 as builder
 
 ARG builder_workdir
 ARG libs_dir
-ARG ssh_private_key
+ARG git_username
+ARG git_password
 
-ENV LANG="en_US.UTF-8"
+ENV LANG "en_US.UTF-8"
+ENV GIT_NSHMP_USERNAME ${git_username}
+ENV GIT_NSHMP_PASSWORD ${git_password}
 
 WORKDIR ${builder_workdir}
 
 COPY . .
 
 RUN yum install -y java-11-openjdk-devel which git \
-    && eval $(ssh-agent -s) \
-    && mkdir -p ~/.ssh \
-    && chmod 700 ~/.ssh \
-    && echo "${ssh_private_key}" >> ~/.ssh/id_rsa \
-    && chmod 0600 ~/.ssh/id_rsa \
-    && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
-
-RUN ./gradlew --no-daemon assemble
+    && ./gradlew --no-daemon assemble
 
 ####
 # Application image: Run jar or war file.
@@ -60,7 +59,7 @@ ENV CONFIG_FILE ""
 ENV DEBUG false
 ENV IML ""
 ENV JAVA_XMX "8g"
-ENV LANG="en_US.UTF-8"
+ENV LANG "en_US.UTF-8"
 ENV MODEL ""
 ENV MOUNT_MODEL false
 ENV NSHM_VERSION master
diff --git a/build.gradle b/build.gradle
index ec436c10ab34cbff3c2a03e1583001f54a0b855e..7fe810d4017838c078b1d64d07204fe3499147bd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -57,7 +57,7 @@ repositories {
 }
 
 git {
-  implementation("git@code.usgs.gov:ghsc/nshmp/nshmp-lib.git", {
+  implementation("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", {
     name "nshmp-haz-dep--nshmp-lib"
     tag "v0.0.5"
   })
diff --git a/settings.gradle b/settings.gradle
index 8c6e33c8ee68dc8276ffc64927078311ce08646e..2fa9c2eeb0566d599ac1c4c37dffcc70687ced22 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -3,3 +3,7 @@ plugins {
 }
 
 rootProject.name = "nshmp-haz-v2"
+
+git {
+  defaultAuthGroup "nshmp"
+}
diff --git a/ws.Dockerfile b/ws.Dockerfile
index d3089971c3917ea900e8e96a2fc7a737a9746fd8..e886ffafd1f40a80d68b0e3fe5d65f1d134e6a1e 100644
--- a/ws.Dockerfile
+++ b/ws.Dockerfile
@@ -2,7 +2,12 @@
 # Run hazard web services.
 #
 # Build locally:
-#   docker build --build-arg ssh_private_key="$(cat ~/.ssh/id_rsa)" -t nshmp-haz-ws .
+#   docker build
+#       -f ws.Dockerfile
+#       --build-arg git_username=<user@name.com>
+#       --build-arg git_password=<git-api-token>
+#       -t nshmp-haz-ws .
+
 ####
 
 ARG project=nshmp-haz-v2
@@ -16,25 +21,21 @@ ARG ws_file=${libs_dir}/${project}-ws.jar
 FROM usgs/centos:8 as builder
 
 ARG builder_workdir
+ARG git_username
+ARG git_password
 ARG libs_dir
-ARG ssh_private_key
 ARG ws_file
 
 ENV LANG="en_US.UTF-8"
 
 WORKDIR ${builder_workdir}
+ENV GIT_NSHMP_USERNAME ${git_username}
+ENV GIT_NSHMP_PASSWORD ${git_password}
 
 COPY . .
-
+RUN env
 RUN yum install -y java-11-openjdk-devel which git \
-    && eval $(ssh-agent -s) \
-    && mkdir -p ~/.ssh \
-    && chmod 700 ~/.ssh \
-    && echo "${ssh_private_key}" >> ~/.ssh/id_rsa \
-    && chmod 0600 ~/.ssh/id_rsa \
-    && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
-
-RUN ./gradlew --no-daemon assemble \
+    && ./gradlew --no-daemon assemble \
     && mv ${libs_dir}/*-all.jar ${ws_file}
 
 ####