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

Reply via email to