Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -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/
9 changes: 5 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -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/*",
Expand All @@ -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"] }
Expand Down
5 changes: 5 additions & 0 deletions apps/README.md
Original file line number Diff line number Diff line change
@@ -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.
5 changes: 5 additions & 0 deletions external/README.md
Original file line number Diff line number Diff line change
@@ -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.
5 changes: 5 additions & 0 deletions notebooks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Notebooks

Jupyter notebooks for data analysis, ML experiments, and documentation.

This directory will contain example notebooks and data science workflows.
5 changes: 5 additions & 0 deletions packages/README.md
Original file line number Diff line number Diff line change
@@ -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.
Empty file modified scripts/import-repos.sh
100644 → 100755
Empty file.
55 changes: 55 additions & 0 deletions setup.sh
Original file line number Diff line number Diff line change
@@ -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"
5 changes: 5 additions & 0 deletions trainer/README.md
Original file line number Diff line number Diff line change
@@ -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.
5 changes: 5 additions & 0 deletions vendor/README.md
Original file line number Diff line number Diff line change
@@ -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.