Commit graph

549 commits

Author SHA1 Message Date
irl
11c04aeee6 chore: retire 2025-05-28 16:30:14 +01:00
irl
2bf4282416 fix: auto-resolve stuck distribution deletions 2025-04-18 17:03:26 +01:00
irl
1797c4a826 feat: generate a default vhost for smart proxy instances 2025-02-02 19:36:34 +00:00
irl
861f5fb553 docs: you need maintainer role for gitlab projects 2025-01-16 12:55:18 +00:00
Ana Custura
d5fa521fa1 feat: break up validate_tls_keys and add unit tests
I've split the existing code in several new functions:
 - load_certificates_from_pem (takes pem data as bytes)
 - build_certificate_chain (takes a list of Certificates)
 - validate_certificate_chain (takes a list of Certificates)
 - validate_key (takes pem data as a string)
 - validate_key_matches_cert (now takes a pem key string and a Certificate)
 - extract_sans (now takes a Certificate)
 - validate_end_entity_expired (now takes a Certificate)
 - validate_end_entity_not_yet_valid (now takes a Certificate)

When a relevant exception arises, these functions raise a type of TLSValidationError,
these are appended to the list of errors when validating a cert.
2024-12-20 14:25:58 +00:00
irl
5275a2a882 test: simplify list obfuscator tests 2024-12-20 14:08:18 +00:00
irl
a406a7974b lint: reformat python code with black 2024-12-06 18:15:47 +00:00
Ana Custura
331beb01b4 feat: update ci for testing/building docs to include translations 2024-12-06 18:08:48 +00:00
Ana Custura
5e5f422b67 feat: add some initial translations for Romanian and Polish
Closes: #73
2024-12-06 18:08:48 +00:00
Ana Custura
bf5e7c383a feat: refactoring for sphinx localisation support 2024-12-06 18:08:48 +00:00
irl
368b4ba0c1 lint: add types for custom type to handle existing naive datetimes 2024-12-06 18:08:09 +00:00
irl
39bdac1ecf feat: use custom type to handle existing naive datetimes 2024-12-06 18:03:37 +00:00
irl
e22abb383c feat: switch all timezone naive datetimes to timezone aware 2024-12-06 16:08:48 +00:00
irl
41fc0a73a5 fix: update api endpoint for test onion tls script 2024-12-06 14:48:28 +00:00
irl
061705a5e4 fix: fix incorrect attribute on group creation
created -> added
2024-12-06 14:48:07 +00:00
irl
675a7341eb feat: database migration to hold onion cert metadata 2024-12-06 14:47:12 +00:00
irl
e5976c4739 feat: expand onion service api 2024-12-06 13:34:44 +00:00
acute
c1b385ed99 docs: document docker container
Closes: #66
2024-12-05 16:21:02 +00:00
Ana Custura
348a4b5cf0 feat: add automation last_run_start, next_run, enabled in the automation collector 2024-12-05 08:45:16 +00:00
Ana Custura
3922082a56 feat: remove sudo from installed packages 2024-12-04 16:14:20 +00:00
Ana Custura
4dd0c4ed22 feat: add prometheus flask metrics 2024-12-04 16:14:20 +00:00
Ana Custura
c50d341c26 feat: move from gunicorn to waitress
Waitress, unlike unicorn, is multi-threaded. As it does not do access logs
by default, the app needs to be wrapped in TransLogger before being passed to
Waitress.

To make the switch, a custom registry is now also used instead of the global REGISTRY
as the default registry for the app. As part of this change, the default
prometheus metrics are then also registered with this new registry.

Closes: #72
2024-12-04 16:14:01 +00:00
irl
ffe097b24f lint: line breaks 2024-12-03 16:13:00 +00:00
irl
173eea2625 feat: metrics collectors don't depend on database being ready
also adds new "database_collector" metric to show current collector status
2024-12-03 14:55:53 +00:00
Ana Custura
3c3a1485e7 feat: simplify dockerfile to use the frontend makefile 2024-12-03 11:39:12 +00:00
Ana Custura
0867b13f8f feat: run with gunicorn instead of flask
Each worker now uses its own registry instead of the global REGISTRY
to avoid duplicate metric registration, since metrics are served
from the database.
2024-12-03 10:40:09 +00:00
Ana Custura
45823b02e4 docs: update new options for config in the example file 2024-12-02 18:56:21 +00:00
Ana Custura
3fae2365bf docs: add instructions on setting up a development environment 2024-12-02 18:56:21 +00:00
Ana Custura
33243b77ba feat: remove cron and crontab from the docker image
Change is required to transition to podman in the future.
2024-12-02 18:49:20 +00:00
irl
ad44101cfc ci: install docs requirements from file 2024-12-02 12:32:05 +00:00
irl
143ed1f43a docs: some reorganisation of documentation 2024-12-02 00:29:45 +00:00
irl
24cac76f70 feat: create new onion services via api 2024-12-02 00:29:45 +00:00
irl
192dacf760 fix: remove unsafe default list for list_resources 2024-12-01 14:10:21 +00:00
irl
cdbf152f40 fix: revert use of dt.UTC to dt.tz.UTC
some instance still on python 3.9
2024-11-29 18:53:46 +00:00
irl
905bdd1a58 feat(cli): mark block_ooni job as safe 2024-11-29 18:44:29 +00:00
irl
d854d52ab9 feat(block): tweak blocky timing, mark job safe 2024-11-29 18:43:56 +00:00
irl
8449a5a8c8 feat(api): dont list proxies destroyed over 24 hours ago 2024-11-29 18:39:08 +00:00
irl
1bc2960278 fix: don't create missing proxies for hotspare
* also fixes setting creation time for pools
* improves logging in proxy creation pipeline
2024-11-29 16:08:33 +00:00
irl
b91e078e22 fix: initialise new terraform state to avoid NOT NULL constraint violation 2024-11-29 15:36:50 +00:00
irl
0b3254f99c ci: install sphinx to build docs 2024-11-18 10:17:49 +00:00
irl
d551074a02 docs: remove json schemas 2024-11-18 10:10:30 +00:00
irl
be111b9dde lint: resolve mypy issues in app.cli.db 2024-11-18 09:56:48 +00:00
irl
c4e2ed364e ci: remove sphinx theme and plugins not used 2024-11-16 19:58:17 +00:00
irl
3b223f2c1a lint: app.api passes pylint 2024-11-16 19:57:10 +00:00
irl
3610707495 lint: app.cli.db passes pylint 2024-11-16 19:47:41 +00:00
irl
9674cb4293 feat: remove block_bridge_dnsc
no longer used
2024-11-16 19:38:57 +00:00
irl
5c0170bdef fix: do not rotate hotspare proxies on max age
closes: #42
2024-11-16 19:26:23 +00:00
irl
d9b62a373d docs: fix build after removal of json schemas 2024-11-16 19:26:23 +00:00
90575b076e fix: extend timeout for blocky, fix db query 2024-11-16 13:27:29 +00:00
779d5cb8d2 feat: new block plugin for blocky 2024-11-16 13:17:39 +00:00