This repository holds code to launch the user portal component of HelioCloud.
It uses flask
as the backend framework and is hosted as an EC2 Load balancer and AWS calls are made using the boto3
API.
portal
│ portal_stack.py
│ README.md
└───portal
│ │ access.py
│ │ app.py
│ │ auth.py
│ │ aws.py
│ │ config.py
│ │ ec2.py
│ │ ec2_config.py
│ │ Dockerfile
│ │ messages.py
│ │ requirements.txt
│ └───static
│ │ assets
│ │ css
│ │ js
│ └───templates
│ │ ...
access.py
- boto3 calls for IAM accessapp.py
- backend code for portalauth.py
- code for user authenticationaws.py
- boto3 calls to AWSconfig.py
- general configurations for dashboard codeec2.py
- boto3 calls to AWS exclusively for EC2ec2_config.py
- configuration for portal-created EC2 instancesDockerfile
- Docker deployment filemessages.py
- code for producing various generated messages for the user.requirements.txt
- packages required for portal deploystatic/
- contains CSS files for html layouttemplates/
- contains HTML files for pages of dashboard
Portal deployment uses AWS CDK.
To deploy the user portal module as a part of your Heliocloud instance, make sure you set portal: True
under enabled
in your instance .yaml
file.
Deployment requires Docker to be running as a part of AWS ECS set up. Make sure Docker[https://www.docker.com] is installed on your machine and that you are logged in.
The user portal requires that the domain name has an active public SSL certificate for the host domain (e.g. your-heliocloud-domain.org
), validated through Amazon Certification Manager (ACM).
See here for instructions on how to set up a public certificate through ACM.
As a part of portal deployment configuration, add the certificate ARN to your instance .yaml
file.