howler-api 3.4.0.dev933__tar.gz → 3.4.0.dev950__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/PKG-INFO +2 -2
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/discover.py +4 -1
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/helper.py +1 -1
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/config.py +14 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/security/utils.py +2 -2
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/pyproject.toml +2 -2
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/add_label.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/add_to_bundle.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/change_field.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/demote.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/example_plugin.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/prioritization.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/promote.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/remove_from_bundle.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/remove_label.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/actions/transition.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/base.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/socket.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/action.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/analytic.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/auth.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/clue.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/configs.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/dossier.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/help.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/hit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/notebook.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/overview.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/search.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/template.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/tool.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/utils/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/utils/etag.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/api/v1/view.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/app.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/classification.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/classification.yml +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/exceptions.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/loader.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/logging/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/logging/audit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/logging/format.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/net.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/net_static.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/random_user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/common/swagger.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/config.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/cronjobs/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/cronjobs/action_queue_worker.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/cronjobs/retention.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/cronjobs/rules.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/cronjobs/view_cleanup.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/bulk.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/collection.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/constants.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/exceptions.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/howler_store.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/migrations/fix_process.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/operations.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/schemas.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/store.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/support/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/support/build.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/support/schemas.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/types.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/error.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/generate_mitre.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/generate_sigma_rules.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/generate_tlds.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/reindex_data.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/external/wipe_databases.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/gunicorn_config.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/healthz.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/azure.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/hit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/oauth.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/search.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/workflow.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/helper/ws.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/base.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/charter.txt +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/howler_enum.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/action.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/analytic.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/assemblyline.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/aws.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/azure.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/cbs.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/clue.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/dossier.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/agent.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/autonomous_system.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/client.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/cloud.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/code_signature.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/container.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/dns.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/egress.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/elf.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/email.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/error.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/event.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/faas.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/file.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/geo.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/group.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/hash.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/host.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/http.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/ingress.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/interface.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/network.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/observer.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/organization.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/os.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/pe.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/process.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/registry.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/related.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/rule.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/server.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/threat.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/tls.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/url.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/user_agent.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/vulnerability.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/gcp.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/hit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/howler_data.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/lead.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/localized_label.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/overview.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/pivot.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/template.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/view.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/random_data.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/randomizer.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/patched.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/plugins/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/plugins/config.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/counters.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/events.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/hash.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/lock.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/comms.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/multi.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/named.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/priority.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/set.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/user_quota_tracker.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/security/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/security/socket.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/action_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/analytic_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/auth_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/config_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/dossier_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/event_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/hit_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/jwt_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/lucene_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/notebook_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/overview_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/template_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/services/user_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/telemetry.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/annotations.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/chunk.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/compat.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/constants.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/dict_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/isotime.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/list_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/lucene.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/path.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/socket_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/str_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/utils/uid.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: howler-api
|
|
3
|
-
Version: 3.4.0.
|
|
3
|
+
Version: 3.4.0.dev950
|
|
4
4
|
Summary: Howler - API server
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: howler,alerting,gc,canada,cse-cst,cse,cst,cyber,cccs
|
|
@@ -42,7 +42,7 @@ Requires-Dist: prometheus-client (==0.25.0)
|
|
|
42
42
|
Requires-Dist: pydantic (>=2.11.4,<3.0.0)
|
|
43
43
|
Requires-Dist: pydantic-settings[yaml] (>=2.9.1,<3.0.0)
|
|
44
44
|
Requires-Dist: pydash (>=8.0.5,<9.0.0)
|
|
45
|
-
Requires-Dist: pyjwt (==2.
|
|
45
|
+
Requires-Dist: pyjwt (==2.13.0)
|
|
46
46
|
Requires-Dist: pysigma (==0.11.23)
|
|
47
47
|
Requires-Dist: pysigma-backend-elasticsearch (>=1.1.2,<2.0.0)
|
|
48
48
|
Requires-Dist: python-baseconv (==1.2.2)
|
|
@@ -17,6 +17,9 @@ def get_apps_list(discovery_url: Optional[str]) -> list[dict[str, str]]:
|
|
|
17
17
|
Returns:
|
|
18
18
|
list[dict[str, str]]: A list of other apps
|
|
19
19
|
"""
|
|
20
|
+
if not config.discovery.enabled or discovery_url is None:
|
|
21
|
+
return []
|
|
22
|
+
|
|
20
23
|
if discovery_url not in DISCO_CACHE:
|
|
21
24
|
apps = []
|
|
22
25
|
|
|
@@ -25,7 +28,7 @@ def get_apps_list(discovery_url: Optional[str]) -> list[dict[str, str]]:
|
|
|
25
28
|
|
|
26
29
|
try:
|
|
27
30
|
resp = requests.get(
|
|
28
|
-
typing.cast(str, discovery_url or config.
|
|
31
|
+
typing.cast(str, discovery_url or config.discovery.url),
|
|
29
32
|
headers={"accept": "application/json"},
|
|
30
33
|
timeout=5,
|
|
31
34
|
)
|
|
@@ -31,7 +31,7 @@ from howler.security.utils import get_password_hash
|
|
|
31
31
|
from howler.utils.constants import TESTING
|
|
32
32
|
from howler.utils.uid import get_random_id
|
|
33
33
|
|
|
34
|
-
APPS = get_apps_list(discovery_url=config.
|
|
34
|
+
APPS = get_apps_list(discovery_url=config.discovery.url)
|
|
35
35
|
ESCALATIONS = Escalation.list()
|
|
36
36
|
EXAMPLE_ANALYTICS = ["Password Checker", "Bad Guy Finder", "Exploit Patcher"]
|
|
37
37
|
|
|
@@ -471,6 +471,18 @@ class Telemetry(BaseModel):
|
|
|
471
471
|
)
|
|
472
472
|
|
|
473
473
|
|
|
474
|
+
class Discovery(BaseModel):
|
|
475
|
+
"""Service discovery configuration for Howler.
|
|
476
|
+
|
|
477
|
+
Defines settings for enabling and configuring service discovery,
|
|
478
|
+
allowing Howler instances to locate and communicate with each other
|
|
479
|
+
in distributed deployments.
|
|
480
|
+
"""
|
|
481
|
+
|
|
482
|
+
url: Optional[str] = Field(default=None, description="Discovery URL")
|
|
483
|
+
enabled: bool = Field(default=False, description="Should discovery be enabled?")
|
|
484
|
+
|
|
485
|
+
|
|
474
486
|
class Core(BaseModel):
|
|
475
487
|
"""Core application configuration for Howler.
|
|
476
488
|
|
|
@@ -553,6 +565,8 @@ class Config(BaseSettings):
|
|
|
553
565
|
logging: Logging = Logging()
|
|
554
566
|
system: System = System()
|
|
555
567
|
ui: UI = UI()
|
|
568
|
+
discovery: Discovery = Discovery()
|
|
569
|
+
|
|
556
570
|
mapping: dict[str, str] = Field(description="Mapping of alert keys to clue types", default={})
|
|
557
571
|
|
|
558
572
|
model_config = SettingsConfigDict(
|
|
@@ -152,7 +152,7 @@ suppress-none-returning = true
|
|
|
152
152
|
[tool.poetry]
|
|
153
153
|
package-mode = true
|
|
154
154
|
name = "howler-api"
|
|
155
|
-
version = "3.4.0.
|
|
155
|
+
version = "3.4.0.dev950"
|
|
156
156
|
description = "Howler - API server"
|
|
157
157
|
authors = [
|
|
158
158
|
"Canadian Centre for Cyber Security <howler@cyber.gc.ca>",
|
|
@@ -207,7 +207,7 @@ gunicorn = "23.0.0"
|
|
|
207
207
|
packaging = "<25.0"
|
|
208
208
|
passlib = "1.7.4"
|
|
209
209
|
prometheus-client = "0.25.0"
|
|
210
|
-
pyjwt = "2.
|
|
210
|
+
pyjwt = "2.13.0"
|
|
211
211
|
python-baseconv = "1.2.2"
|
|
212
212
|
python-datemath = "3.0.3"
|
|
213
213
|
pyyaml = "6.0.3"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/datastore/migrations/fix_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/odm/models/ecs/autonomous_system.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/queues/priority.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_api-3.4.0.dev933 → howler_api-3.4.0.dev950}/howler/remote/datatypes/user_quota_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|