diff --git a/documentation/0.13.0/html/developer-guide/content.html b/documentation/0.13.0/html/developer-guide/content.html index 3fcde6c7..33b93466 100644 --- a/documentation/0.13.0/html/developer-guide/content.html +++ b/documentation/0.13.0/html/developer-guide/content.html @@ -91,13 +91,13 @@

2. Custom filters

2.1. Sample Custom Filter Project

-

A collection of sample filters is available within the Kroxylicious repository for you to download, try out, and customise. You can find them here for a hands-on introduction to creating your own custom filters.

+

A collection of sample filters is available within the Kroxylicious repository for you to download, try out, and customise. You can find them here for a hands-on introduction to creating your own custom filters.

2.2. API docs

-

Custom filters are built by implementing interfaces supplied by the kroxylicious-api module (io.kroxylicious:kroxylicious-api on maven central). You can view the javadoc here.

+

Custom filters are built by implementing interfaces supplied by the kroxylicious-api module (io.kroxylicious:kroxylicious-api on maven central). You can view the javadoc here.

@@ -138,7 +138,7 @@

2.4.1. Specific Message Protocol Filt
Examples
-

To intercept all Fetch Requests your class would implement FetchRequestFilter:

+

To intercept all Fetch Requests your class would implement FetchRequestFilter:

@@ -156,7 +156,7 @@
Examples
-

To intercept all Fetch Responses your class would implement FetchResponseFilter:

+

To intercept all Fetch Responses your class would implement FetchResponseFilter:

@@ -174,7 +174,7 @@
Examples
-

To intercept all Fetch Requests and all Fetch Responses your class would implement FetchRequestFilter and FetchResponseFilter:

+

To intercept all Fetch Requests and all Fetch Responses your class would implement FetchRequestFilter and FetchResponseFilter:

@@ -213,10 +213,10 @@

2.4.2. Request/Response Protocol Filte
@@ -351,7 +351,7 @@

2.4.5. Handling state

The simplest way of managing per-client state is to use member fields. The proxy guarantees that all methods of a given filter instance will always be invoked on the same thread (also true of the CompletionStage completion in the case of Sending asynchronous requests to the Cluster). Therefore, there is no need to use synchronization when accessing such fields.

-

See the io.kroxylicious.proxy.filter package javadoc for more information on thread-safety.

+

See the io.kroxylicious.proxy.filter package javadoc for more information on thread-safety.

@@ -571,14 +571,14 @@
Sending asynchronous reque
-

As you have read above, we need to know the API version we want our request to be encoded at. Your filter can discover what versions of an API the Kafka Cluster supports. To do this use the ApiVersionsService available from the FilterContext to determine programmatically what versions of an API are support and then write code to make a suitable request object.

+

As you have read above, we need to know the API version we want our request to be encoded at. Your filter can discover what versions of an API the Kafka Cluster supports. To do this use the ApiVersionsService available from the FilterContext to determine programmatically what versions of an API are support and then write code to make a suitable request object.

- +
Kroxylicious provides the guarantee that computation stages chained using the default execution methods are executed on the same thread as the rest of the Filter work, so we can safely mutate Filter members without synchronising. See the io.kroxylicious.proxy.filter package javadoc for more information on thread-safety.Kroxylicious provides the guarantee that computation stages chained using the default execution methods are executed on the same thread as the rest of the Filter work, so we can safely mutate Filter members without synchronising. See the io.kroxylicious.proxy.filter package javadoc for more information on thread-safety.
@@ -630,10 +630,10 @@
Filtering specific API Versions

2.4.7. Filter Construction and Configuration

-

For Kroxylicious to instantiate and configure your custom filter we use Java’s ServiceLoader API. Each Custom Filter should provide a corresponding FilterFactory implementation that can create an instance of your custom Filter. The factory can optionally declare a configuration class that Kroxylicious will populate (using Jackson) when loading your custom Filter. The module must package a META-INF/services/io.kroxylicious.proxy.filter.FilterFactory file containing the classnames of each filter factory implementation into the JAR file.

