howler-api 3.4.0.dev933__tar.gz → 3.4.0.dev947__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.dev947}/PKG-INFO +2 -2
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/discover.py +4 -1
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/helper.py +1 -1
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/config.py +16 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/security/utils.py +2 -2
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/pyproject.toml +2 -2
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/add_label.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/add_to_bundle.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/change_field.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/demote.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/example_plugin.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/prioritization.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/promote.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/remove_from_bundle.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/remove_label.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/actions/transition.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/base.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/socket.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/action.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/analytic.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/auth.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/clue.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/configs.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/dossier.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/help.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/hit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/notebook.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/overview.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/search.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/template.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/tool.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/utils/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/utils/etag.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/api/v1/view.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/app.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/classification.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/classification.yml +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/exceptions.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/loader.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/logging/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/logging/audit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/logging/format.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/net.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/net_static.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/random_user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/common/swagger.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/config.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/cronjobs/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/cronjobs/action_queue_worker.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/cronjobs/retention.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/cronjobs/rules.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/cronjobs/view_cleanup.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/bulk.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/collection.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/constants.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/exceptions.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/howler_store.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/migrations/fix_process.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/operations.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/schemas.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/store.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/support/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/support/build.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/support/schemas.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/datastore/types.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/error.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/generate_mitre.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/generate_sigma_rules.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/generate_tlds.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/reindex_data.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/external/wipe_databases.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/gunicorn_config.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/healthz.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/azure.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/hit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/oauth.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/search.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/workflow.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/helper/ws.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/base.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/charter.txt +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/howler_enum.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/action.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/analytic.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/assemblyline.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/aws.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/azure.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/cbs.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/clue.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/dossier.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/agent.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/autonomous_system.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/client.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/cloud.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/code_signature.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/container.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/dns.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/egress.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/elf.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/email.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/error.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/event.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/faas.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/file.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/geo.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/group.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/hash.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/host.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/http.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/ingress.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/interface.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/network.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/observer.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/organization.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/os.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/pe.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/process.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/registry.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/related.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/rule.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/server.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/threat.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/tls.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/url.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/user_agent.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/ecs/vulnerability.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/gcp.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/hit.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/howler_data.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/lead.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/localized_label.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/overview.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/pivot.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/template.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/user.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/models/view.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/random_data.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/odm/randomizer.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/patched.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/plugins/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/plugins/config.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/README.md +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/counters.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/events.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/hash.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/lock.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/queues/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/queues/comms.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/queues/multi.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/queues/named.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/queues/priority.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/set.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/remote/datatypes/user_quota_tracker.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/security/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/security/socket.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/action_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/analytic_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/auth_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/config_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/dossier_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/event_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/hit_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/jwt_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/lucene_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/notebook_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/overview_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/template_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/services/user_service.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/telemetry.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/__init__.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/annotations.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/chunk.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/compat.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/constants.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/dict_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/isotime.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/list_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/lucene.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/path.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/socket_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/howler/utils/str_utils.py +0 -0
- {howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/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.dev947
|
|
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
|
|
|
@@ -493,6 +505,8 @@ class Core(BaseModel):
|
|
|
493
505
|
notebook: Notebook = Notebook()
|
|
494
506
|
"Configuration for Notebook Integration"
|
|
495
507
|
|
|
508
|
+
enable_eureka_discovery: bool = Field(default=True, description="Should Eureka discovery be disabled?")
|
|
509
|
+
|
|
496
510
|
|
|
497
511
|
root_path = Path("/etc") / APP_NAME.replace("-dev", "").replace("-stg", "")
|
|
498
512
|
|
|
@@ -553,6 +567,8 @@ class Config(BaseSettings):
|
|
|
553
567
|
logging: Logging = Logging()
|
|
554
568
|
system: System = System()
|
|
555
569
|
ui: UI = UI()
|
|
570
|
+
discovery: Discovery = Discovery()
|
|
571
|
+
|
|
556
572
|
mapping: dict[str, str] = Field(description="Mapping of alert keys to clue types", default={})
|
|
557
573
|
|
|
558
574
|
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.dev947"
|
|
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.dev947}/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.dev947}/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.dev947}/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.dev947}/howler/remote/datatypes/queues/priority.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_api-3.4.0.dev933 → howler_api-3.4.0.dev947}/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
|