What API Gateway should be used? (APIMan? or something else)

234 views
Skip to first unread message

Mike

unread,
Sep 30, 2016, 4:47:05 PM9/30/16
to fabric8
I noticed that is no longer one of the registered services within the console.

Thoughts?

Kurt T Stam

unread,
Sep 30, 2016, 4:49:40 PM9/30/16
to fab...@googlegroups.com
Hi Mike,

You are invited to look at 3scale. RH recently acquired them and this will be the api-management solution going forward.

http://www.apiman.io/blog/apiman/3scale/2016/06/22/redhat-3scale-apiman.html

--Kurt


On 9/30/16 4:47 PM, Mike wrote:
I noticed that is no longer one of the registered services within the console.

Thoughts?
--
You received this message because you are subscribed to the Google Groups "fabric8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fabric8+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Mike

unread,
Sep 30, 2016, 5:20:44 PM9/30/16
to fabric8
What about specific fabric8 support? (it looks like it was removed)

Kurt T Stam

unread,
Sep 30, 2016, 5:25:34 PM9/30/16
to fab...@googlegroups.com
On the project side it is still apiman, though it's not officially supported anymore. It will take some time before 3scale can be deployed to openshift.

Seahope

unread,
Oct 1, 2016, 4:59:36 AM10/1/16
to fabric8
Kurt,

I just watched your utube video demoing ApiMan on fabric8. I've also read the APIMan positioning blogs with respect to 3Scale. My view is that fabric8 is a project as is APIMan so I don't see why the Helm chart for APIMan was pulled from fabric8. APIMan offers capabilities that 3Scale is currently unable to and has already been integrated onto fabric8. Please can we have it back?

Regards

Steve

Kurt T Stam

unread,
Oct 1, 2016, 10:47:30 AM10/1/16
to fab...@googlegroups.com

True, though we will need help from the community to keep ApiMan going. That said, I will take a quick look early next week to see why it's been taken out.

--Kurt

Kurt T Stam

unread,
Oct 5, 2016, 11:08:42 AM10/5/16
to fab...@googlegroups.com
It looks like the apiman build was commented out when upgrading to the new fabric8-maven-plugin and FIX ME was put in: https://github.com/fabric8io/fabric8-ipaas/blob/db7e5b47342b3c08824dc3d4e0ebd33df4082a2c/pom.xml#L151-L156

@jstachan hey James, what needs to be fixed?

I'm guess the SSL profiles can be taken out now we're not productizing Apiman. Or is anyone planning on using SSL on apiman, gateway and elastic?

--Kurt

Kurt T Stam

unread,
Oct 16, 2016, 10:15:00 PM10/16/16
to fab...@googlegroups.com
Hi Steve, Mike

https://github.com/fabric8io/fabric8-ipaas/pull/461

It should be back next time ipaas gets released.

Cheers,


--Kurt

On 10/1/16 4:59 AM, Seahope wrote:

Mike

unread,
Oct 17, 2016, 8:37:11 PM10/17/16
to fabric8

Thanks Kurt! You rock!

ilter P

unread,
Oct 20, 2016, 7:44:25 PM10/20/16
to fabric8
Hi Kurt,

Thanks for the update

I  am trying it in the AWS and cannot deploy APiman
Here is the error in the Pod:

apiman-gateway-2582258594-0zthr            0/1       ImagePullBackOff   0          3m

And the logs


      35s           35s             1       {default-scheduler }                                                                    Normal          Scheduled       Successfully assigned apiman-gateway-2582258594-0zthr to ip.us-west-2.compute.internal
  34s           14s             2       {kubelet ip.us-west-2.compute.internal}     spec.containers{apiman-gateway} Normal          Pulling         pulling image "fabric8/apiman-gateway:2.2.156"
  28s           12s             2       {kubelet ip.us-west-2.compute.internal}     spec.containers{apiman-gateway} Warning         Failed          Failed to pull image "fabric8/apiman-gateway:2.2.156": Tag 2.2.156 not found in repository docker.io/fabric8/apiman-gateway
  28s           12s             2       {kubelet ip.us-west-2.compute.internal}                                     Warning         FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "apiman-gateway" with ErrImagePull: "Tag 2.2.156 not found in repository docker.io/fabric8/apiman-gateway"

  27s   1s      2       {kubelet ip.us-west-2.compute.internal}     spec.containers{apiman-gateway} Normal  BackOff         Back-off pulling image "fabric8/apiman-gateway:2.2.156"
  27s   1s      2       {kubelet ip.us-west-2.compute.internal}                                     Warning FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "apiman-gateway" with ImagePullBackOff: "Back-off pulling image \"fabric8/apiman-gateway:2.2.156\""


