Knot.x Examples
Examples show how you can customize/extend Knot.x Stack in a real project. They use Gradle to build all custom modules and prepare a distribution containing custom configurations and modules.
Topics covered in our examples:
Distribution
Within this module, you will see what Stack is and how it can be customized. It also contains details on how to use Starter Kit template project to prepare a custom project distribution.
Although we recommend to start with Starter Kit that builds Docker image, using Docker is not mandatory.
Topic | Description | Used technologies | Tutorial | Source code |
---|---|---|---|---|
Stack | Basic usage of fragmentsHandler with a simple graph that uses data from external API and combines them with a static HTML provided by fsRepoConnectionHandler. | Stack | Getting Started with Knot.x Stack | ./distribution/getting-started |
Docker | This module covers the same topics as above. However, it uses Docker and embeds Knot.x Stack within a Docker image. | Stack, Docker, Starter Kit template project | Getting Started with Docker | ./distribution/getting-started |
API Gateway & Web API
Knot.x is an integration framework that can be used as a simple API gateway. It can be also combined with Cloud solutions like Apigee Edge or Amazon API Gateway.
Topic | Description | Used technologies | Tutorial | Source code |
---|---|---|---|---|
OpenAPI and API Console with Swagger | More advanced example of OpenAPI specification usage | OpenAPI, SwaggerUI | OpenAPI specification & interactive API Console | ./api-gateway/api-console |
Securing your API | Simple usage of popular authentication technologies to secure your API. | Docker, OAuth 2.0, OpenId Connect, JWT | coming soon | coming soon |
Caching | Knot.x proxies requests to target API, providing a caching capability. | In-memory cache, Fragments, WireMock, Docker | Caching API responses | .api-gateway/caching |
API composition | Presents how to compose data from many services / APIs using Configurable Integrations. | Fragments, WireMock, Docker | Compose multiple services into a single round-trip. | ./api-gateway/api-composition |
GraphQL API | Expose GraphQL API using Configurable Integrations. | GraphQL, OpenAPI, Configurable Integrations | Using GraphQL with Knot.x | ./api-gateway/graphql-api |
Template Processing
This module presents the aspects of template processing.
Topic | Description | Used technologies | Tutorial | Source code |
---|---|---|---|---|
Getting started | Basic usage of fragmentsHandler with a simple graph that uses data from external API and combines them with a static HTML provided by fsRepoConnectionHandler | Template Engine, Handlebars, Docker | ./template-processing/handlebars |
Debugging with Fragments Chrome Extension
This module presents the usage of [Fragments Chrome Plugin](https://github.com/Knotx/knotx-fragments-chrome-extension.
Topic | Description | Used technologies | Tutorial | Source code |
---|---|---|---|---|
Template processing scenario | Basic usage of Knot.x Fragments Chrome Plugin during Task & Actions definition & external API responses investigation. | Knot.x Fragments Chrome Plugin, Fragments Handler, Template Engine, Docker | ./chrome-extension |