You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airavata.apache.org by "Narvekar, Bhakti Sunil" <bh...@iu.edu> on 2020/10/17 01:29:42 UTC

Overall architecture and deployment of Custos Admin Portal

Hello Everyone,

We are planning to integrate Custos Portal with Custos Admin portal. I would like to share the overall architecture for Custos Admin Portal and the architecture for Custos Portal will be explained by Isuru.

Overall Archirecture: The Custos Admin portal is implemented using Django and Vue.js.
Below is the working for Custos Admin Portal:


  1.  A user/admin can register/login into the system.
  2.  If a user logs in, he can perform the below specified actions:
     *   Request new tenant – The user enters details like client name, email, redirect URL, etc to create a new tenant. Once a tenant is created successfully, Custos ID and Custos Secret are displayed for the client.
     *   List all tenants – The user can view all the tenants that he has created so far. If he clicks on the clickable link, he can view all the details for a tenant.
  3.  If an admin logs in, he can perform the below specified actions:
     *   Request new tenant – The admin enters details like client name, email, redirect URL, etc to create a new tenant. Once a tenant is created successfully, Custos ID and Custos Secret are displayed for the client.
     *   List all tenants – The admin can view all the tenants that he has created so far. On clicking the clickable link, admin can perform the three functions – edit, approve or decline.




[cid:image003.png@01D6A403.756F8BB0]

Deployment:
The portal is deployed on centos using Apache and mod_wsgi. The link to view the admin portal is -> https://dev.portal.custos.scigap.org/



Sincerely,
Bhakti Narvekar




RE: [External] Overall architecture and deployment of Custos Admin Portal

Posted by "Narvekar, Bhakti Sunil" <bh...@iu.edu>.
Hi Dinuka,

Thank you for your email. In regards to your questions:

1) Why are we developing a separate application for the admin features. I think we could append these admin features also to the same code base [1]. As per my understanding, it'll be just about adding some javascript code to enable these features. More than that, it's a way to reuse all the other common components (Login, sign up, home etc.)

So, the reason the Admin portal is a separate application because it was decided lately. But, now we are planning on merging it.


2) Is there a reason for using the Django service layer between the client and the custom apis? Just curious to know.

The reason we are using Django as a service layer because we have a hybrid codebase. Again, we are planning on improving the architecture overall.


3) Should the tenant creation be allowed for both admin and normal users? I can see there's a tenant approval process allowed only for admin users. I wonder if there is a reason for having an approval process?

Yes, we have tenant creation process for both the admin and the normal users. After creating the parent tenant, custos admin needs to check the redirect URI to check if the request is made from the actual client. Also, we can create child tenants that does not require Custos Admin approval.


Please let us know if you have any other questions.


Sincerely,
Bhakti Narvekar

From: Dinuka Desilva<ma...@gmail.com>
Sent: Sunday, October 18, 2020 9:54 AM
To: Narvekar, Bhakti Sunil<ma...@iu.edu>
Cc: Airavata Dev<ma...@airavata.apache.org>; Ranawaka, Isuru Janith<ma...@iu.edu>
Subject: [External] Overall architecture and deployment of Custos Admin Portal

This message was sent from a non-IU address. Please exercise caution when clicking links or opening attachments from external sources.

Hi Bhakti,

I have few questions here. Correct me if I am wrong please.

1) Why are we developing a separate application for the admin features. I think we could append these admin features also to the same code base [1]. As per my understanding, it'll be just about adding some javascript code to enable these features. More than that, it's a way to reuse all the other common components (Login, sign up, home etc.)

2) Is there a reason for using the Django service layer between the client and the custom apis? Just curious to know.

3) Should the tenant creation be allowed for both admin and normal users? I can see there's a tenant approval process allowed only for admin users. I wonder if there is a reason for having an approval process?

Regards,
Dinuka

[1] https://github.com/apache/airavata-custos-portal

On Sat, Oct 17, 2020 at 9:07 PM Isuru Ranawaka <ir...@gmail.com>> wrote:


---------- Forwarded message ---------
From: Narvekar, Bhakti Sunil <bh...@iu.edu>>
Date: Fri, Oct 16, 2020 at 9:29 PM
Subject: Overall architecture and deployment of Custos Admin Portal
To: dev@airavata.apache.org<ma...@airavata.apache.org> <de...@airavata.apache.org>>
Cc: Ranawaka, Isuru Janith <is...@iu.edu>>, Isuru Ranawaka <ir...@gmail.com>>