What do you think is the problem ?

Thanks

Kurt T Stam

unread,
Oct 21, 2016, 9:15:14 AM10/21/16
to fab...@googlegroups.com
Hi Ilter,

Sorry, I'm building the images but the release pipeline is not promoting
them

https://github.com/fabric8io/fabric8-ipaas/blob/master/release.groovy#L4

I forgot to put that part back. Will take care of that now and try to do
another release.

Cheers,

--Kurt

ilter P

unread,
Oct 21, 2016, 10:42:01 AM10/21/16
to fabric8
Thanks for the update kurt
Do we have to update gofabric8 and deploy it again or your release will be putting images into dockerhub ?

Regards

Kurt T Stam

unread,
Oct 21, 2016, 12:22:52 PM10/21/16
to fab...@googlegroups.com
The build just finished and a 2.2.157 tag is available for apiman and the gateway.
https://hub.docker.com/r/fabric8/apiman/tags/
https://hub.docker.com/r/fabric8/apiman-gateway/tags/

When you re-run gofabric8 it should find them and pull them down.

Cheers,
--Kurt

Seahope

unread,
Oct 22, 2016, 6:46:33 PM10/22/16
to fabric8
Kurt,

Thanks. I have the two APIman components running, but I can't work out how to run the APIman console? I am running on minikube.

What URL should I use?

Regards

Steve

Kurt T Stam

unread,
Oct 23, 2016, 10:31:48 AM10/23/16
to fab...@googlegroups.com
Hi Steve,

The console run in the apiman image. It should on on http(s)://apiman.<kubernetes-domain>/, if ha-proxy is running, which it may not be on minishift.

It maybe a nice enhancement to add an ingress for this so minishift can expose the service port. Fancy creating a PR for that :)?

--Kurt

Seahope

unread,
Oct 23, 2016, 5:53:17 PM10/23/16
to fabric8
Kurt,

