diff --git a/README.md b/README.md index 5e87234..57f9271 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ graph TB - A cryptographically random authentication secret token (`auth_token`). - **Client Configuration Exporter**: ```bash - python Server.py --create-client-config --server-host 127.0.0.1 --server-port 9443 --client-out client_config.json + python src/Server.py --create-client-config --server-host 127.0.0.1 --server-port 9443 --client-out client_config.json ``` Produces an anonymous client config containing only the server socket coordinates, authentication token, and the encryption-only public key & fingerprint. - **Socket Protocol Framing**: @@ -180,9 +180,11 @@ LOGAR/ ├── .gitignore # Ignore venv, caches, DBs, and private keys ├── requirements.txt # Unified dependencies ├── README.md # Comprehensive documentation -├── Server.py # Central TCP server and Hermes API -├── Win_Client.py # Windows edge forwarder -├── Linux_Client.py # Linux edge forwarder +├── src/ # Core application source modules +│ ├── __init__.py +│ ├── Server.py # Central TCP server and Hermes API +│ ├── Win_Client.py # Windows edge forwarder +│ └── Linux_Client.py # Linux edge forwarder ├── server_config.sample.json # Central server sample configuration ├── package_dist.py # Multi-platform standalone binary packaging script ├── upload_release.py # Direct Gitea REST API release asset publisher @@ -212,11 +214,11 @@ LOGAR/ ``` 2. **Start the server** (generates `server_config.json` and keypair on first run): ```bash - python Server.py + python src/Server.py ``` 3. **Export a client configuration**: ```bash - python Server.py --create-client-config --server-host --server-port 9443 --client-out client_config.json + python src/Server.py --create-client-config --server-host --server-port 9443 --client-out client_config.json ``` ### 2. Windows Client Deployment @@ -287,11 +289,11 @@ The pipeline test exercises invalid token rejection, encrypted socket streaming, 1. **Start the server** in Shell 1 (creates `server_config.json` on first run): ```bash - python Server.py + python src/Server.py ``` 2. **Export client configuration** in Shell 2 (required for testing): ```bash - python Server.py --create-client-config --server-host 127.0.0.1 --server-port 9443 --client-out client_config.json + python src/Server.py --create-client-config --server-host 127.0.0.1 --server-port 9443 --client-out client_config.json ``` 3. **Execute the integration test** in Shell 2: ```bash @@ -301,7 +303,7 @@ The pipeline test exercises invalid token rejection, encrypted socket streaming, ## Continuous Integration via Gitea Actions Continuous integration is automated via [`.gitea/workflows/ci.yml`](.gitea/workflows/ci.yml) and triggers automatically on **every push** and pull request: -1. **Syntax Compilation**: Validates all Python scripts (`Server.py`, `Win_Client.py`, `Linux_Client.py`, `package_dist.py`, `upload_release.py`, `test_pipeline.py`, and test suites). +1. **Syntax Compilation**: Validates all Python scripts (`src/Server.py`, `src/Win_Client.py`, `src/Linux_Client.py`, `package_dist.py`, `upload_release.py`, `test_pipeline.py`, and test suites). 2. **Component Unit Tests**: Discovers and runs all unit tests in `tests/` (`test_server.py`, `test_win_client.py`, `test_linux_client.py`). 3. **End-to-End Pipeline Verification**: Automatically spins up the LOGAR server hub, generates test configs, runs `test_pipeline.py` (testing socket authentication, 4-run rule persistence, Hermes API report, and client integrations), and shuts down the test instance.