Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Elamrani Azize
    @aelamrani
    just had a try and works for me
    Cristopher Ortega
    @crisog
    Is there a solution to integrate payments on the APIM?
    anutech2001
    @anutech2001
    I looking for guideline documents about how to enable multiple Gravitee API gateway and about how to load balance to all that gateways. Any comments and suggestions will be appreciated.
    Ioannis Ntantis
    @giannisapi
    Hi all, I want to use gravitee-policy-callout-http conditionally. Meaning only of the request body contains a specific value for the json field "action". To be more specific calla rest end point if the json field action has a value of "wiithdraw". Could you tell me if this is possible in gravitee right now?
    Mihail Yonchev
    @insertmike
    Hello!
    I am browsing through the console logs and I see severe exceptions
    Oct 20, 2020 11:29:47 AM io.vertx.core.impl.ContextImpl
    SEVERE: Unhandled exception
    java.lang.IllegalStateException: Unsupported HTTP version: RTSP/1.0
            at io.vertx.core.http.impl.HttpServerRequestImpl.version(HttpServerRequestImpl.java:199)
            at io.gravitee.gateway.standalone.vertx.VertxReactorHandler.handle(VertxReactorHandler.java:49)
            at io.gravitee.gateway.standalone.vertx.VertxReactorHandler.handle(VertxReactorHandler.java:35)
            at io.vertx.core.http.impl.WebSocketRequestHandler.handle(WebSocketRequestHandler.java:50)
            at io.vertx.core.http.impl.WebSocketRequestHandler.handle(WebSocketRequestHandler.java:32)
            at io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:136)
            at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:369)
            at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43)
            at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:232)
            at io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:173)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
            at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
            at io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:101)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
            at io.vertx.core.http.impl.Http1xUpgradeToH2CHandler.channelRead(Http1xUpgradeToH2CHandler.java:109)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
            at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
            at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
            at io.vertx.core.http.impl.Http1xOrH2CHandler.end(Http1xOrH2CHandler.java:61)
            at io.vertx.core.http.impl.Http1xOrH2CHandler.channelRead(Http1xOrH2CHandler.java:38)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
            at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
            at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
            at io.netty.channel.
    Does that gives you information
    Brassely David
    @brasseld
    Hi @giannisapi unfortunately it is not possible for now. But we are looking to provide a new version of our Design Studio for g.io 3.4 / 3.5 which will provide the ability to define conditional policies
    Ioannis Ntantis
    @giannisapi
    @brasseld thank you very much for your quire response. I will wait until then or create my own plugin. Thanks again for your ime
    Brassely David
    @brasseld
    @insertmike interesting. you are doing RTSP?
    @giannisapi :+1:
    Mihail Yonchev
    @insertmike
    Actually, I am not. I have opened the Gravitee APIM port and I am querying it from my machine
    but maybe more interesting one
    This is a very long one so I am cutting it
    13:14:04.311 [gravitee-listener-33] ERROR i.g.r.a.service.impl.ApiServiceImpl - An error occurs while removing tag from API: 575da656-3e77-43d5-9da6-563e7773d581
    io.gravitee.rest.api.service.exceptions.TagNotAllowedException: You are not allowed to use deployment on the tag(s) [testing].
            at io.gravitee.rest.api.service.impl.ApiServiceImpl.checkShardingTags(ApiServiceImpl.java:1101)
            at io.gravitee.rest.api.service.impl.ApiServiceImpl.update(ApiServiceImpl.java:986)
            at io.gravitee.rest.api.service.impl.ApiServiceImpl.removeTag(ApiServiceImpl.java:2169)
            at io.gravitee.rest.api.service.impl.ApiServiceImpl.lambda$deleteTagFromAPIs$37(ApiServiceImpl.java:1907)
            at java.base/java.lang.Iterable.forEach(Iterable.java:75)
            at io.gravitee.rest.api.service.impl.ApiServiceImpl.deleteTagFromAPIs(ApiServiceImpl.java:1905)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:564)
            at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
            at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
            at com.sun.proxy.$Proxy50.deleteTagFromAPIs(Unknown Source)
            at io.gravitee.rest.api.service.impl.TagServiceImpl.delete(TagServiceImpl.java:171)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:564)
            at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
            at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
            at com.sun.proxy.$Proxy61.delete(Unknown Source)
            at io.gravitee.rest.api.management.rest.resource.TagsResource.delete(TagsResource.java:122)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:564)
            at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceM
    What does You are not allowed to use deployment on the tag(s) [testing] ? This is a tag I have created
    And I am deploying it because I want to test that it works before I put in prod
    Brassely David
    @brasseld
    It means that you've certainly setup restrictions for sharding tags and you seem to be not allowed to some of them
    Mihail Yonchev
    @insertmike
    Do you know where this restrictions are set up?
    And why does this result in such error?
    Brassely David
    @brasseld
    if you go to settings > sharding tags > testing
    you probably have restricted groups
    Mihail Yonchev
    @insertmike

    Hello!

    13:53:37.675 [vert.x-eventloop-thread-3] [] WARN  i.g.g.r.p.notfound.NotFoundProcessor - No handler can be found for request /activation, returning NOT_FOUND (404)
    Oct 20, 2020 1:53:37 PM io.vertx.core.impl.BlockedThreadChecker
    WARNING: Thread Thread[vert.x-eventloop-thread-3,5,main]=Thread[vert.x-eventloop-thread-3,5,main] has been blocked for 52518 ms, time limit is 2000 ms
    io.vertx.core.VertxException: Thread blocked
            at java.base@14/sun.nio.ch.SocketDispatcher.writev0(Native Method)
            at java.base@14/sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:58)
            at java.base@14/sun.nio.ch.IOUtil.write(IOUtil.java:182)
            at java.base@14/sun.nio.ch.IOUtil.write(IOUtil.java:130)
            at java.base@14/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:514)
            at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:423)
            at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:930)
            at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
            at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:897)
            at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
            at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750)
            at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.ja

    Any idea where this can come from? This is after consecutively publishing and deploying /activation

    Brassely David
    @brasseld
    Are you able to generate a threadudmp ?
    tommyvlaming
    @tommyvlaming
    hi
    we have setup apim3 in kubernetes, it works but when I see the "gateway tab" is see 3 gateway pods are started (as expected) but I also see a lot of gateway pods with status "unknown" and it seems to grow daily
    Brassely David
    @brasseld
    unknown gateway are removed after 7 days by default as far as I remember
    tommyvlaming
    @tommyvlaming
    alright thanks
    Youri De Bondt
    @ydbondt
    Hey guys, I am trying to install the gateway using the helm chart, and for some reason I can't setup the mongodb. It appears always to be using localhost instead of the ip I configured: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='1000 ms', maxWaitQueueSize=500, description='gravitee.io'}
    Brassely David
    @brasseld
    Hey @ydbondt, how are you configuring mongodb access for apim ?
    Youri De Bondt
    @ydbondt
    By setting this in the values file:
    mongo:
      uri: mongodb://mongodb.udc-dev.svc.cluster.local:27017/gravitee?connectTimeoutMS=30000
      dbname: gravitee
      auth:
        enabled: false
        username:
        password:
    Also tried to use the servers: section.
    Brassely David
    @brasseld
    which version of the chart ?
    Youri De Bondt
    @ydbondt
    apim3-3.0.11
    Brassely David
    @brasseld
    ok, which version of helm ?
    Youri De Bondt
    @ydbondt
    2 :)
    Brassely David
    @brasseld
    no issue at all, still running 2 also ...
    Victor
    @darthslider_gitlab

    Are there any best practices for tuning JVM for gravitee gateways in k8s?
    Like adding env:

             - name: JAVA_OPTS
              value: "-XX:+UseContainerSupport -XX:MaxRAMPercentage=70.0 -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512m"

    ?

    Youri De Bondt
    @ydbondt
    @brasseld I did disable everything besides gateway. Is that a problem ?
    Youri De Bondt
    @ydbondt
    I don't understand why it is telling me that he is connecting to localhost:27017
    Youri De Bondt
    @ydbondt
    Hmm reinstalled from scratch with only mongo in values yaml seems to work
    Gregory Marfjan
    @gmarfjan
    image.png
    Hi ! I use APIM 3.0.8 and I try to use response template. When I define a response template for API_KEY_INVALID, it works as expected but it didn't for API_KEY_MISSING (same configuration except the key). I received the default message. What Did I do wrong ?
    Elamrani Azize
    @aelamrani
    hey, it does not work probably because the gateway is not able to select the correct plan to apply
    Gregory Marfjan
    @gmarfjan
    All plans are with authentication by api-key. So, in which case can I use response template with API_KEY_MISSING ?
    Elamrani Azize
    @aelamrani
    in policies
    Youri De Bondt
    @ydbondt
    Is it still possible to install gateway etc without having to use elasticsearch ?
    Brassely David
    @brasseld
    @ydbondt yep, you have 2 solutions : remove the ES plugin, or disable it (using env_var)
    Youri De Bondt
    @ydbondt
    Created a PR to fix enable/disable via helm chart
    Youri De Bondt
    @ydbondt
    What is the env var for disabling it in the mgmt api ?