Hi, On Mon, May 28, 2018 at 3:23 PM, Harsha Kumara <[email protected]> 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 > > AFAIU this distribution itself is not started as the micro gateway; rather we use this to "create" speciallized micro gateway distributions for a particular label (ballerina bre + balx for the label). We are using actually those distributions to start as microgateways. So for this distribution (CLI + platform + runtime), I am wondering whether a similar name like Microgateway ToolKit would be more suitable. Also as we are packing platform + bre, the size is also bit high. So having Toolkit at the end gives a small justification to that size as well and also avoid confusion with the real usage. WDYT? Thanks! > > *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 > > > > * 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 > > > - *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 > -- Malintha Amarasinghe *WSO2, Inc. - lean | enterprise | middleware* http://wso2.com/ Mobile : +94 712383306
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
