Allow storing REST servers password and userName in environment variables 37/101837/2
authorDominik Mizyn <d.mizyn@samsung.com>
Mon, 17 Feb 2020 14:23:43 +0000 (15:23 +0100)
committerDominik Mizyn <d.mizyn@samsung.com>
Mon, 17 Feb 2020 14:49:13 +0000 (15:49 +0100)
This patch allows to store and get REST servers password and userName from
environment variables. This is needed if we want to send those
variables by helm secrets.

Issue-ID: OOM-2287
Change-Id: I4d6a8bf188a0d17e5444137d871dd341627ec397
Signed-off-by: Dominik Mizyn <d.mizyn@samsung.com>
policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/RestServer.java

index 43e39d3..7274735 100644 (file)
@@ -91,9 +91,9 @@ public class RestServer extends ServiceManagerContainer {
         props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_MANAGED_SUFFIX, "false");
         props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_SWAGGER_SUFFIX, "true");
         props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX,
-                        restServerParameters.getUserName());
+            getValue(restServerParameters.getUserName()));
         props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX,
-                        restServerParameters.getPassword());
+            getValue(restServerParameters.getPassword()));
         props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_HTTPS_SUFFIX,
                         String.valueOf(restServerParameters.isHttps()));
         props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_AAF_SUFFIX,
@@ -124,6 +124,13 @@ public class RestServer extends ServiceManagerContainer {
         return names.toString();
     }
 
+    private String getValue(final String value) {
+        if (value != null && value.matches("[$][{].*[}]$")) {
+            return System.getenv(value.substring(2, value.length() - 1));
+        }
+        return value;
+    }
+
     @Override
     public String toString() {
         return "RestServer [servers=" + servers + "]";