fetch_ml/README.md
Jeremie Fraeys cd5640ebd2 Slim and secure: move scripts, clean configs, remove secrets
- Move ci-test.sh and setup.sh to scripts/
- Trim docs/src/zig-cli.md to current structure
- Replace hardcoded secrets with placeholders in configs
- Update .gitignore to block .env*, secrets/, keys, build artifacts
- Slim README.md to reflect current CLI/TUI split
- Add cleanup trap to ci-test.sh
- Ensure no secrets are committed
2025-12-07 13:57:51 -05:00

1.5 KiB
Raw Blame History

FetchML

A lightweight ML experiment platform with a tiny Zig CLI and a Go backend. Designed for homelabs and small teams.

Quick start

# Clone and run (dev)
git clone <your-repo>
cd fetch_ml
docker-compose up -d

# Or build the CLI locally
cd cli && make all
./build/ml --help

What you get

  • Zig CLI (ml): Tiny, fast local client. Uses ~/.ml/config.toml and FETCH_ML_CLI_* env vars.
  • Go backends: API server, worker, and a TUI for richer remote features.
  • TUI over SSH: ml monitor launches the TUI on the server, keeping the local CLI minimal.
  • CI/CD: Crossplatform builds with zig build-exe and Go releases.

CLI usage

# Configure
cat > ~/.ml/config.toml <<EOF
worker_host = "127.0.0.1"
worker_user = "dev_user"
worker_base = "/tmp/ml-experiments"
worker_port = 9101
api_key = "your-api-key"
EOF

# Core commands
ml status
ml queue my-job
ml cancel my-job
ml dataset list
ml monitor  # SSH to run TUI remotely

Build

# CLI (Zig)
cd cli && make all      # release-small
make tiny              # extra-small
make fast              # release-fast

# Go backends
make cross-platform    # builds for Linux/macOS/Windows

Deploy

  • Dev: docker-compose up -d
  • Prod: Use the provided systemd units or containers on Rocky Linux.

Docs

See docs/ for detailed guides:

  • docs/src/zig-cli.md CLI reference
  • docs/src/quick-start.md Full setup guide
  • docs/src/deployment.md Production deployment

License

See LICENSE.