Hi all,

We are planning to implement new feature "Multi-Environment Support"[1] for
API Manager. The feature allows users to manage environments through one
User Interfaces.

[image: Inline images 1]
Suppose there are three environments (i.e. three instance of API manager)
currently running in an organization. Users of the API Manager have log
into each environments and work with three different User Interfaces. The
proposed feature allow one User Interface to handle all environments. User
can switch environments and also enable new feature like API difference in
environments.

This is the proposed design of multi-environment support for API manager.
[image: Inline images 2]

The UI service in the diagram may be a separate service for User Interface
or another environment itself.


   1. Browser request login page for the app (publisher/store/admin) from
   UI service.
   2. Serve the page.
   3. Browser call the ConfigurationsAPI
(org.wso2.carbon.apimgt.rest.api.configurations)[2]
   to get available environments.
   4. Read deployment.yaml that contains environments' details
      - Sample deployment.yaml
      -

      wso2.carbon.apimgt.environments:
        environmentName: Default
        environments:
        - host: dev.sample.com:9292
          loginTokenPath: /login/token
          label: Development

        - host: prod.sample.com:9292
          loginTokenPath: /login/token
          label: Production

      5. Serve environments' details as JSON.
      - Browser then render a list of environments.
   6. Send request with user credentials to the proper environment to login.
   7. The environment read its deployment.yaml to know the name of itself
   and set cookies with appending the name to the cookie name.

[1] https://github.com/wso2/carbon-apimgt/issues/4690
[2] https://github.com/wso2/carbon-apimgt/pull/4679


Appreciate any suggestions.
Thanks

Best regards

-- 
*Renuka Fernando*
Software Engineering Intern | WSO2 Inc

Email : [email protected]
Mobile : +94 76 667 8752
Web : http://wso2.com
<http://wso2.com/signature>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to