Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kgo: document KongPluginInstallation #8034

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 131 additions & 0 deletions app/_data/docs_nav_kgo_1.4.x.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
product: gateway-operator
release: 1.4.x
generate: true
assume_generated: true
items:
- title: Introduction
icon: /assets/images/icons/documentation/icn-flag.svg
items:
- text: Overview
url: /gateway-operator/1.4.x/
absolute_url: true
- text: Deployment Topologies
items:
- text: Hybrid Mode
url: /topologies/hybrid/
- text: DB-less Mode
url: /topologies/dbless/
- text: Key Concepts
items:
- text: Gateway API
url: /concepts/gateway-api
- text: Gateway Configuration
url: /concepts/gateway-configuration
- text: Managed Gateways
url: /concepts/managed-gateways
- text: Changelog
url: /gateway-operator/changelog
absolute_url: true
- text: Version Support Policy
url: /support
- text: FAQ
url: /faq
- title: Get Started
icon: /assets/images/icons/documentation/icn-learning.svg
items:
- text: Konnect
items:
- text: Install Gateway Operator
url: /get-started/konnect/install/
- text: Deploy a Data Plane
url: /get-started/konnect/deploy-data-plane/
- text: Create a Route
url: /get-started/konnect/create-route/
- text: Kong Ingress Controller
items:
- text: Install Gateway Operator
url: /get-started/kic/install/
- text: Create a Gateway
url: /get-started/kic/create-gateway/
- text: Create a Route
url: /get-started/kic/create-route/
- title: Production Deployment
icon: /assets/images/icons/icn-server.svg
items:
- text: Overview
url: /production/
- text: Install
url: /install/
- text: Enterprise License
url: /license/
- text: Monitoring
items:
- text: Metrics
url: /production/monitoring/metrics/
- text: Status fields
items:
- text: Overview
url: /production/monitoring/status/overview/
- text: DataPlane
url: /production/monitoring/status/dataplane/
- text: ControlPlane
url: /production/monitoring/status/controlplane/
- text: Gateway
url: /production/monitoring/status/gateway/
- text: Upgrade Gateway Operator
url: /production/upgrade/gateway-operator/
- title: Guides
icon: /assets/images/icons/documentation/icn-solution-guide.svg
items:
- text: AI Gateway
url: /guides/ai-gateway/
- text: Customization
items:
- text: Set data plane image
url: /customization/data-plane-image/
- text: Deploying Sidecars
url: /customization/sidecars/
- text: Customizing PodTemplateSpec
url: /customization/pod-template-spec/
- text: Autoscaling Kong Gateway
url: /guides/autoscaling-kong/
- text: Autoscaling Workloads
items:
- text: Overview
url: /guides/autoscaling-workloads/overview/
- text: Prometheus
url: /guides/autoscaling-workloads/prometheus/
- text: Datadog
url: /guides/autoscaling-workloads/datadog/
- text: Upgrading Data Planes
items:
- text: Rolling Deployment
url: /guides/upgrade/data-plane/rolling/
- text: Blue / Green Deployment
url: /guides/upgrade/data-plane/blue-green/
- text: Kong Custom plugin distribution
url: guides/plugin-distribution/
- title: Reference
icon: /assets/images/icons/icn-magnifying-glass.svg
items:
- text: Custom Resources
items:
- text: Overview
url: /reference/custom-resources/
src: reference/custom-resources/1.4.x
- text: GatewayConfiguration
url: /reference/custom-resources/#gatewayconfiguration
generate: false
- text: ControlPlane
url: /reference/custom-resources/#controlplane
generate: false
- text: DataPlane
url: /reference/custom-resources/#dataplane
generate: false
- text: KongPluginInstallation
url: /reference/custom-resources/#kongplugininstallation
generate: false
- text: License
url: /reference/license
- text: Version Compatibility
url: /reference/version-compatibility
6 changes: 6 additions & 0 deletions app/_data/kong_versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,12 @@
releaseDate: "2024-06-24"
endOfLifeDate: "2025-06-24"
latest: true
- edition: gateway-operator
version: 1.4.0
release: 1.4.x
releaseDate: "2024-10-09"
endOfLifeDate: "2025-10-09"
label: unreleased
- edition: mesh
version: 1.2.6
release: 1.2.x
Expand Down
53 changes: 53 additions & 0 deletions app/_includes/md/custom-plugin.md
programmer04 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!-- Shared between KIC and KGO plugin installation -->
## Create a custom plugin

{:.note}
> To learn in details about plugin development for {{site.base_gateway}}, see the [Plugin Development](/gateway/{{page.release}}/plugin-development) guide.

1. Create a directory with plugin code.

{:.note}
> If you already have a real plugin, you can skip this step.

```bash
mkdir myheader
echo 'local MyHeader = {}

MyHeader.PRIORITY = 1000
MyHeader.VERSION = "1.0.0"

function MyHeader:header_filter(conf)
-- do custom logic here
kong.response.set_header("myheader", conf.header_value)
end

return MyHeader
' > myheader/handler.lua

echo 'return {
name = "myheader",
fields = {
{ config = {
type = "record",
fields = {
{ header_value = { type = "string", default = "roar", }, },
},
}, },
}
}
' > myheader/schema.lua
```

After these steps, the directory should look like this:

```bash
tree myheader
```

```bash
myheader
├── handler.lua
└── schema.lua

0 directories, 2 files
```
13 changes: 12 additions & 1 deletion app/_includes/md/kgo/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<details class="custom" markdown="1">
<summary>
<blockquote class="note">
<p style="cursor: pointer">Before you begin ensure that you have <u>installed the {{site.kgo_product_name}}</u> in your Kubernetes cluster {% if include.aiGateway %}with AI Gateway support enabled{% endif %}. {% if include.enterprise %}This guide requires an enterprise license.{% endif %}</p>
<p style="cursor: pointer">Before you begin ensure that you have <u>installed the {{site.kgo_product_name}}</u> in your Kubernetes cluster {% if include.aiGateway %}with AI Gateway support enabled{% endif %}{% if include.kongplugininstallation %}with KongPluginInstallation support enabled{% endif %}. {% if include.enterprise %}This guide requires an enterprise license.{% endif %}</p>
</blockquote>
</summary>

Expand Down Expand Up @@ -47,6 +47,17 @@ kubectl set env -n kong-system deployments/kgo-gateway-operator-controller-manag
```
{% endif %}

{%- if include.kongplugininstallation %}

### Enable the KongPluginInstallation controller

As this guide uses the experimental KongPluginInstallation feature, we need to explicitly enable it.
pmalek marked this conversation as resolved.
Show resolved Hide resolved

```bash
kubectl set env -n kong-system deployments/kgo-gateway-operator-controller-manager -c manager GATEWAY_OPERATOR_ENABLE_CONTROLLER_KONGPLUGININSTALLATION="true"
```
{% endif %}

{% if include.enterprise %}

### Enterprise License
Expand Down
Loading
Loading