The origin-apiman repository provides the integration layer between APIMan, an API management platform, and OpenShift, Red Hat's Kubernetes-based container platform. APIMan itself offers common management capabilities for both API providers and consumers, enabling organizations to control how their APIs are accessed and used. This repository specifically contains the code and configuration necessary to deploy APIMan within an OpenShift environment, allowing APIs running as services on OpenShift to be exposed externally through an APIMan gateway that enforces usage policies.
The repository is primarily written in Shell and is classified across multiple domains including API management, Kubernetes integration, policy enforcement, service gateway functionality, REST API handling, authentication, authorization, rate limiting, developer portal capabilities, and microservices architecture. This broad classification reflects the comprehensive nature of the integration, which touches many aspects of API lifecycle management within containerized environments.
The core components of the integration are organized into distinct directories. The deployer directory contains an image used to deploy the entire integration, providing templates and configuration for other components. The apiman-builder directory implements a custom OpenShift builder specifically designed to build APIMan components directly from source code. The integration also includes ElasticSearch, which serves as the backend storage for both configuration data and metrics collection. Additionally, Curator is included to manage data lifecycle in ElasticSearch by expiring old data to conserve storage space.
The repository supports building from source directly on OpenShift through a templated approach. Developers can create builds using the dev-builds.yaml template file located in the hack directory, which automatically builds from standard source repository locations. The build system is flexible enough to support building from forks or branches by supplying appropriate template parameters to the new-app command. When builds complete, they populate ImageStreams for the deployer components, making the built images available for deployment.
Deployment of the integration is documented in the deployer README, with instructions for using locally built images by specifying the IMAGE_PREFIX parameter that corresponds to the local container registry. This allows organizations to use custom-built versions of the APIMan components rather than relying solely on pre-built images.
The repository includes end-to-end testing capabilities for validating dev builds. A dedicated testing README in the hack/testing directory provides detailed instructions for running the e2e test script, enabling developers to verify that their builds and deployments function correctly before moving to production environments.
Once deployed, the integration enables API producers and consumers to manage API policies through the APIMan web console, with access controlled according to their roles within OpenShift projects. This role-based access ensures that only appropriate users can configure policies for APIs they own or consume. The gateway component controls actual API usage, enforcing the policies configured through the management interface, providing a complete API governance solution within the OpenShift ecosystem.