dockerpolicyapiman

Apiman: I can not set policy configuration with admin-cli


I am trying to set an Apiman server with Docker by using declarative configuration. After starting apiman docker Docker File

FROM apiman/cli:latest as CLI

FROM apiman/on-wildfly
....

I apply the configuration and it works except the policy configuration. java -jar /opt/apiman-cli/lib/apiman-cli.jar manager apply -f /opt/jboss/wildfly/common-api-config.yml --debug

I don't any error in the logs. I can see the installed policy in the apiman console but configuration is not applied however i can see my configuration is keeped in parameters.

enter image description here

Here is the configuration that i can see when i do F12 on the browser.

enter image description here

My declarative file : common-api-config.yml


---
system:
    gateways:
        - name: "gateway"
          description: "Default Gateway"
          type: "REST"
          config:
              endpoint: "http://localhost:8080/apiman-gateway-api"
              username: "apimanager"
              password: "apiman123!"
    plugins:
        - name: "cors-policy"
          groupId: io.apiman.plugins
          artifactId: apiman-plugins-cors-policy
          version: 2.2.3.Final
        - name: "keycloak-oauth-policy"
          groupId: io.apiman.plugins
          artifactId: apiman-plugins-keycloak-oauth-policy
          version: 2.2.3.Final

org:
    name: "org"
    description: "orgproject"
    apis:
        - name: "workflow"
          description: "Service api"
          version: "1.0"
          published: true
          config:
              endpoint: "https://........./"
              endpointType: "rest"
              public: true
              gateway: "gateway"
          policies:
              - name: "cors-policy"
                config:
                    allowOrigin: ["*"]
                    errorOnCorsFailure: true
                    allowCredentials: false
                    exposeHeaders: []
                    allowHeaders: ["Authorization"]
                    allowMethods: ["POST", "GET", "DELETE", "PUT"]
                    maxAge: 0
              - name: "keycloak-oauth-policy"
                config:
                    requireOauth: true
                    requireTransportSecurity: false
                    blacklistUnsafeTokens: false
                    stripTokens: false
                    realm: "https://localhost:8443/auth/realms/apiman"
                    forwardRoles:
                        active: false
                    delegateKerberosTicket: false
                    forwardAuthInfo: []


Solution

  • Finally it worked. I used the last release of apiman/wildfly. apiman/on-wildfly:2.2.3.Final or the latest release apiman/on-wildfly:latest-release