hi, You are very welcome to join the Apache APISIX community. Before you edit the email and send it, I hope you can make sure that the format of the email is readable. The format of the mail is very bad for me, I found it in the trash. So your email may not be seen by everyone, so can you re-edit your email and make it appear properly?
—— Thanks, Shirui Zhao > 2022年7月5日 15:51,CongwangLi <lcw769193...@163.com> 写道: > > > > Hello everyone, my name is CongwangLi and I am an Open Source Promotion Plan > 2022 student working with ZhangChao(tokers). > Background: > > OpenFunction is a cloud-native open source FaaS (Function as a Service) > platform aiming to let you focus on your business logic without having to > maintain the underlying runtime environment and infrastructure. > > OpenFunction features include: > > Cloud agnostic and decoupled with cloud providers' BaaS > Pluggable architecture that allows multiple function runtimes > Support both sync and async functions > Unique async functions support that can consume events directly from event > sources > Support generating OCI-Compliant container images directly from function > source code. > Flexible autoscaling between 0 and N > Advanced async function autoscaling based on event sources' specific metrics > Simplified BaaS integration for both sync and async functions by introducing > Dapr > Advanced function ingress & traffic management powered by K8s Gateway API (In > Progress) > Flexible and easy-to-use events management framework > Implementation design > > > > 1. Objectives > > Supports using functions in OpenFunction as routing "upstream" via plugins to > enable access to Faas functions. > > 2. name > > The plugin is named openfunction, and the priority is -1902, ranking after > openwhisk > > > > 3. Test Environment > > > > Prepare the kubernetes environment, download OFN, the CLI of openfunction and > execute the following command > > ofn install --all > > Then run openfunction samples according to the official documentation. > > 4. Authentication > > At present, openfunction provides two function entries, one is advanced > function ingress & Traffic Management powered by k8s gateway API (in > progress) which has many authentication methods vary from different > implementations. The other is the default gateway > kourier(https://github.com/knative-sandbox/net-kourier) that supports > external auth. > > Therefore, I think basic auth can be a default authentication method for most > of k8s gateways. > > > > 5. parameters > | > > Name > > | > > Type > > | > > Required > > | > > Default > > | > > Valid Values > > | > > Description > > | > | > > function_Url > > | > > String > > | > > True > > | > > > > | > > > > | > > > > | > | > > ssl_verify > > | > > Boolean > > | > > Fales > > | > > True > > | > > > > | > > > > | > | > > service_token > > | > > String > > | > > False > > | > > > > | > > > > | > > Since openfunction does not require authentication, the token parameter is > optional. > > | > | > > timeout > > | > > Integer > > | > > 60000ms > > | > > > > | > > > > | > > > > | > | > > keepalive > > | > > Boolean > > | > > False > > | > > > > | > > > > | > > > > | > | > > keepalive_timeout > > | > > Integer > > | > > 60000ms > > | > > > > | > > > > | > > > > | > | > > keepalive_pool > > | > > Integer > > | > > 5 > > | > > > > | > > > > | > > > > | > 6. example > | > > curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: > edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' > > { > > "plugins": { > > "openfunction": { > > "function_uri": > "http://localhost:30585/default/function-sample/world", > > "service_token": “foo:foo123” > > } > > }, > > "uri": "/gohello" > > }' > > > > | > > | > POST http://localhost:30585/default/function-sample/world > Authentication: Basic xxxxx > > {"payload":"Hello, world!"} > | > > > > > I would like to hear everyone's comments. Thanks! > > Best, > > CongwangLi > >