Skip to content
This repository has been archived by the owner on Mar 7, 2024. It is now read-only.

EdgeNet-project/edgenet-legacy-2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sundew-one

Build Status Coverage Status Python 3 pyup FOSSA Status CII

This repository hosts the code that implements Sundew Project's prototype portal webpage. The portal is where you register for using Sundew, and receive the required configuration files for later accessing your personalized Kubernetes (or "K8s") dashboard to administrate your Sundew resources.

Components

The portal code is split into two parts: A user-visible Web frontend, and a backend that interfaces with Kubernetes. The frontend is a Google App Engine web app written in Python / webapp2, with Jinja templates. It lets the user register an account, agree to the Acceptable Usage Policy (AUP), and then hands out credentials in the form of a Kubernetes configuration. With this config, the user can access their personalized Kubernetes dashboard for further interactions with their resources on the Sundew cluster.

The backend is a Flask app that is only accessible by the frontend. For various routes in its app, it calls down into shell scripts which interface with kubectl, the Kubernetes control tool, to create users, list the available nodes and namespaces, and generates the actual per-user config file (including certificates) that the frontend serves.

Design Options Deferred For The Prototype

As of the May 2018 prototype,

  • There is only a single Kubernetes head node for all users in the cluster. We will later on think about scaling up, distributing and federating head nodes, etc.
  • New user registrations are handled manually on a per-case basis, and must go through some Google App Engine-specific processing. Later, other identity providers and user verification methods should be supported.