LICENSE
README.md
pyproject.toml
src/sciaiot/__init__.py
src/sciaiot/rivet/__init__.py
src/sciaiot/rivet/authorization.py
src/sciaiot/rivet/dependencies.py
src/sciaiot/rivet/log.yml
src/sciaiot/rivet/main.py
src/sciaiot/rivet/native_api.py
src/sciaiot/rivet/native_firewall.py
src/sciaiot/rivet/problems.py
src/sciaiot/rivet/recovery_set.py
src/sciaiot/rivet/adapters/__init__.py
src/sciaiot/rivet/adapters/vpn/__init__.py
src/sciaiot/rivet/adapters/vpn/agent.py
src/sciaiot/rivet/adapters/vpn/fake.py
src/sciaiot/rivet/adapters/vpn/host.py
src/sciaiot/rivet/adapters/vpn/settings.py
src/sciaiot/rivet/adapters/vpn/shadow.py
src/sciaiot/rivet/application/__init__.py
src/sciaiot/rivet/application/client_name.py
src/sciaiot/rivet/application/validation.py
src/sciaiot/rivet/application/vpn_control/__init__.py
src/sciaiot/rivet/application/vpn_control/archive.py
src/sciaiot/rivet/application/vpn_control/errors.py
src/sciaiot/rivet/application/vpn_control/port.py
src/sciaiot/rivet/application/vpn_control/schemas.py
src/sciaiot/rivet/application/vpn_control/wire.py
src/sciaiot/rivet/data/__init__.py
src/sciaiot/rivet/data/identity.py
src/sciaiot/rivet/data/network.py
src/sciaiot/rivet/data/server.py
src/sciaiot/rivet/data/vpn.py
src/sciaiot/rivet/data/vpn_events.py
src/sciaiot/rivet/middlewares/azure_security.py
src/sciaiot/rivet/middlewares/azure_storage.py
src/sciaiot/rivet/migration/__init__.py
src/sciaiot/rivet/migration/bundle.py
src/sciaiot/rivet/migration/cli.py
src/sciaiot/rivet/migration/container_target.py
src/sciaiot/rivet/migration/filesystem.py
src/sciaiot/rivet/migration/models.py
src/sciaiot/rivet/migration/source.py
src/sciaiot/rivet/migration/target.py
src/sciaiot/rivet/migration/validation.py
src/sciaiot/rivet/native_assets/__init__.py
src/sciaiot/rivet/native_assets/agent.env.example
src/sciaiot/rivet/native_assets/api.env.example
src/sciaiot/rivet/native_assets/nginx.conf.template
src/sciaiot/rivet/native_assets/rivet-agent.service
src/sciaiot/rivet/native_assets/rivet-forward-policy.service
src/sciaiot/rivet/native_assets/rivet-openvpn.service
src/sciaiot/rivet/native_assets/rivet.conf
src/sciaiot/rivet/native_assets/rivet.service
src/sciaiot/rivet/native_assets/server.conf.example
src/sciaiot/rivet/native_assets/web-config.sh
src/sciaiot/rivet/routes/__init__.py
src/sciaiot/rivet/routes/client.py
src/sciaiot/rivet/routes/identity.py
src/sciaiot/rivet/routes/network.py
src/sciaiot/rivet/routes/server.py
src/sciaiot/rivet/scripts/client-connect.sh
src/sciaiot/rivet/scripts/client-disconnect.sh
src/sciaiot/rivet/services/__init__.py
src/sciaiot/rivet/services/certificates.py
src/sciaiot/rivet/services/client_config.py
src/sciaiot/rivet/services/dispatch.py
src/sciaiot/rivet/services/identity.py
src/sciaiot/rivet/services/vpn.py
src/sciaiot/rivet/services/vpn_events.py
src/sciaiot/rivet/services/vpn_recovery.py
src/sciaiot/rivet/utils/__init__.py
src/sciaiot/rivet/utils/iproute.py
src/sciaiot/rivet/utils/iptables.py
src/sciaiot/rivet/utils/logging.py
src/sciaiot/rivet/utils/network.py
src/sciaiot/rivet/utils/openvpn.py
src/sciaiot/rivet/vpn_agent/__init__.py
src/sciaiot/rivet/vpn_agent/__main__.py
src/sciaiot/rivet/vpn_agent/access_mutations.py
src/sciaiot/rivet/vpn_agent/archives.py
src/sciaiot/rivet/vpn_agent/bounded.py
src/sciaiot/rivet/vpn_agent/cli.py
src/sciaiot/rivet/vpn_agent/control.py
src/sciaiot/rivet/vpn_agent/event_hook.py
src/sciaiot/rivet/vpn_agent/events.py
src/sciaiot/rivet/vpn_agent/files.py
src/sciaiot/rivet/vpn_agent/ingress.py
src/sciaiot/rivet/vpn_agent/journal.py
src/sciaiot/rivet/vpn_agent/management.py
src/sciaiot/rivet/vpn_agent/mutations.py
src/sciaiot/rivet/vpn_agent/network.py
src/sciaiot/rivet/vpn_agent/pki.py
src/sciaiot/rivet/vpn_agent/route_mutations.py
src/sciaiot/rivet/vpn_agent/server.py
src/sciaiot/rivet/vpn_agent/settings.py
src/sciaiot/rivet/vpn_agent/writer.py
src/sciaiot_rivet.egg-info/PKG-INFO
src/sciaiot_rivet.egg-info/SOURCES.txt
src/sciaiot_rivet.egg-info/dependency_links.txt
src/sciaiot_rivet.egg-info/entry_points.txt
src/sciaiot_rivet.egg-info/requires.txt
src/sciaiot_rivet.egg-info/top_level.txt
tests/test_agent_bootstrap.py
tests/test_api.py
tests/test_authorization.py
tests/test_azure_storage.py
tests/test_client_config.py
tests/test_client_config_generation.py
tests/test_client_deletion.py
tests/test_client_import.py
tests/test_client_name_validation.py
tests/test_compose_phase6_host_rehearsal.py
tests/test_compose_phase6_rehearsal.py
tests/test_container_build_workflow.py
tests/test_container_compose.py
tests/test_container_images.py
tests/test_container_migration.py
tests/test_container_recovery_set.py
tests/test_container_rehearsal.py
tests/test_exceptions.py
tests/test_host_tool_python_compatibility.py
tests/test_identity_api.py
tests/test_iproute.py
tests/test_iptables.py
tests/test_logging.py
tests/test_migration.py
tests/test_migration_harness.py
tests/test_migration_review.py
tests/test_models.py
tests/test_native_host_rehearsal.py
tests/test_native_installation.py
tests/test_network_validation.py
tests/test_openapi_contract.py
tests/test_openvpn.py
tests/test_phase7_api_initializer.py
tests/test_phase7_migration_helper.py
tests/test_production_deployment.py
tests/test_release_version.py
tests/test_rivet_identity.py
tests/test_security.py
tests/test_server_initialization.py
tests/test_ui_runtime_config.py
tests/test_vpn_adapter_conformance.py
tests/test_vpn_agent.py
tests/test_vpn_agent_events.py
tests/test_vpn_agent_ingress.py
tests/test_vpn_agent_journal.py
tests/test_vpn_agent_management_writes.py
tests/test_vpn_agent_mutations.py
tests/test_vpn_agent_network_mutations.py
tests/test_vpn_agent_pki.py
tests/test_vpn_agent_review.py
tests/test_vpn_agent_runtime.py
tests/test_vpn_agent_writer.py
tests/test_vpn_backend_review.py
tests/test_vpn_backends.py
tests/test_vpn_control.py
tests/test_vpn_control_review.py
tests/test_vpn_events.py
tests/test_vpn_recovery.py