Introduction
Not too long ago Claus Ibsen demo’ed the camel-swagger module. The camel-swagger module allows you to describe your Camel REST service using Swagger DSL. In this blogpost we converted his example to run on Kubernetes using Fabric8. After deploying the service to Kubernetes we can then import the API into the API Manager that is Apiman. Once imported the SwaggerJSON DSL is presented to API consumers in a nice viewer.
Obtaining and deploying the camel-swagger quickstarts
It is assumed you have a running Fabric8 instance running on Openshift 3 with Apiman deployed. Check this post if you don’t. Next, fork and clone the ipaas-quickstarts repository
git clone https://github.com/fabric8io/ipaas-quickstarts
To deploy the quickstart login to your Kubernetes master and invoke the f8-local-deploy profile running maven
oc login <your master> cd ipaas-quickstarts/quickstarts/cdi/camel-swagger mvn -Pf8-local-deploy
Show the camel-swagger API from the Apiman API Catalog
In the Fabric8 console look up the Apiman Application and find the link to the Apiman Console (look for apiman.vagrant.f8, if vagrant.f8 is your Kubernetes domain.
The catalog display all services running on Kubernetes and you can start an import into Apiman right from the catalog to make this service available as a managed service. Also you can view the API description right from the Catalog.
Conclusion
The old Camel learned a new trick and can describe its RESTful service using SwaggerJSON. Apiman can import the SwaggerJSON DSL document and present service consumers with a central API Catalog from where the service description can be viewed in the nice Swagger editor/viewer.