Skip to content

Commit

Permalink
Merge pull request #666 from sgayangi/658-1.2.0
Browse files Browse the repository at this point in the history
[1.2.0] Fix links to open in new tabs
  • Loading branch information
sgayangi authored Nov 12, 2024
2 parents 61f61c1 + 7318618 commit d483fd4
Show file tree
Hide file tree
Showing 30 changed files with 287 additions and 159 deletions.
2 changes: 1 addition & 1 deletion en/docs/api-management-overview/apk-conf-lang-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ By incorporating the `APK Config Language Support` extension, you can enhance yo

5. The extension will be installed and activated automatically. Please note that this extension relies on the YAML Language Support by Red Hat extension. If the YAML Language Support extension isn't installed, it will be automatically installed as well.

For further information, explore the details on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=WSO2.apk-config-language-support).
For further information, explore the details on the <a href="https://marketplace.visualstudio.com/items?itemName=WSO2.apk-config-language-support" target="_blank">VS Code Marketplace</a>.
4 changes: 2 additions & 2 deletions en/docs/api-management-overview/create-api-overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

In APK, you can deploy APIs by using Kubernetes resources, if you prefer a Kubernetes-native experience. However, APK offers a suite of developer tools to streamline the API development process and use these tools to create and deploy APIs.

- [Via CRs]({{base_path}}/en/latest/api-management-overview/create-api-using-crs/) - WSO2 APK supports enhance Kubernative Native API Management via Kubernetes Custom Resources(CRs), adhering to the Kubernetes Gateway API specification.This method requires manually defining the API by creating YAML files for Kubernetes resources such as APIs, HTTPRoutes, Deployments, Services, ..etc, giving you complete control over the deployment. If you are comfortable working directly with Kubernetes and have access to the dataplane Kubernetes cluster, you can follow these guidelines.
- <a href="../../api-management-overview/create-api-using-crs" target="_blank">Via CRs</a> - WSO2 APK supports enhance Kubernative Native API Management via Kubernetes Custom Resources(CRs), adhering to the Kubernetes Gateway API specification.This method requires manually defining the API by creating YAML files for Kubernetes resources such as APIs, HTTPRoutes, Deployments, Services, ..etc, giving you complete control over the deployment. If you are comfortable working directly with Kubernetes and have access to the dataplane Kubernetes cluster, you can follow these guidelines.

- [Via REST API]({{base_path}}/en/latest/api-management-overview/tools-for-api-development/) - WSO2 APK provides a set of REST APIs and tools to streamline the API development process. These APIs/tools are designed for API developers to create APIs, mock APIs, and test APIs and deploying APIs to a Kubernetes cluster. This flow will help you to create APIs without the need to manually create Kubernetes resources. If you are looking for a more streamlined API development experience, you can follow these guidelines.
- <a href="../../api-management-overview/tools-for-api-development" target="_blank">Via REST API</a> - WSO2 APK provides a set of REST APIs and tools to streamline the API development process. These APIs/tools are designed for API developers to create APIs, mock APIs, and test APIs and deploying APIs to a Kubernetes cluster. This flow will help you to create APIs without the need to manually create Kubernetes resources. If you are looking for a more streamlined API development experience, you can follow these guidelines.
5 changes: 3 additions & 2 deletions en/docs/api-management-overview/create-api-using-crs.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
We support API management through a set of Custom Resources (CRs) that adhere to Kubernetes Gateway Specification. See [APK Kubernetes CRD Catalog]({{base_path}}/en/latest/catalogs/kubernetes-crds) for more information.
We support API management through a set of Custom Resources (CRs) that adhere to Kubernetes Gateway Specification. See
<a href="../../catalogs/kubernetes-crds" target="_blank">APK Kubernetes CRD Catalog</a> for more information.

