Skip to content

Commit

Permalink
KGO Doc Updates (#8105)
Browse files Browse the repository at this point in the history
* Update Konnect CRD docs with feature gate

* Use common echo service in plugin installation docs

* Add KGO Konnect CRD FAQs

* Remove Konnect CRDs env prereq. Use Helm instead
  • Loading branch information
mheap authored Oct 31, 2024
1 parent 1041362 commit 44cdd3c
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 49 deletions.
2 changes: 2 additions & 0 deletions app/_data/docs_nav_kgo_1.4.x.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ items:
url: /guides/konnect-entities/dpcertificate/
- text: Tagging and Labeling
url: /guides/konnect-entities/tagging-and-labeling/
- text: FAQ
url: /guides/konnect-entities/faq/
- title: Reference
icon: /assets/images/icons/icn-magnifying-glass.svg
items:
Expand Down
6 changes: 3 additions & 3 deletions app/_includes/md/kgo/konnect-entities-prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ metadata:
spec:
type: token
token: kpat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
serverURL: eu.api.konghq.com
serverURL: us.api.konghq.com
' | kubectl apply -f -
```
{% endnavtab %}
Expand All @@ -56,7 +56,7 @@ spec:
type: secretRef
secretRef:
name: konnect-api-auth-secret
serverURL: eu.api.konghq.com
serverURL: us.api.konghq.com
---
kind: Secret
apiVersion: v1
Expand All @@ -82,7 +82,7 @@ The output should look like this:
```console
NAME VALID ORGID SERVERURL
konnect-api-auth True <your-konnect-org-id> https://eu.api.konghq.tech
konnect-api-auth True <your-konnect-org-id> https://us.api.konghq.tech
```
{% if include.with-control-plane %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ conditions:
...
id: 7dcf6756-b2e7-4067-a19b-111111111111
organizationID: 5ca26716-02f7-4430-9117-111111111111
serverURL: https://eu.api.konghq.com
serverURL: https://us.api.konghq.com
```
These objects are defined under `konnect.konghq.com` API group.
Expand Down Expand Up @@ -179,5 +179,5 @@ You should see the following output:
controlPlaneID: 7dcf6756-b2e7-4067-a19b-111111111111
id: 7dcf6756-b2e7-4067-a19b-111111111111
organizationID: 5ca26716-02f7-4430-9117-111111111111
serverURL: https://eu.api.konghq.com
serverURL: https://us.api.konghq.com
```
41 changes: 41 additions & 0 deletions app/_src/gateway-operator/guides/konnect-entities/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: FAQ
---

Managing {{ site.konnect_product_name }} entities with {{ site.kgo_product_name }} is a feature that is under active development. This document addresses commonly asked questions.

## I'm a {{ site.kic_product_name }} user, how much will I have to learn?

{{ site.kgo_product_name }} uses the same custom resources as {{ site.kic_product_name }}. A `KongConsumer` is the same no matter which product you're using.

By default, all `Kong*` custom resources will be reconciled by {{ site.kic_product_name }}. To make {{ site.kgo_product_name }} reconcile them with {{ site.konnect_short_name }}, you must provide a `spec.controlPlaneRef.type` of `konnectNamespacedRef`.

## Can I use HTTPRoute and Ingress definitions?

For the first release, we have chosen to keep a 1:1 mapping between custom resources and Konnect entities. This means that you should create `KongService` and `KongRoute` resources rather than `HTTPRoute` or `Ingress` resources.

Support for standard Kubernetes resources is planned for the future.

## How often does the reconcile loop run?

New resources are created immediately using the Konnect API.

Existing resources are processed once per minute by default. This is customizable, but we recommend keeping the default value so that you do not hit the {{ site.konnect_short_name }} API rate limit.

For more information, see [how it works](/gateway-operator/unreleased/guides/konnect-entities/architecture/#how-it-works).

## I deleted a resource in the UI, but it wasn't recreated by the operator. Why?

Wait 60 seconds, then check the UI again. The reconcile loop only runs once per minute.

## Can I use Secrets for consumer credentials like in {{ site.kic_product_name }}?

{{ site.kgo_product_name }} uses new `Credential` CRDs for managing [consumer credentials]((/gateway-operator/unreleased/guides/konnect-entities/consumer-and-consumergroup/#associate-the-consumer-with-credentials)). We plan to support Kubernetes `Secret` resources in a future release. [#618](https://github.com/Kong/gateway-operator/issues/618).

## Can I adopt existing {{ site.konnect_short_name }} entities?

Adopting existing entities is planned, but not yet available. Only resources created by the operator can be managed using CRDs at this time. [#460](https://github.com/Kong/gateway-operator/issues/460)

## How do I create a global plugin?

It is not yet possible to create a global plugin. This is due to {{ site.konnect_short_name }} resources being namespaced in {{ site.kgo_product_name }}, while global plugins are cluster scoped. We are investigating options in [#440](https://github.com/Kong/gateway-operator/issues/440)
48 changes: 4 additions & 44 deletions app/_src/gateway-operator/guides/plugin-distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ title: Kong custom plugin distribution with KongPluginInstallation
{:.note}
> The `KongPluginInstallation` resource creates a `ConfigMap` with the plugin content. Additional `ConfigMap`s are created when a plugin is referenced by other resources. The operator automatically manages the lifecycle of all these `ConfigMap`s.

4. Make the plugin available in a `Gateway` resource by referencing it in the `spec.pluginsToInstall` field of the `GatewayConfiguration` resource.
4. Make the plugin available in a `Gateway` resource by referencing it in the `spec.dataPlaneOptions.spec.pluginsToInstall` field of the `GatewayConfiguration` resource.
Plugins can be referenced across namespaces without any additional configuration.

```yaml
Expand Down Expand Up @@ -144,48 +144,8 @@ title: Kong custom plugin distribution with KongPluginInstallation

5. Deploy an example service and expose it by configuring `HTTPRoute` with the custom plugin:

Example service:

```yaml
echo '
apiVersion: v1
kind: Service
metadata:
name: echo
spec:
ports:
- protocol: TCP
name: http
port: 80
targetPort: http
selector:
app: echo
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo
spec:
replicas: 1
selector:
matchLabels:
app: echo
template:
metadata:
labels:
app: echo
spec:
containers:
- name: echo
image: registry.k8s.io/e2e-test-images/agnhost:2.40
command:
- /agnhost
- netexec
- --http-port=8080
ports:
- containerPort: 8080
name: http
' | kubectl apply -f -
```bash
kubectl apply -f {{site.links.web}}/assets/kubernetes-ingress-controller/examples/echo-service.yaml
```

Next, add the `HTTPRoute` with the custom plugin. The configuration of the plugin is provided with the `KongPlugin` CRD, where the
Expand Down Expand Up @@ -220,7 +180,7 @@ title: Kong custom plugin distribution with KongPluginInstallation
backendRefs:
- name: echo
kind: Service
port: 80
port: 1027
' | kubectl apply -f -
```

Expand Down

0 comments on commit 44cdd3c

Please sign in to comment.