Remove most stuff from the README, it's in the docs now

This commit is contained in:
Alexis Métaireau 2023-10-20 01:37:41 +02:00
parent 158e7ac44c
commit 9d4dfd2555

View file

@ -1,7 +1,9 @@
# Argos # Argos monitoring
Argos is an HTTP monitoring service. It allows you to define a list of websites to monitor, and a list of checks to run on these websites. It will then run these checks periodically, and alert you if something goes wrong. Argos is an HTTP monitoring service. It allows you to define a list of websites to monitor, and a list of checks to run on these websites. It will then run these checks periodically, and alert you if something goes wrong.
See the online documentation at http://framasoft.frama.io/framaspace/argos
Todo: Todo:
- [ ] Cleandb should keep max number of results by task - [ ] Cleandb should keep max number of results by task
@ -16,38 +18,4 @@ Todo:
- [ ] Un flag de configuration permet dajouter automatiquement un job de vérification de redirection 301 de la version HTTP vers HTTPS - [ ] Un flag de configuration permet dajouter automatiquement un job de vérification de redirection 301 de la version HTTP vers HTTPS
- [ ] add an "unknown" severity for check errors - [ ] add an "unknown" severity for check errors
- [ ] Add a way to specify the severity of the alerts in the config - [ ] Add a way to specify the severity of the alerts in the config
- [ ] Add a command to generate new authentication token - [ ] Add a command to generate new authentication token
Implemented checks :
- [x] Returned status code matches what you expect ;
- [x] Returned body matches what you expect ;
- [x] SSL certificate expires in more than X days ;
## Development notes
### On service start.
1. Read the job definitions file and populate the database.
2. From the job definition, create a list of tasks to execute.
3. From time to time (?) clean the db.
### On configuration changes :
- Find and tombstone the JobDefinitions that are not useful anymore.
- Cascade delete the child tasks that are planned. Tombstone them as wel.
### On worker demand :
- Find the tasks for which :
- last_check is not defined
- OR last_check + max_timedelta > datetime.now()
- AND selected_by not defined.
- Mark these tasks as selected by the current worker, on the current date.
### From time to time (cleanup):
- Check for stalled tasks (datetime.now() - selected_at) > MAX_WORKER_TIME. Remove the lock.
### On the worker side
1. Hey, I'm XX, give me some work.
2. <Service answers> OK, this is done, here are the results for Task<id>: response.