Skip to content

A simple flask web app to act as an orchestration/administrative interface across the blockcert projects / workflow

License

Notifications You must be signed in to change notification settings

UoA-eResearch/cert-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cert-manager

A simple flask web app to act as an orchestration/administrative interface across the blockcert projects / workflow

Installation

Running this requires a Linux VM with Docker installed (sudo apt install docker.io), and ports 80 and 443 open.

From your home folder on the VM (~):

Running

./web_server.py

This webapp will serve index.html via GET requests, and handle POST requests from the form within that HTML. When a POST request is recieved it will:

  • Change directory to ~/cert-tools, and call create-certificate-template with the provided certificate title
  • Save the uploaded CSV of participants to the filesystem
  • Call instantiate-certificate-batch with the created template + the CSV
  • Copy the unsigned certificates to ~/cert-issuer/conf/data/unsigned_certificates
  • Run the cert-issuer docker container to hash these certificates on the Bitcoin Testnet blockchain, as a merkle tree
  • Restart the cert-viewer_web_1 Docker container, so that it picks up the new certificates

Optionally, it will also send email notifications to participants notifying them of their new certificate. If you wish to use this functionality, you will likely need to replace mailhost.auckland.ac.nz with your own SMTP mail server. Additionally, you'll need to replace https://blockcert.auckland.ac.nz/ with your own URL, where cert-viewer is accessible.

The server runs on port 8080 - you can proxy this via Apache, Nginx, Caddy (I recommend Caddy) for HTTPS.

About

A simple flask web app to act as an orchestration/administrative interface across the blockcert projects / workflow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published