Hello Everyone,

We are planning to integrate Custos Portal with Custos Admin portal. I would like to share the overall architecture for Custos Admin Portal and the architecture for Custos Portal will be explained by Isuru.

Overall Archirecture: The Custos Admin portal is implemented using Django and Vue.js.
Below is the working for Custos Admin Portal:


  1.  A user/admin can register/login into the system.
  2.  If a user logs in, he can perform the below specified actions:
     *   Request new tenant - The user enters details like client name, email, redirect URL, etc to create a new tenant. Once a tenant is created successfully, Custos ID and Custos Secret are displayed for the client.
     *   List all tenants - The user can view all the tenants that he has created so far. If he clicks on the clickable link, he can view all the details for a tenant.
  3.  If an admin logs in, he can perform the below specified actions:
     *   Request new tenant - The admin enters details like client name, email, redirect URL, etc to create a new tenant. Once a tenant is created successfully, Custos ID and Custos Secret are displayed for the client.
     *   List all tenants - The admin can view all the tenants that he has created so far. On clicking the clickable link, admin can perform the three functions - edit, approve or decline.




[cid:17537355117d497bc331]

Deployment:
The portal is deployed on centos using Apache and mod_wsgi. The link to view the admin portal is -> https://dev.portal.custos.scigap.org/



Sincerely,
Bhakti Narvekar





--
Research Software Engineer
Indiana University, IN


Overall architecture and deployment of Custos Admin Portal

Posted by Dinuka Desilva <l....@gmail.com>.
Hi Bhakti,

I have few questions here. Correct me if I am wrong please.

1) Why are we developing a separate application for the admin features. I
think we could append these admin features also to the same code base [1].
As per my understanding, it'll be just about adding some javascript code to
enable these features. More than that, it's a way to reuse all the other
common components (Login, sign up, home etc.)

2) Is there a reason for using the Django service layer between the client
and the custom apis? Just curious to know.

3) Should the tenant creation be allowed for both admin and normal users? I
can see there's a tenant approval process allowed only for admin users. I
wonder if there is a reason for having an approval process?

Regards,
Dinuka

[1] https://github.com/apache/airavata-custos-portal

On Sat, Oct 17, 2020 at 9:07 PM Isuru Ranawaka <ir...@gmail.com> wrote:

>
>
> ---------- Forwarded message ---------
> From: Narvekar, Bhakti Sunil <bh...@iu.edu>
> Date: Fri, Oct 16, 2020 at 9:29 PM
> Subject: Overall architecture and deployment of Custos Admin Portal
> To: dev@airavata.apache.org <de...@airavata.apache.org>
> Cc: Ranawaka, Isuru Janith <is...@iu.edu>, Isuru Ranawaka <
> irjanith@gmail.com>
>
>
> Hello Everyone,
>
>
>
> We are planning to integrate Custos Portal with Custos Admin portal. I
> would like to share the overall architecture for Custos Admin Portal and
> the architecture for Custos Portal will be explained by Isuru.
>
>
>
> *Overall Archirecture: *The Custos Admin portal is implemented using
> Django and Vue.js.
>
> Below is the working for Custos Admin Portal:
>
>
>
>    1. A user/admin can register/login into the system.
>    2. If a user logs in, he can perform the below specified actions:
>       1. Request new tenant – The user enters details like client name,
>       email, redirect URL, etc to create a new tenant. Once a tenant is created
>       successfully, Custos ID and Custos Secret are displayed for the client.
>       2. List all tenants – The user can view all the tenants that he has
>       created so far. If he clicks on the clickable link, he can view all the
>       details for a tenant.
>    3. If an admin logs in, he can perform the below specified actions:
>       1. Request new tenant – The admin enters details like client name,
>       email, redirect URL, etc to create a new tenant. Once a tenant is created
>       successfully, Custos ID and Custos Secret are displayed for the client.
>       2. List all tenants – The admin can view all the tenants that he
>       has created so far. On clicking the clickable link, admin can perform the
>       three functions – edit, approve or decline.
>
>
>
>
>
>
>
>
>
>
>
> *Deployment:*
>
> The portal is deployed on centos using Apache and mod_wsgi. The link to
> view the admin portal is -> https://dev.portal.custos.scigap.org/
>
>
>
>
>
>
>
> Sincerely,
>
> Bhakti Narvekar
>
>
>
>
>
>
>
>
> --
> Research Software Engineer
> Indiana University, IN
>
>