Commit graph

64 commits

Author SHA1 Message Date
33becdd753 Accept all HTTP returned status for the SSL check.
Fixes #7
2023-10-30 15:53:23 +01:00
0e08bc8be6 Allow exceptions for advanced checks.
- See more information about this in #7
2023-10-30 15:02:13 +01:00
e20b1fcabe Merge branch 'improve-logs' into 'main'
🔊 — Improve alerting log

See merge request framasoft/framaspace/argos!4
2023-10-26 10:46:09 +00:00
Luc Didry
09047fe69a 🔊 — Improve alerting log 2023-10-25 16:49:59 +02:00
429351054d Merge branch 'fix-ssl-bug' into 'main'
🐛 — Fix SSL check cert

See merge request framasoft/framaspace/argos!3
2023-10-25 12:56:32 +00:00
Luc Didry
5ef8600034 🐛 — Fix SSL check cert
Some (stupid) services don’t answer the same way when getting requested with HEAD or GET.
Like GET -> 200, HEAD -> 405.
https://github.com/h2non/imaginary is an example of such a service.
2023-10-25 14:52:17 +02:00
aee1545814 Deduplicate checks from settings. Fixes #5
- Allow the database to have duplicates (previous calls were causing a server crash)
- Add tests scenarii for duplication
2023-10-25 00:00:25 +02:00
7997e9bbcd Remove debug code 2023-10-24 18:51:33 +02:00
2124f49e43 Merge branch 'fix-2' into 'main'
📝 — Remove real URLs from config-example.yaml

See merge request framasoft/framaspace/argos!2
2023-10-24 16:47:27 +00:00
4c3649e3dd Merge branch 'fix-doc-server-run' into 'main'
📝 — Fix server start documentation

See merge request framasoft/framaspace/argos!1
2023-10-24 16:46:58 +00:00
78493f09a0 Add documentation about the API. Fixes #4 2023-10-24 18:36:45 +02:00
01e8f0b161 Install with 'pip install -e .' until argos is released on PyPI. Fixes #1 2023-10-24 18:13:56 +02:00
b105004f3b Add the number of agents in the index template 2023-10-24 18:01:13 +02:00
Luc Didry
00dfc00aa8 📝 — Remove real URLs from config-example.yaml 2023-10-24 10:50:48 +02:00
Luc Didry
1153d8c2b2 📝 — Fix server start documentation 2023-10-24 10:40:21 +02:00
5bca4fa261 argos server cleandb now keep a number of results per task 2023-10-20 02:40:06 +02:00
9d4dfd2555 Remove most stuff from the README, it's in the docs now 2023-10-20 01:37:41 +02:00
158e7ac44c Create a new http client on agent retry 2023-10-20 01:35:30 +02:00
93fb9cebca Add an AGPLv3 license 2023-10-20 01:29:12 +02:00
0adb5e2766 Change mermaid class diagrams 2023-10-20 01:25:17 +02:00
336c4e783b Add some more documentation 2023-10-20 01:09:38 +02:00
77adbe46eb 📝 Start a documentation 2023-10-19 22:46:01 +02:00
85735add01 Updates while reading the code with Luc. 2023-10-19 18:10:41 +02:00
a9f823fbfa 🌱 Let's start with the Gitlab CI 2023-10-18 23:17:23 +02:00
9885a5809a Add an 'argos server clean' command that needs to be run periodically to clean the db 2023-10-18 21:45:10 +02:00
54379d04c4 hostname is now used as agent_id, and stored in the db 2023-10-18 21:29:09 +02:00
cd243d92dc Refactor argos agent to use classes 2023-10-18 17:48:42 +02:00
31edb95cb8 Don't let the agents fail. Retry on error 2023-10-18 17:28:27 +02:00
55d59283f8 Better formatting for domain page 2023-10-18 17:04:54 +02:00
d6c048fb5b Speed-up SQL queriying by using DISTINCT statement 2023-10-18 16:31:47 +02:00
6338d7d9e6 Add a way to know when the last checks have been run 2023-10-18 12:43:55 +02:00
dd2dc14351 Issue a warning when using a temporary db. 2023-10-18 12:41:58 +02:00
fa45338914 Remove config.yaml from the repository.
- Instead, propose a `config-example.yaml` file
- Change the README accordingly
2023-10-18 12:40:38 +02:00
8c58a50e8f Add ARGOS_ prefix to env variables used in tests. 2023-10-18 12:34:29 +02:00
e437f48b34 Changed checks to accept ints for expected values.
(In the configuration)
2023-10-18 12:32:33 +02:00
0ea9ad4c6e Added logging option for the server command 2023-10-18 12:31:54 +02:00
bf24f87fd7 Add more information on database configuration, and allow using a .env file 2023-10-18 02:37:00 +02:00
824a0afa3e Update installation instructions and config example. 2023-10-18 02:31:23 +02:00
85e73e0869 Update the README 2023-10-18 02:26:22 +02:00
75a8af37f0 Added a few more template files 2023-10-18 02:23:36 +02:00
de3e94333a Add pydantic-settings to pyproject.toml 2023-10-17 23:55:51 +02:00
62ef133b36 Add Jinja2 dependency to pyproject.toml 2023-10-17 23:52:49 +02:00
a97a57d06c Remove old imports from checks.py 2023-10-17 23:50:34 +02:00
2ad0bfab39 Update the CLI interface.
- server and auth are now arguments rather than required options.
2023-10-17 19:24:53 +02:00
83f57c6e47 Started working on a simple web interface.
- 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
2023-10-13 09:43:47 +02:00
e2d8066746 Update API endpoints and test cases
- Adjusted test cases in test_api.py
  - Updated test_db fixture to delete the database between each test.
  - Consolidated test cases for tasks retrieval and results
2023-10-12 00:16:06 +02:00
43f8aabb2c Refactor server codebase for testing.
- Restructured server module to separate the application creation and configuration.
- Moved code dealing with SQLAlchemy database
  setup and teardown to the main application file.
- Moved functions related to configuration file loading to `argos.server.settings`.
- Fixed SQLAchemy expressions in `argos.server.queries`.
- Implemented a more granular system of setting checks' schedule on the server.
- Introduced frequency scheduling on per-website basis in the YAML config.
- Introduced Pytest fixtures for handling test database and authorized HTTP client in `tests/conftest.py`.
- Included a first test for the api
- Implemented changes to models to accommodate changes to task scheduling.
- Fixed errors concerning database concurrency arising from changes to the application setup.
2023-10-11 23:52:33 +02:00
e540eee9b3 Add the ability to convert to days, hours, minutes 2023-10-11 15:46:05 +02:00
4935a025ce Add a few more tests for duration conversions 2023-10-11 11:29:46 +02:00
daa22708c4 Make it possible to specify the frequency with '1d' 2023-10-11 11:11:57 +02:00