Additionally, our REST API flow can generate a set of CRs based on the API definitions provided through OpenAPI Specifications, Service Description Languages (SDLs), and APK configuration files. This flow is designed to streamline the API development process and reduce the manual effort required to create basic API related CRs. Follow the steps mentioned in [Generate APK Configuration File]({{base_path}}/en/latest/api-management-overview/tools-for-api-development/#option-2-generate-k8s-custom-resources-using-config-generator-tool-and-deploy-the-api-using-kubernetes-client) to generate APK configuration files.
Additionally, our REST API flow can generate a set of CRs based on the API definitions provided through OpenAPI Specifications, Service Description Languages (SDLs), and APK configuration files. This flow is designed to streamline the API development process and reduce the manual effort required to create basic API related CRs. Follow the steps mentioned in <a href="../../api-management-overview/tools-for-api-development#option-2---generate-k8s-custom-resources-using-config-generator-tool-and-deploy-the-api-using-kubernetes-client" target="_blank">Generate APK Configuration File</a> to generate APK configuration files.
26 changes: 13 additions & 13 deletions en/docs/api-management-overview/tools-for-api-development.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
WSO2 APK provides a set of REST APIs and tools to streamline the API development process. These APIs/tools are designed for API developers to create APIs, mock APIs, and test APIs and deploying APIs to a Kubernetes cluster.

APK offers a suite of developer tools to streamline the API development process further.
WSO2 APK provides a set of REST APIs and tools to streamline the API development process. These APIs/tools are designed for API developers to create, mock, test and deploy APIs to a Kubernetes cluster.

## APK Tools for Enhanced API Development

Expand All @@ -10,21 +8,23 @@ APK offers a suite of developer tools to streamline the API development process

- <b>APK Config language support VSCode Plugin</b>

VSCode plugin provides an intuitive interface for writing APK Conf files, reducing the learning curve for developers. For more details, refer to the section on [Enhance Configuration with APK Config Language Support](../../api-management-overview/apk-conf-lang-support/)
The VSCode plugin provides an intuitive interface for writing APK Conf files, reducing the learning curve for developers. For more details, refer to the section on <a href="../../api-management-overview/apk-conf-lang-support" target="_blank">Enhance Configuration with APK Config Language Support</a>.

- <b><a href="../../catalogs/api-reference-config-generator" target="_blank">Config Generator</a></b>

- <b>Config Generator</b>
Provides a REST API to

- Provide REST API to automatically generates APK Configuration file from the provided OAS definition
- Provide REST API to generate the CR set required for your APIs using APK Configuration file.
- automatically generate APK Configuration file from the provided OAS definition
- generate the Kubernetes custom resources required for your APIs using the APK Configuration file.

- <b>Config Deployer</b>
- <b><a href="../../catalogs/api-reference-config-deployer" target="_blank">Config Deployer</a></b>

Provide REST API to create and deploy CRs to the Kubernetes server using APK configuration file, saving time and effort during the deployment process.
Provides a REST API to create and deploy CRs to the Kubernetes server using APK configuration file, saving time and effort during the deployment process.

## Deploy/Undeploy APIs using APK Tools

Learn how to efficiently create and deploy APIs using our developer-friendly tools and resources.
These sections will guide you through the entire process, from API creation to deployment, then un-deployment ensuring you can easily bring your APIs to life.
The following sections will guide you through the entire process, from API creation to deployment, then un-deployment ensuring you can easily bring your APIs to life.

### Step 1 - Generate APK Configuration File

Expand All @@ -35,7 +35,7 @@ Generating an APK Configuration file is a crucial step in setting up your API us

### Step 2 (optional) - Create or Update Configuration

To streamline the configuration process, APK offers the `APK Config Language Support` Visual Studio Code (VS Code) extension. This dynamic extension simplifies customization by offering syntax highlighting, auto-completion, validation and error checking for your APK configuration YAML files.
To streamline the configuration process, APK offers 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>. This dynamic extension simplifies customization by offering syntax highlighting, auto-completion, validation and error checking for your APK configuration YAML files.

By incorporating the `APK Config Language Support` extension, you can enhance your configuration workflow within Visual Studio Code. This extension enables you to take advantage of smart features, which in turn improve the efficiency and precision of your configuration tasks.

Expand All @@ -46,7 +46,7 @@ By incorporating the `APK Config Language Support` extension, you can enhance yo
The Config Deployer streamlines the API deployment process by generating and applying CRs in a single step. With this option, you can use the Config Deployer to automatically generate the necessary CR configurations for your APIs and apply the generated CRs directly to your Kubernetes API server for rapid deployment. You can deploy the API directly into APK using API Schema definition and APK configuration file using the REST API.

!!! note
To optimize the configuration process, APK presents a VS Code plugin designed to offer syntax highlighting and intelligent suggestions. This plugin simplifies the incorporation of rate limitations, new resources, and security configurations into your API. Adapt the contents of the APK Configuration file as needed. For further details, refer to the section on [Enhance Configuration with APK Config Language Support](../../api-management-overview/apk-conf-lang-support/)
To optimize the configuration process, APK presents a VS Code plugin designed to offer syntax highlighting and intelligent suggestions. This plugin simplifies the incorporation of rate limitations, new resources, and security configurations into your API. Adapt the contents of the APK Configuration file as needed. For further details, refer to the section on <a href="../../api-management-overview/apk-conf-lang-support" target="_blank">Enhance Configuration with APK Config Language Support</a>.

#### Option 2 - Generate K8s custom resources using config generator tool and Deploy the API using Kubernetes Client

Expand All @@ -59,7 +59,7 @@ By invoking the Configuration Service, you can generate Kubernetes artifacts spe

You can generate K8s resources as a zip file from config-deployer service and apply it to the deployment through a CI/CD pipeline using kubectl.

You can follow steps and samples mentioned in [Deploy a REST API via APK REST API]({{base_path}}/en/latest/create-api/create-and-deploy-apis/rest/create-rest-api-using-rest-api/) to test out the above flows.
You can follow steps and samples mentioned in <a href="../../create-api/create-and-deploy-apis/rest/create-rest-api-using-rest-api" target="_blank">Deploy a REST API via APK REST API</a> to test out the above flows.

### Step 5 - Undeploy API

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
!!! Important If you are expecting a high scale of subscriptions and applications in your deployment
The database storage option is offered in APK for deployments with a high number of subscriptions and applications, especially for enterprise use cases. Because, by default, subscription and application-related data are stored as CRs (Custom Resources) in etcd. However, as the number of subscriptions and applications increases, it can lead to overutilization of etcd memory, subsequently degrading the performance of your API gateway. This degradation can impact the deployment, undeployment, and update times ultimately affecting the reliability of applications and subscriptions.

By opting for the database option offered in APK for deployments with high numbers of subscriptions and applications, you can mitigate issues related to etcd storage, such as memory overutilization and performance degradation. This ensures smoother deployment, undeployment, and update processes, ultimately enhancing the reliability of your applications and subscriptions. For further information and assistance, please contact our sales team [https://wso2.com/contact/?ref=consulting](https://wso2.com/contact/?ref=consulting).
By opting for the database option offered in APK for deployments with high numbers of subscriptions and applications, you can mitigate issues related to etcd storage, such as memory overutilization and performance degradation. This ensures smoother deployment, undeployment, and update processes, ultimately enhancing the reliability of your applications and subscriptions. For further information and assistance, please contact our sales team <a href="https://wso2.com/contact/?ref=consulting" target="_blank">https://wso2.com/contact/?ref=consulting</a>.
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
!!! Important If you are expecting a high scale of subscriptions and applications in your deployment
The database storage option is offered in APK for deployments with a high number of subscriptions and applications, especially for enterprise use cases. Because, by default, subscription and application-related data are stored as CRs (Custom Resources) in etcd. However, as the number of subscriptions and applications increases, it can lead to overutilization of etcd memory, subsequently degrading the performance of your API gateway. This degradation can impact the deployment, undeployment, and update times ultimately affecting the reliability of applications and subscriptions.

By opting for the database option offered in APK for deployments with high numbers of subscriptions and applications, you can mitigate issues related to etcd storage, such as memory overutilization and performance degradation. This ensures smoother deployment, undeployment, and update processes, ultimately enhancing the reliability of your applications and subscriptions. For further information and assistance, please contact our sales team [https://wso2.com/contact/?ref=consulting](https://wso2.com/contact/?ref=consulting).
By opting for the database option offered in APK for deployments with high numbers of subscriptions and applications, you can mitigate issues related to etcd storage, such as memory overutilization and performance degradation. This ensures smoother deployment, undeployment, and update processes, ultimately enhancing the reliability of your applications and subscriptions. For further information and assistance, please contact our sales team <a href="https://wso2.com/contact/?ref=consulting" target="_blank">https://wso2.com/contact/?ref=consulting</a>.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Backend JWT Manipulation Policy via CRs

You need to create an `APIPolicy` with referencing to a `BackendJWT` resource under `override` or `default` sections in `APIPolicy.spec`. Then you need to create the `BackendJWT` custom resource with required properties. This policy can be used on both the `SYSTEM_API` and non system APIs separately. To find more information about backend JWT generation, please refer to the [Passing End User Attributes to the Backend](https://apim.docs.wso2.com/en/latest/deploy-and-publish/deploy-on-gateway/choreo-connect/passing-enduser-attributes-to-the-backend-via-choreo-connect/#enabling-the-default-backend-jwt-generator).
You need to create an `APIPolicy` with referencing to a `BackendJWT` resource under `override` or `default` sections in `APIPolicy.spec`. Then you need to create the `BackendJWT` custom resource with required properties. This policy can be used on both the system and non system APIs separately.

## Step 1 - Create the CRs

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
# Backend JWT Manipulation Policy via APK Conf

### Before you begin
### Step 1 - Get the API configuration

- [Create an API](../../../get-started/quick-start-guide.md)
Save the following content into a file named `TestBackendJWT.apk-conf`. You can use this apk-conf file for the rest of this guide.

### Step 1 - Retrieve existing API configuration

Here, you can use the apk-conf file which is created in [Create an API](../../../get-started/quick-start-guide.md) documentation and save this content into a file named `EmployeeService.apk-conf`.
```
name: "test-backend-jwt"
basePath: "/backend-jwt"
version: "1.0"
type: "REST"
defaultVersion: false
endpointConfigurations:
production:
endpoint: "https://httpbin.org/anything"
operations:
- target: "/test"
verb: "GET"
secured: true
scopes: []
```

### Step 2 - Add the API Policy for Backend JWT

Expand Down Expand Up @@ -70,11 +82,11 @@ apiPolicies:
```
### Step 3 - Deploy the API in APK

Refer to the [Deploy the API in APK](../../../get-started/quick-start-guide.md#deploy-the-api-in-apk) to deploy the API using APK configuration.
Refer to the <a href="../../../../get-started/quick-start-guide#deploy-the-api-in-apk" target="_blank">Deploy the API</a> to deploy the API using APK configuration.

### Step 4 - Generate an Acess Token

Follow the [Generate Access Token](../../../develop-and-deploy-api/security/generate-access-token.md) documentation to generate an access token.
Follow the <a href="../../../../develop-and-deploy-api/security/generate-access-token" target="_blank">Generate Access Token</a> documentation to generate an access token.

### Step 5 - Invoke the API

Expand All @@ -86,7 +98,7 @@ curl --location 'https://default.gw.wso2.com:9095/backend-jwt/1.0/test' \
--header 'Authorization: Bearer <accessToken>
```

Since this guide uses the [httpbin service](https://httpbin.org/anything) which echoes the request and all of its headers, when you invoke the API, you will see a response similar to the following. The header "X-Jwt-Assertion" contains the JWT generated containing the claims.
Since this guide uses the <a href="https://httpbin.org/anything" target="_blank">httpbin service</a> which echoes the request and all of its headers,you will see a response similar to the following when you invoke the API. The header "X-Jwt-Assertion" contains the generated JWT containing the claims.

```
"headers": {
Expand Down
Loading

0 comments on commit d483fd4

Please sign in to comment.