- 🗃 Store last status and submitted_at in Task. Reduce queries number
- 🗃 Add an Unknown status
- 💄 Add a logo
- 💄 Add a navbar
- 💄 Add a filter on domains page
- 🎨 Use url_for in every templates’ href
- The web interface is exposed at /, and the api
at /api.
- Include picocss for a minimal CSS framework
- Added some queries and models.Task properties
to access the latest results
- Refactored the `get_check_by_name` method to `get_registered_check` in the
BaseCheck class and added a `get_registered_checks` method to get all the
registered checks.
- Added a validation in the `WebsitePath` class to ensure that a check exists
when parsing the configuration file.
- Updated the existing test for parsing SSL duration and added new tests to
validate path parsing and check existence validation.
- Start implementing some tests using pytest
- Packaged using pyproject.toml
- Implemented SSL checks using httpx
- Checks can now run partially on the server, to access the configuration and determine the severity of the error if any
- Used black to format all the files
- Added an utility to convert strings like "3d" and "3w" to days
- The internal representation of SSL thresholds is now a list of tuples
- Models were lacking some relationship between Tasks and Results
- Added pyOpenSSL to Pipfile and Pipfile.lock for SSL certificate expiration check implementation
- Implemented SSLCertificateExpiration check in checks.py
- Updated config.yaml with new test cases
- Minor changes and clean up in base.py and config.py