# Layer7 Operator The Layer7 Operator, built using the [Operator SDK](https://github.com/operator-framework/operator-sdk) covers all aspects of deploying, maintaining and upgrading Layer7 API Gateways in Kubernetes. The Layer7 Operator is exclusive to Kubernetes and utilizes the Container Gateway with specific emphasis on running in Ephemeral mode (without an external MySQL policy database). ## Prerequisites - [Kubernetes](https://techdocs.broadcom.com/us/en/ca-enterprise-software/layer7-api-management/api-gateway/congw-11-0/release-notes_cgw/requirements-and-compatibility.html#concept.dita_req_comp_refresh_gw10cr2_platforms) - Gateway v10/11.x License (can be requested via [support](https://support.broadcom.com)) - [cert-manager](https://cert-manager.io/) if using cluster install ## Latest Release [View the latest release here](https://github.com/CAAPIM/layer7-operator/releases/latest) ## Index * [Getting Started](./Getting-Started) * [Gateway](./Gateway-Custom-Resource) * [Repository](./Repository-Custom-Resource) * [L7StateStore](./StateStore-Custom-Resource) * [L7Portal](./Portal-Custom-Resource) * [L7Api](./API-Custom-Resource) * [Additional Examples](https://github.com/CAAPIM/layer7-operator/tree/main/example) The Layer7 Operator manages the following Custom Resources * [Gateway](./Gateway-Custom-Resource) * Represents the Layer7 API Gateway * [Repository](./Repository-Custom-Resource) * Represents a Git or File repository * [L7Portal (alpha)](./Portal-Custom-Resource) * Integrate a Layer7 Developer Portal * [L7Api (alpha)](./API-Custom-Resource) * Represents a Layer7 API ### Upgrading to v1.1.1 and beyond The labels for the cluster-wide deployment have been updated, you will receive an error about this when you attempt to upgrade to v1.1.1 from v1.1.0. If you are using the Operator in namespaced mode then you will not receive this error and can upgrade as normal. If you are using the Layer7 Operator for the first time, we recommend using the latest version otherwise you can either force the upgrade or delete the Operator deployment prior to upgrading. ``` kubectl apply -f https://github.com/CAAPIM/layer7-operator/releases/download/v1.2.2/cw-bundle.yaml --force ``` ## Compatibility Matrix The Layer7 Operator graphman client is strongly typed, meaning changes to the Graphman Schema can cause breaking changes between versions of the Operator/Gateways. | Operator Version | Gateway Versions | ------------------- | --------------------------------------------- | `v1.2.2` | `11.1.2, 11.1.3` | `v1.2.1` | `11.1.2` | `v1.2.0` | `11.1.2` | `v1.1.1` | `11.1.1` | `v1.1.0` | `11.1.1` | `v1.0.7` | `11.1.1` | `v1.0.6` | `11.1.00` | `v1.0.5` | `10.1.00_CR4, 11.0.00_CR2` | `v1.0.4` | `10.1.00_CR3, 11.0.00_CR1` The guides in this documentation assume that you have access to a Kubernetes Cluster. These [examples](https://github.com/CAAPIM/layer7-operator/tree/main/example) have a [Kind (Kubernetes in Docker)](https://kind.sigs.k8s.io/) option if you have access to a Docker Engine.