+

For Kroxylicious to instantiate and configure your custom filter we use Java’s ServiceLoader API. Each Custom Filter should provide a corresponding FilterFactory implementation that can create an instance of your custom Filter. The factory can optionally declare a configuration class that Kroxylicious will populate (using Jackson) when loading your custom Filter. The module must package a META-INF/services/io.kroxylicious.proxy.filter.FilterFactory file containing the classnames of each filter factory implementation into the JAR file.

-

For example in the kroxylicious-samples we have the SampleFilterConfig class. This is used in the SampleFetchResponseFilter). The configuration is routed to the Filter instance via the SampleFetchResponse.

+

For example in the kroxylicious-samples we have the SampleFilterConfig class. This is used in the SampleFetchResponseFilter). The configuration is routed to the Filter instance via the SampleFetchResponse.

Then, when we configure a filter in Kroxylicious configuration like:

diff --git a/documentation/0.13.0/html/kroxylicious-operator/content.html b/documentation/0.13.0/html/kroxylicious-operator/content.html index 3ef4d6c5..fc118af8 100644 --- a/documentation/0.13.0/html/kroxylicious-operator/content.html +++ b/documentation/0.13.0/html/kroxylicious-operator/content.html @@ -175,7 +175,7 @@

3.1. Install prerequisites

3.2. Kroxylicious release artifacts

-

To use YAML manifest files to install Kroxylicious, download kroxylicious-operator-0.13.zip or kroxylicious-operator-0.13.tar.gz file from the GitHub releases page, and extract the files as appropriate (for example using unzip or tar -xzf).

+

To use YAML manifest files to install Kroxylicious, download kroxylicious-operator-0.13.0.zip or kroxylicious-operator-0.13.0.tar.gz file from the GitHub releases page, and extract the files as appropriate (for example using unzip or tar -xzf).

Each of these archives contains:

@@ -205,7 +205,7 @@

3.3. Installing the Kroxylicious Oper

You need an account with permission to create and manage CustomResourceDefinition and RBAC (ClusterRole) resources.

  • -

    You have downloaded one of kroxylicious-operator-0.13.zip or kroxylicious-operator-0.13.tar.gz and extracted the contents into the current directory.

    +

    You have downloaded one of kroxylicious-operator-0.13.0.zip or kroxylicious-operator-0.13.0.tar.gz and extracted the contents into the current directory.

  • diff --git a/documentation/0.13.0/html/kroxylicious-proxy/content.html b/documentation/0.13.0/html/kroxylicious-proxy/content.html index 3403cc86..50dfad93 100644 --- a/documentation/0.13.0/html/kroxylicious-proxy/content.html +++ b/documentation/0.13.0/html/kroxylicious-proxy/content.html @@ -2677,7 +2677,7 @@

    5.4.3. Using Micrometer with filters

    5.5. Setting log levels

    -

    The Kroxylicious binary distribution includes log4j2 as the default logging backend.

    +

    The Kroxylicious binary distribution includes log4j2 as the default logging backend.

    When using the bin/kroxylicious-start.sh script from the binary distribution, you can set an environment variable to load a custom log4j2 configuration file or change the root logging level.

    diff --git a/documentation/0.13.0/html/record-encryption-guide/content.html b/documentation/0.13.0/html/record-encryption-guide/content.html index a3976098..a2499329 100644 --- a/documentation/0.13.0/html/record-encryption-guide/content.html +++ b/documentation/0.13.0/html/record-encryption-guide/content.html @@ -408,7 +408,7 @@
    Establish an applicati
    Testing the application identity for the filter using the CLI
    -

    To test whether the application identity and the policy are working correctly, a script can be used.

    +

    To test whether the application identity and the policy are working correctly, a script can be used.

    First, as the administrator, create a KEK in the hierarchy at this path transit/keys/KEK_testkey.