bisakhmondal commented on a change in pull request #5594:
URL: https://github.com/apache/apisix/pull/5594#discussion_r758428555



##########
File path: docs/en/latest/plugins/aws-lambda.md
##########
@@ -0,0 +1,156 @@
+---
+title: aws-lambda
+---
+
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+## Summary
+
+- [Summary](#summary)
+- [Name](#name)
+- [Attributes](#attributes)
+  - [IAM Authorization Schema](#iam-authorization-schema)
+- [How To Enable](#how-to-enable)
+- [Disable Plugin](#disable-plugin)
+
+## Name
+
+`aws-lambda` is a serverless plugin built into Apache APISIX for seamless 
integration with [AWS Lambda](https://aws.amazon.com/lambda/), a widely used 
serverless solution, as a dynamic upstream to proxy all requests for a 
particular URI to the AWS cloud - one of the highly used public cloud platforms 
for production environment. If enabled, this plugin terminates the ongoing 
request to that particular URI and initiates a new request to the aws lambda 
gateway uri (the new upstream) on behalf of the client with the suitable 
authorization details set by the users, request headers, request body, params ( 
all these three components are passed from the original request ) and returns 
the response body, status code and the headers back to the original client that 
has invoked the request to the APISIX agent.
+At present, the plugin supports authorization via aws api key and aws IAM 
Secrets.
+
+## Attributes
+
+| Name             | Type   | Requirement  | Default      | Valid       | 
Description                                                                     
           |
+| -----------      | ------ | -----------  | -------      | -----       | 
------------------------------------------------------------                    
           |
+| function_uri      | string | required    |          |   | The aws api 
gateway endpoint which triggers the lambda serverless function code.   |
+| authorization   | object | optional    |         |     |  Authorization 
credentials to access the cloud function.                                       
                      |
+| authorization.apikey | string | optional    |             |     | Field 
inside _authorization_. The generate API Key to authorize requests to that 
endpoint of the aws gateway. |                         |
+| authorization.iam | object | optional    |             |     | Field inside 
_authorization_. AWS IAM role based authorization, performed via aws v4 request 
signing. See schema details below ([here](#iam-authorization-schema)). |        
                 |
+| timeout  | integer | optional    | 3000           | [100,...]     | Proxy 
request timeout in milliseconds.   |
+| ssl_verify  | boolean | optional    | true           | true/false     | If 
enabled performs SSL verification of the server.                     |

Review comment:
       If it is generated from any trusted public CA, we don't have to specify 
the certificate of the CA as along the hierarchy chain eventually it will point 
to the root CA. But that's not the case with self signed certs. In that case, 
simply `ssl_verify:false` will do or there is an option to specify the CA 
certificate file. see ref below
   > The optional ssl_verify argument takes a Lua boolean value to control 
whether to perform SSL verification. When set to true, the server certificate 
will be verified according to the CA certificates specified by the 
lua_ssl_trusted_certificate directive. You may also need to adjust the 
lua_ssl_verify_depth directive to control how deep we should follow along the 
certificate chain. Also, when the ssl_verify argument is true and the 
server_name argument is also specified, the latter will be used to validate the 
server name in the server certificate.
   
   ref2: 
https://github.com/openresty/lua-nginx-module#lua_ssl_trusted_certificate




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to