Hi Harsha/Anuruddha, What do we store in *gateway_config.yaml*? Are those Kubernetes resources such as services, deployments,etc?
Thank you! On Mon, May 28, 2018 at 9:32 AM Sanjeewa Malalgoda <sanje...@wso2.com> wrote: > > > On Mon, May 28, 2018 at 6:10 PM, Lakmal Warusawithana <lak...@wso2.com> > wrote: > >> >> On Mon, May 28, 2018 at 5:57 PM Rajith Roshan <raji...@wso2.com> wrote: >> >>> I think we have to decide whether we are going to allow users to edit >>> generated bal files. If so then they can write some custom logic and >>> generate the balx files. If we are not allowing them to edit bal files then >>> micro gw will be only pass through with some filters. >>> >> >> I thought we already in agreement of shipping only proxy capability in >> this release. >> > Yes, lets keep this simple for this release and improve it in future. > >> >> >>> On Mon, May 28, 2018 at 5:30 PM Isuru Haththotuwa <isu...@wso2.com> >>> wrote: >>> >>>> >>>> >>>> On Mon, May 28, 2018 at 5:03 PM, Sanjeewa Malalgoda <sanje...@wso2.com> >>>> wrote: >>>> >>>>> >>>>> >>>>> On Mon, May 28, 2018 at 3:23 PM, Harsha Kumara <hars...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> We are working on releasing a ballerina based micro gateway with APIM >>>>>> 2.5.0. We are providing are Cli Tool which allow users to generate >>>>>> ballerina executables and runtime archives based on provided >>>>>> configurations. >>>>>> >>>>>> High Level Architecture >>>>>> [image: image.png] >>>>>> >>>>>> *Micro gateway distribution structure* >>>>>> >>>>>> micro-gw >>>>>> ├── bin >>>>>> │ ├── micro-gw.bat >>>>>> │ └── micro-gw.sh >>>>>> ├── lib >>>>>> │ └── ballerina-0.970.0 >>>>>> ├── temp >>>>>> │ └── path.txt >>>>>> └── templates >>>>>> ├── api.mustache >>>>>> ├── config.mustache >>>>>> └── gateway_config.mustache >>>>>> └── policy_template.mustache >>>>>> >>>>>> >>>>>> *Core Cli Commands* >>>>>> >>>>>> - *micro-gw setup/init (with inputs username, label name and >>>>>> password(*optional >>>>>> *)) * >>>>>> - This command will create basic project structure. Initially >>>>>> consumer key and secret will be generated by taking user inputs and >>>>>> retrieve the api definitions of given label type in the argument. >>>>>> If user >>>>>> provides new label, there will be new directory structure for that >>>>>> label >>>>>> will be created under projects directory. >>>>>> - *projects* directory contains directories for each label and >>>>>> ballerina source file will be created for each API under >>>>>> particular label >>>>>> - *config.yaml* contains configurations related to publisher, >>>>>> key manager connections, consumer key and secret which are common >>>>>> across >>>>>> all labels >>>>>> - *gateway_config.yaml* contains configurations specific to >>>>>> labels such as docker/kubernetes >>>>>> >>>>>> Shouldn't we provide publisher URL along with this command? If >>>>> publisher is hosted server and micro gateway runs within local machine >>>>> then >>>>> we may need to point to that publisher(something similar to current micro >>>>> gateway scenario). >>>>> >>>> The init/setup command will only create the project structure. >>>> Communicating with the Publisher, pulling the API definition and building >>>> the corresponding .balx file & the runnable distribution happens with the >>>> build command. >>>> >>>>> >>>>>> >>>>>> * Generated Project Structure* >>>>>> >>>>>> micro-gw-resources >>>>>> >>>>>> ├── conf >>>>>> >>>>>> │ └── config.yaml >>>>>> >>>>>> └── projects (folder name is same as label name) >>>>>> >>>>>> ├── accounts >>>>>> >>>>>> │ ├── src >>>>>> >>>>>> │ │ ├── companyAccounts_v1.0.0.bal >>>>>> >>>>>> │ │ └── salesforce_v1.0.0.bal >>>>>> >>>>>> │ └── target >>>>>> >>>>>> │ ├── accounts.balx >>>>>> >>>>>> │ └── accounts.zip >>>>>> >>>>>> ├── finance >>>>>> >>>>>> │ ├── src >>>>>> >>>>>> │ │ ├── invoices_v2.0.0.bal >>>>>> >>>>>> │ │ └── payments_v2.1.0.bal >>>>>> >>>>>> │ └── target >>>>>> >>>>>> │ ├── finance.balx >>>>>> >>>>>> │ └── finance.zip >>>>>> >>>>>> ├── gateway-config >>>>>> >>>>>> │ └── gateway-config.yaml >>>>>> >>>>>> └── sales >>>>>> >>>>>> ├── src >>>>>> >>>>>> │ ├── customers_v3.0.0.bal >>>>>> >>>>>> │ └── leads_v4.0.0.bal >>>>>> >>>>>> └── target >>>>>> >>>>>> ├── sales.balx >>>>>> >>>>>> └── sales.zip >>>>>> >>>>>> I think we can directly point this directory to composer and >>>>> implement some custom mediation logic there. In case synapse API have its >>>>> own mediation sequence which we cannot directly translate to ballerina. >>>>> >>>> This would be a limitation. Running any custom mediation sequences in >>>> the micro gw will not be supported. >>>> >>>>> >>>>>> - *micro-gw build (with inputs label name)* >>>>>> - This command build single balx out of all APIs belongs to >>>>>> given label. If docker/kubernetes configurations specified, >>>>>> then archive will be generated. This archive will embeds bre, >>>>>> generated >>>>>> balx which someone can take and run without configuring anything. >>>>>> - This command also outputs APIs which have updated and >>>>>> commands which are available to run in target folder >>>>>> - *micro-gw run (with label name)* >>>>>> - This command will use to run the balx generated for given >>>>>> label. >>>>>> >>>>>> Please share your suggestions and improvements. >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Harsha >>>>>> -- >>>>>> Harsha Kumara >>>>>> Associate Technical Lead, WSO2 Inc. >>>>>> Mobile: +94775505618 >>>>>> Blog:harshcreationz.blogspot.com >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Sanjeewa Malalgoda* >>>>> WSO2 Inc. >>>>> Mobile : +94 712933253 >>>>> >>>>> <http://sanjeewamalalgoda.blogspot.com/>blog >>>>> :http://sanjeewamalalgoda.blogspot.com/ >>>>> <http://sanjeewamalalgoda.blogspot.com/> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> >>>> Isuru H. >>>> +94 716 358 048* <http://wso2.com/>* >>>> >>>> >>>> >>> >>> -- >>> Rajith Roshan >>> Senior Software Engineer, WSO2 Inc. >>> Mobile: +94-717-064-214 >>> >> -- >> Sent from Gmail Mobile >> > > > > -- > *Sanjeewa Malalgoda* > WSO2 Inc. > Mobile : +94 712933253 > > <http://sanjeewamalalgoda.blogspot.com/>blog > :http://sanjeewamalalgoda.blogspot.com/ > <http://sanjeewamalalgoda.blogspot.com/> > > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > -- *Pubudu Gunatilaka* Committer and PMC Member - Apache Stratos Senior Software Engineer WSO2, Inc.: http://wso2.com mobile : +94774078049
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture