Skip to content

Commit 03bc812

Browse files
committed
add databricks cert to custom truststore
1 parent e062e8c commit 03bc812

1 file changed

Lines changed: 26 additions & 18 deletions

File tree

.github/workflows/sslTesting.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,24 @@ jobs:
3939
java-version: "21"
4040
distribution: "adopt"
4141

42+
- name: Set Environment Variables
43+
env:
44+
DATABRICKS_TOKEN: ${{ secrets.DATABRICKS_TOKEN }}
45+
DATABRICKS_HOST: ${{ secrets.DATABRICKS_HOST }}
46+
DATABRICKS_HTTP_PATH: ${{ secrets.DATABRICKS_HTTP_PATH }}
47+
HTTP_PROXY_URL: "http://localhost:3128"
48+
HTTPS_PROXY_URL: "https://localhost:3129"
49+
TRUSTSTORE_PATH: "/tmp/ssl-certs/test-truststore.jks"
50+
TRUSTSTORE_PASSWORD: "changeit"
51+
run: |
52+
echo "DATABRICKS_TOKEN=${DATABRICKS_TOKEN}" >> $GITHUB_ENV
53+
echo "DATABRICKS_HOST=${DATABRICKS_HOST}" >> $GITHUB_ENV
54+
echo "DATABRICKS_HTTP_PATH=${DATABRICKS_HTTP_PATH}" >> $GITHUB_ENV
55+
echo "HTTP_PROXY_URL=${HTTP_PROXY_URL}" >> $GITHUB_ENV
56+
echo "HTTPS_PROXY_URL=${HTTPS_PROXY_URL}" >> $GITHUB_ENV
57+
echo "TRUSTSTORE_PATH=${TRUSTSTORE_PATH}" >> $GITHUB_ENV
58+
echo "TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD}" >> $GITHUB_ENV
59+
4260
- name: Install Squid and SSL Tools
4361
run: |
4462
sudo apt-get update
@@ -104,6 +122,10 @@ jobs:
104122
sudo cp squid.pem /etc/squid/
105123
sudo chown proxy:proxy /etc/squid/squid.pem
106124
125+
# Extract the Databricks workspace certificate
126+
echo -n | openssl s_client -connect ${DATABRICKS_HOST}:443 -showcerts 2>/dev/null | \
127+
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > databricks_workspace.crt
128+
107129
# Create Java Keystore from Root CA - with proper trust anchors
108130
rm -f test-truststore.jks
109131
@@ -115,6 +137,10 @@ jobs:
115137
keytool -importcert -noprompt -trustcacerts -alias intermediateca -file intermediateCA.crt \
116138
-keystore test-truststore.jks -storepass changeit
117139
140+
# Add the Databricks workspace certificate to the trust store
141+
keytool -importcert -noprompt -trustcacerts -alias databricksworkspace -file databricks_workspace.crt \
142+
-keystore test-truststore.jks -storepass changeit
143+
118144
chmod 644 test-truststore.jks
119145
120146
- name: Configure Squid with Standard SSL
@@ -189,24 +215,6 @@ jobs:
189215
run: |
190216
mvn clean package -DskipTests
191217
192-
- name: Set Environment Variables
193-
env:
194-
DATABRICKS_TOKEN: ${{ secrets.DATABRICKS_TOKEN }}
195-
DATABRICKS_HOST: ${{ secrets.DATABRICKS_HOST }}
196-
DATABRICKS_HTTP_PATH: ${{ secrets.DATABRICKS_HTTP_PATH }}
197-
HTTP_PROXY_URL: "http://localhost:3128"
198-
HTTPS_PROXY_URL: "https://localhost:3129"
199-
TRUSTSTORE_PATH: "/tmp/ssl-certs/test-truststore.jks"
200-
TRUSTSTORE_PASSWORD: "changeit"
201-
run: |
202-
echo "DATABRICKS_TOKEN=${DATABRICKS_TOKEN}" >> $GITHUB_ENV
203-
echo "DATABRICKS_HOST=${DATABRICKS_HOST}" >> $GITHUB_ENV
204-
echo "DATABRICKS_HTTP_PATH=${DATABRICKS_HTTP_PATH}" >> $GITHUB_ENV
205-
echo "HTTP_PROXY_URL=${HTTP_PROXY_URL}" >> $GITHUB_ENV
206-
echo "HTTPS_PROXY_URL=${HTTPS_PROXY_URL}" >> $GITHUB_ENV
207-
echo "TRUSTSTORE_PATH=${TRUSTSTORE_PATH}" >> $GITHUB_ENV
208-
echo "TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD}" >> $GITHUB_ENV
209-
210218
- name: Run SSL Tests
211219
run: |
212220
mvn test -Dtest=**/SSLTest.java

0 commit comments

Comments
 (0)