I have tried to work this out without success :-(

Regards

Steve

ilter P

unread,
Nov 2, 2016, 12:02:04 PM11/2/16
to fabric8
Hi Kurt,

I also could not access the GUI either from my local minishift setup.
I see that you dont use NodePort but ClusterIP and i tried to change it since when i do minishift service apiman --url  : then it gives error about the ClusterIp
So i changed the service definition as:

kind: Service
apiVersion: v1
metadata:
  name: apiman
  namespace: default
  selfLink: /api/v1/namespaces/default/services/apiman
  uid: d0152c24-a114-11e6-a504-462b1af2dca7
  resourceVersion: '1994'
  creationTimestamp: '2016-11-02T15:55:44Z'
  labels:
    component: ApimanManagerAPI
    expose: 'true'
    group: io.fabric8.ipaas.apps
    project: apiman
    provider: fabric8
    version: 2.2.158
  annotations:
    fabric8.io/app-menu: development
    fabric8.io/git-branch: release-v2.2.158
    fabric8.io/git-commit: be4f1e9a4e1d65623d064cab629dae5d03d56884
spec:
  ports:
    - name: default
      protocol: TCP
      port: 7070
      targetPort: 7070
      nodePort: 30247
  selector:
    component: ApimanManagerAPI
    expose: 'true'
    group: io.fabric8.ipaas.apps
    project: apiman
    provider: fabric8
  portalIP: 172.30.76.75
  clusterIP: 172.30.76.75
  type: NodePort
  sessionAffinity: None
status:
  loadBalancer: {}


Now command works and give me a local ip:

minishift service apiman --url

However it is still not accesible from the Browser :( 
Do you have any suggestion what should we do ? 

Thanks

Kurt Stam

unread,
Nov 2, 2016, 1:37:23 PM11/2/16
to ilter P, fabric8
Yes I actually checked in that change too last week. I discovered the SSO between the fabric8 console and the apiman console is now not working :(. I'm trying to have it redirect to the openshift login page.

Kurt T Stam

unread,
Nov 4, 2016, 2:36:40 PM11/4/16
to ilter P, fab...@googlegroups.com
Hi Ilter,

It's already fully functional when running on plain openshift. When running on minishift the issue is that you're not running haproxy (the router). This breaks the linking in the fabric8 console to the apiman console. I just checked in a change that will bring up a login screen when you navigate to

/apiman/apimanui/

and you have no bearertoken set. On this screen you can paste your authToken that you can obtain using 'oc whoami -t'. A new ipaas release is running now.

Hope this works for you,

Cheers,

--Kurt

p.s. A better fix would be to redirect to the openshift login page, but we just took out support in the apimanui console to send the authToken on the queryString, as it is a security risk. So I don't really want to bring that back. Plus things already work when running on plain openshift.


On 11/2/16 1:40 PM, ilter P wrote:
Ok thanks for the reply Kurt, i am looking forward the fixed version..
Hopefully i can use Apiman finally :)

Regards,
Ilter

To unsubscribe from this group and stop receiving emails from it, send an email to fabric8+unsubscribe@googlegroups.com.

ilter P

unread,
Nov 7, 2016, 12:24:01 PM11/7/16
to fabric8, ilterp...@gmail.com
Hi Kurt,

Thanks for the update but I have some questions:

  1. I dont see any updated release in the gofabric8, where should we get your latest changes ?
  2. What is the base-path of the url you mentioned below ? {PATH}/apiman/apimanui -- Is this be gathered from "minishift service apiman --url"..I dont know how we fetch the service IP since apiman service is defined as ClusterIp, thus this service should not be exposed externally!
  3. I see your recommendation for Openshift, does it work same in Kubernetes too ?
  4. Can we connect it to an external Oauth2 server ?

Regards,
Ilter

Kurt T Stam

unread,
Nov 7, 2016, 2:34:25 PM11/7/16
to fab...@googlegroups.com
Hi Ilter, comments inline


On 11/7/16 12:24 PM, ilter P wrote:
Hi Kurt,

Thanks for the update but I have some questions:

  1. I dont see any updated release in the gofabric8, where should we get your latest changes ?
gofabric8 check maven central for the latest version and then it downloads the corresponding docker images. So as soon as ipaas is released gofabric8 should pick it up. You may want to compare the version numbers before and after.

  1. What is the base-path of the url you mentioned below ? {PATH}/apiman/apimanui -- Is this be gathered from "minishift service apiman --url"..I dont know how we fetch the service IP since apiman service is defined as ClusterIp, thus this service should not be exposed externally!
Yes the basepath where the service is bound, and yes this can be obtain through minishift service apiman --url. In the latest release the apiman service is defined as LoadBalancer, but it can be NodePort too.

  1. I see your recommendation for Openshift, does it work same in Kubernetes too ?
Well as long as you run ha-proxy on Kubernetes. You prefer running on plain Kubernetes?

  1. Can we connect it to an external Oauth2 server ?
apiman is hooked into Openshift for authentication, so if you hook OpenShift up to an external Oauth2 server.

Seahope

unread,
Nov 12, 2016, 12:49:07 PM11/12/16
to fabric8
Hi Kurt,

Just tried again with a clean install using minikube (minishift doesn't seem to wasn't to work on my mac).

I can now run the ApiMan console but get this message:

{"id":"apiman-manager-api","name":"API Manager REST API","description":"The API Manager REST API is used by the API Manager UI to get stuff done.  You can use it to automate any apiman task you wish.  For example, create new Organizations, Plans, Clients, and APIs.","moreInfo":"http://www.apiman.io/latest/api-manager-restdocs.html","version":"1.2.7.Beta1","builtOn":"${timestamp}","up":true}

I guess OAuth woes?

Regards

Steve

Kurt T Stam

unread,
Nov 14, 2016, 9:38:13 AM11/14/16
to fab...@googlegroups.com
Hi Steve, can you try.

/apiman/apimanui/

The output below is from the REST api.

--Kurt

ilter P

unread,
Nov 14, 2016, 4:10:50 PM11/14/16
to fabric8
Hi Steve,

I could manage to make it work in Minishift by going to this url http://{apiman.service.url}:{apiman.service.port}/apimanui/ and with additional Header as:

Authorization= Bearer <Token_From_Minishift>   ('oc whoami -t)


Ilter
Reply all
Reply to author
Forward
0 new messages