CentOS CI Front end === The CentOS Project runs a public CI resource that is available to all infra and infra related open source projects to come and consume. The problem is that the signup process is very manual, both for the incoming user and the CICO admins. We would like to have a web application that handles the login, account request, Admin approval, and OKD project creation (from a template) steps and also displays links to active CICO namespaces. Below is the detail of expectations from a student. 1. Perspective - contributor * Login page - ACO Authentication (Similar to FAS) * Dashboard (Displays active CICO namespace *Read note [0]*) * Account request tab (has forms to input values) * Your Name * The project you are working with * Your Desired Username * Your Email Address * Your gpg pubkey read more [here](https://wiki.centos.org/SIGGuide/SIGProcess/AccountsCI) to know about how CI SIG works 2. Perspective - admin *Read note [1]* * Dashboard * View account requests with options to approve/reject * Option to download template generated from user's data to add new projects 3. Access control * A simple way to sponsor/unsponsor admin who can approve/reject projects. Notes --- [0] Add in duffy view to have an API call that returns all the projects an user is a part of. On GitHub, check centos/duffy [1] When the admin approves a project, a link to download the yml file with template to be used to create a new project Here is an example of template file [extra] Saving us the trouble of designing things from scratch && making the code difficult to maintain, I would suggest usage of patternfly (with framework of your choice). ```yaml --- # What namespace should we create for this group? cico_project_name: testgroup # Who gets project admin? cico_project_members: - bstinson - siddharthvipul # The original project request bug in bugs.centos.org cico_bug_request: 12345 # Does this group self-manage their apps, or do we? cico_self_managed: false # Where do this group's pods run? cico_node_selector: oci_kvm_hook=allowed ... ``` / Vipul / [Fedora CI - CentOS CI] Infrastructure Team