A utility to install and renovate TLS certificates from a web interface.
It is important to note that while this is a working prototype, many things are assumed about the deployment environment and the certificates used.
Many extensibility and safety improvements are to be made.
There are three main components:
- The agent (built using Python) runs a series of scripts to handle backend requests in relation to TLS certificate management.
- The web frontend (built using React) handles the UI for communicating with the backend API.
- The backend (built using Express) servers an API for the frontend and communicates with the agents.
Backend assumes a mongodb database, credentials for which need to be defined in a .env
file.
Agent requires Python3
and pip
Tests during development were done using Python version 3.10.12.
The three components require at least one environment variable, so the respective .env
file should be placed in each of the corresponding directories.
The frontend and backend applications can be run executing the standard npm run dev
and npm run build
commands.
An install/uninstall script is included in the agent folder that attempt to create a new systemd service entry for the python agent.
If using the install script, the log agent.log file will be available at /opt/autossl
.
Note that the agent scripts use system calls and require elevated privileges to work properly