Uploaded image for project: 'apiman (API Management)'
  1. apiman (API Management)
  2. APIMAN-904

Property replacements in policies not working for ENV vars (docker)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 1.2.1.Final, 1.2.x
    • None
    • None
    • None

      System properties work, but when setting an environment variable, it does not get resolved. From the mailing list:


      I tried to take the property placeholder functionality for a test drive, which should be available as of v1.2.0.Final. See JIRA: https://issues.jboss.org/browse/APIMAN-831

      But for some reason I do not get it to work. Did I configure something wrong or am I running into a bug?

      I use the property placeholder in the keycloak plugin which is preconfigured in a Docker image.
      I defined the realm property of the Keycloak plugin as ${external_url}/auth/realms/apiman

      I started my Docker image with the -e external_url=https://192.168.99.100:8443 parameter to set the environment variable within the Docker container.

      When I try to access the API I get a failure in Keycloak Plugin saying:

      {
      "type": "Authentication",
      "failureCode": 11004,
      "responseCode": 401,
      "message": "Token audience doesn't match domain. Token issuer is https://192.168.99.100:8443/auth/realms/apiman, but URL from configuration is ${external_url}/auth/realms/apiman",
      "headers": {}
      }

      It looks like the property placeholder did not get resolved correctly.

      When I have a look in the Docker image using docker exec -ti <name> /binbash and do a list of the environment variables. The environment variable is correctly defined:

      MacBook-Pro-van-Ton:~ ton$ docker exec -ti tiny_wilson /bin/bash
      [jboss@43c099aae441 ~]$ export
      declare -x APIMAN_VERSION="1.2.0.Final"
      ....
      declare -x external_url="https://192.168.99.100:8443"
      

      I also tried setting the property to ${external_url} without the '/auth/realms/apiman' suffix. I figured that it might perhaps will do a full String comparison, but that did not work either.

              ewittman@redhat.com Eric Wittmann
              ewittman@redhat.com Eric Wittmann
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: