From 29d89a6bb32fa7e526160e05d7a09935433878fe Mon Sep 17 00:00:00 2001 From: sgayangi Date: Fri, 1 Nov 2024 09:47:03 +0530 Subject: [PATCH] Add apk conf catalog update --- en/docs/catalogs/apk-conf.md | 228 +++++++++++++++++++++++------------ en/mkdocs.yml | 6 +- 2 files changed, 153 insertions(+), 81 deletions(-) diff --git a/en/docs/catalogs/apk-conf.md b/en/docs/catalogs/apk-conf.md index 7f5f0ead7..b8b86bc61 100644 --- a/en/docs/catalogs/apk-conf.md +++ b/en/docs/catalogs/apk-conf.md @@ -1,88 +1,160 @@ This document serves as a comprehensive guide, detailing all the parameters relevant to the apk-conf file within WSO2 APK -| Field | Type | Description | -|----------------------|---------|--------------------------------------------------------------------| -| id | string | UUID of the API | -| name | string | Name of the API (1-60 characters, no special characters) | -| basePath | string | Base Path of the API (1-256 characters) | -| version | string | Version of the API (1-30 characters, no special characters) | -| type | string | Type of the API (REST, GraphQL, GRPC) | -| definitionPath | string | Endpoint to expose API Definition | -| defaultVersion | boolean | Is this the default version of the API | -| endpointConfigurations | object | Configuration for different endpoints of the API | -| operations | array | Operations supported by the API | -| apiPolicies | object | Policies applied to API-level operations | -| rateLimit | object | Rate limiting configuration for the API | -| authentication | array | Authentication types for the API | -| additionalProperties | array | Map of custom properties of the API | -| corsConfiguration | object | Cross-Origin Resource Sharing (CORS) configuration for the API | +| Field Name | Type | Description | +| ---------------------- | ---------------------- | ----------------------------------------------------------- | +| id | string | UUID of the API (readOnly: true) | +| name | string | (1-60 characters, no special characters) | +| basePath | string | Base Path of the API (1-256 characters) | +| version | string | Version of the API (1-30 characters, no special characters) | +| type | string | Type of the API (REST, GraphQL, GRPC) | +| definitionPath | string | Endpoint to expose API definition file. | +| defaultVersion | boolean | Is this the default version of the API? | +| subscriptionValidation | boolean | Is subscription validation enabled for the API? | +| environment | string | Environment of the API. | +| endpointConfigurations | EndpointConfigurations | Configurations for the API endpoints. | +| aiProvider | AIProvider | AI Provider for the API. | +| operations | array | Operations supported by the API | +| apiPolicies | APIOperationPolicies | Policies applied to the API level. | +| rateLimit | RateLimit | Configuration for rate limiting of API calls. | +| authentication | array | Authentication types for the API | +| additionalProperties | array | Map of custom properties of the API. | +| corsConfiguration | CORSConfiguration | Configuration for CORS (Cross-Origin Resource Sharing). | **schemas:** -| Schema | Type | Description | -|----------------------|---------|--------------------------------------------------------------------| -| Authentication | object | Authentication settings for the API | -| CORSConfiguration | object | CORS configuration for the API | -| APIOperationPolicies | object | Policies applied to API-level operations | -| APKOperationPolicy | object | API Operation Policy | -| RateLimit | object | API Rate Limit Details | -| EndpointConfigurations | object | Endpoint Configurations | -| EndpointConfiguration | object | Endpoint Configuration | -| Certificate | object | Certificate information for secure communication | -| EndpointSecurity | object | Security configuration for the API endpoint | -| BasicEndpointSecurity | object | Basic Authentication security settings for the API endpoint | -| Resiliency | object | Endpoint resiliency related configurations of the API | -| CircuitBreaker | object | Circuit Breaker configuration for the API endpoint | -| Timeout | object | Timeout settings for the API endpoint | -| RetryPolicy | object | Retry Policy settings for the API endpoint | -| APKOperations | object | API Operation | -| K8sService | object | Kubernetes Service information for the API endpoint | -| InterceptorProperties | object | Interceptor Parameters | -| BackendJWTProperties | object | Backend JWT Parameters | -| CustomClaims | object | Custom Claims for JWT authentication | +| Schema | Type | Description | +| ---------------------- | ------ | ------------------------------------------- | +| Authentication | object | Authentication settings for the API | +| CORSConfiguration | object | CORS configuration for the API | +| APIOperationPolicies | object | Policies applied to API-level operations | +| APKOperationPolicy | object | API Operation Policy | +| RateLimit | object | API Rate Limit Details | +| AIProvider | object | Configuration for AI provider integrations | +| EndpointConfigurations | object | Configuration of API endpoints | +| Certificate | object | SSL/TLS certificate details | +| BasicEndpointSecurity | object | Basic authentication settings for endpoints | +| APIKeyEndpointSecurity | object | API key settings for endpoint security | +| Resiliency | object | Resiliency configuration for API | +| Timeout | object | Timeout settings for API calls | +| RetryPolicy | object | Retry policy for failed API calls | +| APKOperations | object | List of operations provided by the API | +| K8sService | object | Kubernetes service configuration | +| InterceptorPolicy | object | Policy for request/response interception | +| BackendJWTPolicy | object | Configuration for backend JWT generation | +| HeaderModifierPolicy | object | Policy for modifying request headers | +| RequestMirror | object | Configuration for mirroring requests | +| RequestRedirect | object | Configuration for redirecting requests | -| **Object** | **Property** | **Type** | **Description** | -|---------------------|----------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------| -| Resiliency | timeout | Timeout | Defines timeout-related configurations. | -| | retryPolicy | RetryPolicy | Defines retry-related configurations. | -| | circuitBreaker | CircuitBreaker | Defines circuit breaker-related configurations. | -| CircuitBreaker | maxConnectionPools | integer | The maximum number of connection pools. | -| | maxConnections | integer | The maximum number of connections. | -| | maxPendingRequests | integer | The maximum number of pending requests. | -| | maxRequests | integer | The maximum number of requests. | -| | maxRetries | integer | The maximum number of retries. | -| Timeout | downstreamRequestIdleTimeout | integer | The idle timeout for downstream requests in milliseconds. | -| | upstreamResponseTimeout | integer | The response timeout for upstream requests in milliseconds. | -| RetryPolicy | count | integer | The number of retry attempts. | -| | baseIntervalMillis | integer | The base interval between retry attempts in milliseconds. | -| | statusCodes | array of integers | An array of HTTP status codes to trigger retries. | -| APKOperations | target | string | The target of the operation, e.g., "/order/{orderId}". | -| | verb | string | The HTTP verb of the operation, e.g., "POST". | -| | secured | boolean | Authentication mode for the resource (true/false). | -| | endpointConfigurations | $ref | Reference to endpoint configurations. | -| | operationPolicies | $ref | Reference to operation policies. | -| | rateLimit | $ref | Reference to rate limiting configuration. | -| | scopes | array of strings | An array of scope strings. | -| K8sService | name | string | The name of the Kubernetes service, e.g., "pizzashack-service". | -| | namespace | string | The Kubernetes namespace where the service is deployed, e.g., "apk-platform". | -| | port | integer | The port number on which the service is exposed, e.g., 8080. | -| | protocol | string | The protocol used by the service, e.g., "http". | -| InterceptorProperties | backendUrl | string | The URL of the backend service. | -| | headersEnabled | boolean | Specifies whether headers are enabled. | -| | bodyEnabled | boolean | Specifies whether the request body is enabled. | -| | trailersEnabled | boolean | Specifies whether trailers are enabled. | -| | contextEnabled | boolean | Specifies whether context is enabled. | -| | tlsSecretName | string | The name of the secret containing TLS configuration. | -| | tlsSecretKey | string | The key within the secret that holds TLS configuration. | -| BackendJWTProperties | encoding | string | The encoding type. | -| | signingAlgorithm | string | The signing algorithm. | -| | header | string | The header. | -| | tokenTTL | integer | The token time-to-live (TTL) in milliseconds. | -| | customClaims | array of CustomClaims | An array of custom claims. | -| CustomClaims | claim | string | The claim name. | -| | value | string | The claim value. | -| | type | string | The claim type. | +| **Object** | **Property** | **Type** | **Description** | +| ---------------------- | ---------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------- | +| Resiliency | timeout | Timeout | Defines timeout-related configurations. | +| | retryPolicy | RetryPolicy | Defines retry-related configurations. | +| | circuitBreaker | CircuitBreaker | Defines circuit breaker-related configurations. | +| CircuitBreaker | maxConnectionPools | integer | The maximum number of connection pools. | +| | maxConnections | integer | The maximum number of connections. | +| | maxPendingRequests | integer | The maximum number of pending requests. | +| | maxRequests | integer | The maximum number of requests. | +| | maxRetries | integer | The maximum number of retries. | +| Timeout | downstreamRequestIdleTimeout | integer | The idle timeout for downstream requests in milliseconds. | +| | upstreamResponseTimeout | integer | The response timeout for upstream requests in milliseconds. | +| RetryPolicy | count | integer | The number of retry attempts. | +| | baseIntervalMillis | integer | The base interval between retry attempts in milliseconds. | +| | statusCodes | array of integers | An array of HTTP status codes to trigger retries. | +| APKOperations | target | string | The target of the operation, e.g., "/order/{orderId}". | +| | verb | string | The HTTP verb of the operation, e.g., "POST". | +| | secured | boolean | Authentication mode for the resource (true/false). | +| | endpointConfigurations | EndpointConfigurations | Configurations for the production and sandbox endpoints. | +| | operationPolicies | array of APIOperationPolicies | Configurations for the operation policies. | +| | rateLimit | RateLimit | Configurations for rate limiting. | +| | scopes | array of strings | An array of scope strings. | +| RateLimit | requestsPerUnit | integer | The number of requests allowed per specified unit of time. | +| | unit | string | The unit of time for rate limiting. Values: "Hour", "Minute", "Day". | +| InterceptorProperties | backendUrl | string | The URL of the backend service. | +| | headersEnabled | boolean | Specifies whether headers are enabled. | +| | bodyEnabled | boolean | Specifies whether the request body is enabled. | +| | trailersEnabled | boolean | Specifies whether trailers are enabled. | +| | contextEnabled | boolean | Specifies whether context is enabled. | +| | tlsSecretName | string | The name of the secret containing TLS configuration. | +| | tlsSecretKey | string | The key within the secret that holds TLS configuration. | +| BackendJWTProperties | encoding | string | The encoding type. | +| | signingAlgorithm | string | The signing algorithm. | +| | header | string | The header. | +| | tokenTTL | integer | The token time-to-live (TTL) in milliseconds. | +| | customClaims | array of CustomClaims | An array of custom claims. | +| CustomClaims | claim | string | The claim name. | +| | value | string | The claim value. | +| | type | string | The claim type. | +| RequestMirror | target | string | Specifies the target to which requests should be mirrored. | +| RequestRedirect | scheme | string | Defines the scheme for the redirection (e.g., "https"). | +| | hostname | string | The hostname for the redirect. | +| | port | integer | The port for the redirect. | +| | path | string | The path for the redirect. | +| | statusCode | integer | The HTTP status code for the redirect. | +| HeaderModifier | addHeaders | map of string | Headers to add to the request. | +| | removeHeaders | array of strings | Headers to remove from the request. | +| | setHeaders | map of string | Headers to set or replace in the request. | +| AIProvider | name | string | Name of the AI provider. | +| | apiVersion | string | The version of the AI provider. | +| Authentication | | array | An array containing configurations for the authentication types. | +| OAuth2Authentication | required | enum | Describes whether OAuth2 is "mandatory" or "optional". | +| | enabled | boolean | Whether this type of authentication is enabled for this API or not. | +| | authType | string | Type of authentication. For OAuth2, the value is "OAuth2" | +| | sendTokenToUpstream | boolean | Whether to pass the token to the upstream or not. | +| | headerEnable | boolean | Whether sending OAuth2 token in the header is enabled. | +| | headerName | boolean | Name of the OAuth2 header. | +| APIKeyAuthentication | required | enum | Describes whether APIKey authentication is "mandatory" or "optional". | +| | enabled | boolean | Whether this type of authentication is enabled for this API or not. | +| | authType | string | Type of authentication. For APIKey, the value is "APIKey" | +| | sendTokenToUpstream | boolean | Whether to pass the token to the upstream or not. | +| | headerEnable | boolean | Whether sending APIKey token in the header is enabled. | +| | headerName | boolean | Name of the APIKey header. | +| | queryParamEnable | boolean | Whether sending API key as a query param is enabled. | +| | queryParamName | boolean | Name of the API key query param. | +| MTLSAuthentication | required | enum | Describes whether mTLS authentication is "mandatory" or "optional". | +| | authType | string | Type of authentication. For mTLS, the value is "mTLS" | +| | enabled | boolean | Whether this type of authentication is enabled for this API or not. | +| | certificates | array of MTLSCertificates | The names and keys of the config maps containing the mTLS certificates for the API | +| MTLSCertificates | name | string | Name of the configmap containing the mTLS certificate. | +| | key | string | The key of the mTLS certificate containing the configmap. | +| JWTAuthentication | required | enum | Describes whether OAuth2 is "mandatory" or "optional". | +| | authType | string | Type of authentication. For JWT, the value is "JWT" | +| | sendTokenToUpstream | boolean | Whether to pass the token to the upstream or not. | +| | enabled | boolean | Whether this type of authentication is enabled for this API or not. | +| | headerEnable | boolean | Whether sending JWT token in the header is enabled. | +| | headerName | boolean | Name of the JWT header. | +| | queryParamEnable | boolean | Whether sending JWT token as a query param is enabled. | +| | queryParamName | boolean | Name of the JWT query param. | +| | audience | array of string | The list of audiences to be validated in the JWT. | +| EndpointConfigurations | production | EndpointConfiguration | Configuration of the production endpoint. | +| | sandbox | EndpointConfiguration | Configuration of the sandbox endpoint. | +| EndpointConfiguration | endpoint | string/K8sService | Configuration of the endpoint. | +| | endpointSecurity | BasicEndpointSecurity/APIKeyEndpointSecurity | Security configuration for the API endpoint. | +| | certificate | Certificate | Certificate information for secure communication. | +| | resiliency | Resiliency | Resiliency configuration for the API endpoint. | +| | aiRatelimit | AIRateLimit | AI ratelimit configuration for the API endpoint. | +| K8sService | name | string | The name of the Kubernetes service, e.g., "pizzashack-service". | +| | namespace | string | The Kubernetes namespace where the service is deployed, e.g., "apk-platform". | +| | port | integer | The port number on which the service is exposed, e.g., 8080. | +| | protocol | string | The protocol used by the service, e.g., "http". | +| BasicEndpointSecurity | secretName | string | The name of the secret containing the credentials for basic authentication. | +| | userNameKey | string | The key within the secret that holds the username for basic authentication. | +| | passwordKey | string | The key within the secret that holds the password for basic authentication. | +| APIKeyEndpointSecurity | secretName | string | The name of the secret containing the certificate. | +| | in | enum | The location of the API key in the request. | +| | apiKeyNameKey | string | The name of key in the request. | +| | apiKeyValueKey | string | The value of key in the request. | +| Certificate | secretName | string | The name of the secret containing the certificate. | +| | secretKey | enum | The key within the secret that holds the certificate. | +| AIRateLimit | enabled | boolean | States whether the AI ratelimit is turned on or not | +| | token | TokenAIRL | Token limits configuration for AI rate limiting | +| | request | RequestAIRL | Request limits configuration for AI rate limiting | +| TokenAIRL | promptLimit | integer | States whether the AI ratelimit is turned on or not | +| | completionLimit | integer | Limit for completions within the specified unit | +| | totalLimit | integer | Total limit combining prompt and completion counts | +| | unit | enum | The time unit for the rate limits. Values: "Minute", "Hour" and "Day" | +| RequestAIRL | requestLimit | integer | Limit for requests within the specified unit | +| | unit | enum | The time unit for the rate limits. Values: "Minute", "Hour" and "Day" | **Notes:** diff --git a/en/mkdocs.yml b/en/mkdocs.yml index 44e5e8963..caf581eb9 100644 --- a/en/mkdocs.yml +++ b/en/mkdocs.yml @@ -251,15 +251,15 @@ nav: # - API Level: catalogs/ratelimit-api.md # - Resource Level: catalogs/ratelimit-resource.md # - Custom: catalogs/ratelimit-custom.md - - API Catalog: - - Overview - API Catalog: catalogs/api-catalog.md + - Product API Catalog: + - Overview - Product API Catalog: catalogs/api-catalog.md # - Back Office APIs: catalogs/api-reference-back-office.md - Config Deployer APIs: catalogs/api-reference-config-deployer.md - Config Generator APIs: catalogs/api-reference-config-generator.md # - Developer Portal APIs: catalogs/api-reference-developer-portal.md # - Admin APIs: catalogs/api-reference-admin.md - Helm Configuration Catalog: catalogs/config-catalog.md - - API Configuration Catalog: catalogs/apk-conf.md + - APK Conf Catalog: catalogs/apk-conf.md # - CLI Catalog: catalogs/cli-reference.md # - Helm Catalog: catalogs/config-catalog.md - Setup: