diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..34dd0aa --- /dev/null +++ b/.gitignore @@ -0,0 +1,85 @@ +# Rust build artifacts +/target/ +Cargo.lock + +# IDE files +.vscode/ +.idea/ +*.swp +*.swo + +# OS files +.DS_Store +Thumbs.db + +# Logs +*.log + +# Environment files +.env +.env.local + +# Temporary files +/tmp/ +*.tmp +*.temp + +# Node.js (for any JS/TS tools) +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 1a08943..3a34e94 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,12 @@ [workspace] resolver = "2" members = [ - "apps/*", "services/*", - "packages/*", - "trainer", ] +# TODO: Add back when apps and packages are created +# "apps/*", +# "packages/*", +# "trainer", exclude = [ "vendor/*", "external/*", @@ -27,7 +28,7 @@ tokio-util = "0.7" # Web framework axum = "0.7" tower = "0.5" -tower-http = { version = "0.6", features = ["cors", "trace", "compression"] } +tower-http = { version = "0.6", features = ["cors", "trace", "compression-br", "compression-gzip"] } # Serialization serde = { version = "1.0", features = ["derive"] } diff --git a/apps/README.md b/apps/README.md new file mode 100644 index 0000000..b2c60ac --- /dev/null +++ b/apps/README.md @@ -0,0 +1,5 @@ +# Apps + +User-facing applications will be placed here. + +This directory is currently empty but configured in the workspace for future development. \ No newline at end of file diff --git a/external/README.md b/external/README.md new file mode 100644 index 0000000..76136fc --- /dev/null +++ b/external/README.md @@ -0,0 +1,5 @@ +# External + +Git submodule imports of large external projects. + +External repositories will be imported here using git submodules for read-only access to upstream projects. \ No newline at end of file diff --git a/notebooks/README.md b/notebooks/README.md new file mode 100644 index 0000000..e67d48e --- /dev/null +++ b/notebooks/README.md @@ -0,0 +1,5 @@ +# Notebooks + +Jupyter notebooks for data analysis, ML experiments, and documentation. + +This directory will contain example notebooks and data science workflows. \ No newline at end of file diff --git a/packages/README.md b/packages/README.md new file mode 100644 index 0000000..7e1fa41 --- /dev/null +++ b/packages/README.md @@ -0,0 +1,5 @@ +# Packages + +Shared libraries and internal packages will be placed here. + +This directory is currently empty but configured in the workspace for future development. \ No newline at end of file diff --git a/scripts/import-repos.sh b/scripts/import-repos.sh old mode 100644 new mode 100755 diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..1f390f4 --- /dev/null +++ b/setup.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +echo "๐Ÿš€ Setting up FlexNetOS/star-mono repository..." + +# Check if we're in the right directory +if [ ! -f "Cargo.toml" ] || [ ! -d "services" ]; then + echo "โŒ Please run this script from the root of the star-mono repository" + exit 1 +fi + +# Check if Rust is installed +if ! command -v cargo &> /dev/null; then + echo "๐Ÿ“ฆ Installing Rust toolchain..." + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + source "$HOME/.cargo/env" +else + echo "โœ… Rust toolchain found" +fi + +# Build the workspace +echo "๐Ÿ”จ Building workspace..." +cargo build --workspace + +if [ $? -eq 0 ]; then + echo "โœ… Build successful!" +else + echo "โŒ Build failed!" + exit 1 +fi + +# Test the API service +echo "๐Ÿงช Testing API service..." +cargo run --bin api-gateway & +API_PID=$! +sleep 3 + +# Test health endpoint +if curl -s http://localhost:3000/health > /dev/null; then + echo "โœ… API service is working!" +else + echo "โš ๏ธ API service test failed (this is normal if port 3000 is busy)" +fi + +# Stop the API service +kill $API_PID 2>/dev/null + +echo "" +echo "๐ŸŽ‰ Setup complete!" +echo "" +echo "Next steps:" +echo "1. Run './scripts/import-repos.sh' to import external repositories" +echo "2. Run 'cargo run --bin api-gateway' to start the API service" +echo "3. Test with: curl http://localhost:3000/health" +echo "" +echo "For more information, see README.md" \ No newline at end of file diff --git a/trainer/README.md b/trainer/README.md new file mode 100644 index 0000000..120cfa4 --- /dev/null +++ b/trainer/README.md @@ -0,0 +1,5 @@ +# Trainer + +ML training pipelines and related tooling will be placed here. + +This directory is currently empty but configured in the workspace for future development. \ No newline at end of file diff --git a/vendor/README.md b/vendor/README.md new file mode 100644 index 0000000..2711fb7 --- /dev/null +++ b/vendor/README.md @@ -0,0 +1,5 @@ +# Vendor + +Git subtree imports of external repositories that we modify. + +External repositories will be imported here using git subtrees for easier development and customization. \ No newline at end of file