Looks like our cloud team has done this already for the synapse based gateway. Maybe we could learn some things from them.
Do we want to build a UI experience for this? Like the deployment happens when you press a button on the UI or is it preferable to build a mode where you save some stuff somewhere when you press the button and then get a CLI to do the actual deployment? I'm Asking because of the CI/CD aspects and to make the runtime somewhat disconnected from the design time. On Thu, Jul 25, 2019 at 3:35 PM Pubudu Gunatilaka <pubu...@wso2.com> wrote: > Hi, > > We have another option here which is the extended version of option 2. > > Option 3: > > We are currently developing these custom resources for APIM in Kubernetes. > So in these, what we expect from an external user is the Swagger > definition. So with this Swagger definition, we deploy a micorgateway for > the API. We can use the same approach in here. > > We can ask the K8s admin users to deploy our API Manager K8s operator. > From API Manager, we only need to create relevant custom resources and push > to the K8s API server. In this way we can reuse the work we have done so > far with APIM K8s CRDs. > > [1] - https://github.com/wso2/k8s-apim-operator > > Thank you! > > > On Tue, Jul 23, 2019 at 5:43 PM Sachith Kasthuriarachchi < > sachit...@wso2.com> wrote: > >> Hi all, >> >> The private jet mode enables you to deploy APIs in a dedicated Gateway >> node in Kubernetes. You do this in instances where the API has specialized >> requirements, such as resource isolation or security isolation. When >> publishing an API, the publisher can publish the API to a dedicated >> gateway. Or else, he can combine multiple APIs and deploy those APIs in a >> dedicated gateway. In this case, WSO2 API Microgateway is used as the >> gateway. You have the flexibility to run WSO2 API Manager inside the >> container management system, as well as externally. Two options are >> available for this implementation. >> >> Option 1 >> >> - When we create an API in API manager it will create a .balx >> - A docker image needs to be created using that .balx and that image >> needs to be pushed to the Docker registry. >> - There are two methods to implement deployment and service of >> Kubernetes(K8s) artifacts >> 1. Generate the YAML file and deploy it in K8s so that the >> customer can customize the configuration. >> 2. Generate definitions directly and deploy in K8s. >> >> In this method, we can implement a button to download the generated >> .balx in the API. For any API, users are able to download the .balx for his >> API from the Publisher. >> [image: Option1.png] >> >> >> *Pros:* .Balx Can be Downloaded Via User Interface >> *Cons:* Increase the size of the product distribution due to Ballerina >> dependencies. >> >> Option 2 >> >> - When we create an API in the API manager we can >> - Generate the YAML and deploy it in K8s. Or, >> - Generate definitions directly and deploy in K8s. These >> definitions include the Swagger as a config map. >> - Then we can mount the above config map in Init container so that >> the Microgateway toolkit inside that container can generate the .balx file >> by running the Microgateway toolkit. >> - Finally, the generated .balx can be passed to the Microgateway >> runtime. >> >> This option is easy to implement but there will be no button in the user >> interface to download the .balx. >> >> [image: Option2.png] >> >> *Pros:* Easy to implement and manage >> *Cons:* Users can not download the .Balx >> >> Appreciate your thoughts. >> -- >> *Sachith Kasthuriarachchi *| Engineering Intern | WSO2 Inc >> (m) +94 71 694 0826 | (w) www.wso2.com | (e) sachit...@wso2.com >> <abhis...@wso2.com> >> >> <http://goog_1559380502> >> <http://wso2.com/signature> >> > > > -- > *Pubudu Gunatilaka* | Associate Technical Lead | WSO2 Inc. > (m) +94774078049 | (w) +94112145345 | (e) pubu...@wso2.com > <http://wso2.com/signature> > > -- *Nuwan Dias* | Director | WSO2 Inc. (m) +94 777 775 729 | (e) nuw...@wso2.com [image: Signature.jpg]
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture