Skip to main content

APIMatic Kubernetes Operator Overview

APIMatic Kubernetes Operator simplifies the configuration and lifecycle management of the APIMatic code and docs generation solution on different Kubernetes distributions and OpenShift. The Operator encapsulates key operational knowledge on how to configure and upgrade the APIMatic CodeGen application, cutting down the setup process to minutes, making it easy to get up and running.

You can find further information about the underlying APIMatic CodeGen API that is exposed by this operator in these APIMatic Core Docs.

Features of APIMatic Operator

APIMatic Operator provides the following features:

  1. Deploys the APIMatic CodeGen Web API service within the Kubernetes or OpenShift cluster.
  2. Exposes the APIMatic CodeGen API external to the cluster, using Service type as NodePort, LoadBalancer or ExternalName.
  3. For exposing the service through an ingress resource, create an Ingress resource in the namespace of your APIMatic CR and set owned APIMatic service created by the operator as a backed service. More information can be found here.
  4. Manual horizontal scaling of pods can be done with command: kubectl scale apm apimatic-sample--replicas=2

Prerequisites

For running the APIMatic operator, you need to contact APIMatic at support@apimatic.io to register with the APIMatic CodeGen Docker Hub registry and acquire a valid license to run the APIMatic CodeGen API.

There are some additional requirements that need to be fulfilled:

  1. Install Go language version v1.16.*
  2. Install git.
  3. Download GNU Make Tool.
  4. Install Operator SDK.
  5. Install a running Kubernetes cluster with kubectl on client. For testing purposes, you can use Minikube or kind.
  6. For checking the service created by the APIMatic operator on-prem, you can use MetalLB.

After completing the above prerequisites, the next step would be to deploy the APIMatic operator through different methods given in detail: Direct Deployment of Operator and OLM Deployment of Operator.