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

[1.2.0] Update links to open in new tabs #668

Merged
merged 1 commit into from
Nov 18, 2024
Merged
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
6 changes: 3 additions & 3 deletions en/docs/about-apk/FAQs.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
## About WSO2 APK
### 1. What is WSO2 APK?

WSO2 API Platform for Kubernetes (APK) is WSO2's cloud native API management platform to help you build, deploy, and manage APIs in a cloud environment. It is designed to be highly available and able to handle large numbers of API requests without performance degradation, with features like rate limiting, automatic failover and load balancing. For more information, refer the [What is APK?](./what-is-apk.md) section.
WSO2 API Platform for Kubernetes (APK) is WSO2's cloud native API management platform to help you build, deploy, and manage APIs in a cloud environment. It is designed to be highly available and able to handle large numbers of API requests without performance degradation, with features like rate limiting, automatic failover, and load balancing. For more information, refer to the <a href="../../about-apk/what-is-apk" target="_blank">What is APK?</a> section.

### 2. What is the open source license of the APK?

[Apache Software License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
<a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache Software License Version 2.0</a>

### 3. What are the technologies used in WSO2 APK?

APK natively uses several Kubernetes features. Envoy is used for the API gateway implementation and Helm is used as a package manager. For more details, refer to the [Technologies Used](./architecture.md#technologies-used) section.
APK natively uses several Kubernetes features. Envoy is used for the API gateway implementation and Helm is used as a package manager. For more details, refer to the <a href="../../about-apk/architecture#technologies-used" target="_blank">Technologies Used</a> section.

### 4. What are the advantages of APK over APIM?

Expand Down
11 changes: 6 additions & 5 deletions en/docs/about-apk/about-this-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,21 @@ APK is WSO2's cloud native API management platform. APK is designed to help you

## Compatible WSO2 product versions

- WSO2 APK 1.2.0 is compatible with WSO2 API Manager 4.4.0([APIM](https://apim.docs.wso2.com/en/latest/)).
- WSO2 APK 1.2.0 is compatible with WSO2 API Manager 4.4.0 (<a href="https://apim.docs.wso2.com/en/latest/" target="_blank">APIM</a>).

## Fixed issues

- For all the fixed issues in WSO2 APK 1.2.0, go to [APK](https://github.com/wso2/apk/issues?q=is%3Aissue+is%3Aclosed+closed%3A2024-04-10..2024-10-29+)
- For all the fixed issues in WSO2 APK 1.2.0, go to <a href="https://github.com/wso2/apk/issues?q=is%3Aissue+is%3Aclosed+closed%3A2024-04-10..2024-10-29" target="_blank">APK</a>.

## Known issues

- For all the known issues in WSO2 APK 1.2.0, go to [APK](https://github.com/wso2/apk/issues?q=is%3Aopen+is%3Aissue)
- For all the known issues in WSO2 APK 1.2.0, go to <a href="https://github.com/wso2/apk/issues?q=is%3Aopen+is%3Aissue" target="_blank">APK</a>.

## Release Notes

For more information on each of the APK releases, go to [Releases](https://github.com/wso2/apk/releases) on the APK product repository in GitHub.
For more information on each of the APK releases, go to <a href="https://github.com/wso2/apk/releases" target="_blank">Releases</a> on the APK product repository in GitHub.

## Release Planning

For more information about APK release planning and project management information, go to [APK Project Dashboard](https://github.com/orgs/wso2/projects/80/).
For more information about APK release planning and project management information, go to <a href="https://github.com/orgs/wso2/projects/80/" target="_blank">APK Project Dashboard</a>.

Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,4 @@ Below graphs show 90th, 95th and 99th Response Time percentiles for 0ms backend

[![Percentiles 1 CPU](../../assets/img/performance-test-results/percentile-1-cpu.png)](../../assets/img/performance-test-results/percentile-1-cpu.png)

Test scenario results in CSV format are available [here](https://raw.githubusercontent.com/wso2/apk/main/test/performance/benchmarks/cpus-1/summary.csv).
Test scenario results in CSV format are available <a href="https://raw.githubusercontent.com/wso2/apk/main/test/performance/benchmarks/cpus-1/summary.csv" target="_blank">here</a>.
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,4 @@ Below graphs show 90th, 95th, and 99th Response Time percentiles for 0ms backend

[![Percentiles 2 CPUs](../../assets/img/performance-test-results/percentile-2-cpu.png)](../../assets/img/performance-test-results/percentile-2-cpu.png)

Test scenario results in CSV format are available [here](https://raw.githubusercontent.com/wso2/apk/main/test/performance/benchmarks/cpus-2/summary.csv).
Test scenario results in CSV format are available <a href="https://raw.githubusercontent.com/wso2/apk/main/test/performance/benchmarks/cpus-2/summary.csv" target="_blank">here</a>.
4 changes: 2 additions & 2 deletions en/docs/about-apk/performance-test-results/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ Given below are the details of the deployment that was used for the performance

All scripts used to run the performance tests and analyze results are in the following repositories.

- [https://github.com/wso2/apk/tree/main/test/performance](https://github.com/wso2/apk/tree/main/test/performance)
- <a href="https://github.com/wso2/apk/tree/main/test/performance" target="_blank">https://github.com/wso2/apk/tree/main/test/performance</a>


## Results

[APK](https://wso2.com/api-platform-for-k8s/) is powered by the open source project called [Envoy Proxy](https://www.envoyproxy.io/). Envoy allows to change number of worker threads used for the computations. More details regarding the envoy `--concurrency` configuration are available in [here](https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-concurrency). Additionally, an explanation for the **Envoy Threading Model** includes [here](https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-concurrency).
<a href="https://wso2.com/api-platform-for-k8s/" target="_blank">APK</a> is powered by the open source project called <a href="https://www.envoyproxy.io/" target="_blank">Envoy Proxy</a>. Envoy allows changing the number of worker threads used for computations. More details regarding the Envoy `--concurrency` configuration are available <a href="https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-concurrency" target="_blank">here</a>. Additionally, an explanation for the **Envoy Threading Model** is included <a href="https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-concurrency" target="_blank">here</a>.

Since we used the `Standard F8s v2` instances (CPU count = 4) for the performance tests and to do a test result comparison, we executed the above-mentioned user counts and payload sizes considering two concurrency levels. We assigned below describing `CPU amount` and `concurrency count` to the Router when applying APK test deployments. In order to match the increased concurrency level, we increased the CPU allocation to the Router also. Below table lists the test scenarios explained in this documentation.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Adapter Log Configurations

To configure Adapter logs, update the `values.yaml`'s `wso2.apk.dp.adapter.logging` section with the following values. Instructions in [Customize Configurations](../../setup/Customize-Configurations.md) will guide you through the process of acquiring the `values.yaml` file.
To configure Adapter logs, update the `values.yaml`'s `wso2.apk.dp.adapter.logging` section with the following values. Instructions in the <a href="../../../setup/Customize-Configurations" target="_blank">customize configurations section</a> will guide you through the process of acquiring the `values.yaml` file.

```yaml
logging:
Expand Down
10 changes: 5 additions & 5 deletions en/docs/administration/configurations/configure-logs-enforcer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ As the Enforcer component is implemented in Java, we are using the `log4j2` fram

## Configuring Log4j2 Properties

To configure log4j2 properties, update the `values.yaml`'s `wso2.apk.dp.gatewayRuntime.deployment.enforcer.logging` section with the following values. Instructions in [Customize Configurations](../../setup/Customize-Configurations.md) will guide you through the process of acquiring the `values.yaml` file.
To configure log4j2 properties, update the `values.yaml`'s `wso2.apk.dp.gatewayRuntime.deployment.enforcer.logging` section with the following values. Instructions in the <a href="../../../setup/Customize-Configurations" target="_blank">customize configurations section</a> will guide you through the process of acquiring the `values.yaml` file.

```yaml
logging:
Expand Down Expand Up @@ -72,10 +72,10 @@ This section shows you how to configure appenders individually. Log4j2 allows lo
- **ENFORCER_CONSOLE**: Logs to the console when the enforcer is running.

!!! Info
These appenders are configured by default to use for destinations mentined above. If you want to modify any of the configurations related to that, you can modify them according to log configurations defined in [log4j2 documentation](https://logging.apache.org/log4j/2.x/manual/appenders.html#).
These appenders are configured by default to use for destinations mentioned above. If you want to modify any of the configurations related to that, you can modify them according to log configurations defined in <a href="https://logging.apache.org/log4j/2.x/manual/appenders.html#" target="_blank">log4j2 documentation</a>.

!!! Note
If the output destination is in another environment (such as a cloud storage), you need to [use custom log appenders](#https://logging.apache.org/log4j/2.x/manual/appenders.html).
If the output destination is in another environment (such as a cloud storage), you need to <a href="https://logging.apache.org/log4j/2.x/manual/appenders.html" target="_blank">use custom log appenders</a>.

### Configuring Log4j2 Loggers

Expand Down Expand Up @@ -172,11 +172,11 @@ appender.<appender_name>.layout.pattern = [%d{DEFAULT}][%X{traceId}]%x %5p - {\%
```

!!! Note
More details on this pattern specification can be find in the official [log4j2 documentation](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout).
More details on this pattern specification can be find in the <a href="https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout" target="_blank">official log4j2 documentation</a>.

### JSON format

The Enforcer can be configured to output logs in JSON format by setting the layout as `CustomJsonLayout` which is a customized implementation of log4j2's [AbstractStringLayout](https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/layout/AbstractStringLayout.html). You can set it using the following configuration.
The Enforcer can be configured to output logs in JSON format by setting the layout as `CustomJsonLayout` which is a customized implementation of log4j2's <a href="https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/layout/AbstractStringLayout.html" target="_blank">AbstractStringLayout</a>. You can set it using the following configuration.


```properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Both these files are located in the same ConfigMap file located in the following
apk/helm-charts/templates/data-plane/gateway-components/log-conf.yaml
```

These configurations can be set using the `values.yaml` file. Instructions in [Customize Configurations](../../setup/Customize-Configurations.md) will guide you through the process of acquiring the `values.yaml` file. Follow each section to configure the logs for each of the components.
These configurations can be set using the `values.yaml` file. Instructions inthe <a href="../../../setup/Customize-Configurations" target="_blank">customize configurations section</a> will guide you through the process of acquiring the `values.yaml` file. Follow each section to configure the logs for each of the components.

## Error Codes in Logs

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

As the APK uses an Envoy proxy as the Router component, it only supports the logging mechanisms provided by the Envoy proxy. In the following sections, you may find how to enable Router access logs and debug logs.

To set up Router Logs, start by following the instructions outlined in [Customize Configurations](../../setup/Customize-Configurations.md). These instructions will guide you through the process of acquiring the `values.yaml` file, which you will then use to tailor the log configurations to your specific needs.
To set up Router Logs, start by following the instructions outlined in the <a href="../../../setup/Customize-Configurations" target="_blank">customize configurations section</a>. These instructions will guide you through the process of acquiring the `values.yaml` file, which you will then use to tailor the log configurations to your specific needs.

## Router Access Logging

Expand Down Expand Up @@ -58,7 +58,7 @@ The following example configuration can log request headers and response headers
- name: TRAILING_ARGS
value: "--component-log-level http:debug,http2:debug,conn_handler:debug,ext_authz:trace"
```
The following are different sections of an example log with the above log configuration. This log is generated by invoking an API request with `/http-bin-api11/1.0.8/get` path in [http-bin](http://httpbin.org) API deployed APK. Different log sections are given in the order same as the order in which they are logged to the console.
The following are different sections of an example log with the above log configuration. This log is generated by invoking an API request with `/http-bin-api11/1.0.8/get` path in <a href="http://httpbin.org" target="_blank">http-bin</a> API deployed APK. Different log sections are given in the order same as the order in which they are logged to the console.

Client to Router request headers:
```yaml
Expand Down Expand Up @@ -294,7 +294,7 @@ Router to client response headers:
'vary', 'Accept-Encoding'
```

Follow [command line options]({{envoy_path}}/operations/cli) for more information.
Follow <a href="{{envoy_path}}/operations/cli" target="_blank">command line options</a> for more information.

## Router wire logs

Expand Down
2 changes: 1 addition & 1 deletion en/docs/administration/distributed-tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ You will be able to see all traces. The detailed trace view will look like the f

### OpenTelemetry protocol (OTLP)

OTLP is a vendor agnostic protocol defined as a part of [OpenTelemetry](https://opentelemetry.io/) project to publish telemetry data to any telemetry backend that supports OTLP. Most of the open source and commercial telemetry backends have native OTLP support or provide OTLP support in the form of a separate distribution. Refer the [OpenTelemetry vendor support](https://opentelemetry.io/vendors/) documentation for more information.
OTLP is a vendor agnostic protocol defined as a part of [OpenTelemetry](https://opentelemetry.io/) project to publish telemetry data to any telemetry backend that supports OTLP. Most of the open source and commercial telemetry backends have native OTLP support or provide OTLP support in the form of a separate distribution. Refer the <a href="https://opentelemetry.io/vendors/" target="_blank">OpenTelemetry vendor support</a> documentation for more information.

#### Configure APK to publish OTLP traces to a Jaeger backend

Expand Down
4 changes: 2 additions & 2 deletions en/docs/catalogs/api-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

The following are the available API reference catalogs:

- [Config Deployer APIs](../../catalogs/api-reference-config-deployer)
- [Config Generator APIs](../../catalogs/api-reference-config-generator)
- <a href="../../catalogs/api-reference-config-deployer" target="_blank">Config Deployer APIs</a>
- <a href="../../catalogs/api-reference-config-generator" target="_blank">Config Generator APIs</a>
2 changes: 1 addition & 1 deletion en/docs/catalogs/apk-conf.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,4 +161,4 @@ This document serves as a comprehensive guide, detailing all the parameters rele

- The table above represents the JSON schema fields and their descriptions.
- Additional details about each field and schema can be found in the JSON schema itself.
- APK Config Language Support Visual Studio Code (VS Code) extension can be used to validate the apk-conf file.
- The <a href="https://marketplace.visualstudio.com/items?itemName=WSO2.apk-config-language-support" target="_blank">APK Config Language Support Visual Studio Code (VS Code) extension</a> can be used to validate the apk-conf file.
38 changes: 19 additions & 19 deletions en/docs/catalogs/kubernetes-crds.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
# APK Kubernetes CRD Catalog

WSO2 API management for Kubernetees now offers comprehensive support for the [Kubernetes Gateway API specification](https://gateway-api.sigs.k8s.io/). This support signifies a significant advancement in our API management for Kubernetees solution, enhancing our compatibility and integration capabilities within Kubernetes environments.
WSO2 API management for Kubernetees now offers comprehensive support for the <a href="https://gateway-api.sigs.k8s.io/" target="_blank">Kubernetes Gateway API specification</a>. This support signifies a significant advancement in our API management for Kubernetees solution, enhancing our compatibility and integration capabilities within Kubernetes environments.

WSO2 API management for Kubernetes also supports the [metaresources and policy attachment specifications](https://gateway-api.sigs.k8s.io/references/policy-attachment/#supported-resources) defined by the Kubernetes Gateway API. These specifications provide a standardized approach to extending and configuring the behavior of objects within the Gateway API.
WSO2 API management for Kubernetes also supports the <a href="https://gateway-api.sigs.k8s.io/references/policy-attachment/#supported-resources" target="_blank">metaresources and policy attachment specifications</a> defined by the Kubernetes Gateway API. These specifications provide a standardized approach to extending and configuring the behavior of objects within the Gateway API.

The diagram below displays the CRDs used within the WSO2 APK.
<br></br>
[![Data Plane CRDs](../assets/img/catalogs/catalog.png)](../assets/img/catalogs/catalog.png)

The catalogs of the CRDs, including examples and the configuration definitions, can be found below.

- [API](../../catalogs/crds/api_types)
- [HTTPRoute](../../catalogs/samples/http-route)
- [Authentication](../../catalogs/crds/authentication_types)
- [Backend](../../catalogs/crds/backend_types)
- [BackendJWT](../../catalogs/crds/backendjwt_types)
- [APIPolicy](../../catalogs/crds/apipolicy_types)
- [Interceptor Service](../../catalogs/crds/interceptorservice_types)
- [RateLimitPolicy](../../catalogs/crds/ratelimitpolicy_types)
- [Scope](../../catalogs/crds/scope_types)
- [TokenIssuer](../../catalogs/crds/tokenIssuer_types)
- [AIProvider](../../catalogs/crds/aiprovider_types)
- [AIRateLimitPolicy](../../catalogs/crds/airatelimitpolicy_types)
- [Application](../../catalogs/crds/application_types)
- [Application_Mapping](../../catalogs/crds/application_mapping_types)
- [Subscription](../../catalogs/crds/subscription_types)
- [GQL_Route](../../catalogs/crds/gql_routes_types)
- [GRPC_Route](../../catalogs/samples/grpc-route)
- <a href="../../catalogs/crds/api_types" target="_blank">API</a>
- <a href="../../catalogs/samples/http-route" target="_blank">HTTPRoute</a>
- <a href="../../catalogs/crds/authentication_types" target="_blank">Authentication</a>
- <a href="../../catalogs/crds/backend_types" target="_blank">Backend</a>
- <a href="../../catalogs/crds/backendjwt_types" target="_blank">BackendJWT</a>
- <a href="../../catalogs/crds/apipolicy_types" target="_blank">APIPolicy</a>
- <a href="../../catalogs/crds/interceptorservice_types" target="_blank">Interceptor Service</a>
- <a href="../../catalogs/crds/ratelimitpolicy_types" target="_blank">RateLimitPolicy</a>
- <a href="../../catalogs/crds/scope_types" target="_blank">Scope</a>
- <a href="../../catalogs/crds/tokenIssuer_types" target="_blank">TokenIssuer</a>
- <a href="../../catalogs/crds/aiprovider_types" target="_blank">AIProvider</a>
- <a href="../../catalogs/crds/airatelimitpolicy_types" target="_blank">AIRateLimitPolicy</a>
- <a href="../../catalogs/crds/application_types" target="_blank">Application</a>
- <a href="../../catalogs/crds/application_mapping_types" target="_blank">ApplicationMapping</a>
- <a href="../../catalogs/crds/subscription_types" target="_blank">Subscription</a>
- <a href="../../catalogs/crds/gql_routes_types" target="_blank">GQLRoute</a>
- <a href="../../catalogs/samples/grpc-route" target="_blank">GRPCRoute</a>
Loading