From 90a3e007a71c2abf386d56b2246448cc7b7bad94 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 10 Sep 2025 20:29:20 +0000
Subject: [PATCH 1/3] Initial plan
From e182922f9ac89fdbfd94bb6327b431625c6e25d8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 10 Sep 2025 20:40:39 +0000
Subject: [PATCH 2/3] Fix Azure Managed Identity configuration and environment
variable resolution
Co-authored-by: richposada <454664+richposada@users.noreply.github.com>
---
mi-sql-public-demo/dependency-reduced-pom.xml | 56 +++++++++++++++++++
.../src/main/java/com/example/MainSQL.java | 28 ++++++++++
.../src/main/resources/application.properties | 2 +-
3 files changed, 85 insertions(+), 1 deletion(-)
create mode 100644 mi-sql-public-demo/dependency-reduced-pom.xml
diff --git a/mi-sql-public-demo/dependency-reduced-pom.xml b/mi-sql-public-demo/dependency-reduced-pom.xml
new file mode 100644
index 0000000..9a8898f
--- /dev/null
+++ b/mi-sql-public-demo/dependency-reduced-pom.xml
@@ -0,0 +1,56 @@
+
+
+ 4.0.0
+ com.example
+ demo
+ 1.0-SNAPSHOT
+
+
+
+ maven-shade-plugin
+ 3.2.4
+
+
+ package
+
+ shade
+
+
+
+
+ com.example.MainSQL
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+
+
+ com.azure.spring
+ spring-cloud-azure-dependencies
+ 5.22.0
+ pom
+ import
+
+
+
+
+ 17
+ 17
+ 17
+
+
diff --git a/mi-sql-public-demo/src/main/java/com/example/MainSQL.java b/mi-sql-public-demo/src/main/java/com/example/MainSQL.java
index 5a8f9a5..45f7af6 100644
--- a/mi-sql-public-demo/src/main/java/com/example/MainSQL.java
+++ b/mi-sql-public-demo/src/main/java/com/example/MainSQL.java
@@ -30,6 +30,10 @@ public static void main(String[] args) {
String connString = properties.getProperty("AZURE_SQLDB_CONNECTIONSTRING");
String clientId = properties.getProperty("AZURE_CLIENT_ID");
+ // Resolve environment variables in the connection string
+ connString = resolveEnvironmentVariables(connString);
+ clientId = resolveEnvironmentVariables(clientId);
+
connString = connString + ";msiClientId=" + clientId + ";authentication=ActiveDirectoryMSI";
System.out.print(connString);
@@ -42,5 +46,29 @@ public static void main(String[] args) {
}
}
+ /**
+ * Resolves environment variables in the format ${VAR_NAME} with their actual values
+ */
+ private static String resolveEnvironmentVariables(String input) {
+ if (input == null) {
+ return null;
+ }
+
+ String result = input;
+ // Find all environment variable references like ${VAR_NAME}
+ java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("\\$\\{([^}]+)\\}");
+ java.util.regex.Matcher matcher = pattern.matcher(result);
+
+ while (matcher.find()) {
+ String varName = matcher.group(1);
+ String envValue = System.getenv(varName);
+ if (envValue != null) {
+ result = result.replace("${" + varName + "}", envValue);
+ }
+ }
+
+ return result;
+ }
+
}
\ No newline at end of file
diff --git a/mi-sql-public-demo/src/main/resources/application.properties b/mi-sql-public-demo/src/main/resources/application.properties
index ed7d015..d4813cc 100644
--- a/mi-sql-public-demo/src/main/resources/application.properties
+++ b/mi-sql-public-demo/src/main/resources/application.properties
@@ -1,5 +1,5 @@
AZURE_SQLDB_CONNECTIONSTRING=jdbc:sqlserver://${AZ_DATABASE_SERVER_NAME}.database.windows.net:1433;database=demo;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
-AZURE_CLIENT_ID=
+AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
# Enable Azure managed identity for Spring Cloud Azure
spring.cloud.azure.credential.managed-identity-enabled=true
From 6c70f9ccddd778ef300c138350dbf1fe63af7eb7 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 10 Sep 2025 20:43:50 +0000
Subject: [PATCH 3/3] Clean up build artifacts from version control
Co-authored-by: richposada <454664+richposada@users.noreply.github.com>
---
.gitignore | 3 +
mi-sql-public-demo/dependency-reduced-pom.xml | 56 -------------------
2 files changed, 3 insertions(+), 56 deletions(-)
delete mode 100644 mi-sql-public-demo/dependency-reduced-pom.xml
diff --git a/.gitignore b/.gitignore
index cd4f7a7..7cedd0c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,6 @@ build/
.vscode/
/logs/
+
+# Maven shade plugin artifacts
+dependency-reduced-pom.xml
diff --git a/mi-sql-public-demo/dependency-reduced-pom.xml b/mi-sql-public-demo/dependency-reduced-pom.xml
deleted file mode 100644
index 9a8898f..0000000
--- a/mi-sql-public-demo/dependency-reduced-pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
- 4.0.0
- com.example
- demo
- 1.0-SNAPSHOT
-
-
-
- maven-shade-plugin
- 3.2.4
-
-
- package
-
- shade
-
-
-
-
- com.example.MainSQL
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
-
-
-
-
-
-
- com.azure.spring
- spring-cloud-azure-dependencies
- 5.22.0
- pom
- import
-
-
-
-
- 17
- 17
- 17
-
-