Git Product home page Git Product logo

gateway-operator's Introduction

KGO logo

Kong Gateway Operator is a Kubernetes Operator that can manage your Kong Ingress Controller, Kong Gateway Data Planes, or both together when running on Kubernetes.

With Kong Gateway Operator, users can:

  • Deploy and configure Kong Gateway services.
  • Customise deployments using PodTemplateSpec to deploy sidecars, set node affinity and more.
  • Upgrade Data Planes using a rolling restart or blue/green deployments.

Current Features

The following features are considered supported:

  • Kong Gateway Deployment & Configuration Management using the Gateway API
  • Creation of Kong Gateways using the DataPlane API
  • Kong Gateways upgrades, downgrades and autoscaling
  • Creation of Kong Ingress Controller instances using the ControlPlane API
  • Hybrid Mode Attachment using the DataPlane API
  • Configuration and management of AIGateways (experimental feature)

See our Features Page for details on these capabilities.

Quick Start and documentation

If you are eager to start with the operator, you can visit the quick start section of the documentation. Alternatively, the complete docs provide a full and detailed description of how to thoroughly use this project.

Development

Prerequisites

In order to build the operator you'll have to have Go installed on your machine. In order to do so, follow the instructions on its websitego-dev-site.

Build process

Building the operator should be as simple as running:

make build

This Makefile target will take care of everything from generating client side code, generating Kubernetes manifests, downloading the dependencies and the tools used in the build process and finally, it will build the binary.

After this step has finished successfully you should see the operator's binary bin/manager.

You can also run it directly via make run which will run the operator on your machine against the cluster that you have configured via your KUBECONFIG.

Adding new CRDs

Whenever you add a new CRD ensure that it is included in project's PROJECT file.

This is necessary for creation of a bundle for external hubs like Operator Hub's community operators.

Seeking Help

Please search through the posts on the discussions page as it's likely that another user has run into the same problem. If you don't find an answer, please feel free to post a question.

If you've found a bug, please open an issue.

For a feature request, please open an issue using the feature request template.

You can also talk to the developers behind Kong in the #kong channel on the Kubernetes Slack server.

Community Meetings

You can join bi-weekly meetups hosted by Kong to ask questions, provide feedback, or just to listen and hang out.

See the Online Meetups Page to sign up and receive meeting invites and Zoom links.

gateway-operator's People

Contributors

dependabot[bot] avatar pmalek avatar mlavacca avatar shaneutt avatar jrsmroz avatar programmer04 avatar czeslavo avatar rainest avatar randmonkey avatar team-k8s-bot avatar mflendrich avatar tysoekong avatar tao12345666333 avatar synthe102 avatar mheap avatar ruromero avatar szesch avatar meldafrawi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.